From c2899c7f9091f4be9c051d83d6fde4571a436c13 Mon Sep 17 00:00:00 2001 From: spessasus Date: Sun, 6 Oct 2024 17:26:19 +0200 Subject: [PATCH] Fix DLS Loops and disable logging by default and finally set loop count in basic_sample.js to samples and not bytes --- package.json | 2 +- .../soundfont/basic_soundfont/basic_sample.js | 4 +- .../basic_soundfont/write_sf2/shdr.js | 4 +- .../soundfont/dls/dls_sample.js | 4 +- src/spessasynth_lib/soundfont/dls/dls_zone.js | 12 ++-- .../soundfont/read_sf2/samples.js | 8 +-- .../synthetizer/worklet_processor.min.js | 16 ++--- .../worklet_methods/snapshot.js | 3 + .../worklet_utilities/worklet_voice.js | 4 +- src/spessasynth_lib/utils/loggin.js | 4 +- src/website/js/main/local_main.js | 5 ++ src/website/minified/demo_main.min.js | 32 +++++----- src/website/minified/local_main.min.js | 62 +++++++++---------- 13 files changed, 84 insertions(+), 76 deletions(-) diff --git a/package.json b/package.json index 223310b2..d5c1685b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "SpessaSynth", - "version": "3.20.41", + "version": "3.20.42", "type": "module", "scripts": { "start": "node src/website/server/server.js" diff --git a/src/spessasynth_lib/soundfont/basic_soundfont/basic_sample.js b/src/spessasynth_lib/soundfont/basic_soundfont/basic_sample.js index 3a2a7ccf..04c5cea5 100644 --- a/src/spessasynth_lib/soundfont/basic_soundfont/basic_sample.js +++ b/src/spessasynth_lib/soundfont/basic_soundfont/basic_sample.js @@ -58,12 +58,12 @@ export class BasicSample { */ this.sampleType = sampleType /** - * Relative to start of the sample, bytes assuming 16 bit + * Relative to start of the sample in sample points * @type {number} */ this.sampleLoopStartIndex = loopStart /** - * Relative to start of the sample, in bytes assuming 16 bit + * Relative to start of the sample in sample points * @type {number} */ this.sampleLoopEndIndex = loopEnd; diff --git a/src/spessasynth_lib/soundfont/basic_soundfont/write_sf2/shdr.js b/src/spessasynth_lib/soundfont/basic_soundfont/write_sf2/shdr.js index bfc36e24..f060170f 100644 --- a/src/spessasynth_lib/soundfont/basic_soundfont/write_sf2/shdr.js +++ b/src/spessasynth_lib/soundfont/basic_soundfont/write_sf2/shdr.js @@ -23,8 +23,8 @@ export function getSHDR(smplStartOffsets, smplEndOffsets) const dwEnd = smplEndOffsets[index]; writeDword(shdrData, dwEnd); // loop is stored as relative in sample points, change it to absolute sample points here - let loopStart = sample.sampleLoopStartIndex / 2 + dwStart; - let loopEnd = sample.sampleLoopEndIndex / 2 + dwStart; + let loopStart = sample.sampleLoopStartIndex + dwStart; + let loopEnd = sample.sampleLoopEndIndex + dwStart; if(sample.isCompressed) { // https://github.com/FluidSynth/fluidsynth/wiki/SoundFont3Format diff --git a/src/spessasynth_lib/soundfont/dls/dls_sample.js b/src/spessasynth_lib/soundfont/dls/dls_sample.js index 42adade7..2c160268 100644 --- a/src/spessasynth_lib/soundfont/dls/dls_sample.js +++ b/src/spessasynth_lib/soundfont/dls/dls_sample.js @@ -30,8 +30,8 @@ export class DLSSample extends BasicSample pitchCorrection, 0, 1, - loopStart * 2, - (loopEnd - 1) * 2 // -1 sample because soundfont end is last sample and dls end is next sample + loopStart, + loopEnd - 1 // -1 sample because soundfont end is last sample and dls end is next sample ); this.sampleData = data; this.sampleDbAttenuation = sampleDbAttenuation; diff --git a/src/spessasynth_lib/soundfont/dls/dls_zone.js b/src/spessasynth_lib/soundfont/dls/dls_zone.js index bb57d5d8..70d49a78 100644 --- a/src/spessasynth_lib/soundfont/dls/dls_zone.js +++ b/src/spessasynth_lib/soundfont/dls/dls_zone.js @@ -55,17 +55,17 @@ export class DLSZone extends BasicInstrumentZone } // correct loop if needed - const diffStart = loop.start - (sample.sampleLoopStartIndex / 2); - const diffEnd = loop.end - (sample.sampleLoopEndIndex / 2); + const diffStart = loop.start - sample.sampleLoopStartIndex; + const diffEnd = loop.end - sample.sampleLoopEndIndex; if(diffStart !== 0) { const fine = diffStart % 32768; this.generators.push(new Generator(generatorTypes.startloopAddrsOffset, fine)); // coarse generator uses 32768 samples per step - const coarse = (diffStart - fine) / 32768; + const coarse = Math.trunc(diffStart / 32768); if(coarse !== 0) { - this.generators.push(new Generator(generatorTypes.startloopAddrsCoarseOffset, fine)); + this.generators.push(new Generator(generatorTypes.startloopAddrsCoarseOffset, coarse)); } } if(diffEnd !== 0) @@ -73,10 +73,10 @@ export class DLSZone extends BasicInstrumentZone const fine = diffEnd % 32768; this.generators.push(new Generator(generatorTypes.endloopAddrsOffset, fine)); // coarse generator uses 32768 samples per step - const coarse = (diffEnd - fine) / 32768; + const coarse = Math.trunc(diffEnd / 32768); if(coarse !== 0) { - this.generators.push(new Generator(generatorTypes.endloopAddrsCoarseOffset, fine)); + this.generators.push(new Generator(generatorTypes.endloopAddrsCoarseOffset, coarse)); } } // correct key if needed diff --git a/src/spessasynth_lib/soundfont/read_sf2/samples.js b/src/spessasynth_lib/soundfont/read_sf2/samples.js index 4ee4cf46..8d406608 100644 --- a/src/spessasynth_lib/soundfont/read_sf2/samples.js +++ b/src/spessasynth_lib/soundfont/read_sf2/samples.js @@ -47,8 +47,8 @@ export class LoadedSample extends BasicSample samplePitchCorrection, sampleLink, sampleType, - sampleLoopStartIndex - sampleStartIndex, - sampleLoopEndIndex - sampleStartIndex + sampleLoopStartIndex - (sampleStartIndex / 2), + sampleLoopEndIndex - (sampleStartIndex / 2) ); this.sampleName = sampleName // in bytes @@ -245,10 +245,10 @@ function readSample(index, sampleHeaderData, smplArrayData, isDataRaw) { let sampleEndIndex = readLittleEndian(sampleHeaderData, 4) * 2; // read the sample looping start index - let sampleLoopStartIndex = readLittleEndian(sampleHeaderData, 4) * 2; + let sampleLoopStartIndex = readLittleEndian(sampleHeaderData, 4); // read the sample looping end index - let sampleLoopEndIndex = readLittleEndian(sampleHeaderData, 4) * 2; + let sampleLoopEndIndex = readLittleEndian(sampleHeaderData, 4); // read the sample rate let sampleRate = readLittleEndian(sampleHeaderData, 4); diff --git a/src/spessasynth_lib/synthetizer/worklet_processor.min.js b/src/spessasynth_lib/synthetizer/worklet_processor.min.js index 994308f8..58c6ba89 100644 --- a/src/spessasynth_lib/synthetizer/worklet_processor.min.js +++ b/src/spessasynth_lib/synthetizer/worklet_processor.min.js @@ -1,4 +1,4 @@ -var Is=(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 H=class extends Uint8Array{constructor(A){super(A),this.currentIndex=0}currentIndex};function ke(t){let A=t.reduce((n,o)=>n+o.length,0),e=new H(A),s=0;for(let n of t)e.set(n,s),s+=n.length;return e}function ft(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 gs(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,effects1Depth:91,effects2Depth:92,effects3Depth:93,effects4Depth:94,effects5Depth: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},Es={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},ae={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},UA=-1,pA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Bs=!0,hs=!0,qe=!0,Qs=!0;function cs(t,A,e,s){Bs=t,hs=A,qe=e,Qs=s}function m(...t){Bs&&console.info(...t)}function L(...t){hs&&console.warn(...t)}function ls(...t){Qs&&console.table(...t)}function te(...t){qe&&console.group(...t)}function SA(...t){qe&&console.groupCollapsed(...t)}function X(){qe&&console.groupEnd()}var Ie={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};function k(t,A){let e=0;for(let s=0;s>>0}function ge(t,A,e){for(let s=0;s>s*8&255}function Y(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function cA(t,A){ge(t,A,4)}function zA(t,A){let e=A<<8|t;return e>32767?e-65536:e}function us(t){return t>127?t-256:t}function V(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 i=0;i127){if(s){n=!0;continue}else if(C===0){n=!0;continue}}o+=String.fromCharCode(C)}}return o}}function wA(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,V(e.chunkData,4)===A))}var g={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},b=[];b[g.startAddrsOffset]={min:0,max:32768,def:0};b[g.endAddrOffset]={min:-32768,max:32768,def:0};b[g.startloopAddrsOffset]={min:-32768,max:32768,def:0};b[g.endloopAddrsOffset]={min:-32768,max:32768,def:0};b[g.startAddrsCoarseOffset]={min:0,max:32768,def:0};b[g.modLfoToPitch]={min:-12e3,max:12e3,def:0};b[g.vibLfoToPitch]={min:-12e3,max:12e3,def:0};b[g.modEnvToPitch]={min:-12e3,max:12e3,def:0};b[g.initialFilterFc]={min:1500,max:13500,def:13500};b[g.initialFilterQ]={min:0,max:960,def:0};b[g.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};b[g.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};b[g.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};b[g.modLfoToVolume]={min:-960,max:960,def:0};b[g.chorusEffectsSend]={min:0,max:1e3,def:0};b[g.reverbEffectsSend]={min:0,max:1e3,def:0};b[g.pan]={min:-500,max:500,def:0};b[g.delayModLFO]={min:-12e3,max:5e3,def:-12e3};b[g.freqModLFO]={min:-16e3,max:4500,def:0};b[g.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};b[g.freqVibLFO]={min:-16e3,max:4500,def:0};b[g.delayModEnv]={min:-32768,max:5e3,def:-32768};b[g.attackModEnv]={min:-32768,max:8e3,def:-32768};b[g.holdModEnv]={min:-12e3,max:5e3,def:-12e3};b[g.decayModEnv]={min:-12e3,max:8e3,def:-12e3};b[g.sustainModEnv]={min:0,max:1e3,def:0};b[g.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};b[g.keyNumToModEnvHold]={min:-1200,max:1200,def:0};b[g.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};b[g.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};b[g.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};b[g.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};b[g.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};b[g.sustainVolEnv]={min:0,max:1440,def:0};b[g.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};b[g.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};b[g.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};b[g.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};b[g.keyNum]={min:-1,max:127,def:-1};b[g.velocity]={min:-1,max:127,def:-1};b[g.initialAttenuation]={min:-250,max:1440,def:0};b[g.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};b[g.coarseTune]={min:-120,max:120,def:0};b[g.fineTune]={min:-12700,max:12700,def:0};b[g.scaleTuning]={min:0,max:1200,def:100};b[g.exclusiveClass]={min:0,max:99999,def:0};b[g.overridingRootKey]={min:-1,max:127,def:-1};var U=class{constructor(A=g.INVALID,e=0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");let s=b[A];this.generatorValue=Math.round(e),s!==void 0&&(this.generatorValue=Math.max(s.min,Math.min(s.max,this.generatorValue)))}generatorType=g.INVALID;generatorValue=0};function ds(t,A,e){let s=b[t]||{min:0,max:32768,def:0},n=A.find(B=>B.generatorType===t),o=0;n&&(o=n.generatorValue);let i=e.find(B=>B.generatorType===t),C=s.def;i&&(C=i.generatorValue);let c=C+o;return t===g.initialAttenuation?c:Math.max(s.min,Math.min(s.max,c))}var mt=class extends U{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=zA(A[e+2],A[e+3]),A.currentIndex+=4}};function pt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new mt(t.chunkData));return A.length>1&&A.pop(),A}var P={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},xo=[];for(let t=0;t<4;t++)xo.push([[],[]]);var $=class t{constructor(A){A.srcEnum?(this.sourceEnum=A.srcEnum,this.modulatorDestination=A.dest,this.secondarySourceEnum=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform):(this.sourceEnum=k(A,2),this.modulatorDestination=k(A,2),this.transformAmount=zA(A[A.currentIndex++],A[A.currentIndex++]),this.secondarySourceEnum=k(A,2),this.transformType=k(A,2)),this.modulatorDestination>58&&(this.modulatorDestination=g.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}currentValue=0;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(i=>n[i]===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(P,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(P,this.secSrcIndex),`Modulator: +var Is=(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 H=class extends Uint8Array{constructor(A){super(A),this.currentIndex=0}currentIndex};function ke(t){let A=t.reduce((n,o)=>n+o.length,0),e=new H(A),s=0;for(let n of t)e.set(n,s),s+=n.length;return e}function ft(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 gs(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,effects1Depth:91,effects2Depth:92,effects3Depth:93,effects4Depth:94,effects5Depth: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},Es={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},ae={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},UA=-1,pA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Bs=!1,hs=!0,qe=!1,Qs=!0;function cs(t,A,e,s){Bs=t,hs=A,qe=e,Qs=s}function m(...t){Bs&&console.info(...t)}function L(...t){hs&&console.warn(...t)}function ls(...t){Qs&&console.table(...t)}function te(...t){qe&&console.group(...t)}function yA(...t){qe&&console.groupCollapsed(...t)}function X(){qe&&console.groupEnd()}var Ie={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};function k(t,A){let e=0;for(let s=0;s>>0}function ge(t,A,e){for(let s=0;s>s*8&255}function Y(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function cA(t,A){ge(t,A,4)}function zA(t,A){let e=A<<8|t;return e>32767?e-65536:e}function us(t){return t>127?t-256:t}function V(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 i=0;i127){if(s){n=!0;continue}else if(C===0){n=!0;continue}}o+=String.fromCharCode(C)}}return o}}function wA(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,V(e.chunkData,4)===A))}var g={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},b=[];b[g.startAddrsOffset]={min:0,max:32768,def:0};b[g.endAddrOffset]={min:-32768,max:32768,def:0};b[g.startloopAddrsOffset]={min:-32768,max:32768,def:0};b[g.endloopAddrsOffset]={min:-32768,max:32768,def:0};b[g.startAddrsCoarseOffset]={min:0,max:32768,def:0};b[g.modLfoToPitch]={min:-12e3,max:12e3,def:0};b[g.vibLfoToPitch]={min:-12e3,max:12e3,def:0};b[g.modEnvToPitch]={min:-12e3,max:12e3,def:0};b[g.initialFilterFc]={min:1500,max:13500,def:13500};b[g.initialFilterQ]={min:0,max:960,def:0};b[g.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};b[g.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};b[g.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};b[g.modLfoToVolume]={min:-960,max:960,def:0};b[g.chorusEffectsSend]={min:0,max:1e3,def:0};b[g.reverbEffectsSend]={min:0,max:1e3,def:0};b[g.pan]={min:-500,max:500,def:0};b[g.delayModLFO]={min:-12e3,max:5e3,def:-12e3};b[g.freqModLFO]={min:-16e3,max:4500,def:0};b[g.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};b[g.freqVibLFO]={min:-16e3,max:4500,def:0};b[g.delayModEnv]={min:-32768,max:5e3,def:-32768};b[g.attackModEnv]={min:-32768,max:8e3,def:-32768};b[g.holdModEnv]={min:-12e3,max:5e3,def:-12e3};b[g.decayModEnv]={min:-12e3,max:8e3,def:-12e3};b[g.sustainModEnv]={min:0,max:1e3,def:0};b[g.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};b[g.keyNumToModEnvHold]={min:-1200,max:1200,def:0};b[g.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};b[g.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};b[g.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};b[g.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};b[g.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};b[g.sustainVolEnv]={min:0,max:1440,def:0};b[g.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};b[g.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};b[g.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};b[g.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};b[g.keyNum]={min:-1,max:127,def:-1};b[g.velocity]={min:-1,max:127,def:-1};b[g.initialAttenuation]={min:-250,max:1440,def:0};b[g.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};b[g.coarseTune]={min:-120,max:120,def:0};b[g.fineTune]={min:-12700,max:12700,def:0};b[g.scaleTuning]={min:0,max:1200,def:100};b[g.exclusiveClass]={min:0,max:99999,def:0};b[g.overridingRootKey]={min:-1,max:127,def:-1};var U=class{constructor(A=g.INVALID,e=0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");let s=b[A];this.generatorValue=Math.round(e),s!==void 0&&(this.generatorValue=Math.max(s.min,Math.min(s.max,this.generatorValue)))}generatorType=g.INVALID;generatorValue=0};function ds(t,A,e){let s=b[t]||{min:0,max:32768,def:0},n=A.find(B=>B.generatorType===t),o=0;n&&(o=n.generatorValue);let i=e.find(B=>B.generatorType===t),C=s.def;i&&(C=i.generatorValue);let c=C+o;return t===g.initialAttenuation?c:Math.max(s.min,Math.min(s.max,c))}var mt=class extends U{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=zA(A[e+2],A[e+3]),A.currentIndex+=4}};function pt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new mt(t.chunkData));return A.length>1&&A.pop(),A}var P={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},xo=[];for(let t=0;t<4;t++)xo.push([[],[]]);var $=class t{constructor(A){A.srcEnum?(this.sourceEnum=A.srcEnum,this.modulatorDestination=A.dest,this.secondarySourceEnum=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform):(this.sourceEnum=k(A,2),this.modulatorDestination=k(A,2),this.transformAmount=zA(A[A.currentIndex++],A[A.currentIndex++]),this.secondarySourceEnum=k(A,2),this.transformType=k(A,2)),this.modulatorDestination>58&&(this.modulatorDestination=g.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}currentValue=0;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(i=>n[i]===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(P,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(P,this.secSrcIndex),`Modulator: Source: ${e} Secondary source: ${s} Destination: ${A(g,this.modulatorDestination)} @@ -6,13 +6,13 @@ var Is=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>( Transform type: ${this.transformType} -`}};function TA(t,A,e,s,n){return t<<10|A<<9|e<<8|s<<7|n}var St=960,yt=QA.concave,Pe=[new $({srcEnum:TA(yt,0,1,0,P.noteOnVelocity),dest:g.initialAttenuation,amt:St,secSrcEnum:0,transform:0}),new $({srcEnum:129,dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $({srcEnum:TA(yt,0,1,1,p.mainVolume),dest:g.initialAttenuation,amt:St,secSrcEnum:0,transform:0}),new $({srcEnum:13,dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $({srcEnum:526,dest:g.fineTune,amt:12700,secSrcEnum:16,transform:0}),new $({srcEnum:650,dest:g.pan,amt:1e3,secSrcEnum:0,transform:0}),new $({srcEnum:TA(yt,0,1,1,p.expressionController),dest:g.initialAttenuation,amt:St,secSrcEnum:0,transform:0}),new $({srcEnum:219,dest:g.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new $({srcEnum:221,dest:g.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new $({srcEnum:TA(QA.linear,0,0,0,P.polyPressure),dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $({srcEnum:TA(QA.linear,0,0,1,p.effects2Depth),dest:g.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new $({srcEnum:TA(QA.linear,1,0,1,p.releaseTime),dest:g.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new $({srcEnum:TA(QA.linear,1,0,1,p.brightness),dest:g.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0}),new $({srcEnum:TA(QA.linear,1,0,1,p.timbreHarmonicContent),dest:g.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];function Ke(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new $(t.chunkData));return A}function fs(t=!1){let A={midiControllers:new Int16Array(Dt),lockedControllers:Array(Dt).fill(!1),customControllers:new Float32Array(ms),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:uA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}var EA=128,Dt=147,PA=new Int16Array(Dt).fill(0);PA[p.mainVolume]=12800;PA[p.expressionController]=16256;PA[p.pan]=8192;PA[p.releaseTime]=8192;PA[p.brightness]=8192;PA[p.timbreHarmonicContent]=8192;PA[EA+P.pitchWheel]=8192;PA[EA+P.pitchWheelRange]=256;var uA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6},IA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ms=Object.keys(IA).length,kt=new Float32Array(ms);kt[IA.modulationMultiplier]=1;var wt={velocityOverride:128};var ps="spessasynth-worklet-system",Ss=350,DA=9,Ve=16,Oe="gs";var bA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},FA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function jA(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function ys(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=we(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 i=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);i!==-1&&this.playingNotes.splice(i,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(i=>i.midiNote===t.messageData[0]&&i.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case F.setTempo:this.oneTickToSeconds=60/(Mo(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),L("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:L(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(i=>F[i]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function Ds(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===DA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function Mo(t){return t.messageData.currentIndex=0,6e7/jA(t.messageData,3)}function ks(){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 ws(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>7!==1)break}return A}var We={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var _e=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Ce(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.tickst.chunkData.currentIndex;)A.push(new $(t.chunkData));return A}function fs(t=!1){let A={midiControllers:new Int16Array(Dt),lockedControllers:Array(Dt).fill(!1),customControllers:new Float32Array(ms),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:uA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}var EA=128,Dt=147,PA=new Int16Array(Dt).fill(0);PA[p.mainVolume]=12800;PA[p.expressionController]=16256;PA[p.pan]=8192;PA[p.releaseTime]=8192;PA[p.brightness]=8192;PA[p.timbreHarmonicContent]=8192;PA[EA+P.pitchWheel]=8192;PA[EA+P.pitchWheelRange]=256;var uA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6},IA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ms=Object.keys(IA).length,kt=new Float32Array(ms);kt[IA.modulationMultiplier]=1;var wt={velocityOverride:128};var ps="spessasynth-worklet-system",ys=350,DA=9,Ve=16,Oe="gs";var bA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},FA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function jA(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function Ss(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=we(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 i=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);i!==-1&&this.playingNotes.splice(i,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(i=>i.midiNote===t.messageData[0]&&i.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case F.setTempo:this.oneTickToSeconds=60/(Mo(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),L("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:L(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(i=>F[i]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function Ds(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===DA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function Mo(t){return t.messageData.currentIndex=0,6e7/jA(t.messageData,3)}function ks(){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 ws(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>7!==1)break}return A}var We={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var _e=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Ce(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.ticks0&&(K+=this.tracks[y-1][this.tracks[y-1].length-1].ticks);S.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=K),j=Es[I>>4],(I&240)===F.noteOn){N.add(nA);let oA=S.data[S.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,oA),this.keyRange.max=Math.max(this.keyRange.max,oA)}G=I;break}let J=new H(j),Z=S.data.slice(S.data.currentIndex,S.data.currentIndex+j);S.data.currentIndex+=j,J.set(Z,0);let CA=new ie(K,I,J);switch(w.push(CA),nA){case-2:switch(I){case F.setTempo:this.tempoChanges.push({ticks:K,tempo:6e7/jA(Z,3)});break;case F.marker:switch(V(J,J.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=K;break;case"loopend":h=K}J.currentIndex=0;break;case F.midiPort:let fA=J[0];this.midiPorts[y]=fA,this.midiPortChannelOffsets[fA]===void 0&&(this.midiPortChannelOffsets[fA]=l,l+=16);break;case F.copyright:o||(this.copyright+=V(J,J.length,void 0,!1)+` +`," "),i=!0),this.RMIDInfo.IALB&&!this.RMIDInfo.IPRD&&(this.RMIDInfo.IPRD=this.RMIDInfo.IALB),this.RMIDInfo.PRD&&!this.RMIDInfo.IALB&&(this.RMIDInfo.IALB=this.RMIDInfo.IPRD),this.bankOffset=1,this.RMIDInfo[We.bankOffset]&&(this.bankOffset=k(this.RMIDInfo[We.bankOffset],2))}}C&&(this.bankOffset=0)}else n=s;let B=this.readMIDIChunk(n);if(B.type!=="MThd")throw X(),new SyntaxError(`Invalid MIDI Header! Expected "MThd", got "${B.type}"`);if(B.size!==6)throw X(),new RangeError(`Invalid MIDI header chunk size! Expected 6, got ${B.size}`);this.format=jA(B.data,2),this.tracksAmount=jA(B.data,2),this.timeDivision=jA(B.data,2),this.keyRange={min:127,max:0},this.lyrics=[],this.tempoChanges=[{ticks:0,tempo:120}];let d=null,h=null;this.lastVoiceEventTick=0,this.midiPorts=[];let u=0;this.midiPortChannelOffsets=[],this.usedChannelsOnTrack=[],this.tracks=[];for(let S=0;S0&&(K+=this.tracks[S-1][this.tracks[S-1].length-1].ticks);y.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=K),j=Es[I>>4],(I&240)===F.noteOn){N.add(nA);let oA=y.data[y.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,oA),this.keyRange.max=Math.max(this.keyRange.max,oA)}G=I;break}let J=new H(j),Z=y.data.slice(y.data.currentIndex,y.data.currentIndex+j);y.data.currentIndex+=j,J.set(Z,0);let CA=new ie(K,I,J);switch(w.push(CA),nA){case-2:switch(I){case F.setTempo:this.tempoChanges.push({ticks:K,tempo:6e7/jA(Z,3)});break;case F.marker:switch(V(J,J.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=K;break;case"loopend":h=K}J.currentIndex=0;break;case F.midiPort:let fA=J[0];this.midiPorts[S]=fA,this.midiPortChannelOffsets[fA]===void 0&&(this.midiPortChannelOffsets[fA]=u,u+=16);break;case F.copyright:o||(this.copyright+=V(J,J.length,void 0,!1)+` `);break;case F.lyric:this.lyrics.push(J)}break;case-3:if(J.slice(0,7).every((oA,fA)=>No[fA]===oA)){let oA=J.slice(7,Z.length-3),fA=V(oA,oA.length)+` -`;this.copyright+=fA,m(`%cDecoded Roland SC message! %c${fA}`,r.recognized,r.value)}break;default:if((I&240)===F.controllerChange)switch(J[0]){case 2:case 116:d=K;break;case 4:case 117:h===null?h=K:h=0;break;case 0:C&&J[1]!==0&&J[1]!==127&&(m("%cDLS RMIDI with offset 1 detected!",r.recognized),this.bankOffset=1)}}}this.tracks.push(w),this.usedChannelsOnTrack.push(N),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),SA("%cCorrecting loops, ports and detecting notes...",r.info);let u=[];for(let y of this.tracks){let w=y.find(S=>(S.messageStatusByte&240)===F.noteOn);w&&u.push(w.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&&h===null?(d=this.firstNoteOn,h=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(h===null||h===0)&&(h=this.lastVoiceEventTick)),this.loop={start:d,end:h},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),!i)if(this.tracks.length>1){if(this.tracks[0].find(y=>y.messageStatusByte>=F.noteOn&&y.messageStatusBytew.messageStatusByte===F.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=V(y.messageData,y.messageData.length,void 0,!1))}}else{let y=this.tracks[0].find(w=>w.messageStatusByte===F.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=V(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=gs(e),this.rawMidiName=new Uint8Array(this.midiName.length);for(let y=0;yl>h?l:h),s=[];for(let h=0;h{i[D]>=u.length||u[i[D]].ticks0;){let h=c(),l=t.tracks[h];if(i[h]>=l.length){C--;continue}let u=l[i[h]];if(i[h]++,u.messageStatusByte===F.midiPort){B[h]=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[h]]||0,w=s[y];switch(D){case F.programChange:w.program=u.messageData[0],n(w);break;case F.controllerChange:if(u.messageData[0]!==p.bankSelect||d==="gs"&&w.drums)continue;let S=u.messageData[1],N=Math.max(0,S-t.bankOffset);if(d==="xg"){let W=S===120||S===126||S===127;W!==w.drums?(w.drums=W,w.bank=w.drums?128:N,n(w)):w.bank=w.drums?128:N;continue}s[y].bank=N;break;case F.noteOn:if(u.messageData[1]===0)continue;n(w),o[w.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 G=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][u.messageData[5]&15]+t.midiPortChannelOffsets[B[h]],K=!!(u.messageData[7]>0&&u.messageData[5]>>4);w=s[G],w.drums=K,w.bank=K?128:0,n(w);break}}for(let h of Object.keys(o))o[h].size===0&&(m(`%cDetected change but no keys for %c${h}`,r.info,r.value),delete o[h]);return X(),o}function Rs(t,A){this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(e,A)}),this.duration=this.midiData.duration,this.firstNoteTime=Ce(this.midiData.firstNoteOn,this.midiData),m(`%cTotal song time: ${ft(Math.ceil(this.duration)).time}`,r.recognized),this.post(FA.songChange,[new Ze(this.midiData),this.songIndex]),this.synth.resetAllControllers(),this.duration<=1&&(L(`%cVery short song: (${ft(Math.round(this.duration)).time}). Disabling loop!`,r.warn),this.loop=!1),this.play(!0)}function xs(t){this.songs=t.reduce((A,e)=>{if(e.duration)return A.push(e),A;try{A.push(new ze(e.binary,e.altName||""))}catch(s){return this.post(FA.midiError,s.message),A}return A},[]),!(this.songs.length<1)&&(this.songIndex=0,this.songs.length>1&&(this.loop=!1),this.loadNewSequence(this.songs[this.songIndex]))}function Ms(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ns(){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.effects1Depth]=0;function bs(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,i=[];for(let C=0;C=A)break}else if(this.playedTime>=t)break;let B=we(c.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]=c.messageData[1]<<7|c.messageData[0];break;case F.programChange:let l=n[d];l.program=c.messageData[0],l.actualBank=l.bank;break;case F.controllerChange:let u=c.messageData[0];if(o(u)){let D=c.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 i[d]===void 0&&(i[d]=Array.from(KA)),i[d][u]=c.messageData[1];break;default:this._processEvent(c,C);break}this.eventIndex[C]++,C=this._findFirstEventIndex();let h=this.tracks[C][this.eventIndex[C]];if(h===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(h.ticks-c.ticks)}if(this.sendMIDIMessages){for(let C=0;C>7,s[C]&127),i[C]!==void 0&&i[C].forEach((c,B)=>{c!==KA[B]&&!o(B)&&this.sendMIDICC(C,B,c)}),n[C].program>=0&&n[C].actualBank>=0){let c=n[C].actualBank;this.sendMIDICC(C,p.bankSelect,c),this.sendMIDIProgramChange(C,n[C].program)}}else for(let C=0;C>7,s[C]&127),i[C]!==void 0&&i[C].forEach((c,B)=>{c!==KA[B]&&!o(B)&&this.synth.controllerChange(C,B,c)}),n[C].program>=0&&n[C].actualBank>=0){let c=n[C].actualBank;this.synth.controllerChange(C,p.bankSelect,c),this.synth.programChange(C,n[C].program)}return!0}function Ls(t=!1){if(this.midiData!==void 0){if(t){this.currentTime=0;return}if(this.currentTime>=this.duration){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 Us(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(FA.timeChange,currentTime-Ce(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function Ts(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function Hs(t,A){switch(t){default:break;case bA.loadNewSongList:this.loadNewSongList(A);break;case bA.pause:this.pause();break;case bA.play:this.play(A);break;case bA.stop:this.stop();break;case bA.setTime:this.currentTime=A;break;case bA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case bA.setPlaybackRate:this.playbackRate=A;break;case bA.setLoop:this.loop=A;break;case bA.changeSong:A?this.nextSong():this.previousSong();break;case bA.getMIDI:this.post(FA.getMIDI,this.midiData);break;case bA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break}}function Ys(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:pA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function Js(t){this.post(FA.midiEvent,t)}function vs(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.controllerChange|t,A,e])}function qs(t,A){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.programChange|t,A])}function Ps(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.pitchBend|t,e,A])}function Ks(){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&&AVs?440*Math.pow(2,(t-6900)/1200):Rt[~~t-je]}var xt=-1660,bo=1600,Gt=new Float32Array((bo-xt)*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?1-Ee[~~(e*-gA)]-1:Ee[~~e*gA]):Ee[~~(e*gA)];case QA.convex:return s?(e=e*2-1,e<0?1-Be[~~(e*-gA)]-1:Be[~~(e*gA)]):Be[~~(e*gA)]}}var Mt=1,Nt=new Float32Array(1e3);for(let t=0;t=e.loopEnd;)s-=o;let C=~~s,c=C+1;for(;c>=e.loopEnd;)c-=o;let B=s-C,d=n[c],h=n[C];A[i]=h+(d-h)*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 c=s-i,B=n[C],d=n[i];A[o]=d+(B-d)*c,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 i=0;i=e.loopEnd;)s-=n;let C=~~s+1;for(;C>=e.loopEnd;)C-=n;A[i]=o[C],s+=e.playbackStep*t.currentTuningCalculated}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let i=0;i=e.end){t.finished=!0;return}A[i]=o[C],s+=e.playbackStep*t.currentTuningCalculated}}e.cursor=s}function Xs(t,A){let e=t.sample,s=e.cursor,n=e.sampleData;if(e.isLooping){let o=e.loopEnd-e.loopStart;for(let i=0;i=e.loopEnd;)s-=o;let C=~~s,c=C+1,B=c+1,d=B+1,h=s-C;c>=e.loopEnd&&(c-=o),B>=e.loopEnd&&(B-=o),d>=e.loopEnd&&(d-=o);let l=n[C],u=n[c],D=n[B],y=n[d],w=.5*(D-l),S=l-2.5*u+2*D-.5*y,N=.5*(y-l)+1.5*(u-D);A[i]=((N*h+S)*h+w)*h+u,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end||c>=e.end||B>=e.end){t.finished=!0;return}let h=n[i],l=n[C],u=n[c],D=n[B],y=.5*(u-h),w=h-2.5*l+2*u-.5*D,S=.5*(D-h)+1.5*(l-u);A[o]=((S*d+w)*d+y)*d+l,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function Ws(t,A,e,s,n,o,i,C,c){if(!isNaN(e[0])){if(i>0){let B=o[0],d=o[1];i=Math.min(i,1e3);let h=i/1300,l=t*h,u=A*h;for(let D=0;D0){let B=C[0],d=C[1];c=Math.min(c,1e3);let h=c/1300,l=t*h,u=A*h;for(let D=0;D0)for(let B=0;B0)for(let B=0;B13499&&A.filter.reasonanceCb===0)return;let n=A.filter;(n.cutoffCents!==s||n.reasonanceCb!==A.modulatedGenerators[g.initialFilterQ])&&(n.cutoffCents=s,n.reasonanceCb=A.modulatedGenerators[g.initialFilterQ],t.calculateCoefficients(A));for(let o=0;o=bt}currentSampleTime=0;sampleRate;currentAttenuationDb=JA;state=0;releaseStartDb=JA;releaseStartTimeSamples=0;currentReleaseGain=1;attackDuration=0;decayDuration=0;releaseDuration=0;attenuation=0;attenuationTarget=0;sustainDbRelative=0;delayEnd=0;attackEnd=0;holdEnd=0;decayEnd=0;static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=VA(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=B=>Math.max(0,Math.floor(HA(B)*e.sampleRate));e.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[g.initialAttenuation],1440))/10,e.sustainDbRelative=Math.min(JA,A.modulatedGenerators[g.sustainVolEnv]/10);let n=Math.min(JA,e.sustainDbRelative);e.attackDuration=s(A.modulatedGenerators[g.attackVolEnv]);let o=A.modulatedGenerators[g.decayVolEnv],i=(60-A.targetKey)*A.modulatedGenerators[g.keyNumToVolEnvDecay],C=n/JA;e.decayDuration=s(o+i)*C,e.releaseDuration=s(A.modulatedGenerators[g.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[g.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let c=(60-A.targetKey)*A.modulatedGenerators[g.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[g.holdVolEnv]+c)+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(JA,e.sustainDbRelative)),d=B/JA;switch(e.decayDuration=s(o+i)*d,e.state){case 0:e.releaseStartDb=JA;break;case 1:let h=1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration;e.releaseStartDb=20*Math.log10(h)*-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,JA)),e.releaseStartDb>=bt&&(A.finished=!0),e.currentReleaseGain=VA(e.releaseStartDb)}}static apply(A,e,s,n){let o=A.volumeEnvelope,i=s/10,C=n;if(A.isInRelease){let B=o.currentSampleTime-o.releaseStartTimeSamples;if(B>=o.releaseDuration){for(let h=0;h=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>=bt&&(A.finished=!0);;)if(o.attenuation+=(o.attenuationTarget-o.attenuation)*C,e[c]*=VA(o.sustainDbRelative+i+o.attenuation),o.currentAttenuationDb=o.sustainDbRelative,o.currentSampleTime++,++c>=e.length)return}}};var zs=Math.PI/2,js=.05;function $s(t,A,e,s,n,o){if(A.isInRelease||currentTime>=A.releaseStartTime&&(A.isInRelease=!0,LA.startRelease(A),YA.startRelease(A),A.sample.loopingMode===3&&(A.sample.isLooping=!1)),A.modulatedGenerators[g.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let i=A.targetKey,C=A.modulatedGenerators[g.fineTune]+t.customControllers[IA.channelTuning]+t.customControllers[IA.channelTransposeFine]+t.customControllers[IA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],c=A.modulatedGenerators[g.coarseTune]+t.customControllers[IA.channelTuningSemitones],B=this.tunings[t.preset.program]?.[i];B?.midiNote>=0&&(i=B.midiNote,C+=B.centTuning),C+=(i-A.sample.rootKey)*A.modulatedGenerators[g.scaleTuning];let d=A.modulatedGenerators[g.vibLfoToPitch];if(d!==0){let Z=A.startTime+HA(A.modulatedGenerators[g.delayVibLFO]),CA=Fe(A.modulatedGenerators[g.freqVibLFO]),oA=$e(Z,CA,currentTime);C+=oA*(d*t.customControllers[IA.modulationMultiplier])}let h=A.modulatedGenerators[g.initialFilterFc],l=A.modulatedGenerators[g.modLfoToPitch],u=A.modulatedGenerators[g.modLfoToVolume],D=A.modulatedGenerators[g.modLfoToFilterFc],y=0;if(l+D+u!==0){let Z=A.startTime+HA(A.modulatedGenerators[g.delayModLFO]),CA=Fe(A.modulatedGenerators[g.freqModLFO]),oA=$e(Z,CA,currentTime);C+=oA*(l*t.customControllers[IA.modulationMultiplier]),y=-oA*u,h+=oA*D}if(t.channelVibrato.depth>0){let Z=$e(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);Z&&(C+=Z*t.channelVibrato.depth)}let w=A.modulatedGenerators[g.modEnvToPitch],S=A.modulatedGenerators[g.modEnvToFilterFc],N=YA.getValue(A,currentTime);h+=N*S,C+=N*w;let G=~~(C+c*100);G!==A.currentTuningCents&&(A.currentTuningCents=G,A.currentTuningCalculated=Math.pow(2,G/1200));let K=(Math.max(-500,Math.min(500,A.modulatedGenerators[g.pan]))+500)/1e3,W=new Float32Array(e.length);switch(this.interpolationType){case he.linear:default:Os(A,W);break;case he.nearestNeighbor:Zs(A,W);break;case he.fourthOrder:Xs(A,W)}Qe.apply(A,W,h),LA.apply(A,W,y,this.volumeEnvelopeSmoothingFactor),A.currentPan+=(K-A.currentPan)*this.panSmoothingFactor;let I=Math.cos(zs*A.currentPan)*this.panLeft,nA=Math.sin(zs*A.currentPan)*this.panRight,j=this.oneOutputMode?0:A.modulatedGenerators[g.reverbEffectsSend],J=this.oneOutputMode?0:A.modulatedGenerators[g.chorusEffectsSend];Ws(I,nA,W,e,s,n,j,o,J)}function Uo(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 An(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Uo(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 en(t){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimesn=t);var To=function(t){var A,e,s,n,o,i,C,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",B="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=c.indexOf(t.charAt(d++)),o=c.indexOf(t.charAt(d++)),i=c.indexOf(t.charAt(d++)),C=c.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|i>>2,s=(3&i)<<6|C,B+=String.fromCharCode(A),i!==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(a){if(!(a instanceof Se))throw a}),process.on("unhandledRejection",function(a,E){process.exit(1)}),I.quit=function(a){process.exit(a)},I.inspect=function(){return"[Emscripten Module object]"}):CA?(typeof read<"u"&&(I.read=function(E){return read(E)}),I.readBinary=function(E){var Q;return typeof readbuffer=="function"?new Uint8Array(readbuffer(E)):(_A(typeof(Q=read(E,"binary"))=="object"),Q)},typeof scriptArgs<"u"?I.arguments=scriptArgs:typeof arguments<"u"&&(I.arguments=arguments),typeof quit=="function"&&(I.quit=function(a){quit(a)})):(j||J)&&(j?document.currentScript&&(oA=document.currentScript.src):oA=self.location.href,oA=oA.indexOf("blob:")!==0?oA.split("/").slice(0,-1).join("/")+"/":"",I.read=function(E){var Q=new XMLHttpRequest;return Q.open("GET",E,!1),Q.send(null),Q.responseText},J&&(I.readBinary=function(E){var Q=new XMLHttpRequest;return Q.open("GET",E,!1),Q.responseType="arraybuffer",Q.send(null),new Uint8Array(Q.response)}),I.readAsync=function(E,Q,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){Q(R.response);return}f()},R.onerror=f,R.send(null)},I.setWindowTitle=function(a){document.title=a});var Me=I.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),RA=I.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||Me);for(t in nA)nA.hasOwnProperty(t)&&(I[t]=nA[t]);function Ne(a){var E=u;return u=u+a+15&-16,E}function Pt(a){var E=c[G>>2],Q=E+a+15&-16;return c[G>>2]=Q,Q>=BA&&!$t()?(c[G>>2]=E,0):E}function Kt(a,E){return E||(E=16),a=Math.ceil(a/E)*E}function lo(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 E=parseInt(a.substr(1));return _A(E%8==0),E/8}}function fe(a){fe.shown||(fe.shown={}),fe.shown[a]||(fe.shown[a]=1,RA(a))}nA=void 0;var uo={"f64-rem":function(a,E){return a%E},debugger:function(){}},rt=[];function Po(a,E){for(var Q=0,f=Q;f>>0)+4294967296*+(E>>>0):+(a>>>0)+4294967296*+(0|E)}function at(a,E,Q){return Q&&Q.length?I["dynCall_"+a].apply(null,[E].concat(Q)):I["dynCall_"+a].call(null,E)}var be=0,Vt=0;function _A(a,E){a||ZA("Assertion failed: "+E)}function Ot(a){var E=I["_"+a];return _A(E,"Cannot call unknown function "+a+", make sure it is exported"),E}var Zt={stackSave:function(){ct()},stackRestore:function(){Qt()},arrayToC:function(a){var E,Q,f=Je(a.length);return E=a,Q=f,n.set(E,Q),f},stringToC:function(a){var E=0;if(a!=null&&a!==0){var Q=(a.length<<2)+1;E=Je(Q),_t(a,E,Q)}return E}},fo={string:Zt.stringToC,array:Zt.arrayToC};function Xt(a,E,Q,f,R){var q=Ot(a),_=[],M=0;if(f)for(var hA=0;hA>0]=E;break;case"i16":i[a>>1]=E;break;case"i32":c[a>>2]=E;break;case"i64":tempI64=[E>>>0,+ko(tempDouble=E)>=1?tempDouble>0?(0|Fo(+ns(tempDouble/4294967296),4294967295))>>>0:~~+wo((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],c[a>>2]=tempI64[0],c[a+4>>2]=tempI64[1];break;case"float":d[a>>2]=E;break;case"double":h[a>>3]=E;break;default:ZA("invalid type for setValue: "+Q)}}function Zo(a,E,Q){switch((E=E||"i8").charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":case"i8":return n[a>>0];case"i16":return i[a>>1];case"i32":case"i64":return c[a>>2];case"float":return d[a>>2];case"double":return h[a>>3];default:ZA("invalid type for getValue: "+E)}return null}function Xo(a,E,Q,f){typeof a=="number"?(q=!0,_=a):(q=!1,_=a.length);var R=typeof E=="string"?E:null;if(M=Q==4?f:[typeof Ye=="function"?Ye:Ne,Je,Ne,Pt][Q===void 0?2:Q](Math.max(_,R?1:E.length)),q){for(f=M,_A((3&M)==0),hA=M+(-4&_);f>2]=0;for(hA=M+_;f>0]=0;return M}if(R==="i8")return a.subarray||a.slice?o.set(a,M):o.set(new Uint8Array(a),M),M;for(var q,_,M,hA,rA,iA,tA,v=0;v<_;){var mA=a[v];if((rA=R||E[v])===0){v++;continue}rA=="i64"&&(rA="i32"),mo(M+v,mA,rA),tA!==rA&&(iA=lo(rA),tA=rA),v+=iA}return M}function Wo(a){return D?Bt?Ye(a):Pt(a):Ne(a)}function Le(a,E){if(E===0||!a)return"";for(var Q,f,R,q=0,_=0;q|=f=o[a+_>>0],(f!=0||E)&&(_++,!E||_!=E););E||(E=_);var M="";if(q<128){for(;E>0;)R=String.fromCharCode.apply(String,o.subarray(a,a+Math.min(E,1024))),M=M?M+R:R,a+=1024,E-=1024;return M}return Q=a,function(rA,iA){for(var tA=iA;rA[tA];)++tA;if(tA-iA>16&&rA.subarray&&Wt)return Wt.decode(rA.subarray(iA,tA));for(var v,mA,GA,xA,MA,ee,NA="";;){if(!(v=rA[iA++]))return NA;if(!(128&v)){NA+=String.fromCharCode(v);continue}if(mA=63&rA[iA++],(224&v)==192){NA+=String.fromCharCode((31&v)<<6|mA);continue}if(GA=63&rA[iA++],(240&v)==224?v=(15&v)<<12|mA<<6|GA:(xA=63&rA[iA++],(248&v)==240?v=(7&v)<<18|mA<<12|GA<<6|xA:(MA=63&rA[iA++],v=(252&v)==248?(3&v)<<24|mA<<18|GA<<12|xA<<6|MA:(1&v)<<30|mA<<24|GA<<18|xA<<12|MA<<6|(ee=63&rA[iA++]))),v<65536)NA+=String.fromCharCode(v);else{var ye=v-65536;NA+=String.fromCharCode(55296|ye>>10,56320|1023&ye)}}}(o,Q)}function _o(a){for(var E="";;){var Q=n[a++>>0];if(!Q)return E;E+=String.fromCharCode(Q)}}function zo(a,E){return function(f,R,q){for(var _=0;_>0]=f.charCodeAt(_);q||(n[R>>0]=0)}(a,E,!1)}var Wt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Ue(a,E,Q,f){if(!(f>0))return 0;for(var R=Q,q=Q+f-1,_=0;_=55296&&M<=57343&&(M=65536+((1023&M)<<10)|1023&a.charCodeAt(++_)),M<=127){if(Q>=q)break;E[Q++]=M}else if(M<=2047){if(Q+1>=q)break;E[Q++]=192|M>>6,E[Q++]=128|63&M}else if(M<=65535){if(Q+2>=q)break;E[Q++]=224|M>>12,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}else if(M<=2097151){if(Q+3>=q)break;E[Q++]=240|M>>18,E[Q++]=128|M>>12&63,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}else if(M<=67108863){if(Q+4>=q)break;E[Q++]=248|M>>24,E[Q++]=128|M>>18&63,E[Q++]=128|M>>12&63,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}else{if(Q+5>=q)break;E[Q++]=252|M>>30,E[Q++]=128|M>>24&63,E[Q++]=128|M>>18&63,E[Q++]=128|M>>12&63,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}}return E[Q]=0,Q-R}function _t(a,E,Q){return Ue(a,o,E,Q)}function Te(a){for(var E=0,Q=0;Q=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&a.charCodeAt(++Q)),f<=127?++E:f<=2047?E+=2:f<=65535?E+=3:f<=2097151?E+=4:f<=67108863?E+=5:E+=6}return E}var zt=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function jo(a){for(var E=a,Q=E>>1;i[Q];)++Q;if((E=Q<<1)-a>32&&zt)return zt.decode(o.subarray(a,E));for(var f=0,R="";;){var q=i[a+2*f>>1];if(q==0)return R;++f,R+=String.fromCharCode(q)}}function $o(a,E,Q){if(Q===void 0&&(Q=2147483647),Q<2)return 0;for(var f=E,R=(Q-=2)<2*a.length?Q/2:a.length,q=0;q>1]=_,E+=2}return i[E>>1]=0,E-f}function Ar(a){return 2*a.length}function er(a){for(var E=0,Q="";;){var f=c[a+4*E>>2];if(f==0)return Q;if(++E,f>=65536){var R=f-65536;Q+=String.fromCharCode(55296|R>>10,56320|1023&R)}else Q+=String.fromCharCode(f)}}function tr(a,E,Q){if(Q===void 0&&(Q=2147483647),Q<4)return 0;for(var f=E,R=f+Q-4,q=0;q=55296&&_<=57343&&(_=65536+((1023&_)<<10)|1023&a.charCodeAt(++q)),c[E>>2]=_,(E+=4)+4>R)break}return c[E>>2]=0,E-f}function sr(a){for(var E=0,Q=0;Q=55296&&f<=57343&&++Q,E+=4}return E}function nr(a){var E=Te(a)+1,Q=Ye(E);return Q&&Ue(a,n,Q,E),Q}function or(a){var E=Te(a)+1,Q=Je(E);return Ue(a,n,Q,E),Q}function rr(a){return a}function ir(){var a,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()),(a=E).replace(/__Z[\w\d_]+/g,function(Q){var f,R=f=Q;return Q===R?Q:Q+" ["+R+"]"})}function It(a,E){return a%E>0&&(a+=E-a%E),a}function jt(a){I.buffer=s=a}function gt(){I.HEAP8=n=new Int8Array(s),I.HEAP16=i=new Int16Array(s),I.HEAP32=c=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=h=new Float64Array(s)}function $t(){var a=I.usingWasm?65536:16777216,E=2147483648-a;if(c[G>>2]>E)return!1;var Q=BA;for(BA=Math.max(BA,16777216);BA>2];)BA=BA<=536870912?It(2*BA,a):Math.min(It((3*BA+2147483648)/4,a),E);var f=I.reallocBuffer(BA);return f&&f.byteLength==BA?(jt(f),gt(),!0):(BA=Q,!1)}l=u=y=w=S=N=G=0,D=!1,I.reallocBuffer||(I.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)E=ArrayBuffer.transfer(s,a);else{var E,Q=n;E=new ArrayBuffer(a),new Int8Array(E).set(Q)}}catch{return!1}return!!Ro(E)&&E});try{(K=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{K=function(E){return E.byteLength}}var Ct=I.TOTAL_STACK||5242880,BA=I.TOTAL_MEMORY||16777216;function po(){return BA}function me(a){for(;a.length>0;){var E=a.shift();if(typeof E=="function"){E();continue}var Q=E.func;typeof Q=="number"?E.arg===void 0?I.dynCall_v(Q):I.dynCall_vi(Q,E.arg):Q(E.arg===void 0?null:E.arg)}}BA=0?a:E<=32?2*Math.abs(1<=f&&(E<=32||a>f)&&(a=-2*f+a),a}var ko=Math.abs,wo=Math.ceil,ns=Math.floor,Fo=Math.min,Ae=0,ht=null,pe=null;function hr(a){return a}I.preloadedImages={},I.preloadedAudios={};var os="data:application/octet-stream;base64,";function He(a){return String.prototype.startsWith?a.startsWith(os):a.indexOf(os)===0}(function(){var E="main.wast",Q="main.wasm",f="main.temp.asm.js";He(E)||(E=fA(E)),He(Q)||(Q=fA(Q)),He(f)||(f=fA(f));var R={global:null,env:null,asm2wasm:uo,parent:I},q=null;function _(tA){return tA}function M(){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 hA=I.reallocBuffer,rA=function(tA){tA=It(tA,I.usingWasm?65536:16777216);var v=I.buffer.byteLength;if(I.usingWasm)try{var mA=I.wasmMemory.grow((tA-v)/65536);return mA!==-1?I.buffer=I.wasmMemory.buffer:null}catch{return null}};I.reallocBuffer=function(tA){return iA==="asmjs"?hA(tA):rA(tA)};var iA="";I.asm=function(tA,v,mA){var GA;if(!(v=GA=v).table){var xA,MA=I.wasmTableSize;MA===void 0&&(MA=1024);var ee=I.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?ee!==void 0?v.table=new WebAssembly.Table({initial:MA,maximum:ee,element:"anyfunc"}):v.table=new WebAssembly.Table({initial:MA,element:"anyfunc"}):v.table=Array(MA),I.wasmTable=v.table}return v.memoryBase||(v.memoryBase=I.STATIC_BASE),v.tableBase||(v.tableBase=0),xA=function(ye,oe,ut){if(typeof WebAssembly!="object")return RA("no native wasm support detected"),!1;if(!(I.wasmMemory instanceof WebAssembly.Memory))return RA("no native wasm Memory in use"),!1;function ve(vA,qA){if((q=vA.exports).memory){var De,dt,as;De=q.memory,dt=I.buffer,De.byteLength0?Q:Te(a)+1,R=Array(f),q=Ue(a,R,0,R.length);return E&&(R.length=q),R}function ur(a){for(var E=[],Q=0;Q255&&(f&=255),E.push(String.fromCharCode(f))}return E.join("")}u+=16,G=Ne(4),S=(y=w=Kt(u))+Ct,N=Kt(S),c[G>>2]=N,D=!0,I.wasmTableSize=4,I.wasmMaxTableSize=4,I.asmGlobalArg={},I.asmLibraryArg={abort:ZA,assert:_A,enlargeMemory:$t,getTotalMemory:po,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,Q,f){var R=ct();try{return I.dynCall_iii(E,Q,f)}catch(q){if(Qt(R),typeof q!="number"&&q!=="longjmp")throw q;I.setThrew(1,0)}},___assert_fail:function(E,Q,f,R){ZA("Assertion failed: "+Le(E)+", at: "+[Q?Le(Q):"unknown filename",f,R?Le(R):"unknown function"])},___setErrNo:function(E){return I.___errno_location&&(c[I.___errno_location()>>2]=E),E},_abort:function(){I.abort()},_emscripten_memcpy_big:function(E,Q,f){return o.set(o.subarray(Q,Q+f),E),E},_llvm_floor_f64:ns,DYNAMICTOP_PTR:G,tempDoublePtr:kA,ABORT:be,STACKTOP:w,STACK_MAX:S};var rs=I.asm(I.asmGlobalArg,I.asmLibraryArg,s);I.asm=rs,I.___errno_location=function(){return I.asm.___errno_location.apply(null,arguments)};var Ro=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 Ye=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 Je=I.stackAlloc=function(){return I.asm.stackAlloc.apply(null,arguments)},Qt=I.stackRestore=function(){return I.asm.stackRestore.apply(null,arguments)},ct=I.stackSave=function(){return I.asm.stackSave.apply(null,arguments)};function Se(a){this.name="ExitStatus",this.message="Program terminated with exit("+a+")",this.status=a}function lt(a){a=a||I.arguments,!(Ae>0)&&(function(){if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)yo(I.preRun.shift());me(As)}(),!(Ae>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,be||(Bt||(Bt=!0,me(Et)),me(es),I.onRuntimeInitialized&&I.onRuntimeInitialized(),function(){if(I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;)Do(I.postRun.shift());me(ss)}()))}}function dr(a,E){(!E||!I.noExitRuntime||a!==0)&&(I.noExitRuntime||(be=!0,Vt=a,w=W,me(ts),So=!0,I.onExit&&I.onExit(a)),I.quit(a,new Se(a)))}function ZA(a){throw I.onAbort&&I.onAbort(a),a!==void 0?(Me(a),RA(a),a=JSON.stringify(a)):a="",be=!0,Vt=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=rs,I.ccall=Xt,I.cwrap=function(E,Q,f,R){var q=(f=f||[]).every(function(_){return _==="number"});return Q!=="string"&&q&&!R?Ot(E):function(){return Xt(E,Q,f,arguments,R)}},Se.prototype=Error(),Se.prototype.constructor=Se,pe=function a(){I.calledRun||lt(),I.calledRun||(pe=a)},I.run=lt,I.abort=ZA,I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);I.preInit.length>0;)I.preInit.pop()();I.noExitRuntime=!0,lt(),I.onRuntimeInitialized=()=>{tn=!0,sn()},OA.decode=function(a){return function(Q){if(!tn)throw Error("Not initialized");var f={};function R(oe){return new Int32Array(I.HEAPU8.buffer,oe,1)[0]}function q(oe,ut){var ve=new ArrayBuffer(ut*Float32Array.BYTES_PER_ELEMENT),re=new Float32Array(ve);return re.set(new Float32Array(I.HEAPU8.buffer,oe,ut)),re}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 _,M,hA,rA,iA=f.open(),tA=(_=Q,M=Q.byteLength,hA=I._malloc(M),(rA=new Uint8Array(I.HEAPU8.buffer,hA,M)).set(new Uint8Array(_,0,M)),rA),v=I._malloc(4),mA=I._malloc(4),GA=f.decode(iA,tA.byteOffset,tA.byteLength,v,mA);if(I._free(tA.byteOffset),GA<0)throw f.close(iA),I._free(v),Error("stbvorbis decode failed: "+GA);for(var xA=f.channels(iA),MA=Array(xA),ee=new Int32Array(I.HEAPU32.buffer,R(v),xA),NA=0;NA=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===UA?this.resetAllControllers():this.resetControllers(e);break;case eA.systemExclusive:this.systemExclusive(A);break;case eA.setChannelVibrato:if(e===UA)for(let i=0;i{let e=(A.midiControllers[EA+P.pitchWheelRange]>>7)+(A.midiControllers[EA+P.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[EA+P.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:pA.channelProperties,messageData:t})}function Ho(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 an(t,A=0){let e=t[0];if(!(this.deviceID!==UA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:L(`%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 c=(t[5]<<7|t[6])-8192;n=Math.floor(c/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:L(`%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 i=t[o++],C=t[o++];for(let B=0;B>1&1)===1&&this.setOctaveTuning(15+A,c);for(let B=0;B<7;B++)(t[5]>>B&1)===1&&this.setOctaveTuning(7+B+A,c);for(let B=0;B<7;B++)(t[6]>>B&1)===1&&this.setOctaveTuning(B+A,c);m(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${c.join(" ")}`,r.info,r.value);break;default:L(`%cUnrecognized MIDI Tuning standard message: %c${lA(t)}`,r.warn,r.unrecognized);break}break;default:L(`%cUnrecognized MIDI Realtime/non realtime message: %c${lA(t)}`,r.warn,r.unrecognized)}break;case 65:let s=function(){L(`%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 i=n>0&&t[5]>>4;this.setDrums(o,i),m(`%cChannel %c${o}%c ${i?"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 c=n;c===0&&(c=Math.floor(Math.random()*128)),this.controllerChange(o,p.pan,c);break;case 33:this.controllerChange(o,p.effects3Depth,n);break;case 34:this.controllerChange(o,p.effects1Depth,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 i=this.workletProcessorChannels[n];if(i.drumChannel)return;let C=o-64;i.channelTransposeKeyShift=C;break;case 11:this.controllerChange(n,p.mainVolume,o);break;case 14:let c=o;c===0&&(c=Math.floor(Math.random()*127)),this.controllerChange(n,p.pan,c);break;case 19:this.controllerChange(n,p.effects1Depth,o);break;case 18:this.controllerChange(n,p.effects3Depth,o);break;default:L(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,r.warn,r.unrecognized)}}else this.system==="xg"&&L(`%cUnrecognized Yamaha XG SysEx: %c${lA(t)}`,r.warn,r.unrecognized);else this.system==="xg"&&L(`%cUnrecognized Yamaha SysEx: %c${lA(t)}`,r.warn,r.unrecognized);break}}function In(t,A,e){if(A.transformAmount===0)return A.currentValue=0,0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let c=A.sourceIndex+EA;switch(A.sourceIndex){case P.noController:s=16383;break;case P.noteOnKeyNum:s=e.midiNote<<7;break;case P.noteOnVelocity:s=e.velocity<<7;break;case P.polyPressure:s=e.pressure<<7;break;default:s=t[c];break}}let n=dA[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let c=A.secSrcIndex+EA;switch(A.secSrcIndex){case P.noController:o=16383;break;case P.noteOnKeyNum:o=e.midiNote<<7;break;case P.noteOnVelocity:o=e.velocity<<7;break;case P.polyPressure:o=e.pressure<<7;break;default:o=t[c]}}let i=dA[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],C=n*i*A.transformAmount;return A.transformType===2&&(C=Math.abs(C)),A.currentValue=C,C}function XA(t,A,e=-1,s=0){let n=t.modulators,o=t.generators,i=t.modulatedGenerators;if(YA.recalculate(t),e===-1){i.set(o),n.forEach(B=>{let d=b[B.modulatorDestination],h=i[B.modulatorDestination]+In(A,B,t);i[B.modulatorDestination]=Math.max(d.min,Math.min(h,d.max))}),LA.recalculate(t);return}let C=new Set([g.initialAttenuation,g.delayVolEnv,g.attackVolEnv,g.holdVolEnv,g.decayVolEnv,g.sustainVolEnv,g.releaseVolEnv,g.keyNumToVolEnvHold,g.keyNumToVolEnvDecay]),c=new Set;n.forEach(B=>{if(B.sourceUsesCC===e&&B.sourceIndex===s||B.secSrcUsesCC===e&&B.secSrcIndex===s){let d=B.modulatorDestination;c.has(d)||(i[d]=o[d],In(A,B,t),n.forEach(h=>{if(h.modulatorDestination===d){let l=b[B.modulatorDestination],u=i[B.modulatorDestination]+h.currentValue;i[B.modulatorDestination]=Math.max(l.min,Math.min(u,l.max))}}),c.add(d))}}),[...c].some(B=>C.has(B))&&LA.recalculate(t)}var dA=[];for(let t=0;t<4;t++){dA[t]=[[new Float32Array(gA),new Float32Array(gA)],[new Float32Array(gA),new Float32Array(gA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||i.isMuted)return;let C=A+i.channelTransposeKeyShift;if(A>127||A<0)return;let c=i.preset.program;this.tunings[c]?.[A]?.midiNote>=0&&(C=this.tunings[c]?.[A].midiNote),i.velocityOverride>0&&(e=i.velocityOverride);let B=this.getWorkletVoices(t,C,e,i,o,s),d=i.voices;B.forEach(h=>{let l=h.generators[g.exclusiveClass];l!==0&&d.forEach(G=>{G.generators[g.exclusiveClass]===l&&(this.releaseVoice(G),G.modulatedGenerators[g.releaseVolEnv]=-7e3,G.modulatedGenerators[g.releaseModEnv]=-7e3,LA.recalculate(G),YA.recalculate(G))}),XA(h,i.midiControllers);let u=h.modulatedGenerators[g.startAddrsOffset]+h.modulatedGenerators[g.startAddrsCoarseOffset]*32768,D=h.modulatedGenerators[g.endAddrOffset]+h.modulatedGenerators[g.endAddrsCoarseOffset]*32768,y=h.modulatedGenerators[g.startloopAddrsOffset]+h.modulatedGenerators[g.startloopAddrsCoarseOffset]*32768,w=h.modulatedGenerators[g.endloopAddrsOffset]+h.modulatedGenerators[g.endloopAddrsCoarseOffset]*32768,S=h.sample,N=G=>Math.max(0,Math.min(S.sampleData.length-1,G));if(S.cursor=N(S.cursor+u),S.end=N(S.end+D),S.loopStart=N(S.loopStart+y),S.loopEnd=N(S.loopEnd+w),S.loopEndthis.voiceCap&&this.voiceKilling(B.length),d.push(...B),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function Cn(t,A){if(A>127||A<0){L("Received a noteOn for note",A,"Ignoring.");return}let e=A+this.workletProcessorChannels[t].channelTransposeKeyShift,s=this.workletProcessorChannels[t].preset.program;if(this.tunings[s]?.[A]?.midiNote>=0&&(e=this.tunings[s]?.[A].midiNote),this.highPerformanceMode&&!this.workletProcessorChannels[t].drumChannel){this.killNote(t,e);return}this.workletProcessorChannels[t].voices.forEach(o=>{o.midiNote!==e||o.isInRelease===!0||(this.workletProcessorChannels[t].holdPedal?this.workletProcessorChannels[t].sustainedVoices.push(o):this.releaseVoice(o))}),this.callEvent("noteoff",{midiNote:A,channel:t})}function En(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.midiNote===A&&(e.modulatedGenerators[g.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function Bn(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 hn(t=!1){m("%cStop all received!",r.info);for(let A=0;AXA(n,this.workletProcessorChannels[t].midiControllers,0,P.pitchWheel)),this.sendChannelProperties()}function pn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[EA+P.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>XA(s,e.midiControllers,0,P.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function Sn(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,XA(s,this.workletProcessorChannels[t].midiControllers,0,P.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function yn(t,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[t].channelOctaveTuning=A}function Dn(t,A,e,s=!1){let n=this.workletProcessorChannels[t];if(n===void 0){L(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(A>127){if(!s)return;switch(A){default:return;case wt.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(i=>XA(i,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!==DA&&this.setDrums(t,!1);break;case"gm2":o===120&&(n.drumChannel=!0,this.callEvent("drumchange",{channel:t,isDrumChannel:!0}))}n.drumChannel&&(o=128),o===128&&!n.drumChannel&&(o=n.midiControllers[p.bankSelect])}n.midiControllers[p.bankSelect]=o;break;case p.lsbForControl0BankSelect:this.system==="xg"?n.drumChannel||e!==127&&(n.midiControllers[p.bankSelect]=e):this.system==="gm2"&&(n.midiControllers[p.bankSelect]=e);break;case p.RPNLsb:n.RPValue=n.RPValue<<7|e,n.dataEntryState=uA.RPFine;break;case p.RPNMsb:n.RPValue=e,n.dataEntryState=uA.RPCoarse;break;case p.NRPNMsb:n.NRPCoarse=e,n.dataEntryState=uA.NRPCoarse;break;case p.NRPNLsb:n.NRPFine=e,n.dataEntryState=uA.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(i=>{this.releaseVoice(i)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(i=>XA(i,n.midiControllers,1,A)),this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e});break}}function kn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function wn(t){this.masterGain=t*Ut,this.setMasterPan(this.pan)}function Fn(t){this.pan=t,t=t/2+.5,this.panLeft=(1-t)*this.currentGain,this.panRight=t*this.currentGain}function Rn(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function Gn(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 xn(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 Mn(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 uA.Idle:break;case uA.NRPFine:if(this.system!=="gs"||e.lockGSNRPNParams)return;switch(e.NRPCoarse){default:if(A===64)return;L(`%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;L(`%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 i=A;this.controllerChange(t,p.brightness,A),m(`%cFilter cutoff for %c${t}%c is now set to %c${i}`,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.effects1Depth,o),m(`%cGS Drum reverb for %c${t}%c: %c${o}`,r.info,r.recognized,r.info,r.value);break}break;case uA.RPCoarse:case uA.RPFine:switch(e.RPValue){default:L(`%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[EA+P.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 Nn(t,A){let e=this.workletProcessorChannels[t];switch(e.dataEntryState){default:break;case uA.RPCoarse:case uA.RPFine:switch(e.RPValue){default:break;case 0:if(A===0)break;e.midiControllers[EA+P.pitchWheelRange]|=A;let s=(e.midiControllers[EA+P.pitchWheelRange]>>7)+A/127;m(`%cChannel ${t} bend range. Semitones: %c${s}`,r.info,r.value);break;case 1:let o=e.customControllers[IA.channelTuning]<<7|A;this.setChannelTuning(t,o*.01220703125);break;case 5:let C=e.customControllers[IA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,C);break;case 16383:this.resetParameters(t);break}}}function bn(t=!0){t&&m("%cResetting all controllers!",r.info),this.callEvent("allcontrollerreset",void 0);for(let A=0;A{this.workletProcessorChannels[A].lockedControllers[n]&&this.callEvent("controllerchange",{channel:A,controllerNumber:n,controllerValue:this.workletProcessorChannels[A].midiControllers[n]>>7})};if(s(p.mainVolume),s(p.pan),s(p.expressionController),s(p.modulationWheel),s(p.effects3Depth),s(p.effects1Depth),s(p.brightness),this.workletProcessorChannels[A].lockedControllers[EA+P.pitchWheel]){let n=this.workletProcessorChannels[A].midiControllers[EA+P.pitchWheel],o=n>>7,i=n&127;this.callEvent("pitchwheel",{channel:A,MSB:o,LSB:i})}}this.tunings=[],this.tunings=[];for(let A=0;A<127;A++)this.tunings.push([]);this.setMIDIVolume(1),this.system=Oe}function Ln(t){let A=this.workletProcessorChannels[t],s=A.lockedControllers.reduce((o,i,C)=>(i&&o.push(C),o),[]).map(o=>({ccNum:o,ccVal:A.midiControllers[o]}));A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0),A.midiControllers.set(PA),A.channelVibrato={rate:0,depth:0,delay:0},A.holdPedal=!1,s.forEach(o=>{A.midiControllers[o.ccNum]=o.ccVal});let n=A.customControllers[IA.channelTransposeFine];A.customControllers.set(kt),A.customControllers[IA.channelTransposeFine]=n,this.resetParameters(t)}function Un(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=uA.Idle}function Tn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==g.sampleID&&i.generatorType!==g.keyRange&&i.generatorType!==g.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:g.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:g.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:g.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new H(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=e;for(let o of n.generators)Y(A,o.generatorType),Y(A,o.generatorValue),e++}return cA(A,0),sA(new AA("igen",A.length,A))}function Hn(t,A,e,s,n){let o=this.samples.map((B,d)=>{e&&B.compressSample(s,n);let h=B.getRawData();return m(`%cEncoded sample %c${d}. ${B.sampleName}%c of %c${this.samples.length}`,r.info,r.recognized,r.info,r.recognized),h}),i=this.samples.reduce((B,d,h)=>B+o[h].length+46,0),C=new H(i);this.samples.forEach((B,d)=>{let h=o[d],l,u,D=h.length;B.isCompressed?(l=C.currentIndex,u=l+h.length):(l=C.currentIndex/2,u=l+h.length/2,D+=46),t.push(l),C.set(h,C.currentIndex),C.currentIndex+=D,A.push(u)});let c=sA(new AA("smpl",C.length,C),new H([115,100,116,97]));return sA(new AA("LIST",c.length,c))}function Yn(t,A){let s=new H(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{wA(s,n.sampleName,20);let i=t[o];cA(s,i);let C=A[o];cA(s,C);let c=n.sampleLoopStartIndex/2+i,B=n.sampleLoopEndIndex/2+i;n.isCompressed&&(c-=i,B-=i),cA(s,c),cA(s,B),cA(s,n.sampleRate),s[s.currentIndex++]=n.samplePitch,s[s.currentIndex++]=n.samplePitchCorrection,Y(s,n.sampleLink),Y(s,n.sampleType)}),wA(s,"EOS",46),sA(new AA("shdr",s.length,s))}function Jn(){let t=10;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new H(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)Y(A,o.sourceEnum),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.secondarySourceEnum),Y(A,o.transformType),e++}return ge(A,0,10),sA(new AA("imod",A.length,A))}function vn(){let t=this.instruments.reduce((o,i)=>i.instrumentZones.length*4+o,4),A=new H(t),e=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=e;for(let i of o.instrumentZones)i.zoneID=e,Y(A,s),Y(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return Y(A,s),Y(A,n),sA(new AA("ibag",A.length,A))}function qn(){let t=this.instruments.length*22+22,A=new H(t),e=0,s=0;for(let n of this.instruments)wA(A,n.instrumentName,20),Y(A,e),e+=n.instrumentZones.length,n.instrumentID=s,s++;return wA(A,"EOI",20),Y(A,e),sA(new AA("inst",A.length,A))}function Pn(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==g.instrument&&i.generatorType!==g.keyRange&&i.generatorType!==g.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:g.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:g.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:g.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new H(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=e;for(let o of n.generators)Y(A,o.generatorType),Y(A,o.generatorValue);e+=n.generators.length}return Y(A,0),Y(A,0),sA(new AA("pgen",A.length,A))}function Kn(){let t=10;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new H(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)Y(A,o.sourceEnum),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.secondarySourceEnum),Y(A,o.transformType),e++}return ge(A,0,10),sA(new AA("pmod",A.length,A))}function Vn(){let t=this.presets.reduce((o,i)=>i.presetZones.length*4+o,4),A=new H(t),e=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=e;for(let i of o.presetZones)i.zoneID=e,Y(A,s),Y(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return Y(A,s),Y(A,n),sA(new AA("pbag",A.length,A))}function On(){let t=this.presets.length*38+38,A=new H(t),e=0;for(let s of this.presets)wA(A,s.presetName,20),Y(A,s.program),Y(A,s.bank),Y(A,e),cA(A,s.library),cA(A,s.genre),cA(A,s.morphology),e+=s.presetZones.length;return wA(A,"EOP",20),Y(A,0),Y(A,0),Y(A,e),cA(A,0),cA(A,0),cA(A,0),sA(new AA("phdr",A.length,A))}var Yo={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Zn(t=Yo){if(t.compress&&typeof t.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");SA("%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[K,W]of Object.entries(this.soundFontInfo))if(K==="ifil"||K==="iver"){let I=parseInt(W.split(".")[0]),nA=parseInt(W.split(".")[1]),j=new H(4);Y(j,I),Y(j,nA),A.push(sA(new AA(K,4,j)))}else if(K==="DMOD")A.push(sA(new AA(K,W.length,W)));else{let I=new H(W.length);wA(I,W),A.push(sA(new AA(K,W.length,I)))}let e=ke([new H([73,78,70,79]),...A]),s=sA(new AA("LIST",e.length,e));m("%cWriting SDTA...",r.info);let n=[],o=[],i=Hn.call(this,n,o,t?.compress,t?.compressionQuality||.5,t.compressionFunction);m("%cWriting PDTA...",r.info),m("%cWriting SHDR...",r.info);let C=Yn.call(this,n,o);m("%cWriting IGEN...",r.info);let c=Tn.call(this);m("%cWriting IMOD...",r.info);let B=Jn.call(this);m("%cWriting IBAG...",r.info);let d=vn.call(this);m("%cWriting INST...",r.info);let h=qn.call(this),l=Pn.call(this);m("%cWriting PMOD...",r.info);let u=Kn.call(this);m("%cWriting PBAG...",r.info);let D=Vn.call(this);m("%cWriting PHDR...",r.info);let y=On.call(this),w=ke([new H([112,100,116,97]),y,D,u,l,h,d,B,c,C]),S=sA(new AA("LIST",w.length,w));m("%cWriting the output file...",r.info);let N=ke([new H([115,102,98,107]),s,i,S]),G=sA(new AA("RIFF",N.length,N));return m(`%cSaved succesfully! Final file size: %c${G.length}`,r.info,r.recognized),X(),G}var ne=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=Pe.map(e=>$.copy(e)),A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}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()}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()}deletePreset(A){A.deletePreset(),this.presets.splice(this.presets.indexOf(A),1),this.removeUnusedElements()}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)}setSampleIDOffset(A){this.presets.forEach(e=>e.sampleIDOffset=A)}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&&L(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,r.warn,r.recognized)),s||(L(`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||(L("Preset not found. Defaulting to:",this.presets[0].presetName),e=this.presets[0]),e}static mergeSoundfonts(...A){let e=A.shift(),s=e.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(i=>i.bank===o.bank&&i.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}};ne.prototype.write=Zn;function Xn(t){SA("%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(h,l,u){return u>=h&&u<=l}function o(h,l){h.push(...l.filter(u=>!h.find(D=>D.generatorType===u.generatorType)))}function i(h,l){h.push(...l.filter(u=>!h.find(D=>$.isIdentical(u,D))))}let C=[],c=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],B=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(h=>n(h.keyRange.min,h.keyRange.max,A)&&n(h.velRange.min,h.velRange.max,e)&&!h.isGlobal).forEach(h=>{if(h.instrument.instrumentZones.length<1)return;let l=h.generators,u=h.modulators,D=h.instrument.instrumentZones[0].isGlobal?[...h.instrument.instrumentZones[0].generators]:[],y=h.instrument.instrumentZones[0].isGlobal?[...h.instrument.instrumentZones[0].modulators]:[];h.instrument.instrumentZones.filter(S=>n(S.keyRange.min,S.keyRange.max,A)&&n(S.velRange.min,S.velRange.max,e)&&!S.isGlobal).forEach(S=>{let N=[...S.generators],G=[...S.modulators];o(l,c),o(N,D),i(u,B),i(G,y),i(G,this.defaultModulators);let K=[...G];for(let W=0;W$.isIdentical(I,j));nA!==-1?K[nA]=K[nA].sumTransform(I):K.push(I)}C.push({instrumentGenerators:N,presetGenerators:l,modulators:K,sample:S.sample,sampleID:S.generators.find(W=>W.generatorType===g.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=C,C}};var Re=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var $A=class extends Re{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},le=class extends Re{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ue=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}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 At=class extends ce{constructor(A,e){super(Pe),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new ue,this.DLSInstrument.addUseCount();let n=new le;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function Wn(t){this.verifyHeader(t,"LIST"),this.verifyText(V(t.chunkData,4),"ins ");let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(O(t.chunkData));let e=A.find(u=>u.header==="insh");if(!e)throw X(),new Error("No instrument header!");let s=k(e.chunkData,4),n=k(e.chunkData,4),o=k(e.chunkData,4),i=new At(n,o),C="unnamedPreset",c=yA(A,"INFO");if(c){let u=O(c.chunkData);for(;u.header!=="INAM";)u=O(c.chunkData);C=V(u.chunkData,u.chunkData.length).trim()}i.presetName=C,i.DLSInstrument.instrumentName=C,te(`%cParsing %c"${C}"%c...`,r.info,r.recognized,r.info);let B=yA(A,"lrgn");if(!B)throw X(),new Error("No region list!");let d=new $A;d.isGlobal=!0;let h=yA(A,"lart"),l=yA(A,"lar2");this.readLart(h,l,d),i.DLSInstrument.instrumentZones.push(d);for(let u=0;u>10&15;S===QA.linear&&w!==QA.linear&&(S=w);let N=s>>14&1,G=s>>15&1;i===g.initialAttenuation&&(G=!G),h=TA(S,N,G,C.isCC,C.enum)}let l=s>>4&15,u=s>>8&1,D=s>>9&1,y=TA(l,u,D,d.isCC,d.enum);if(c){let w=y;y=h,h=w}return new $({srcEnum:h,secSrcEnum:y,dest:i,transform:0,amt:n})}function Tt(t,A){let e=t.chunkData,s=[],n=[];k(e,4);let o=k(e,4);for(let i=0;i>16;if(C===0&&c===0&&d===0){let u;switch(B){case x.pan:u=new U(g.pan,l);break;case x.gain:u=new U(g.initialAttenuation,-l*10/.4);break;case x.filterCutoff:u=new U(g.initialFilterFc,l);break;case x.filterQ:u=new U(g.initialFilterQ,l);break;case x.modLfoFreq:u=new U(g.freqModLFO,l);break;case x.modLfoDelay:u=new U(g.delayModLFO,l);break;case x.vibLfoFreq:u=new U(g.freqVibLFO,l);break;case x.vibLfoDelay:u=new U(g.delayVibLFO,l);break;case x.volEnvDelay:u=new U(g.delayVolEnv,l);break;case x.volEnvAttack:u=new U(g.attackVolEnv,l);break;case x.volEnvHold:u=new U(g.holdVolEnv,l);break;case x.volEnvDecay:u=new U(g.decayVolEnv,l);break;case x.volEnvRelease:u=new U(g.releaseVolEnv,l);break;case x.volEnvSustain:let D=(1e3-l)/10;u=new U(g.sustainVolEnv,D*10);break;case x.modEnvDelay:u=new U(g.delayModEnv,l);break;case x.modEnvAttack:u=new U(g.attackModEnv,l);break;case x.modEnvHold:u=new U(g.holdModEnv,l);break;case x.modEnvDecay:u=new U(g.decayModEnv,l);break;case x.modEnvRelease:u=new U(g.releaseModEnv,l);break;case x.modEnvSustain:let y=1e3-l;u=new U(g.sustainModEnv,y);break;case x.reverbSend:u=new U(g.reverbEffectsSend,l);break;case x.chorusSend:u=new U(g.chorusEffectsSend,l);break;case x.pitch:let w=Math.floor(l/100),S=Math.floor(l-w*100);u=new U(g.fineTune,S),s.push(new U(g.coarseTune,w));break}u&&s.push(u)}else{let u=!0;if(c===z.none)if(C===z.modLfo&&B===x.pitch)s.push(new U(g.modLfoToPitch,l));else if(C===z.modLfo&&B===x.gain)s.push(new U(g.modLfoToVolume,l));else if(C===z.modLfo&&B===x.filterCutoff)s.push(new U(g.modLfoToFilterFc,l));else if(C===z.vibratoLfo&&B===x.pitch)s.push(new U(g.vibLfoToPitch,l));else if(C===z.modEnv&&B===x.pitch)s.push(new U(g.modEnvToPitch,l));else if(C===z.modEnv&&B===x.filterCutoff)s.push(new U(g.modEnvToFilterFc,l));else if(C===z.keyNum&&B===x.volEnvHold){s.push(new U(g.keyNumToVolEnvHold,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===g.holdVolEnv&&(y.generatorValue+=D)})}else if(C===z.keyNum&&B===x.volEnvDecay){s.push(new U(g.keyNumToVolEnvDecay,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===g.decayVolEnv&&(y.generatorValue+=D)})}else if(C===z.keyNum&&B===x.modEnvHold){s.push(new U(g.keyNumToModEnvHold,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===g.holdModEnv&&(y.generatorValue+=D)})}else if(C===z.keyNum&&B===x.modEnvDecay){s.push(new U(g.keyNumToModEnvDecay,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===g.decayModEnv&&(y.generatorValue+=D)})}else u=!1;else u=!1;if(u===!1){let D=zn(C,c,B,d,l);D?(n.push(D),m("%cSucceeded converting to SF2 Modulator!",r.recognized)):L("Failed converting to SF2 Modulator!")}}}return n.find(i=>i.modulatorDestination===g.reverbEffectsSend)===void 0&&n.push(new $({srcEnum:219,dest:g.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n.find(i=>i.modulatorDestination===g.chorusEffectsSend)===void 0&&n.push(new $({srcEnum:221,dest:g.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),A&&n.push(new $({srcEnum:129,dest:g.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new $({srcEnum:13,dest:g.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:n,generators:s}}function jn(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(O(t.chunkData));let e=A.find(j=>j.header==="rgnh"),s=k(e.chunkData,2),n=k(e.chunkData,2),o=k(e.chunkData,2),i=k(e.chunkData,2),C=new et({min:s,max:n},{min:o,max:i});k(e.chunkData,2);let c=k(e.chunkData,2);c!==0&&C.generators.push(new U(g.exclusiveClass,c));let B=yA(A,"lart"),d=yA(A,"lar2");this.readLart(B,d,C),C.isGlobal=!1;let h=A.find(j=>j.header==="wsmp");k(h.chunkData,4);let l=k(h.chunkData,2),u=zA(h.chunkData[h.chunkData.currentIndex++],h.chunkData[h.chunkData.currentIndex++]),y=(k(h.chunkData,4)|0)/-655360;k(h.chunkData,4);let w=k(h.chunkData,4),S,N={start:0,end:0};if(w===0)S=0;else{k(h.chunkData,4),k(h.chunkData,4)===0?S=1:S=3,N.start=k(h.chunkData,4);let J=k(h.chunkData,4);N.end=N.start+J}let G=A.find(j=>j.header==="wlnk");if(G===void 0)return;k(G.chunkData,2),k(G.chunkData,2),k(G.chunkData,4);let K=k(G.chunkData,4),W=this.samples[K];if(W===void 0)throw new Error("Invalid sample ID!");let nA=(y||W.sampleDbAttenuation)*10/.4;return C.setWavesample(nA,S,N,l,W,K,u),C}var de=class{constructor(A,e,s,n,o,i,C,c){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=i,this.sampleLoopStartIndex=C,this.sampleLoopEndIndex=c,this.isCompressed=(i&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{L(`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 tt=class extends de{constructor(A,e,s,n,o,i,C,c){super(A,e,s,n,0,1,o*2,(i-1)*2),this.sampleData=C,this.sampleDbAttenuation=c}getAudioData(){return this.sampleData}sampleDbAttenuation;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 Ao(t){SA("%cLoading Wave samples...",r.recognized);let A=0;for(;t.chunkData.currentIndexJ.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");if(k(n.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(k(n.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let C=k(n.chunkData,4);k(n.chunkData,4),k(n.chunkData,2);let c=k(n.chunkData,2),B=c/8,d=Math.pow(2,B*8-1),h=Math.pow(2,B*8),l,u=!1;c===8?(l=255,u=!0):l=d;let D=s.find(J=>J.header==="data");if(!D)throw new Error("No data chunk in the wave chunk!");let y=D.size/B,w=new Float32Array(y);for(let J=0;J=d&&(Z-=h),w[J]=Z/l)}let S=60,N=0,G=0,K=w.length-1,W=0,I=s.find(J=>J.header==="wsmp");if(I){if(k(I.chunkData,4),S=k(I.chunkData,2),N=zA(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),G=k(I.chunkData,4);let CA=k(I.chunkData,4);K=G+CA}}else L("No wsmp chunk in wave... using sane defaults.");let nA=yA(s,"INFO"),j=`Unnamed ${A}`;if(nA){let J=O(nA.chunkData);for(;J.header!=="INAM"&&nA.chunkData.currentIndex(y.messageStatusByte&240)===F.noteOn);w&&l.push(w.ticks)}this.firstNoteOn=Math.min(...l),m(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,r.info,r.recognized,r.info),d!==null&&h===null?(d=this.firstNoteOn,h=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(h===null||h===0)&&(h=this.lastVoiceEventTick)),this.loop={start:d,end:h},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 S of this.midiPorts)if(S!==-1){D=S;break}if(this.midiPorts=this.midiPorts.map(S=>S===-1?D:S),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),!i)if(this.tracks.length>1){if(this.tracks[0].find(S=>S.messageStatusByte>=F.noteOn&&S.messageStatusBytew.messageStatusByte===F.trackName);S&&(this.rawMidiName=S.messageData,this.midiName=V(S.messageData,S.messageData.length,void 0,!1))}}else{let S=this.tracks[0].find(w=>w.messageStatusByte===F.trackName);S&&(this.rawMidiName=S.messageData,this.midiName=V(S.messageData,S.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=gs(e),this.rawMidiName=new Uint8Array(this.midiName.length);for(let S=0;Su>h?u:h),s=[];for(let h=0;h{i[D]>=l.length||l[i[D]].ticks0;){let h=c(),u=t.tracks[h];if(i[h]>=u.length){C--;continue}let l=u[i[h]];if(i[h]++,l.messageStatusByte===F.midiPort){B[h]=l.messageData[0];continue}let D=l.messageStatusByte&240;if(D!==F.noteOn&&D!==F.controllerChange&&D!==F.programChange&&D!==F.systemExclusive)continue;let S=(l.messageStatusByte&15)+t.midiPortChannelOffsets[B[h]]||0,w=s[S];switch(D){case F.programChange:w.program=l.messageData[0],n(w);break;case F.controllerChange:if(l.messageData[0]!==p.bankSelect||d==="gs"&&w.drums)continue;let y=l.messageData[1],N=Math.max(0,y-t.bankOffset);if(d==="xg"){let W=y===120||y===126||y===127;W!==w.drums?(w.drums=W,w.bank=w.drums?128:N,n(w)):w.bank=w.drums?128:N;continue}s[S].bank=N;break;case F.noteOn:if(l.messageData[1]===0)continue;n(w),o[w.string].add(`${l.messageData[0]}-${l.messageData[1]}`);break;case F.systemExclusive:if(l.messageData[0]!==65||l.messageData[2]!==66||l.messageData[3]!==18||l.messageData[4]!==64||!(l.messageData[5]&16)||l.messageData[6]!==21){l.messageData[0]===67&&l.messageData[2]===76&&l.messageData[5]===126&&l.messageData[6]===0&&(d="xg");continue}let G=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][l.messageData[5]&15]+t.midiPortChannelOffsets[B[h]],K=!!(l.messageData[7]>0&&l.messageData[5]>>4);w=s[G],w.drums=K,w.bank=K?128:0,n(w);break}}for(let h of Object.keys(o))o[h].size===0&&(m(`%cDetected change but no keys for %c${h}`,r.info,r.value),delete o[h]);return X(),o}function Rs(t,A){this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(e,A)}),this.duration=this.midiData.duration,this.firstNoteTime=Ce(this.midiData.firstNoteOn,this.midiData),m(`%cTotal song time: ${ft(Math.ceil(this.duration)).time}`,r.recognized),this.post(FA.songChange,[new Ze(this.midiData),this.songIndex]),this.synth.resetAllControllers(),this.duration<=1&&(L(`%cVery short song: (${ft(Math.round(this.duration)).time}). Disabling loop!`,r.warn),this.loop=!1),this.play(!0)}function xs(t){this.songs=t.reduce((A,e)=>{if(e.duration)return A.push(e),A;try{A.push(new ze(e.binary,e.altName||""))}catch(s){return this.post(FA.midiError,s.message),A}return A},[]),!(this.songs.length<1)&&(this.songIndex=0,this.songs.length>1&&(this.loop=!1),this.loadNewSequence(this.songs[this.songIndex]))}function Ms(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ns(){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.effects1Depth]=0;function bs(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,i=[];for(let C=0;C=A)break}else if(this.playedTime>=t)break;let B=we(c.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]=c.messageData[1]<<7|c.messageData[0];break;case F.programChange:let u=n[d];u.program=c.messageData[0],u.actualBank=u.bank;break;case F.controllerChange:let l=c.messageData[0];if(o(l)){let D=c.messageData[1];if(l===p.bankSelect){n[d].bank=D;break}this.sendMIDIMessages?this.sendMIDICC(d,l,D):this.synth.controllerChange(d,l,D)}else i[d]===void 0&&(i[d]=Array.from(KA)),i[d][l]=c.messageData[1];break;default:this._processEvent(c,C);break}this.eventIndex[C]++,C=this._findFirstEventIndex();let h=this.tracks[C][this.eventIndex[C]];if(h===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(h.ticks-c.ticks)}if(this.sendMIDIMessages){for(let C=0;C>7,s[C]&127),i[C]!==void 0&&i[C].forEach((c,B)=>{c!==KA[B]&&!o(B)&&this.sendMIDICC(C,B,c)}),n[C].program>=0&&n[C].actualBank>=0){let c=n[C].actualBank;this.sendMIDICC(C,p.bankSelect,c),this.sendMIDIProgramChange(C,n[C].program)}}else for(let C=0;C>7,s[C]&127),i[C]!==void 0&&i[C].forEach((c,B)=>{c!==KA[B]&&!o(B)&&this.synth.controllerChange(C,B,c)}),n[C].program>=0&&n[C].actualBank>=0){let c=n[C].actualBank;this.synth.controllerChange(C,p.bankSelect,c),this.synth.programChange(C,n[C].program)}return!0}function Ls(t=!1){if(this.midiData!==void 0){if(t){this.currentTime=0;return}if(this.currentTime>=this.duration){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 Us(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(FA.timeChange,currentTime-Ce(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function Ts(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function Hs(t,A){switch(t){default:break;case bA.loadNewSongList:this.loadNewSongList(A);break;case bA.pause:this.pause();break;case bA.play:this.play(A);break;case bA.stop:this.stop();break;case bA.setTime:this.currentTime=A;break;case bA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case bA.setPlaybackRate:this.playbackRate=A;break;case bA.setLoop:this.loop=A;break;case bA.changeSong:A?this.nextSong():this.previousSong();break;case bA.getMIDI:this.post(FA.getMIDI,this.midiData);break;case bA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break}}function Ys(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:pA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function Js(t){this.post(FA.midiEvent,t)}function vs(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.controllerChange|t,A,e])}function qs(t,A){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.programChange|t,A])}function Ps(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.pitchBend|t,e,A])}function Ks(){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&&AVs?440*Math.pow(2,(t-6900)/1200):Rt[~~t-je]}var xt=-1660,bo=1600,Gt=new Float32Array((bo-xt)*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?1-Ee[~~(e*-gA)]-1:Ee[~~e*gA]):Ee[~~(e*gA)];case QA.convex:return s?(e=e*2-1,e<0?1-Be[~~(e*-gA)]-1:Be[~~(e*gA)]):Be[~~(e*gA)]}}var Mt=1,Nt=new Float32Array(1e3);for(let t=0;t=e.loopEnd;)s-=o;let C=~~s,c=C+1;for(;c>=e.loopEnd;)c-=o;let B=s-C,d=n[c],h=n[C];A[i]=h+(d-h)*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 c=s-i,B=n[C],d=n[i];A[o]=d+(B-d)*c,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 i=0;i=e.loopEnd;)s-=n;let C=~~s+1;for(;C>=e.loopEnd;)C-=n;A[i]=o[C],s+=e.playbackStep*t.currentTuningCalculated}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let i=0;i=e.end){t.finished=!0;return}A[i]=o[C],s+=e.playbackStep*t.currentTuningCalculated}}e.cursor=s}function Xs(t,A){let e=t.sample,s=e.cursor,n=e.sampleData;if(e.isLooping){let o=e.loopEnd-e.loopStart;for(let i=0;i=e.loopEnd;)s-=o;let C=~~s,c=C+1,B=c+1,d=B+1,h=s-C;c>=e.loopEnd&&(c-=o),B>=e.loopEnd&&(B-=o),d>=e.loopEnd&&(d-=o);let u=n[C],l=n[c],D=n[B],S=n[d],w=.5*(D-u),y=u-2.5*l+2*D-.5*S,N=.5*(S-u)+1.5*(l-D);A[i]=((N*h+y)*h+w)*h+l,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end||c>=e.end||B>=e.end){t.finished=!0;return}let h=n[i],u=n[C],l=n[c],D=n[B],S=.5*(l-h),w=h-2.5*u+2*l-.5*D,y=.5*(D-h)+1.5*(u-l);A[o]=((y*d+w)*d+S)*d+u,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function Ws(t,A,e,s,n,o,i,C,c){if(!isNaN(e[0])){if(i>0){let B=o[0],d=o[1];i=Math.min(i,1e3);let h=i/1300,u=t*h,l=A*h;for(let D=0;D0){let B=C[0],d=C[1];c=Math.min(c,1e3);let h=c/1300,u=t*h,l=A*h;for(let D=0;D0)for(let B=0;B0)for(let B=0;B13499&&A.filter.reasonanceCb===0)return;let n=A.filter;(n.cutoffCents!==s||n.reasonanceCb!==A.modulatedGenerators[g.initialFilterQ])&&(n.cutoffCents=s,n.reasonanceCb=A.modulatedGenerators[g.initialFilterQ],t.calculateCoefficients(A));for(let o=0;o=bt}currentSampleTime=0;sampleRate;currentAttenuationDb=JA;state=0;releaseStartDb=JA;releaseStartTimeSamples=0;currentReleaseGain=1;attackDuration=0;decayDuration=0;releaseDuration=0;attenuation=0;attenuationTarget=0;sustainDbRelative=0;delayEnd=0;attackEnd=0;holdEnd=0;decayEnd=0;static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=VA(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=B=>Math.max(0,Math.floor(HA(B)*e.sampleRate));e.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[g.initialAttenuation],1440))/10,e.sustainDbRelative=Math.min(JA,A.modulatedGenerators[g.sustainVolEnv]/10);let n=Math.min(JA,e.sustainDbRelative);e.attackDuration=s(A.modulatedGenerators[g.attackVolEnv]);let o=A.modulatedGenerators[g.decayVolEnv],i=(60-A.targetKey)*A.modulatedGenerators[g.keyNumToVolEnvDecay],C=n/JA;e.decayDuration=s(o+i)*C,e.releaseDuration=s(A.modulatedGenerators[g.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[g.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let c=(60-A.targetKey)*A.modulatedGenerators[g.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[g.holdVolEnv]+c)+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(JA,e.sustainDbRelative)),d=B/JA;switch(e.decayDuration=s(o+i)*d,e.state){case 0:e.releaseStartDb=JA;break;case 1:let h=1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration;e.releaseStartDb=20*Math.log10(h)*-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,JA)),e.releaseStartDb>=bt&&(A.finished=!0),e.currentReleaseGain=VA(e.releaseStartDb)}}static apply(A,e,s,n){let o=A.volumeEnvelope,i=s/10,C=n;if(A.isInRelease){let B=o.currentSampleTime-o.releaseStartTimeSamples;if(B>=o.releaseDuration){for(let h=0;h=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>=bt&&(A.finished=!0);;)if(o.attenuation+=(o.attenuationTarget-o.attenuation)*C,e[c]*=VA(o.sustainDbRelative+i+o.attenuation),o.currentAttenuationDb=o.sustainDbRelative,o.currentSampleTime++,++c>=e.length)return}}};var zs=Math.PI/2,js=.05;function $s(t,A,e,s,n,o){if(A.isInRelease||currentTime>=A.releaseStartTime&&(A.isInRelease=!0,LA.startRelease(A),YA.startRelease(A),A.sample.loopingMode===3&&(A.sample.isLooping=!1)),A.modulatedGenerators[g.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let i=A.targetKey,C=A.modulatedGenerators[g.fineTune]+t.customControllers[IA.channelTuning]+t.customControllers[IA.channelTransposeFine]+t.customControllers[IA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],c=A.modulatedGenerators[g.coarseTune]+t.customControllers[IA.channelTuningSemitones],B=this.tunings[t.preset.program]?.[i];B?.midiNote>=0&&(i=B.midiNote,C+=B.centTuning),C+=(i-A.sample.rootKey)*A.modulatedGenerators[g.scaleTuning];let d=A.modulatedGenerators[g.vibLfoToPitch];if(d!==0){let Z=A.startTime+HA(A.modulatedGenerators[g.delayVibLFO]),CA=Fe(A.modulatedGenerators[g.freqVibLFO]),oA=$e(Z,CA,currentTime);C+=oA*(d*t.customControllers[IA.modulationMultiplier])}let h=A.modulatedGenerators[g.initialFilterFc],u=A.modulatedGenerators[g.modLfoToPitch],l=A.modulatedGenerators[g.modLfoToVolume],D=A.modulatedGenerators[g.modLfoToFilterFc],S=0;if(u+D+l!==0){let Z=A.startTime+HA(A.modulatedGenerators[g.delayModLFO]),CA=Fe(A.modulatedGenerators[g.freqModLFO]),oA=$e(Z,CA,currentTime);C+=oA*(u*t.customControllers[IA.modulationMultiplier]),S=-oA*l,h+=oA*D}if(t.channelVibrato.depth>0){let Z=$e(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);Z&&(C+=Z*t.channelVibrato.depth)}let w=A.modulatedGenerators[g.modEnvToPitch],y=A.modulatedGenerators[g.modEnvToFilterFc],N=YA.getValue(A,currentTime);h+=N*y,C+=N*w;let G=~~(C+c*100);G!==A.currentTuningCents&&(A.currentTuningCents=G,A.currentTuningCalculated=Math.pow(2,G/1200));let K=(Math.max(-500,Math.min(500,A.modulatedGenerators[g.pan]))+500)/1e3,W=new Float32Array(e.length);switch(this.interpolationType){case he.linear:default:Os(A,W);break;case he.nearestNeighbor:Zs(A,W);break;case he.fourthOrder:Xs(A,W)}Qe.apply(A,W,h),LA.apply(A,W,S,this.volumeEnvelopeSmoothingFactor),A.currentPan+=(K-A.currentPan)*this.panSmoothingFactor;let I=Math.cos(zs*A.currentPan)*this.panLeft,nA=Math.sin(zs*A.currentPan)*this.panRight,j=this.oneOutputMode?0:A.modulatedGenerators[g.reverbEffectsSend],J=this.oneOutputMode?0:A.modulatedGenerators[g.chorusEffectsSend];Ws(I,nA,W,e,s,n,j,o,J)}function Uo(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 An(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Uo(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 en(t){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimesn=t);var To=function(t){var A,e,s,n,o,i,C,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",B="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=c.indexOf(t.charAt(d++)),o=c.indexOf(t.charAt(d++)),i=c.indexOf(t.charAt(d++)),C=c.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|i>>2,s=(3&i)<<6|C,B+=String.fromCharCode(A),i!==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(a){if(!(a instanceof ye))throw a}),process.on("unhandledRejection",function(a,E){process.exit(1)}),I.quit=function(a){process.exit(a)},I.inspect=function(){return"[Emscripten Module object]"}):CA?(typeof read<"u"&&(I.read=function(E){return read(E)}),I.readBinary=function(E){var Q;return typeof readbuffer=="function"?new Uint8Array(readbuffer(E)):(_A(typeof(Q=read(E,"binary"))=="object"),Q)},typeof scriptArgs<"u"?I.arguments=scriptArgs:typeof arguments<"u"&&(I.arguments=arguments),typeof quit=="function"&&(I.quit=function(a){quit(a)})):(j||J)&&(j?document.currentScript&&(oA=document.currentScript.src):oA=self.location.href,oA=oA.indexOf("blob:")!==0?oA.split("/").slice(0,-1).join("/")+"/":"",I.read=function(E){var Q=new XMLHttpRequest;return Q.open("GET",E,!1),Q.send(null),Q.responseText},J&&(I.readBinary=function(E){var Q=new XMLHttpRequest;return Q.open("GET",E,!1),Q.responseType="arraybuffer",Q.send(null),new Uint8Array(Q.response)}),I.readAsync=function(E,Q,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){Q(R.response);return}f()},R.onerror=f,R.send(null)},I.setWindowTitle=function(a){document.title=a});var Me=I.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),RA=I.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||Me);for(t in nA)nA.hasOwnProperty(t)&&(I[t]=nA[t]);function Ne(a){var E=l;return l=l+a+15&-16,E}function Pt(a){var E=c[G>>2],Q=E+a+15&-16;return c[G>>2]=Q,Q>=BA&&!$t()?(c[G>>2]=E,0):E}function Kt(a,E){return E||(E=16),a=Math.ceil(a/E)*E}function lo(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 E=parseInt(a.substr(1));return _A(E%8==0),E/8}}function fe(a){fe.shown||(fe.shown={}),fe.shown[a]||(fe.shown[a]=1,RA(a))}nA=void 0;var uo={"f64-rem":function(a,E){return a%E},debugger:function(){}},rt=[];function Po(a,E){for(var Q=0,f=Q;f>>0)+4294967296*+(E>>>0):+(a>>>0)+4294967296*+(0|E)}function at(a,E,Q){return Q&&Q.length?I["dynCall_"+a].apply(null,[E].concat(Q)):I["dynCall_"+a].call(null,E)}var be=0,Vt=0;function _A(a,E){a||ZA("Assertion failed: "+E)}function Ot(a){var E=I["_"+a];return _A(E,"Cannot call unknown function "+a+", make sure it is exported"),E}var Zt={stackSave:function(){ct()},stackRestore:function(){Qt()},arrayToC:function(a){var E,Q,f=Je(a.length);return E=a,Q=f,n.set(E,Q),f},stringToC:function(a){var E=0;if(a!=null&&a!==0){var Q=(a.length<<2)+1;E=Je(Q),_t(a,E,Q)}return E}},fo={string:Zt.stringToC,array:Zt.arrayToC};function Xt(a,E,Q,f,R){var q=Ot(a),_=[],M=0;if(f)for(var hA=0;hA>0]=E;break;case"i16":i[a>>1]=E;break;case"i32":c[a>>2]=E;break;case"i64":tempI64=[E>>>0,+ko(tempDouble=E)>=1?tempDouble>0?(0|Fo(+ns(tempDouble/4294967296),4294967295))>>>0:~~+wo((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],c[a>>2]=tempI64[0],c[a+4>>2]=tempI64[1];break;case"float":d[a>>2]=E;break;case"double":h[a>>3]=E;break;default:ZA("invalid type for setValue: "+Q)}}function Zo(a,E,Q){switch((E=E||"i8").charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":case"i8":return n[a>>0];case"i16":return i[a>>1];case"i32":case"i64":return c[a>>2];case"float":return d[a>>2];case"double":return h[a>>3];default:ZA("invalid type for getValue: "+E)}return null}function Xo(a,E,Q,f){typeof a=="number"?(q=!0,_=a):(q=!1,_=a.length);var R=typeof E=="string"?E:null;if(M=Q==4?f:[typeof Ye=="function"?Ye:Ne,Je,Ne,Pt][Q===void 0?2:Q](Math.max(_,R?1:E.length)),q){for(f=M,_A((3&M)==0),hA=M+(-4&_);f>2]=0;for(hA=M+_;f>0]=0;return M}if(R==="i8")return a.subarray||a.slice?o.set(a,M):o.set(new Uint8Array(a),M),M;for(var q,_,M,hA,rA,iA,tA,v=0;v<_;){var mA=a[v];if((rA=R||E[v])===0){v++;continue}rA=="i64"&&(rA="i32"),mo(M+v,mA,rA),tA!==rA&&(iA=lo(rA),tA=rA),v+=iA}return M}function Wo(a){return D?Bt?Ye(a):Pt(a):Ne(a)}function Le(a,E){if(E===0||!a)return"";for(var Q,f,R,q=0,_=0;q|=f=o[a+_>>0],(f!=0||E)&&(_++,!E||_!=E););E||(E=_);var M="";if(q<128){for(;E>0;)R=String.fromCharCode.apply(String,o.subarray(a,a+Math.min(E,1024))),M=M?M+R:R,a+=1024,E-=1024;return M}return Q=a,function(rA,iA){for(var tA=iA;rA[tA];)++tA;if(tA-iA>16&&rA.subarray&&Wt)return Wt.decode(rA.subarray(iA,tA));for(var v,mA,GA,xA,MA,ee,NA="";;){if(!(v=rA[iA++]))return NA;if(!(128&v)){NA+=String.fromCharCode(v);continue}if(mA=63&rA[iA++],(224&v)==192){NA+=String.fromCharCode((31&v)<<6|mA);continue}if(GA=63&rA[iA++],(240&v)==224?v=(15&v)<<12|mA<<6|GA:(xA=63&rA[iA++],(248&v)==240?v=(7&v)<<18|mA<<12|GA<<6|xA:(MA=63&rA[iA++],v=(252&v)==248?(3&v)<<24|mA<<18|GA<<12|xA<<6|MA:(1&v)<<30|mA<<24|GA<<18|xA<<12|MA<<6|(ee=63&rA[iA++]))),v<65536)NA+=String.fromCharCode(v);else{var Se=v-65536;NA+=String.fromCharCode(55296|Se>>10,56320|1023&Se)}}}(o,Q)}function _o(a){for(var E="";;){var Q=n[a++>>0];if(!Q)return E;E+=String.fromCharCode(Q)}}function zo(a,E){return function(f,R,q){for(var _=0;_>0]=f.charCodeAt(_);q||(n[R>>0]=0)}(a,E,!1)}var Wt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Ue(a,E,Q,f){if(!(f>0))return 0;for(var R=Q,q=Q+f-1,_=0;_=55296&&M<=57343&&(M=65536+((1023&M)<<10)|1023&a.charCodeAt(++_)),M<=127){if(Q>=q)break;E[Q++]=M}else if(M<=2047){if(Q+1>=q)break;E[Q++]=192|M>>6,E[Q++]=128|63&M}else if(M<=65535){if(Q+2>=q)break;E[Q++]=224|M>>12,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}else if(M<=2097151){if(Q+3>=q)break;E[Q++]=240|M>>18,E[Q++]=128|M>>12&63,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}else if(M<=67108863){if(Q+4>=q)break;E[Q++]=248|M>>24,E[Q++]=128|M>>18&63,E[Q++]=128|M>>12&63,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}else{if(Q+5>=q)break;E[Q++]=252|M>>30,E[Q++]=128|M>>24&63,E[Q++]=128|M>>18&63,E[Q++]=128|M>>12&63,E[Q++]=128|M>>6&63,E[Q++]=128|63&M}}return E[Q]=0,Q-R}function _t(a,E,Q){return Ue(a,o,E,Q)}function Te(a){for(var E=0,Q=0;Q=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&a.charCodeAt(++Q)),f<=127?++E:f<=2047?E+=2:f<=65535?E+=3:f<=2097151?E+=4:f<=67108863?E+=5:E+=6}return E}var zt=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function jo(a){for(var E=a,Q=E>>1;i[Q];)++Q;if((E=Q<<1)-a>32&&zt)return zt.decode(o.subarray(a,E));for(var f=0,R="";;){var q=i[a+2*f>>1];if(q==0)return R;++f,R+=String.fromCharCode(q)}}function $o(a,E,Q){if(Q===void 0&&(Q=2147483647),Q<2)return 0;for(var f=E,R=(Q-=2)<2*a.length?Q/2:a.length,q=0;q>1]=_,E+=2}return i[E>>1]=0,E-f}function Ar(a){return 2*a.length}function er(a){for(var E=0,Q="";;){var f=c[a+4*E>>2];if(f==0)return Q;if(++E,f>=65536){var R=f-65536;Q+=String.fromCharCode(55296|R>>10,56320|1023&R)}else Q+=String.fromCharCode(f)}}function tr(a,E,Q){if(Q===void 0&&(Q=2147483647),Q<4)return 0;for(var f=E,R=f+Q-4,q=0;q=55296&&_<=57343&&(_=65536+((1023&_)<<10)|1023&a.charCodeAt(++q)),c[E>>2]=_,(E+=4)+4>R)break}return c[E>>2]=0,E-f}function sr(a){for(var E=0,Q=0;Q=55296&&f<=57343&&++Q,E+=4}return E}function nr(a){var E=Te(a)+1,Q=Ye(E);return Q&&Ue(a,n,Q,E),Q}function or(a){var E=Te(a)+1,Q=Je(E);return Ue(a,n,Q,E),Q}function rr(a){return a}function ir(){var a,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()),(a=E).replace(/__Z[\w\d_]+/g,function(Q){var f,R=f=Q;return Q===R?Q:Q+" ["+R+"]"})}function It(a,E){return a%E>0&&(a+=E-a%E),a}function jt(a){I.buffer=s=a}function gt(){I.HEAP8=n=new Int8Array(s),I.HEAP16=i=new Int16Array(s),I.HEAP32=c=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=h=new Float64Array(s)}function $t(){var a=I.usingWasm?65536:16777216,E=2147483648-a;if(c[G>>2]>E)return!1;var Q=BA;for(BA=Math.max(BA,16777216);BA>2];)BA=BA<=536870912?It(2*BA,a):Math.min(It((3*BA+2147483648)/4,a),E);var f=I.reallocBuffer(BA);return f&&f.byteLength==BA?(jt(f),gt(),!0):(BA=Q,!1)}u=l=S=w=y=N=G=0,D=!1,I.reallocBuffer||(I.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)E=ArrayBuffer.transfer(s,a);else{var E,Q=n;E=new ArrayBuffer(a),new Int8Array(E).set(Q)}}catch{return!1}return!!Ro(E)&&E});try{(K=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{K=function(E){return E.byteLength}}var Ct=I.TOTAL_STACK||5242880,BA=I.TOTAL_MEMORY||16777216;function po(){return BA}function me(a){for(;a.length>0;){var E=a.shift();if(typeof E=="function"){E();continue}var Q=E.func;typeof Q=="number"?E.arg===void 0?I.dynCall_v(Q):I.dynCall_vi(Q,E.arg):Q(E.arg===void 0?null:E.arg)}}BA=0?a:E<=32?2*Math.abs(1<=f&&(E<=32||a>f)&&(a=-2*f+a),a}var ko=Math.abs,wo=Math.ceil,ns=Math.floor,Fo=Math.min,Ae=0,ht=null,pe=null;function hr(a){return a}I.preloadedImages={},I.preloadedAudios={};var os="data:application/octet-stream;base64,";function He(a){return String.prototype.startsWith?a.startsWith(os):a.indexOf(os)===0}(function(){var E="main.wast",Q="main.wasm",f="main.temp.asm.js";He(E)||(E=fA(E)),He(Q)||(Q=fA(Q)),He(f)||(f=fA(f));var R={global:null,env:null,asm2wasm:uo,parent:I},q=null;function _(tA){return tA}function M(){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 hA=I.reallocBuffer,rA=function(tA){tA=It(tA,I.usingWasm?65536:16777216);var v=I.buffer.byteLength;if(I.usingWasm)try{var mA=I.wasmMemory.grow((tA-v)/65536);return mA!==-1?I.buffer=I.wasmMemory.buffer:null}catch{return null}};I.reallocBuffer=function(tA){return iA==="asmjs"?hA(tA):rA(tA)};var iA="";I.asm=function(tA,v,mA){var GA;if(!(v=GA=v).table){var xA,MA=I.wasmTableSize;MA===void 0&&(MA=1024);var ee=I.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?ee!==void 0?v.table=new WebAssembly.Table({initial:MA,maximum:ee,element:"anyfunc"}):v.table=new WebAssembly.Table({initial:MA,element:"anyfunc"}):v.table=Array(MA),I.wasmTable=v.table}return v.memoryBase||(v.memoryBase=I.STATIC_BASE),v.tableBase||(v.tableBase=0),xA=function(Se,oe,ut){if(typeof WebAssembly!="object")return RA("no native wasm support detected"),!1;if(!(I.wasmMemory instanceof WebAssembly.Memory))return RA("no native wasm Memory in use"),!1;function ve(vA,qA){if((q=vA.exports).memory){var De,dt,as;De=q.memory,dt=I.buffer,De.byteLength0?Q:Te(a)+1,R=Array(f),q=Ue(a,R,0,R.length);return E&&(R.length=q),R}function ur(a){for(var E=[],Q=0;Q255&&(f&=255),E.push(String.fromCharCode(f))}return E.join("")}l+=16,G=Ne(4),y=(S=w=Kt(l))+Ct,N=Kt(y),c[G>>2]=N,D=!0,I.wasmTableSize=4,I.wasmMaxTableSize=4,I.asmGlobalArg={},I.asmLibraryArg={abort:ZA,assert:_A,enlargeMemory:$t,getTotalMemory:po,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,Q,f){var R=ct();try{return I.dynCall_iii(E,Q,f)}catch(q){if(Qt(R),typeof q!="number"&&q!=="longjmp")throw q;I.setThrew(1,0)}},___assert_fail:function(E,Q,f,R){ZA("Assertion failed: "+Le(E)+", at: "+[Q?Le(Q):"unknown filename",f,R?Le(R):"unknown function"])},___setErrNo:function(E){return I.___errno_location&&(c[I.___errno_location()>>2]=E),E},_abort:function(){I.abort()},_emscripten_memcpy_big:function(E,Q,f){return o.set(o.subarray(Q,Q+f),E),E},_llvm_floor_f64:ns,DYNAMICTOP_PTR:G,tempDoublePtr:kA,ABORT:be,STACKTOP:w,STACK_MAX:y};var rs=I.asm(I.asmGlobalArg,I.asmLibraryArg,s);I.asm=rs,I.___errno_location=function(){return I.asm.___errno_location.apply(null,arguments)};var Ro=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 Ye=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 Je=I.stackAlloc=function(){return I.asm.stackAlloc.apply(null,arguments)},Qt=I.stackRestore=function(){return I.asm.stackRestore.apply(null,arguments)},ct=I.stackSave=function(){return I.asm.stackSave.apply(null,arguments)};function ye(a){this.name="ExitStatus",this.message="Program terminated with exit("+a+")",this.status=a}function lt(a){a=a||I.arguments,!(Ae>0)&&(function(){if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)So(I.preRun.shift());me(As)}(),!(Ae>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,be||(Bt||(Bt=!0,me(Et)),me(es),I.onRuntimeInitialized&&I.onRuntimeInitialized(),function(){if(I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;)Do(I.postRun.shift());me(ss)}()))}}function dr(a,E){(!E||!I.noExitRuntime||a!==0)&&(I.noExitRuntime||(be=!0,Vt=a,w=W,me(ts),yo=!0,I.onExit&&I.onExit(a)),I.quit(a,new ye(a)))}function ZA(a){throw I.onAbort&&I.onAbort(a),a!==void 0?(Me(a),RA(a),a=JSON.stringify(a)):a="",be=!0,Vt=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=rs,I.ccall=Xt,I.cwrap=function(E,Q,f,R){var q=(f=f||[]).every(function(_){return _==="number"});return Q!=="string"&&q&&!R?Ot(E):function(){return Xt(E,Q,f,arguments,R)}},ye.prototype=Error(),ye.prototype.constructor=ye,pe=function a(){I.calledRun||lt(),I.calledRun||(pe=a)},I.run=lt,I.abort=ZA,I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);I.preInit.length>0;)I.preInit.pop()();I.noExitRuntime=!0,lt(),I.onRuntimeInitialized=()=>{tn=!0,sn()},OA.decode=function(a){return function(Q){if(!tn)throw Error("Not initialized");var f={};function R(oe){return new Int32Array(I.HEAPU8.buffer,oe,1)[0]}function q(oe,ut){var ve=new ArrayBuffer(ut*Float32Array.BYTES_PER_ELEMENT),re=new Float32Array(ve);return re.set(new Float32Array(I.HEAPU8.buffer,oe,ut)),re}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 _,M,hA,rA,iA=f.open(),tA=(_=Q,M=Q.byteLength,hA=I._malloc(M),(rA=new Uint8Array(I.HEAPU8.buffer,hA,M)).set(new Uint8Array(_,0,M)),rA),v=I._malloc(4),mA=I._malloc(4),GA=f.decode(iA,tA.byteOffset,tA.byteLength,v,mA);if(I._free(tA.byteOffset),GA<0)throw f.close(iA),I._free(v),Error("stbvorbis decode failed: "+GA);for(var xA=f.channels(iA),MA=Array(xA),ee=new Int32Array(I.HEAPU32.buffer,R(v),xA),NA=0;NA=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===UA?this.resetAllControllers():this.resetControllers(e);break;case eA.systemExclusive:this.systemExclusive(A);break;case eA.setChannelVibrato:if(e===UA)for(let i=0;i{let e=(A.midiControllers[EA+P.pitchWheelRange]>>7)+(A.midiControllers[EA+P.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[EA+P.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:pA.channelProperties,messageData:t})}function Ho(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 an(t,A=0){let e=t[0];if(!(this.deviceID!==UA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:L(`%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 c=(t[5]<<7|t[6])-8192;n=Math.floor(c/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:L(`%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 i=t[o++],C=t[o++];for(let B=0;B>1&1)===1&&this.setOctaveTuning(15+A,c);for(let B=0;B<7;B++)(t[5]>>B&1)===1&&this.setOctaveTuning(7+B+A,c);for(let B=0;B<7;B++)(t[6]>>B&1)===1&&this.setOctaveTuning(B+A,c);m(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${c.join(" ")}`,r.info,r.value);break;default:L(`%cUnrecognized MIDI Tuning standard message: %c${lA(t)}`,r.warn,r.unrecognized);break}break;default:L(`%cUnrecognized MIDI Realtime/non realtime message: %c${lA(t)}`,r.warn,r.unrecognized)}break;case 65:let s=function(){L(`%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 i=n>0&&t[5]>>4;this.setDrums(o,i),m(`%cChannel %c${o}%c ${i?"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 c=n;c===0&&(c=Math.floor(Math.random()*128)),this.controllerChange(o,p.pan,c);break;case 33:this.controllerChange(o,p.effects3Depth,n);break;case 34:this.controllerChange(o,p.effects1Depth,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 u=0;u=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 i=this.workletProcessorChannels[n];if(i.drumChannel)return;let C=o-64;i.channelTransposeKeyShift=C;break;case 11:this.controllerChange(n,p.mainVolume,o);break;case 14:let c=o;c===0&&(c=Math.floor(Math.random()*127)),this.controllerChange(n,p.pan,c);break;case 19:this.controllerChange(n,p.effects1Depth,o);break;case 18:this.controllerChange(n,p.effects3Depth,o);break;default:L(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,r.warn,r.unrecognized)}}else this.system==="xg"&&L(`%cUnrecognized Yamaha XG SysEx: %c${lA(t)}`,r.warn,r.unrecognized);else this.system==="xg"&&L(`%cUnrecognized Yamaha SysEx: %c${lA(t)}`,r.warn,r.unrecognized);break}}function In(t,A,e){if(A.transformAmount===0)return A.currentValue=0,0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let c=A.sourceIndex+EA;switch(A.sourceIndex){case P.noController:s=16383;break;case P.noteOnKeyNum:s=e.midiNote<<7;break;case P.noteOnVelocity:s=e.velocity<<7;break;case P.polyPressure:s=e.pressure<<7;break;default:s=t[c];break}}let n=dA[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let c=A.secSrcIndex+EA;switch(A.secSrcIndex){case P.noController:o=16383;break;case P.noteOnKeyNum:o=e.midiNote<<7;break;case P.noteOnVelocity:o=e.velocity<<7;break;case P.polyPressure:o=e.pressure<<7;break;default:o=t[c]}}let i=dA[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],C=n*i*A.transformAmount;return A.transformType===2&&(C=Math.abs(C)),A.currentValue=C,C}function XA(t,A,e=-1,s=0){let n=t.modulators,o=t.generators,i=t.modulatedGenerators;if(YA.recalculate(t),e===-1){i.set(o),n.forEach(B=>{let d=b[B.modulatorDestination],h=i[B.modulatorDestination]+In(A,B,t);i[B.modulatorDestination]=Math.max(d.min,Math.min(h,d.max))}),LA.recalculate(t);return}let C=new Set([g.initialAttenuation,g.delayVolEnv,g.attackVolEnv,g.holdVolEnv,g.decayVolEnv,g.sustainVolEnv,g.releaseVolEnv,g.keyNumToVolEnvHold,g.keyNumToVolEnvDecay]),c=new Set;n.forEach(B=>{if(B.sourceUsesCC===e&&B.sourceIndex===s||B.secSrcUsesCC===e&&B.secSrcIndex===s){let d=B.modulatorDestination;c.has(d)||(i[d]=o[d],In(A,B,t),n.forEach(h=>{if(h.modulatorDestination===d){let u=b[B.modulatorDestination],l=i[B.modulatorDestination]+h.currentValue;i[B.modulatorDestination]=Math.max(u.min,Math.min(l,u.max))}}),c.add(d))}}),[...c].some(B=>C.has(B))&&LA.recalculate(t)}var dA=[];for(let t=0;t<4;t++){dA[t]=[[new Float32Array(gA),new Float32Array(gA)],[new Float32Array(gA),new Float32Array(gA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||i.isMuted)return;let C=A+i.channelTransposeKeyShift;if(A>127||A<0)return;let c=i.preset.program;this.tunings[c]?.[A]?.midiNote>=0&&(C=this.tunings[c]?.[A].midiNote),i.velocityOverride>0&&(e=i.velocityOverride);let B=this.getWorkletVoices(t,C,e,i,o,s),d=i.voices;B.forEach(h=>{let u=h.generators[g.exclusiveClass];u!==0&&d.forEach(G=>{G.generators[g.exclusiveClass]===u&&(this.releaseVoice(G),G.modulatedGenerators[g.releaseVolEnv]=-7e3,G.modulatedGenerators[g.releaseModEnv]=-7e3,LA.recalculate(G),YA.recalculate(G))}),XA(h,i.midiControllers);let l=h.modulatedGenerators[g.startAddrsOffset]+h.modulatedGenerators[g.startAddrsCoarseOffset]*32768,D=h.modulatedGenerators[g.endAddrOffset]+h.modulatedGenerators[g.endAddrsCoarseOffset]*32768,S=h.modulatedGenerators[g.startloopAddrsOffset]+h.modulatedGenerators[g.startloopAddrsCoarseOffset]*32768,w=h.modulatedGenerators[g.endloopAddrsOffset]+h.modulatedGenerators[g.endloopAddrsCoarseOffset]*32768,y=h.sample,N=G=>Math.max(0,Math.min(y.sampleData.length-1,G));if(y.cursor=N(y.cursor+l),y.end=N(y.end+D),y.loopStart=N(y.loopStart+S),y.loopEnd=N(y.loopEnd+w),y.loopEndthis.voiceCap&&this.voiceKilling(B.length),d.push(...B),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function Cn(t,A){if(A>127||A<0){L("Received a noteOn for note",A,"Ignoring.");return}let e=A+this.workletProcessorChannels[t].channelTransposeKeyShift,s=this.workletProcessorChannels[t].preset.program;if(this.tunings[s]?.[A]?.midiNote>=0&&(e=this.tunings[s]?.[A].midiNote),this.highPerformanceMode&&!this.workletProcessorChannels[t].drumChannel){this.killNote(t,e);return}this.workletProcessorChannels[t].voices.forEach(o=>{o.midiNote!==e||o.isInRelease===!0||(this.workletProcessorChannels[t].holdPedal?this.workletProcessorChannels[t].sustainedVoices.push(o):this.releaseVoice(o))}),this.callEvent("noteoff",{midiNote:A,channel:t})}function En(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.midiNote===A&&(e.modulatedGenerators[g.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function Bn(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 hn(t=!1){m("%cStop all received!",r.info);for(let A=0;AXA(n,this.workletProcessorChannels[t].midiControllers,0,P.pitchWheel)),this.sendChannelProperties()}function pn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[EA+P.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>XA(s,e.midiControllers,0,P.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function yn(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,XA(s,this.workletProcessorChannels[t].midiControllers,0,P.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function Sn(t,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[t].channelOctaveTuning=A}function Dn(t,A,e,s=!1){let n=this.workletProcessorChannels[t];if(n===void 0){L(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(A>127){if(!s)return;switch(A){default:return;case wt.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(i=>XA(i,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!==DA&&this.setDrums(t,!1);break;case"gm2":o===120&&(n.drumChannel=!0,this.callEvent("drumchange",{channel:t,isDrumChannel:!0}))}n.drumChannel&&(o=128),o===128&&!n.drumChannel&&(o=n.midiControllers[p.bankSelect])}n.midiControllers[p.bankSelect]=o;break;case p.lsbForControl0BankSelect:this.system==="xg"?n.drumChannel||e!==127&&(n.midiControllers[p.bankSelect]=e):this.system==="gm2"&&(n.midiControllers[p.bankSelect]=e);break;case p.RPNLsb:n.RPValue=n.RPValue<<7|e,n.dataEntryState=uA.RPFine;break;case p.RPNMsb:n.RPValue=e,n.dataEntryState=uA.RPCoarse;break;case p.NRPNMsb:n.NRPCoarse=e,n.dataEntryState=uA.NRPCoarse;break;case p.NRPNLsb:n.NRPFine=e,n.dataEntryState=uA.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(i=>{this.releaseVoice(i)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(i=>XA(i,n.midiControllers,1,A)),this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e});break}}function kn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function wn(t){this.masterGain=t*Ut,this.setMasterPan(this.pan)}function Fn(t){this.pan=t,t=t/2+.5,this.panLeft=(1-t)*this.currentGain,this.panRight=t*this.currentGain}function Rn(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function Gn(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 xn(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 Mn(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 uA.Idle:break;case uA.NRPFine:if(this.system!=="gs"||e.lockGSNRPNParams)return;switch(e.NRPCoarse){default:if(A===64)return;L(`%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;L(`%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 i=A;this.controllerChange(t,p.brightness,A),m(`%cFilter cutoff for %c${t}%c is now set to %c${i}`,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.effects1Depth,o),m(`%cGS Drum reverb for %c${t}%c: %c${o}`,r.info,r.recognized,r.info,r.value);break}break;case uA.RPCoarse:case uA.RPFine:switch(e.RPValue){default:L(`%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[EA+P.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 Nn(t,A){let e=this.workletProcessorChannels[t];switch(e.dataEntryState){default:break;case uA.RPCoarse:case uA.RPFine:switch(e.RPValue){default:break;case 0:if(A===0)break;e.midiControllers[EA+P.pitchWheelRange]|=A;let s=(e.midiControllers[EA+P.pitchWheelRange]>>7)+A/127;m(`%cChannel ${t} bend range. Semitones: %c${s}`,r.info,r.value);break;case 1:let o=e.customControllers[IA.channelTuning]<<7|A;this.setChannelTuning(t,o*.01220703125);break;case 5:let C=e.customControllers[IA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,C);break;case 16383:this.resetParameters(t);break}}}function bn(t=!0){t&&m("%cResetting all controllers!",r.info),this.callEvent("allcontrollerreset",void 0);for(let A=0;A{this.workletProcessorChannels[A].lockedControllers[n]&&this.callEvent("controllerchange",{channel:A,controllerNumber:n,controllerValue:this.workletProcessorChannels[A].midiControllers[n]>>7})};if(s(p.mainVolume),s(p.pan),s(p.expressionController),s(p.modulationWheel),s(p.effects3Depth),s(p.effects1Depth),s(p.brightness),this.workletProcessorChannels[A].lockedControllers[EA+P.pitchWheel]){let n=this.workletProcessorChannels[A].midiControllers[EA+P.pitchWheel],o=n>>7,i=n&127;this.callEvent("pitchwheel",{channel:A,MSB:o,LSB:i})}}this.tunings=[],this.tunings=[];for(let A=0;A<127;A++)this.tunings.push([]);this.setMIDIVolume(1),this.system=Oe}function Ln(t){let A=this.workletProcessorChannels[t],s=A.lockedControllers.reduce((o,i,C)=>(i&&o.push(C),o),[]).map(o=>({ccNum:o,ccVal:A.midiControllers[o]}));A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0),A.midiControllers.set(PA),A.channelVibrato={rate:0,depth:0,delay:0},A.holdPedal=!1,s.forEach(o=>{A.midiControllers[o.ccNum]=o.ccVal});let n=A.customControllers[IA.channelTransposeFine];A.customControllers.set(kt),A.customControllers[IA.channelTransposeFine]=n,this.resetParameters(t)}function Un(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=uA.Idle}function Tn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==g.sampleID&&i.generatorType!==g.keyRange&&i.generatorType!==g.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:g.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:g.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:g.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new H(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=e;for(let o of n.generators)Y(A,o.generatorType),Y(A,o.generatorValue),e++}return cA(A,0),sA(new AA("igen",A.length,A))}function Hn(t,A,e,s,n){let o=this.samples.map((B,d)=>{e&&B.compressSample(s,n);let h=B.getRawData();return m(`%cEncoded sample %c${d}. ${B.sampleName}%c of %c${this.samples.length}`,r.info,r.recognized,r.info,r.recognized),h}),i=this.samples.reduce((B,d,h)=>B+o[h].length+46,0),C=new H(i);this.samples.forEach((B,d)=>{let h=o[d],u,l,D=h.length;B.isCompressed?(u=C.currentIndex,l=u+h.length):(u=C.currentIndex/2,l=u+h.length/2,D+=46),t.push(u),C.set(h,C.currentIndex),C.currentIndex+=D,A.push(l)});let c=sA(new AA("smpl",C.length,C),new H([115,100,116,97]));return sA(new AA("LIST",c.length,c))}function Yn(t,A){let s=new H(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{wA(s,n.sampleName,20);let i=t[o];cA(s,i);let C=A[o];cA(s,C);let c=n.sampleLoopStartIndex+i,B=n.sampleLoopEndIndex+i;n.isCompressed&&(c-=i,B-=i),cA(s,c),cA(s,B),cA(s,n.sampleRate),s[s.currentIndex++]=n.samplePitch,s[s.currentIndex++]=n.samplePitchCorrection,Y(s,n.sampleLink),Y(s,n.sampleType)}),wA(s,"EOS",46),sA(new AA("shdr",s.length,s))}function Jn(){let t=10;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new H(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)Y(A,o.sourceEnum),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.secondarySourceEnum),Y(A,o.transformType),e++}return ge(A,0,10),sA(new AA("imod",A.length,A))}function vn(){let t=this.instruments.reduce((o,i)=>i.instrumentZones.length*4+o,4),A=new H(t),e=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=e;for(let i of o.instrumentZones)i.zoneID=e,Y(A,s),Y(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return Y(A,s),Y(A,n),sA(new AA("ibag",A.length,A))}function qn(){let t=this.instruments.length*22+22,A=new H(t),e=0,s=0;for(let n of this.instruments)wA(A,n.instrumentName,20),Y(A,e),e+=n.instrumentZones.length,n.instrumentID=s,s++;return wA(A,"EOI",20),Y(A,e),sA(new AA("inst",A.length,A))}function Pn(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==g.instrument&&i.generatorType!==g.keyRange&&i.generatorType!==g.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:g.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:g.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:g.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new H(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=e;for(let o of n.generators)Y(A,o.generatorType),Y(A,o.generatorValue);e+=n.generators.length}return Y(A,0),Y(A,0),sA(new AA("pgen",A.length,A))}function Kn(){let t=10;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new H(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)Y(A,o.sourceEnum),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.secondarySourceEnum),Y(A,o.transformType),e++}return ge(A,0,10),sA(new AA("pmod",A.length,A))}function Vn(){let t=this.presets.reduce((o,i)=>i.presetZones.length*4+o,4),A=new H(t),e=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=e;for(let i of o.presetZones)i.zoneID=e,Y(A,s),Y(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return Y(A,s),Y(A,n),sA(new AA("pbag",A.length,A))}function On(){let t=this.presets.length*38+38,A=new H(t),e=0;for(let s of this.presets)wA(A,s.presetName,20),Y(A,s.program),Y(A,s.bank),Y(A,e),cA(A,s.library),cA(A,s.genre),cA(A,s.morphology),e+=s.presetZones.length;return wA(A,"EOP",20),Y(A,0),Y(A,0),Y(A,e),cA(A,0),cA(A,0),cA(A,0),sA(new AA("phdr",A.length,A))}var Yo={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Zn(t=Yo){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[K,W]of Object.entries(this.soundFontInfo))if(K==="ifil"||K==="iver"){let I=parseInt(W.split(".")[0]),nA=parseInt(W.split(".")[1]),j=new H(4);Y(j,I),Y(j,nA),A.push(sA(new AA(K,4,j)))}else if(K==="DMOD")A.push(sA(new AA(K,W.length,W)));else{let I=new H(W.length);wA(I,W),A.push(sA(new AA(K,W.length,I)))}let e=ke([new H([73,78,70,79]),...A]),s=sA(new AA("LIST",e.length,e));m("%cWriting SDTA...",r.info);let n=[],o=[],i=Hn.call(this,n,o,t?.compress,t?.compressionQuality||.5,t.compressionFunction);m("%cWriting PDTA...",r.info),m("%cWriting SHDR...",r.info);let C=Yn.call(this,n,o);m("%cWriting IGEN...",r.info);let c=Tn.call(this);m("%cWriting IMOD...",r.info);let B=Jn.call(this);m("%cWriting IBAG...",r.info);let d=vn.call(this);m("%cWriting INST...",r.info);let h=qn.call(this),u=Pn.call(this);m("%cWriting PMOD...",r.info);let l=Kn.call(this);m("%cWriting PBAG...",r.info);let D=Vn.call(this);m("%cWriting PHDR...",r.info);let S=On.call(this),w=ke([new H([112,100,116,97]),S,D,l,u,h,d,B,c,C]),y=sA(new AA("LIST",w.length,w));m("%cWriting the output file...",r.info);let N=ke([new H([115,102,98,107]),s,i,y]),G=sA(new AA("RIFF",N.length,N));return m(`%cSaved succesfully! Final file size: %c${G.length}`,r.info,r.recognized),X(),G}var ne=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=Pe.map(e=>$.copy(e)),A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}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()}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()}deletePreset(A){A.deletePreset(),this.presets.splice(this.presets.indexOf(A),1),this.removeUnusedElements()}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)}setSampleIDOffset(A){this.presets.forEach(e=>e.sampleIDOffset=A)}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&&L(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,r.warn,r.recognized)),s||(L(`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||(L("Preset not found. Defaulting to:",this.presets[0].presetName),e=this.presets[0]),e}static mergeSoundfonts(...A){let e=A.shift(),s=e.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(i=>i.bank===o.bank&&i.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}};ne.prototype.write=Zn;function Xn(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(h,u,l){return l>=h&&l<=u}function o(h,u){h.push(...u.filter(l=>!h.find(D=>D.generatorType===l.generatorType)))}function i(h,u){h.push(...u.filter(l=>!h.find(D=>$.isIdentical(l,D))))}let C=[],c=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],B=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(h=>n(h.keyRange.min,h.keyRange.max,A)&&n(h.velRange.min,h.velRange.max,e)&&!h.isGlobal).forEach(h=>{if(h.instrument.instrumentZones.length<1)return;let u=h.generators,l=h.modulators,D=h.instrument.instrumentZones[0].isGlobal?[...h.instrument.instrumentZones[0].generators]:[],S=h.instrument.instrumentZones[0].isGlobal?[...h.instrument.instrumentZones[0].modulators]:[];h.instrument.instrumentZones.filter(y=>n(y.keyRange.min,y.keyRange.max,A)&&n(y.velRange.min,y.velRange.max,e)&&!y.isGlobal).forEach(y=>{let N=[...y.generators],G=[...y.modulators];o(u,c),o(N,D),i(l,B),i(G,S),i(G,this.defaultModulators);let K=[...G];for(let W=0;W$.isIdentical(I,j));nA!==-1?K[nA]=K[nA].sumTransform(I):K.push(I)}C.push({instrumentGenerators:N,presetGenerators:u,modulators:K,sample:y.sample,sampleID:y.generators.find(W=>W.generatorType===g.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=C,C}};var Re=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var $A=class extends Re{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},le=class extends Re{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ue=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}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 At=class extends ce{constructor(A,e){super(Pe),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new ue,this.DLSInstrument.addUseCount();let n=new le;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function Wn(t){this.verifyHeader(t,"LIST"),this.verifyText(V(t.chunkData,4),"ins ");let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(O(t.chunkData));let e=A.find(l=>l.header==="insh");if(!e)throw X(),new Error("No instrument header!");let s=k(e.chunkData,4),n=k(e.chunkData,4),o=k(e.chunkData,4),i=new At(n,o),C="unnamedPreset",c=SA(A,"INFO");if(c){let l=O(c.chunkData);for(;l.header!=="INAM";)l=O(c.chunkData);C=V(l.chunkData,l.chunkData.length).trim()}i.presetName=C,i.DLSInstrument.instrumentName=C,te(`%cParsing %c"${C}"%c...`,r.info,r.recognized,r.info);let B=SA(A,"lrgn");if(!B)throw X(),new Error("No region list!");let d=new $A;d.isGlobal=!0;let h=SA(A,"lart"),u=SA(A,"lar2");this.readLart(h,u,d),i.DLSInstrument.instrumentZones.push(d);for(let l=0;l>10&15;y===QA.linear&&w!==QA.linear&&(y=w);let N=s>>14&1,G=s>>15&1;i===g.initialAttenuation&&(G=!G),h=TA(y,N,G,C.isCC,C.enum)}let u=s>>4&15,l=s>>8&1,D=s>>9&1,S=TA(u,l,D,d.isCC,d.enum);if(c){let w=S;S=h,h=w}return new $({srcEnum:h,secSrcEnum:S,dest:i,transform:0,amt:n})}function Tt(t,A){let e=t.chunkData,s=[],n=[];k(e,4);let o=k(e,4);for(let i=0;i>16;if(C===0&&c===0&&d===0){let l;switch(B){case x.pan:l=new U(g.pan,u);break;case x.gain:l=new U(g.initialAttenuation,-u*10/.4);break;case x.filterCutoff:l=new U(g.initialFilterFc,u);break;case x.filterQ:l=new U(g.initialFilterQ,u);break;case x.modLfoFreq:l=new U(g.freqModLFO,u);break;case x.modLfoDelay:l=new U(g.delayModLFO,u);break;case x.vibLfoFreq:l=new U(g.freqVibLFO,u);break;case x.vibLfoDelay:l=new U(g.delayVibLFO,u);break;case x.volEnvDelay:l=new U(g.delayVolEnv,u);break;case x.volEnvAttack:l=new U(g.attackVolEnv,u);break;case x.volEnvHold:l=new U(g.holdVolEnv,u);break;case x.volEnvDecay:l=new U(g.decayVolEnv,u);break;case x.volEnvRelease:l=new U(g.releaseVolEnv,u);break;case x.volEnvSustain:let D=(1e3-u)/10;l=new U(g.sustainVolEnv,D*10);break;case x.modEnvDelay:l=new U(g.delayModEnv,u);break;case x.modEnvAttack:l=new U(g.attackModEnv,u);break;case x.modEnvHold:l=new U(g.holdModEnv,u);break;case x.modEnvDecay:l=new U(g.decayModEnv,u);break;case x.modEnvRelease:l=new U(g.releaseModEnv,u);break;case x.modEnvSustain:let S=1e3-u;l=new U(g.sustainModEnv,S);break;case x.reverbSend:l=new U(g.reverbEffectsSend,u);break;case x.chorusSend:l=new U(g.chorusEffectsSend,u);break;case x.pitch:let w=Math.floor(u/100),y=Math.floor(u-w*100);l=new U(g.fineTune,y),s.push(new U(g.coarseTune,w));break}l&&s.push(l)}else{let l=!0;if(c===z.none)if(C===z.modLfo&&B===x.pitch)s.push(new U(g.modLfoToPitch,u));else if(C===z.modLfo&&B===x.gain)s.push(new U(g.modLfoToVolume,u));else if(C===z.modLfo&&B===x.filterCutoff)s.push(new U(g.modLfoToFilterFc,u));else if(C===z.vibratoLfo&&B===x.pitch)s.push(new U(g.vibLfoToPitch,u));else if(C===z.modEnv&&B===x.pitch)s.push(new U(g.modEnvToPitch,u));else if(C===z.modEnv&&B===x.filterCutoff)s.push(new U(g.modEnvToFilterFc,u));else if(C===z.keyNum&&B===x.volEnvHold){s.push(new U(g.keyNumToVolEnvHold,u/-128));let D=Math.round(60/128*u);s.forEach(S=>{S.generatorType===g.holdVolEnv&&(S.generatorValue+=D)})}else if(C===z.keyNum&&B===x.volEnvDecay){s.push(new U(g.keyNumToVolEnvDecay,u/-128));let D=Math.round(60/128*u);s.forEach(S=>{S.generatorType===g.decayVolEnv&&(S.generatorValue+=D)})}else if(C===z.keyNum&&B===x.modEnvHold){s.push(new U(g.keyNumToModEnvHold,u/-128));let D=Math.round(60/128*u);s.forEach(S=>{S.generatorType===g.holdModEnv&&(S.generatorValue+=D)})}else if(C===z.keyNum&&B===x.modEnvDecay){s.push(new U(g.keyNumToModEnvDecay,u/-128));let D=Math.round(60/128*u);s.forEach(S=>{S.generatorType===g.decayModEnv&&(S.generatorValue+=D)})}else l=!1;else l=!1;if(l===!1){let D=zn(C,c,B,d,u);D?(n.push(D),m("%cSucceeded converting to SF2 Modulator!",r.recognized)):L("Failed converting to SF2 Modulator!")}}}return n.find(i=>i.modulatorDestination===g.reverbEffectsSend)===void 0&&n.push(new $({srcEnum:219,dest:g.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n.find(i=>i.modulatorDestination===g.chorusEffectsSend)===void 0&&n.push(new $({srcEnum:221,dest:g.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),A&&n.push(new $({srcEnum:129,dest:g.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new $({srcEnum:13,dest:g.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:n,generators:s}}function jn(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(O(t.chunkData));let e=A.find(j=>j.header==="rgnh"),s=k(e.chunkData,2),n=k(e.chunkData,2),o=k(e.chunkData,2),i=k(e.chunkData,2),C=new et({min:s,max:n},{min:o,max:i});k(e.chunkData,2);let c=k(e.chunkData,2);c!==0&&C.generators.push(new U(g.exclusiveClass,c));let B=SA(A,"lart"),d=SA(A,"lar2");this.readLart(B,d,C),C.isGlobal=!1;let h=A.find(j=>j.header==="wsmp");k(h.chunkData,4);let u=k(h.chunkData,2),l=zA(h.chunkData[h.chunkData.currentIndex++],h.chunkData[h.chunkData.currentIndex++]),S=(k(h.chunkData,4)|0)/-655360;k(h.chunkData,4);let w=k(h.chunkData,4),y,N={start:0,end:0};if(w===0)y=0;else{k(h.chunkData,4),k(h.chunkData,4)===0?y=1:y=3,N.start=k(h.chunkData,4);let J=k(h.chunkData,4);N.end=N.start+J}let G=A.find(j=>j.header==="wlnk");if(G===void 0)return;k(G.chunkData,2),k(G.chunkData,2),k(G.chunkData,4);let K=k(G.chunkData,4),W=this.samples[K];if(W===void 0)throw new Error("Invalid sample ID!");let nA=(S||W.sampleDbAttenuation)*10/.4;return C.setWavesample(nA,y,N,u,W,K,l),C}var de=class{constructor(A,e,s,n,o,i,C,c){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=i,this.sampleLoopStartIndex=C,this.sampleLoopEndIndex=c,this.isCompressed=(i&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{L(`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 tt=class extends de{constructor(A,e,s,n,o,i,C,c){super(A,e,s,n,0,1,o,i-1),this.sampleData=C,this.sampleDbAttenuation=c}getAudioData(){return this.sampleData}sampleDbAttenuation;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 Ao(t){yA("%cLoading Wave samples...",r.recognized);let A=0;for(;t.chunkData.currentIndexJ.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");if(k(n.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(k(n.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let C=k(n.chunkData,4);k(n.chunkData,4),k(n.chunkData,2);let c=k(n.chunkData,2),B=c/8,d=Math.pow(2,B*8-1),h=Math.pow(2,B*8),u,l=!1;c===8?(u=255,l=!0):u=d;let D=s.find(J=>J.header==="data");if(!D)throw new Error("No data chunk in the wave chunk!");let S=D.size/B,w=new Float32Array(S);for(let J=0;J=d&&(Z-=h),w[J]=Z/u)}let y=60,N=0,G=0,K=w.length-1,W=0,I=s.find(J=>J.header==="wsmp");if(I){if(k(I.chunkData,4),y=k(I.chunkData,2),N=zA(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),G=k(I.chunkData,4);let CA=k(I.chunkData,4);K=G+CA}}else L("No wsmp chunk in wave... using sane defaults.");let nA=SA(s,"INFO"),j=`Unnamed ${A}`;if(nA){let J=O(nA.chunkData);for(;J.header!=="INAM"&&nA.chunkData.currentIndexc.header==="colh");if(!o)throw X(),new Error("No colh chunk!");this.instrumentAmount=k(o.chunkData,4),m(`%cInstruments amount: %c${this.instrumentAmount}`,r.info,r.recognized);let i=yA(s,"wvpl");this.readDLSSamples(i);let C=yA(s,"lins");if(!C)throw X(),new Error("No lins chunk!");this.readDLSInstrumentList(C),this.presets.sort((c,B)=>c.program-B.program+(c.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),X()}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid DLS soundfont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};WA.prototype.readDLSInstrumentList=Xn;WA.prototype.readDLSInstrument=Wn;WA.prototype.readRegion=$n;WA.prototype.readLart=jn;WA.prototype.readDLSSamples=Ao;var Ht=class extends de{constructor(A,e,s,n,o,i,C,c,B,d,h,l,u){super(A,i,C,c,B,d,n-e,o-e),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=l,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=h,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex,this.sampleLoopEndIndex+=this.sampleStartIndex,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=OA.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 L("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=qo(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function qo(t,A,e,s){let n=V(A,20),o=k(A,4)*2,i=k(A,4)*2,C=k(A,4)*2,c=k(A,4)*2,B=k(A,4),d=A[A.currentIndex++];d===255&&(d=60);let h=us(A[A.currentIndex++]),l=k(A,2),u=k(A,2);return new Ht(n,o,i,C,c,B,d,h,l,u,e,t,s)}var Yt=class extends ue{constructor(A){super(),this.instrumentName=V(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 Yt(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 Jt=class extends $A{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===g.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===g.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===g.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function so(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Jt(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,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 vt=class extends le{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===g.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===g.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===g.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function no(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new vt(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,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 qt=class extends ce{constructor(A,e){super(e),this.presetName=V(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 qt(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 st=class extends ne{constructor(A,e=!0){if(super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new H(A),te("%cParsing SoundFont...",r.info),!this.dataArray)throw X(),new TypeError("No data!");let s=O(this.dataArray,!1);this.verifyHeader(s,"riff");let n=V(this.dataArray,4).toLowerCase();if(n!=="sfbk"&&n!=="sfpk")throw X(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",i=O(this.dataArray);for(this.verifyHeader(i,"list"),V(i.chunkData,4);i.chunkData.length>i.chunkData.currentIndex;){let Z=O(i.chunkData),CA;switch(Z.header.toLowerCase()){case"ifil":case"iver":CA=`${k(Z.chunkData,2)}.${k(Z.chunkData,2)}`,this.soundFontInfo[Z.header]=CA;break;case"icmt":CA=V(Z.chunkData,Z.chunkData.length,void 0,!1),this.soundFontInfo[Z.header]=CA;break;case"dmod":let oA=Ke(Z);oA.pop(),CA=`Modulators: ${oA.length}`;let fA=this.defaultModulators;this.defaultModulators=oA,this.defaultModulators.push(...fA.filter(Me=>!this.defaultModulators.find(RA=>$.isIdentical(Me,RA)))),this.soundFontInfo[Z.header]=Z.chunkData;break;default:CA=V(Z.chunkData,Z.chunkData.length),this.soundFontInfo[Z.header]=CA}m(`%c"${Z.header}": %c"${CA}"`,r.info,r.recognized)}let C=O(this.dataArray,!1);this.verifyHeader(C,"list"),this.verifyText(V(this.dataArray,4),"sdta"),m("%cVerifying smpl chunk...",r.warn);let c=O(this.dataArray,!1);this.verifyHeader(c,"smpl");let B;if(o){m("%cSF2Pack detected, attempting to decode the smpl chunk...",r.info);try{B=OA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+C.size-12)).data[0]}catch(Z){throw X(),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${C.size-12}`,r.info,r.value),this.dataArray.currentIndex+=C.size-12,m("%cLoading preset data chunk...",r.warn);let d=O(this.dataArray);this.verifyHeader(d,"list"),V(d.chunkData,4);let h=O(d.chunkData);this.verifyHeader(h,"phdr");let l=O(d.chunkData);this.verifyHeader(l,"pbag");let u=O(d.chunkData);this.verifyHeader(u,"pmod");let D=O(d.chunkData);this.verifyHeader(D,"pgen");let y=O(d.chunkData);this.verifyHeader(y,"inst");let w=O(d.chunkData);this.verifyHeader(w,"ibag");let S=O(d.chunkData);this.verifyHeader(S,"imod");let N=O(d.chunkData);this.verifyHeader(N,"igen");let G=O(d.chunkData);this.verifyHeader(G,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...eo(G,B,!o));let K=pt(N),W=Ke(S),I=so(w,K,W,this.samples);this.instruments=to(y,I);let nA=pt(D),j=Ke(u),J=no(l,nA,j,this.instruments);this.presets.push(...oo(h,J,this.defaultModulators)),this.presets.sort((Z,CA)=>Z.program-CA.program+(Z.bank-CA.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),X(),o&&delete this.dataArray}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid soundFont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};function Ge(t){let A=t.slice(8,12),e=new H(A);return V(e,4,void 0,!1).toLowerCase()==="dls "?new WA(t):new st(t,!1)}function ro(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){L(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=s.drumChannel?128:s.midiControllers[p.bankSelect],o,i;if(this.overrideSoundfont){let C=n===128?128:n-this.soundfontBankOffset,c=this.overrideSoundfont.getPresetNoFallback(C,A);c?(o=n,i=c,s.presetUsesOverride=!0):(i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1)}else i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1;this.setPreset(t,i),this.callEvent("programchange",{channel:t,program:i.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 ao(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 Io(t,A){let e=this.workletProcessorChannels[t];e.lockPreset||e.drumChannel!==A&&(A?(e.channelTransposeKeyShift=0,e.drumChannel=!0,this.setPreset(t,this.getPreset(128,e.preset.program))):(e.drumChannel=!1,this.setPreset(t,this.getPreset(e.midiControllers[p.bankSelect],e.preset.program))),e.presetUsesOverride=!1,this.callEvent("drumchange",{channel:t,isDrumChannel:e.drumChannel}),this.sendChannelProperties())}function go(){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 Co(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 Bo(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 ho(){let A={channelSnapshots:this.workletProcessorChannels.map(e=>({program:e.preset.program,bank:e.preset.bank,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,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 Qo(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.lockPreset=!1,s.midiControllers[p.bankSelect]=A.bank,this.programChange(e,A.program),s.lockPreset=A.lockPreset}),m("%cFinished restoring controllers!",r.info)}var nt=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 i=`${o.bank+s.bankOffset}-${o.program}`;n.has(i)||(n.add(i),A[i]=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 Ie.addNewSoundFont:this.addNewSoundFont(e[0],e[1],e[2]);break;case Ie.reloadSoundFont:this.reloadManager(e);break;case Ie.deleteSoundFont:this.deleteSoundFont(e);break;case Ie.rearrangeSoundFonts:this.rearrangeSoundFonts(e)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let e=Ge(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){L("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){L(`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:Ge(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 ot=class{constructor(A,e,s,n,o,i,C,c){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=i,this.end=C,this.loopingMode=c,this.isLooping=this.loopingMode===1||this.loopingMode===3}sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0;isLooping=!1},xe=class t{constructor(A,e,s,n,o,i,C,c,B){this.sample=e,this.generators=c,this.modulatedGenerators=new Int16Array(c),this.modulators=B,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=i,this.targetKey=C,this.volumeEnvelope=new LA(A,c[g.sustainVolEnv])}sample;filter=new Qe;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new YA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;static copy(A,e){let s=A.sample,n=new ot(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.generators,A.modulators.map(o=>$.copy(o)))}};function co(t,A,e,s,n,o=!1){let i,C=s.cachedVoices[A][e];return C!==void 0?C.map(c=>xe.copy(c,n)):(i=s.preset.getSamplesAndGenerators(A,e).reduce((B,d)=>{if(d.sample.sampleData===void 0)return L(`Discarding invalid sample: ${d.sample.sampleName}`),B;let h=new Int16Array(60);for(let N=0;N<60;N++)h[N]=ds(N,d.presetGenerators,d.instrumentGenerators);h[g.initialAttenuation]=Math.floor(h[g.initialAttenuation]*.4);let l=d.sample.samplePitch;h[g.overridingRootKey]>-1&&(l=h[g.overridingRootKey]);let u=A;h[g.keyNum]>-1&&(u=h[g.keyNum]);let D=d.sample.sampleLoopStartIndex/2,y=d.sample.sampleLoopEndIndex/2,w=h[g.sampleModes],S=new ot(d.sample.getAudioData(),d.sample.sampleRate/sampleRate*Math.pow(2,d.sample.samplePitchCorrection/1200),0,l,D,y,Math.floor(d.sample.sampleData.length)-1,w);return h[g.velocity]>-1&&(e=h[g.velocity]),o&&ls([{Sample:d.sample.sampleName,Generators:h,Modulators:d.modulators.map(N=>N.debugString()),Velocity:e,TargetKey:u,MidiNote:A,WorkletSample:S}]),B.push(new xe(sampleRate,S,A,e,t,n,u,h,d.modulators.map(N=>$.copy(N)))),B},[]),s.cachedVoices[A][e]=i.map(B=>xe.copy(B,n)),i)}var Lt=.03,Ut=1,T=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=UA,this.interpolationType=he.fourthOrder,this.processTickCallback=void 0,this.sequencer=new aA(this),this.transposition=0,this.tunings=[];for(let e=0;e<127;e++)this.tunings.push([]);this.soundfontBankOffset=0,this.masterGain=Ut,this.midiVolume=1,this.voiceCap=Ss,this.pan=0,this.panLeft=.5*this.currentGain,this.highPerformanceMode=!1,this.overrideSoundfont=void 0,this.panRight=.5*this.currentGain;try{this.soundfontManager=new nt(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]))),OA.isInitialized.then(()=>{this.postReady(),m("%cSpessaSynth is ready!",r.recognized)})}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:pA.ready,messageData:void 0})}get currentGain(){return this.masterGain*this.midiVolume}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 i,C,c,B,d;if(this.oneOutputMode){let l=e[0];i=o%16*2,C=l[i],c=l[i+1]}else i=o%this._outputsAmount+2,C=e[i][0],c=e[i][1],B=e[0],d=e[1];let h=n.voices;n.voices=[],h.forEach(l=>{this.renderVoice(n,l,C,c,B,d),l.finished||n.voices.push(l)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}};T.prototype.renderVoice=$s;T.prototype.releaseVoice=en;T.prototype.voiceKilling=An;T.prototype.getWorkletVoices=co;T.prototype.handleMessage=nn;T.prototype.sendChannelProperties=rn;T.prototype.callEvent=on;T.prototype.systemExclusive=an;T.prototype.noteOn=gn;T.prototype.noteOff=Cn;T.prototype.polyPressure=Sn;T.prototype.killNote=En;T.prototype.stopAll=Bn;T.prototype.stopAllChannels=hn;T.prototype.muteChannel=Rn;T.prototype.setVibrato=xn;T.prototype.disableAndLockGSNRPN=Gn;T.prototype.dataEntryCoarse=Mn;T.prototype.dataEntryFine=Nn;T.prototype.createWorkletChannel=fs;T.prototype.controllerChange=Dn;T.prototype.channelPressure=pn;T.prototype.resetAllControllers=bn;T.prototype.resetControllers=Ln;T.prototype.resetParameters=Un;T.prototype.setMasterGain=wn;T.prototype.setMasterPan=Fn;T.prototype.setMIDIVolume=kn;T.prototype.transposeAllChannels=Qn;T.prototype.transposeChannel=cn;T.prototype.setChannelTuning=ln;T.prototype.setChannelTuningSemitones=un;T.prototype.setMasterTuning=dn;T.prototype.setModulationDepth=fn;T.prototype.pitchWheel=mn;T.prototype.setOctaveTuning=yn;T.prototype.programChange=ro;T.prototype.getPreset=io;T.prototype.setPreset=ao;T.prototype.setDrums=Io;T.prototype.reloadSoundFont=Eo;T.prototype.clearSoundFont=Co;T.prototype.setEmbeddedSoundFont=Bo;T.prototype.sendPresetList=go;T.prototype.sendSynthesizerSnapshot=ho;T.prototype.applySynthesizerSnapshot=Qo;registerProcessor(ps,T);m("%cProcessor succesfully registered!",r.recognized); +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[c,B]of Object.entries(this.soundFontInfo))m(`%c"${c}": %c"${B}"`,r.info,r.recognized);let o=s.find(c=>c.header==="colh");if(!o)throw X(),new Error("No colh chunk!");this.instrumentAmount=k(o.chunkData,4),m(`%cInstruments amount: %c${this.instrumentAmount}`,r.info,r.recognized);let i=SA(s,"wvpl");this.readDLSSamples(i);let C=SA(s,"lins");if(!C)throw X(),new Error("No lins chunk!");this.readDLSInstrumentList(C),this.presets.sort((c,B)=>c.program-B.program+(c.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),X()}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid DLS soundfont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};WA.prototype.readDLSInstrumentList=Xn;WA.prototype.readDLSInstrument=Wn;WA.prototype.readRegion=$n;WA.prototype.readLart=jn;WA.prototype.readDLSSamples=Ao;var Ht=class extends de{constructor(A,e,s,n,o,i,C,c,B,d,h,u,l){super(A,i,C,c,B,d,n-e/2,o-e/2),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=u,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=h,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex,this.sampleLoopEndIndex+=this.sampleStartIndex,this.sampleLength=99999999),this.isDataRaw=l}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=OA.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 L("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=qo(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function qo(t,A,e,s){let n=V(A,20),o=k(A,4)*2,i=k(A,4)*2,C=k(A,4),c=k(A,4),B=k(A,4),d=A[A.currentIndex++];d===255&&(d=60);let h=us(A[A.currentIndex++]),u=k(A,2),l=k(A,2);return new Ht(n,o,i,C,c,B,d,h,u,l,e,t,s)}var Yt=class extends ue{constructor(A){super(),this.instrumentName=V(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 Yt(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 Jt=class extends $A{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===g.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===g.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===g.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function so(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Jt(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,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 vt=class extends le{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===g.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===g.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===g.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function no(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new vt(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,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 qt=class extends ce{constructor(A,e){super(e),this.presetName=V(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 qt(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 st=class extends ne{constructor(A,e=!0){if(super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new H(A),te("%cParsing SoundFont...",r.info),!this.dataArray)throw X(),new TypeError("No data!");let s=O(this.dataArray,!1);this.verifyHeader(s,"riff");let n=V(this.dataArray,4).toLowerCase();if(n!=="sfbk"&&n!=="sfpk")throw X(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",i=O(this.dataArray);for(this.verifyHeader(i,"list"),V(i.chunkData,4);i.chunkData.length>i.chunkData.currentIndex;){let Z=O(i.chunkData),CA;switch(Z.header.toLowerCase()){case"ifil":case"iver":CA=`${k(Z.chunkData,2)}.${k(Z.chunkData,2)}`,this.soundFontInfo[Z.header]=CA;break;case"icmt":CA=V(Z.chunkData,Z.chunkData.length,void 0,!1),this.soundFontInfo[Z.header]=CA;break;case"dmod":let oA=Ke(Z);oA.pop(),CA=`Modulators: ${oA.length}`;let fA=this.defaultModulators;this.defaultModulators=oA,this.defaultModulators.push(...fA.filter(Me=>!this.defaultModulators.find(RA=>$.isIdentical(Me,RA)))),this.soundFontInfo[Z.header]=Z.chunkData;break;default:CA=V(Z.chunkData,Z.chunkData.length),this.soundFontInfo[Z.header]=CA}m(`%c"${Z.header}": %c"${CA}"`,r.info,r.recognized)}let C=O(this.dataArray,!1);this.verifyHeader(C,"list"),this.verifyText(V(this.dataArray,4),"sdta"),m("%cVerifying smpl chunk...",r.warn);let c=O(this.dataArray,!1);this.verifyHeader(c,"smpl");let B;if(o){m("%cSF2Pack detected, attempting to decode the smpl chunk...",r.info);try{B=OA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+C.size-12)).data[0]}catch(Z){throw X(),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${C.size-12}`,r.info,r.value),this.dataArray.currentIndex+=C.size-12,m("%cLoading preset data chunk...",r.warn);let d=O(this.dataArray);this.verifyHeader(d,"list"),V(d.chunkData,4);let h=O(d.chunkData);this.verifyHeader(h,"phdr");let u=O(d.chunkData);this.verifyHeader(u,"pbag");let l=O(d.chunkData);this.verifyHeader(l,"pmod");let D=O(d.chunkData);this.verifyHeader(D,"pgen");let S=O(d.chunkData);this.verifyHeader(S,"inst");let w=O(d.chunkData);this.verifyHeader(w,"ibag");let y=O(d.chunkData);this.verifyHeader(y,"imod");let N=O(d.chunkData);this.verifyHeader(N,"igen");let G=O(d.chunkData);this.verifyHeader(G,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...eo(G,B,!o));let K=pt(N),W=Ke(y),I=so(w,K,W,this.samples);this.instruments=to(S,I);let nA=pt(D),j=Ke(l),J=no(u,nA,j,this.instruments);this.presets.push(...oo(h,J,this.defaultModulators)),this.presets.sort((Z,CA)=>Z.program-CA.program+(Z.bank-CA.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),X(),o&&delete this.dataArray}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw X(),new SyntaxError(`Invalid soundFont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};function Ge(t){let A=t.slice(8,12),e=new H(A);return V(e,4,void 0,!1).toLowerCase()==="dls "?new WA(t):new st(t,!1)}function ro(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){L(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=s.drumChannel?128:s.midiControllers[p.bankSelect],o,i;if(this.overrideSoundfont){let C=n===128?128:n-this.soundfontBankOffset,c=this.overrideSoundfont.getPresetNoFallback(C,A);c?(o=n,i=c,s.presetUsesOverride=!0):(i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1)}else i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1;this.setPreset(t,i),this.callEvent("programchange",{channel:t,program:i.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 ao(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 Io(t,A){let e=this.workletProcessorChannels[t];e.lockPreset||e.drumChannel!==A&&(A?(e.channelTransposeKeyShift=0,e.drumChannel=!0,this.setPreset(t,this.getPreset(128,e.preset.program))):(e.drumChannel=!1,this.setPreset(t,this.getPreset(e.midiControllers[p.bankSelect],e.preset.program))),e.presetUsesOverride=!1,this.callEvent("drumchange",{channel:t,isDrumChannel:e.drumChannel}),this.sendChannelProperties())}function go(){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 Co(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 Bo(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 ho(){let A={channelSnapshots:this.workletProcessorChannels.map(e=>({program:e.preset.program,bank:e.preset.bank,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 Qo(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,s.midiControllers[p.bankSelect]=A.bank,this.programChange(e,A.program),s.lockPreset=A.lockPreset}),m("%cFinished restoring controllers!",r.info)}var nt=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 i=`${o.bank+s.bankOffset}-${o.program}`;n.has(i)||(n.add(i),A[i]=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 Ie.addNewSoundFont:this.addNewSoundFont(e[0],e[1],e[2]);break;case Ie.reloadSoundFont:this.reloadManager(e);break;case Ie.deleteSoundFont:this.deleteSoundFont(e);break;case Ie.rearrangeSoundFonts:this.rearrangeSoundFonts(e)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let e=Ge(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){L("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){L(`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:Ge(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 ot=class{constructor(A,e,s,n,o,i,C,c){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=i,this.end=C,this.loopingMode=c,this.isLooping=this.loopingMode===1||this.loopingMode===3}sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0;isLooping=!1},xe=class t{constructor(A,e,s,n,o,i,C,c,B){this.sample=e,this.generators=c,this.modulatedGenerators=new Int16Array(c),this.modulators=B,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=i,this.targetKey=C,this.volumeEnvelope=new LA(A,c[g.sustainVolEnv])}sample;filter=new Qe;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new YA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;static copy(A,e){let s=A.sample,n=new ot(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.generators,A.modulators.map(o=>$.copy(o)))}};function co(t,A,e,s,n,o=!1){let i,C=s.cachedVoices[A][e];return C!==void 0?C.map(c=>xe.copy(c,n)):(i=s.preset.getSamplesAndGenerators(A,e).reduce((B,d)=>{if(d.sample.sampleData===void 0)return L(`Discarding invalid sample: ${d.sample.sampleName}`),B;let h=new Int16Array(60);for(let N=0;N<60;N++)h[N]=ds(N,d.presetGenerators,d.instrumentGenerators);h[g.initialAttenuation]=Math.floor(h[g.initialAttenuation]*.4);let u=d.sample.samplePitch;h[g.overridingRootKey]>-1&&(u=h[g.overridingRootKey]);let l=A;h[g.keyNum]>-1&&(l=h[g.keyNum]);let D=d.sample.sampleLoopStartIndex,S=d.sample.sampleLoopEndIndex,w=h[g.sampleModes],y=new ot(d.sample.getAudioData(),d.sample.sampleRate/sampleRate*Math.pow(2,d.sample.samplePitchCorrection/1200),0,u,D,S,Math.floor(d.sample.sampleData.length)-1,w);return h[g.velocity]>-1&&(e=h[g.velocity]),o&&ls([{Sample:d.sample.sampleName,Generators:h,Modulators:d.modulators.map(N=>N.debugString()),Velocity:e,TargetKey:l,MidiNote:A,WorkletSample:y}]),B.push(new xe(sampleRate,y,A,e,t,n,l,h,d.modulators.map(N=>$.copy(N)))),B},[]),s.cachedVoices[A][e]=i.map(B=>xe.copy(B,n)),i)}var Lt=.03,Ut=1,T=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=UA,this.interpolationType=he.fourthOrder,this.processTickCallback=void 0,this.sequencer=new aA(this),this.transposition=0,this.tunings=[];for(let e=0;e<127;e++)this.tunings.push([]);this.soundfontBankOffset=0,this.masterGain=Ut,this.midiVolume=1,this.voiceCap=ys,this.pan=0,this.panLeft=.5*this.currentGain,this.highPerformanceMode=!1,this.overrideSoundfont=void 0,this.panRight=.5*this.currentGain;try{this.soundfontManager=new nt(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]))),OA.isInitialized.then(()=>{this.postReady(),m("%cSpessaSynth is ready!",r.recognized)})}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:pA.ready,messageData:void 0})}get currentGain(){return this.masterGain*this.midiVolume}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 i,C,c,B,d;if(this.oneOutputMode){let u=e[0];i=o%16*2,C=u[i],c=u[i+1]}else i=o%this._outputsAmount+2,C=e[i][0],c=e[i][1],B=e[0],d=e[1];let h=n.voices;n.voices=[],h.forEach(u=>{this.renderVoice(n,u,C,c,B,d),u.finished||n.voices.push(u)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}};T.prototype.renderVoice=$s;T.prototype.releaseVoice=en;T.prototype.voiceKilling=An;T.prototype.getWorkletVoices=co;T.prototype.handleMessage=nn;T.prototype.sendChannelProperties=rn;T.prototype.callEvent=on;T.prototype.systemExclusive=an;T.prototype.noteOn=gn;T.prototype.noteOff=Cn;T.prototype.polyPressure=yn;T.prototype.killNote=En;T.prototype.stopAll=Bn;T.prototype.stopAllChannels=hn;T.prototype.muteChannel=Rn;T.prototype.setVibrato=xn;T.prototype.disableAndLockGSNRPN=Gn;T.prototype.dataEntryCoarse=Mn;T.prototype.dataEntryFine=Nn;T.prototype.createWorkletChannel=fs;T.prototype.controllerChange=Dn;T.prototype.channelPressure=pn;T.prototype.resetAllControllers=bn;T.prototype.resetControllers=Ln;T.prototype.resetParameters=Un;T.prototype.setMasterGain=wn;T.prototype.setMasterPan=Fn;T.prototype.setMIDIVolume=kn;T.prototype.transposeAllChannels=Qn;T.prototype.transposeChannel=cn;T.prototype.setChannelTuning=ln;T.prototype.setChannelTuningSemitones=un;T.prototype.setMasterTuning=dn;T.prototype.setModulationDepth=fn;T.prototype.pitchWheel=mn;T.prototype.setOctaveTuning=Sn;T.prototype.programChange=ro;T.prototype.getPreset=io;T.prototype.setPreset=ao;T.prototype.setDrums=Io;T.prototype.reloadSoundFont=Eo;T.prototype.clearSoundFont=Co;T.prototype.setEmbeddedSoundFont=Bo;T.prototype.sendPresetList=go;T.prototype.sendSynthesizerSnapshot=ho;T.prototype.applySynthesizerSnapshot=Qo;registerProcessor(ps,T);m("%cProcessor succesfully registered!",r.recognized); 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 f7f26193..0f3376a4 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/snapshot.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/snapshot.js @@ -22,6 +22,7 @@ * @property {Int8Array} channelOctaveTuning - the channel's octave tuning in cents * @property {Int16Array} keyCentTuning - tuning of individual keys in cents * @property {boolean} isMuted - indicates whether the channel is muted + * @property {number} velocityOverride - overrides velocity if > 0 otherwise disabled * @property {boolean} drumChannel - indicates whether the channel is a drum channel */ /** @@ -65,6 +66,7 @@ export function sendSynthesizerSnapshot() channelTransposeKeyShift: channel.channelTransposeKeyShift, channelOctaveTuning: channel.channelOctaveTuning, keyCentTuning: channel.keyCentTuning, + velocityOverride: channel.velocityOverride, isMuted: channel.isMuted, drumChannel: channel.drumChannel } @@ -126,6 +128,7 @@ export function applySynthesizerSnapshot(snapshot) channelObject.lockGSNRPNParams = channelSnapshot.lockVibrato; channelObject.channelTransposeKeyShift = channelSnapshot.channelTransposeKeyShift; channelObject.channelOctaveTuning = channelSnapshot.channelOctaveTuning; + channelObject.velocityOverride = channelSnapshot.velocityOverride; // restore preset and lock channelObject.lockPreset = false; diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/worklet_voice.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/worklet_voice.js index 06820e1c..4b03bd68 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/worklet_voice.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/worklet_voice.js @@ -370,8 +370,8 @@ export function getWorkletVoices(channel, } // determine looping mode now. if the loop is too small, disable - let loopStart = (sampleAndGenerators.sample.sampleLoopStartIndex / 2); - let loopEnd = (sampleAndGenerators.sample.sampleLoopEndIndex / 2); + let loopStart = sampleAndGenerators.sample.sampleLoopStartIndex; + let loopEnd = sampleAndGenerators.sample.sampleLoopEndIndex; let loopingMode = generators[generatorTypes.sampleModes]; /** * create the worklet sample diff --git a/src/spessasynth_lib/utils/loggin.js b/src/spessasynth_lib/utils/loggin.js index 56656f48..b7b70416 100644 --- a/src/spessasynth_lib/utils/loggin.js +++ b/src/spessasynth_lib/utils/loggin.js @@ -1,6 +1,6 @@ -let ENABLE_INFO = true; +let ENABLE_INFO = false; let ENABLE_WARN = true; -let ENABLE_GROUP = true; +let ENABLE_GROUP = false; let ENABLE_TABLE = true; /** diff --git a/src/website/js/main/local_main.js b/src/website/js/main/local_main.js index b98ae34f..26ed3e4e 100644 --- a/src/website/js/main/local_main.js +++ b/src/website/js/main/local_main.js @@ -3,6 +3,7 @@ import {Manager} from "../manager/manager.js"; import { showNotification } from '../notification/notification.js' import { LocaleManager } from '../locale/locale_manager.js' +import { SpessaSynthLogging } from '../../../spessasynth_lib/utils/loggin.js' /** * local_main.js @@ -10,6 +11,8 @@ import { LocaleManager } from '../locale/locale_manager.js' */ const SAMPLE_RATE = 44100; +SpessaSynthLogging(true, true, true, true); + /** * @type {HTMLHeadingElement} */ @@ -161,6 +164,7 @@ async function replaceFont(fontName) window.TITLE = window.manager.localeManager.getLocaleString("locale.titleMessage"); titleMessage.innerText = "Initializing..."; await manager.ready; + manager.synth.setLogLevel(true, true, true, true); } else { @@ -215,6 +219,7 @@ document.body.onclick = async () => window.TITLE = window.manager.localeManager.getLocaleString("locale.titleMessage") titleMessage.innerText = "Initializing..." await manager.ready; + manager.synth.setLogLevel(true, true, true, true); synthReady = true; } } diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index 7513ee54..585de609 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,4 +1,4 @@ -var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,l)=>(typeof require<"u"?require:n)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var J3=class extends Uint8Array{constructor(n){super(n),this.currentIndex=0}currentIndex};function vr(o){let n=o.reduce((u,S)=>u+S.length,0),l=new J3(n),g=0;for(let u of o)l.set(u,g),g+=u.length;return l}function E$(o){o=Math.floor(o);let n=Math.floor(o/60),l=Math.round(o-n*60);return{minutes:n,seconds:l,time:`${n.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function FB(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var _1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Ei=class{constructor(n,l,g){this.ticks=n,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function XQ(o){let n=o&240,l=o&15,g=-1,u=o;return n>=128&&n<=224&&(g=l,u=n),{status:u,channel:g}}var t6={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,effects1Depth:91,effects2Depth:92,effects3Depth:93,effects4Depth:94,effects5Depth: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(n,l,g){this.events[n][l]=g}removeEvent(n,l){delete this.events[n][l]}callEvent(n,l){this.events[n]&&Object.values(this.events[n]).forEach(g=>g(l))}};var MB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},CC=class{constructor(n,l=MB){let g=n.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let u=new ChannelMergerNode(g,{numberOfInputs:2}),S=[],r0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let g0=0;g0{let S=await u.arrayBuffer();l.buffer=await o.decodeAudioData(S)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Qm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},mi=-1,m$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var wb=!0,kb=!0,TB=!0;function Y5(...o){wb&&console.info(...o)}function R4(...o){kb&&console.warn(...o)}function gn(...o){TB&&console.group(...o)}function ni(...o){TB&&console.groupCollapsed(...o)}function i4(){TB&&console.groupEnd()}var ty={chorusEnabled:!0,chorusConfig:MB,reverbEnabled:!0,reverbImpulseResponse:void 0};var ym={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var BC=class{constructor(n){this.soundfontList=[{id:"main",bankOffset:0}],this._port=n.worklet.port,this.synth=n}_sendToWorklet(n,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[n,l]})}async addNewSoundFont(n,l,g=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(ym.addNewSoundFont,[n,l,g]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(n){if(this.soundfontList.length===0){R4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===n)===-1){R4(`No soundfont with id of "${n}" found. Aborting!`);return}this._sendToWorklet(ym.deleteSoundFont,n)}rearrangeSoundFonts(n){this._sendToWorklet(ym.rearrangeSoundFonts,n),this.soundfontList.sort((l,g)=>n.indexOf(l.id)-n.indexOf(g.id))}async reloadManager(n){this._sendToWorklet(ym.reloadSoundFont,n),await new Promise(l=>this.synth.resolveWhenReady=l)}};function o3(o,n){let l=0;for(let g=0;g>>0}function l7(o,n,l){for(let g=0;g>g*8&255}function Q9(o,n){o[o.currentIndex++]=n&255,o[o.currentIndex++]=n>>8}function c7(o,n){l7(o,n,4)}function RA(o,n){let l=n<<8|o;return l>32767?l-65536:l}function iy(o){return o>127?o-256:o}function Ie(o,n,l=void 0,g=!0){if(l){let u=o.slice(o.currentIndex,o.currentIndex+n);return o.currentIndex+=n,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,S="";for(let r0=0;r0127){if(g){u=!0;continue}else if(E0===0){u=!0;continue}}S+=String.fromCharCode(E0)}}return S}}function xA(o,n=0){let l=o.length;n>0&&(l=n);let g=new J3(l);return g7(g,o,n),g}function g7(o,n,l=0){l>0&&n.length>l&&(n=n.slice(0,l));for(let g=0;gn.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ie(l.chunkData,4)===n))}var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var X6=class{constructor(n=v1.INVALID,l=0){if(this.generatorType=n,l===void 0)throw new Error("No value provided.");let g=l9[n];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}generatorType=v1.INVALID;generatorValue=0};var NB=class extends X6{constructor(n){super();let l=n.currentIndex;this.generatorType=n[l+1]<<8|n[l],this.generatorValue=RA(n[l+2],n[l+3]),n.currentIndex+=4}};function GB(o){let n=[];for(;o.chunkData.length>o.chunkData.currentIndex;)n.push(new NB(o.chunkData));return n.length>1&&n.pop(),n}var Ft={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Gn={linear:0,concave:1,convex:2,switch:3},vb=[];for(let o=0;o<4;o++)vb.push([[],[]]);var me=class o{constructor(n){n.srcEnum?(this.sourceEnum=n.srcEnum,this.modulatorDestination=n.dest,this.secondarySourceEnum=n.secSrcEnum,this.transformAmount=n.amt,this.transformType=n.transform):(this.sourceEnum=o3(n,2),this.modulatorDestination=o3(n,2),this.transformAmount=RA(n[n.currentIndex++],n[n.currentIndex++]),this.secondarySourceEnum=o3(n,2),this.transformType=o3(n,2)),this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}currentValue=0;static copy(n){return new o({srcEnum:n.sourceEnum,secSrcEnum:n.secondarySourceEnum,transform:n.transformType,amt:n.transformAmount,dest:n.modulatorDestination})}static isIdentical(n,l){return n.sourceEnum===l.sourceEnum&&n.modulatorDestination===l.modulatorDestination&&n.secondarySourceEnum===l.secondarySourceEnum&&n.transformType===l.transformType}sumTransform(n){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+n.transformAmount})}debugString(){function n(u,S){return Object.keys(u).find(r0=>u[r0]===S)}let l=n(Gn,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=n(t6,this.sourceIndex):l+=n(Ft,this.sourceIndex);let g=n(Gn,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=n(t6,this.secSrcIndex):g+=n(Ft,this.secSrcIndex),`Modulator: +var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,l)=>(typeof require<"u"?require:n)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var J3=class extends Uint8Array{constructor(n){super(n),this.currentIndex=0}currentIndex};function vr(o){let n=o.reduce((u,S)=>u+S.length,0),l=new J3(n),g=0;for(let u of o)l.set(u,g),g+=u.length;return l}function E$(o){o=Math.floor(o);let n=Math.floor(o/60),l=Math.round(o-n*60);return{minutes:n,seconds:l,time:`${n.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function FB(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var _1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Ei=class{constructor(n,l,g){this.ticks=n,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function XQ(o){let n=o&240,l=o&15,g=-1,u=o;return n>=128&&n<=224&&(g=l,u=n),{status:u,channel:g}}var t6={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,effects1Depth:91,effects2Depth:92,effects3Depth:93,effects4Depth:94,effects5Depth: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(n,l,g){this.events[n][l]=g}removeEvent(n,l){delete this.events[n][l]}callEvent(n,l){this.events[n]&&Object.values(this.events[n]).forEach(g=>g(l))}};var MB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},CC=class{constructor(n,l=MB){let g=n.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let u=new ChannelMergerNode(g,{numberOfInputs:2}),S=[],r0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let g0=0;g0{let S=await u.arrayBuffer();l.buffer=await o.decodeAudioData(S)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Qm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},mi=-1,m$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var wb=!1,kb=!0,TB=!1;function Y5(...o){wb&&console.info(...o)}function R4(...o){kb&&console.warn(...o)}function gn(...o){TB&&console.group(...o)}function ni(...o){TB&&console.groupCollapsed(...o)}function i4(){TB&&console.groupEnd()}var ty={chorusEnabled:!0,chorusConfig:MB,reverbEnabled:!0,reverbImpulseResponse:void 0};var ym={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var BC=class{constructor(n){this.soundfontList=[{id:"main",bankOffset:0}],this._port=n.worklet.port,this.synth=n}_sendToWorklet(n,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[n,l]})}async addNewSoundFont(n,l,g=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(ym.addNewSoundFont,[n,l,g]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(n){if(this.soundfontList.length===0){R4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===n)===-1){R4(`No soundfont with id of "${n}" found. Aborting!`);return}this._sendToWorklet(ym.deleteSoundFont,n)}rearrangeSoundFonts(n){this._sendToWorklet(ym.rearrangeSoundFonts,n),this.soundfontList.sort((l,g)=>n.indexOf(l.id)-n.indexOf(g.id))}async reloadManager(n){this._sendToWorklet(ym.reloadSoundFont,n),await new Promise(l=>this.synth.resolveWhenReady=l)}};function o3(o,n){let l=0;for(let g=0;g>>0}function l7(o,n,l){for(let g=0;g>g*8&255}function Q9(o,n){o[o.currentIndex++]=n&255,o[o.currentIndex++]=n>>8}function c7(o,n){l7(o,n,4)}function RA(o,n){let l=n<<8|o;return l>32767?l-65536:l}function iy(o){return o>127?o-256:o}function Ie(o,n,l=void 0,g=!0){if(l){let u=o.slice(o.currentIndex,o.currentIndex+n);return o.currentIndex+=n,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,S="";for(let r0=0;r0127){if(g){u=!0;continue}else if(E0===0){u=!0;continue}}S+=String.fromCharCode(E0)}}return S}}function xA(o,n=0){let l=o.length;n>0&&(l=n);let g=new J3(l);return g7(g,o,n),g}function g7(o,n,l=0){l>0&&n.length>l&&(n=n.slice(0,l));for(let g=0;gn.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ie(l.chunkData,4)===n))}var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var X6=class{constructor(n=v1.INVALID,l=0){if(this.generatorType=n,l===void 0)throw new Error("No value provided.");let g=l9[n];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}generatorType=v1.INVALID;generatorValue=0};var NB=class extends X6{constructor(n){super();let l=n.currentIndex;this.generatorType=n[l+1]<<8|n[l],this.generatorValue=RA(n[l+2],n[l+3]),n.currentIndex+=4}};function GB(o){let n=[];for(;o.chunkData.length>o.chunkData.currentIndex;)n.push(new NB(o.chunkData));return n.length>1&&n.pop(),n}var Ft={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Gn={linear:0,concave:1,convex:2,switch:3},vb=[];for(let o=0;o<4;o++)vb.push([[],[]]);var me=class o{constructor(n){n.srcEnum?(this.sourceEnum=n.srcEnum,this.modulatorDestination=n.dest,this.secondarySourceEnum=n.secSrcEnum,this.transformAmount=n.amt,this.transformType=n.transform):(this.sourceEnum=o3(n,2),this.modulatorDestination=o3(n,2),this.transformAmount=RA(n[n.currentIndex++],n[n.currentIndex++]),this.secondarySourceEnum=o3(n,2),this.transformType=o3(n,2)),this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}currentValue=0;static copy(n){return new o({srcEnum:n.sourceEnum,secSrcEnum:n.secondarySourceEnum,transform:n.transformType,amt:n.transformAmount,dest:n.modulatorDestination})}static isIdentical(n,l){return n.sourceEnum===l.sourceEnum&&n.modulatorDestination===l.modulatorDestination&&n.secondarySourceEnum===l.secondarySourceEnum&&n.transformType===l.transformType}sumTransform(n){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+n.transformAmount})}debugString(){function n(u,S){return Object.keys(u).find(r0=>u[r0]===S)}let l=n(Gn,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=n(t6,this.sourceIndex):l+=n(Ft,this.sourceIndex);let g=n(Gn,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=n(t6,this.secSrcIndex):g+=n(Ft,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${g} Destination: ${n(v1,this.modulatorDestination)} @@ -7,7 +7,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,l)=>( `}};function Nn(o,n,l,g,u){return o<<10|n<<9|l<<8|g<<7|u}var UB=960,PB=Gn.concave,pC=[new me({srcEnum:Nn(PB,0,1,0,Ft.noteOnVelocity),dest:v1.initialAttenuation,amt:UB,secSrcEnum:0,transform:0}),new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(PB,0,1,1,t6.mainVolume),dest:v1.initialAttenuation,amt:UB,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new me({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(PB,0,1,1,t6.expressionController),dest:v1.initialAttenuation,amt:UB,secSrcEnum:0,transform:0}),new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(Gn.linear,0,0,0,Ft.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(Gn.linear,0,0,1,t6.effects2Depth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(Gn.linear,1,0,1,t6.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(Gn.linear,1,0,1,t6.brightness),dest:v1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0}),new me({srcEnum:Nn(Gn.linear,1,0,1,t6.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];function QC(o){let n=[];for(;o.chunkData.length>o.chunkData.currentIndex;)n.push(new me(o.chunkData));return n}var C$=128,Sb=147,LA=new Int16Array(Sb).fill(0);LA[t6.mainVolume]=12800;LA[t6.expressionController]=16256;LA[t6.pan]=8192;LA[t6.releaseTime]=8192;LA[t6.brightness]=8192;LA[t6.timbreHarmonicContent]=8192;LA[C$+Ft.pitchWheel]=8192;LA[C$+Ft.pitchWheelRange]=256;var yC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},bb=Object.keys(yC).length,Db=new Float32Array(bb);Db[yC.modulationMultiplier]=1;var ny={velocityOverride:128};var _b="spessasynth-worklet-system",OB=350,Di=9,Rb=16;var ch=class{constructor(n,l,g=!0,u=void 0,S=ty){Y5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=n.context;let r0=u?.oneOutput===!0;this.eventHandler=new mC,this._voiceCap=OB,this._outputsAmount=Rb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(g0=>this.resolveWhenReady=g0),this.channelProperties=[];for(let g0=0;g0this.handleMessage(g0.data),this.soundfontManager=new BC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,S.reverbEnabled&&!r0&&(this.reverbProcessor=ey(this.context,S.reverbImpulseResponse),this.reverbProcessor.connect(n),this.worklet.connect(this.reverbProcessor,0)),S.chorusEnabled&&!r0&&(this.chorusProcessor=new CC(n,S.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),r0)this.worklet.connect(n,0);else for(let g0=2;g0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(n){this._setMasterParam(Qm.voicesCap,n),this._voiceCap=n}set highPerformanceMode(n){this._highPerformanceMode=n}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(n,l,g,u){this.post({channelNumber:mi,messageType:c8.setLogLevel,messageData:[n,l,g,u]})}_setMasterParam(n,l){this.post({channelNumber:mi,messageType:c8.setMasterParameter,messageData:[n,l]})}setInterpolationType(n){this._setMasterParam(Qm.interpolationType,n)}handleMessage(n){let l=n.messageData;switch(n.messageType){case m$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,u)=>g+u.voicesAmount,0);break;case m$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case m$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case m$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case m$.ready:this.resolveWhenReady();break;case m$.soundfontError:R4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(n=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,n(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:mi})})}addNewChannel(n=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),n&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(n,l){this.post({channelNumber:n,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(n){if(n.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${n.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:n,messageType:c8.ccChange,messageData:[l,g,u]})}resetControllers(){this.post({channelNumber:mi,messageType:c8.ccReset,messageData:void 0})}channelPressure(n,l){this.post({channelNumber:n,messageType:c8.channelPressure,messageData:l})}polyPressure(n,l,g){this.post({channelNumber:n,messageType:c8.polyPressure,messageData:[l,g]})}post(n){this.worklet.port.postMessage(n)}pitchWheel(n,l,g){this.post({channelNumber:n,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(n){this.transposeChannel(mi,n,!1)}transposeChannel(n,l,g=!1){this.post({channelNumber:n,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(n){this._setMasterParam(Qm.mainVolume,n)}setMasterPan(n){this._setMasterParam(Qm.masterPan,n)}setPitchBendRange(n,l){this.controllerChange(n,t6.RPNMsb,0),this.controllerChange(n,t6.dataEntryMsb,l),this.controllerChange(n,t6.RPNMsb,127),this.controllerChange(n,t6.RPNLsb,127),this.controllerChange(n,t6.dataEntryMsb,0)}programChange(n,l,g=!1){this.post({channelNumber:n,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(n,l){this.post({channelNumber:n,messageType:c8.ccChange,messageData:[ny.velocityOverride,l,!0]})}lockController(n,l,g){this.post({channelNumber:n,messageType:c8.lockController,messageData:[l,g]})}muteChannel(n,l){this.post({channelNumber:n,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(n){R4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(n)}systemExclusive(n){this.post({channelNumber:mi,messageType:c8.systemExclusive,messageData:Array.from(n)})}setDrums(n,l){this.post({channelNumber:n,messageType:c8.setDrums,messageData:l})}sendMessage(n){let l=XQ(n[0]);switch(l.status){case K3.noteOn:let g=n[2];g>0?this.noteOn(l.channel,n[1],g):this.noteOff(l.channel,n[1]);break;case K3.noteOff:this.noteOff(l.channel,n[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,n[2],n[1]);break;case K3.controllerChange:this.controllerChange(l.channel,n[1],n[2]);break;case K3.programChange:this.programChange(l.channel,n[1]);break;case K3.polyPressure:this.polyPressure(l.channel,n[0],n[1]);break;case K3.channelPressure:this.channelPressure(l.channel,n[1]);break;case K3.systemExclusive:this.systemExclusive(new J3(n.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}reverbateEverythingBecauseWhyNot(){for(let n=0;n{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},n=(g,u)=>{let S;if(Sr)S=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=u.clientX-E0.left,g0=E0.width;S=Math.floor((g0-m0)/g0*127)}else{let m0=u.clientY-E0.top,g0=E0.height;S=Math.floor(m0/g0*127)}}this.synth.noteOn(this.channel,g,S,this.enableDebugging)},l=g=>{let u=g.touches?Array.from(g.touches):[g],S=new Set;u.forEach(r0=>{let E0=document.elementFromPoint(r0.clientX,r0.clientY),m0=parseInt(E0.id.replace("note",""));S.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),n(m0,r0))}),this.pressedKeys.forEach(r0=>{S.has(r0)||o(r0)})};Sr||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var sy=20,wm=class{constructor(n,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=n,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,g.channel)})}set shown(n){n===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=n}get shown(){return this._shown}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let n=this._keyRange.min;n=0&&(S=l(n-1)),n<127&&(r0=l(n+1)),r0&&S?g.classList.add("between_sharps"):S?g.classList.add("left_sharp"):r0&&g.classList.add("right_sharp")}return g}toggleMode(n=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!n){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}get keyRange(){return this._keyRange}set keyRange(n){if(n.max===void 0||n.min===void 0)throw new TypeError("No min or max property!");if(n.min>n.max){let l=n.min;n.min=n.max,n.max=l}n.min=Math.max(0,n.min),n.max=Math.min(127,n.max),this.setKeyRange(n,!0)}setKeyRange(n,l=!0){Math.abs(n.max-n.min)<12&&(n.min-=6,n.max=n.min+12);let u=900/(n.max-n.min+5),S=document.styleSheets[0].cssRules,r0;for(let E0 of S)if(E0.selectorText==="#keyboard .key"){r0=E0;break}if(r0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),g0=this.keyboard.getBoundingClientRect().height,u1=u/m0,R=g0*u1-g0,Z0=(this._keyRange.min+this._keyRange.max)/2,G0=(n.min+n.max)/2;this._keyRange=n;let b1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(Z0-G0)*b1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${R}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${u1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/u1}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=n,this._createKeyboard()}selectChannel(n){this.channel=n}pressNote(n,l,g){let u=this.keys[n-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let S=u.classList.contains("sharp_key"),r0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!S&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(u1=>255-(255-u1)*r0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(u1=>u1*r0).join(", ")}, ${E0[3]})`,u.style.background=m0,this.mode==="dark"){let g0=sy*r0;u.style.boxShadow=`${m0} 0px 0px ${g0}px ${g0/5}px`}this.keyColors[n-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(n,l){let g=this.keys[n-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let u=this.keyColors[n-this._keyRange.min];if(!u)return;let S=u.findLastIndex(r0=>r0===this.channelColors[l]);S!==-1&&(u.splice(S,1),g.style.background=u[u.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${sy}px ${u[u.length-1]}`),u.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((n,l)=>{n.classList.remove("pressed"),n.style.background="",n.style.boxShadow="",this.keyColors[l]=[]})}};wm.prototype._handlePointers=ry;function B$(o,n){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${n(parseInt(l[0]))}, ${n(parseInt(l[1]))}, ${n(parseInt(l[2]))})`}var Lb="#000";function oy(o,n,l){o.forEach(g=>{if(g.pressedProgress===0)return;n.fillStyle=g.color;let u=g.pressedProgress*g.velocity;if(n.globalAlpha=.5*u,l){n.fillRect(g.xPos,g.yPos-g.height*u,g.width,g.height*(u*2+1)),n.globalAlpha=1;return}n.fillRect(g.xPos-g.width*u,g.yPos,g.width*(u*2+1),g.height),n.globalAlpha=1}),o.forEach(g=>{n.fillStyle=g.color,n.save(),n.translate(g.xPos,g.yPos),n.fillRect(0,0,g.width,g.height),n.restore(),n.strokeStyle=Lb,n.lineWidth=g.stroke,n.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var HB=!1;function Ay(o=!0,n=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!n;if(!this.renderBool||l)if(HB){o&&requestAnimationFrame(this.render.bind(this));return}else HB=!0;else HB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let S=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||oy(S,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${wC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,wC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,wC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function ay(o=!1){this.notesOnScreen=0;let n=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,u=n/(g+1),S=u-Q$*2,r0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,g0=m0-E0,u1=r0+E0,R=g0+u1,Z0=ly/u1,G0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;G0.push(l2.pitchBendRangeSemitones*(y1/8192*u))}else G0.push(0)});let b1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,K2=T2[Y2],i3=-1;for(;K2.start<=R&&(Y2++,!(this.notesOnScreen>cy));){let n3=K2.start+K2.length;if(n3>g0&&K2.length>0){let A0=K2.length/u1*l-Q$*2;if(this.notesOnScreen<1e3||A0>Z0){i3===-1&&(i3=Y2-1);let y5=(K2.start-g0)/u1*l,M3;if(this._notesFall?M3=l-A0-y5+Q$:M3=y5+Q$,K2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;K2=T2[Y2];continue}let $3=K2.midiNote-this.keyRange.min,w6=u*$3+Q$,s6,o9,K4,n4;if(this.sideways?(s6=M3,o9=w6,n4=S,K4=A0):(o9=M3,s6=w6,K4=S,n4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+p$+Q$,o9+p$,K4-p$*2,n4-p$*2);else{let K6;if(K2.start>m0||n3=T2.length)break;K2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),b1.sort((l2,y1)=>y1.height-l2.height),b1}function gy(){let o=this.canvas.width/4,n=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let u=g%4,S=Math.floor(g/4),r0=!1;for(let R=g;R0){r0=!0;break}if(!r0){let R=this.canvas.width/4,Z0=this.canvas.height/4,G0=R*u,b1=Z0*S+Z0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(G0,b1),this.drawingContext.lineTo(G0+R,b1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*u,g0=n*S+n/2,u1=this.waveMultiplier*n;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let R=E0.length/4,Z0=o/R,G0=Math.floor(R/2),b1=E0.length-G0;for(let T2=b1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){b1=T2;break}let l2=m0,y1=b1-G0,Y2=b1+G0;for(let T2=y1;T2{this.renderChannels[n.channel]=!n.isMuted}),this.updateFftSize()}function uy(){for(let o=0;o4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function dy(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function Iy(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",_1.recognized)}function Ey(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async n=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),n.RMIDInfo?.IPIC!==void 0){let l=new Blob([n.RMIDInfo?.IPIC.buffer]),g=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("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function my(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function qB(o,n){let l=0;for(let g=8*(n-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function km(o,n){let l=new Array(n).fill(0);for(let g=n-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var gh=.02;function Cy(o){function n(g0){return g0.messageData=new J3(g0.messageData.buffer),g0.messageData.currentIndex=0,6e7/qB(g0.messageData,3)}let l=[],u=o.tracks.flat();u.sort((g0,u1)=>g0.ticks-u1.ticks);for(let g0=0;g0<16;g0++)l.push({renderStartIndex:0,notes:[]});let S=0,r0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,R=g0.messageStatusByte&15;if(u1===8){let Z0=l[R].notes.findLast(G0=>G0.midiNote===g0.messageData[0]&&G0.length===-1);if(Z0){let G0=S-Z0.start;Z0.length=G0G0.midiNote===g0.messageData[0]&&G0.length===-1);if(Z0){let G0=S-Z0.start;Z0.length=G0=u.length)break;S+=r0*(u[E0].ticks-g0.ticks)}m0>0&&l.forEach((g0,u1)=>g0.notes.filter(R=>R.length===-1).forEach(R=>{let Z0=S-R.start;R.length=Z0{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(n,g=>g*vC)),l.addColorStop(1,n),l}),this.darkerColors=this.plainColors.map(n=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(n,g=>g*vC*kC)),l.addColorStop(1,B$(n,g=>g*kC)),l}),this.sidewaysChannelColors=this.plainColors.map(n=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(n,g=>g*vC)),l.addColorStop(1,n),l}),this.sidewaysDarkerColors=this.plainColors.map(n=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(n,g=>g*vC*kC)),l.addColorStop(1,B$(n,g=>g*kC)),l})}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}onRender;get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(n){this._normalAnalyserFft=n,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(n){this._drumAnalyserFft=n,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(n){this._renderBool=n,n===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(n){if(n.max===void 0||n.min===void 0)throw new TypeError("No min or max property!");if(n.min>n.max){let l=n.min;n.min=n.max,n.max=l}n.min=Math.max(0,n.min),n.max=Math.min(127,n.max),this._keyRange=n}};_i.prototype.render=Ay;_i.prototype.computeNotePositions=ay;_i.prototype.createChannelAnalysers=fy;_i.prototype.updateFftSize=uy;_i.prototype.connectChannelAnalysers=dy;_i.prototype.disconnectChannelAnalysers=Iy;_i.prototype.connectSequencer=Ey;_i.prototype.calculateNoteTimes=Cy;_i.prototype.resetIndexes=my;_i.prototype.renderWaveforms=gy;function SC(o){let n=[o&127];for(o>>=7;o>0;)n.unshift(o&127|128),o>>=7;return n}function bC(o){let n=[];for(let u of o.tracks){let S=[],r0=0,E0;for(let m0 of u){let g0=m0.ticks-r0,u1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?u1=[255,m0.messageStatusByte,...SC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?u1=[240,...SC(m0.messageData.length),...m0.messageData]:(u1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,u1.push(m0.messageStatusByte)),u1.push(...m0.messageData)),S.push(...SC(g0)),S.push(...u1),r0+=g0}n.push(new Uint8Array(S))}function l(u,S){for(let r0=0;r0{o.tracks.forEach((b1,l2)=>{if(o.midiPorts[l2]===G0)for(let y1=b1.length-1;y1>=0;y1--)b1[y1].messageStatusByte>=128&&b1[y1].messageStatusByte<240&&(b1[y1].messageStatusByte&15)===Z0&&b1.splice(y1,1)})};g.forEach(Z0=>{let G0=Z0%16,b1=Z0-G0,l2=o.midiPortChannelOffsets.findIndex(y1=>y1===b1);S(G0,l2),Y5(`%cRemoving channel %c${Z0}%c!`,_1.info,_1.recognized,_1.info)});let r0=!1,E0="gs",m0=[],g0=[];o.tracks.forEach((Z0,G0)=>{Z0.forEach(b1=>{let l2=b1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:G0,message:b1,channel:b1.messageStatusByte&15}):l2===K3.programChange?g0.push({track:G0,message:b1,channel:b1.messageStatusByte&15}):b1.messageStatusByte===K3.systemExclusive&&(b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[5]===126&&b1.messageData[6]===0?(Y5("%cXG system on detected",_1.info),E0="xg",r0=!0):b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[3]===8&&b1.messageData[5]===3&&g0.push({track:G0,message:b1,channel:b1.messageData[4]}))})});let u1=(Z0,G0,b1)=>o.tracks.reduce((l2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(Z0)&&o.midiPorts[Y2]===G0){let T2;b1?T2=y1.findIndex(K2=>(K2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(K2=>K2.messageStatusByte>128&&K2.messageStatusByte<240&&(K2.messageStatusByte&15)===Z0&&!(K2.messageStatusByte&K3.controllerChange===240&&(K2.messageData[0]===t6.resetAllControllers||K2.messageData[0]===t6.allNotesOff||K2.messageData[0]===t6.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),R=(Z0,G0,b1)=>{let l2=m0.filter(y1=>y1.channel===Z0&&y1.message.messageData[0]===b1&&o.midiPorts[y1.track]===G0);for(let y1=0;y1{let G0=Z0.channel,b1=G0%16,l2=G0-b1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===l2),Y2=Z0.controllerValue,T2=Z0.controllerNumber;R(b1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${G0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let K2=u1(b1,y1,!0);if(K2.length===0){R4("Program change but no notes... ignoring!");return}let i3=K2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let G0=Z0.channel%16,b1=Z0.channel-G0,l2=o.midiPortChannelOffsets.findIndex($3=>$3===b1),y1=Z0.isDrum?0:Z0.bank,Y2=Z0.program,T2=g0.filter($3=>o.midiPorts[$3.track]===l2&&$3.channel===G0);if(R(G0,l2,t6.bankSelect),R(G0,l2,t6.lsbForControl0BankSelect),(Z0.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!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!r0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,YB(0)),Y5("%cGS on not detected. Adding it.",_1.info),r0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let K2=u1(G0,l2,b1>0);if(K2.length===0){R4("Program change but no notes... ignoring!");return}let i3=K2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==b1||!o.usedChannelsOnTrack[T2].has(G0))return;let K2=K3.noteOn|G0,i3=K3.noteOff|G0,n3=K3.polyPressure|G0;Y2.forEach(A0=>{A0.messageStatusByte!==K2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==n3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+l2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(Z0.channel));if(Y2===void 0){R4(`Channel ${Z0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|Z0.channel%16,K2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(K2===-1){R4(`No notes on channel ${Z0.channel} but transpose requested???`);continue}let i3=Y2[K2].ticks,n3=y1*64+64,A0=K3.controllerChange|Z0.channel%16,y5=new Ei(i3,A0,new J3([t6.RPNMsb,0])),M3=new Ei(i3,A0,new J3([t6.RPNLsb,1])),$3=new Ei(i3,A0,new J3([t6.dataEntryMsb,n3])),w6=new Ei(i3,A0,new J3([t6.lsbForControl6DataEntry,0]));Y2.splice(K2,0,w6),Y2.splice(K2,0,$3),Y2.splice(K2,0,M3),Y2.splice(K2,0,y5)}}i4()}function hh(o,n){let l=[],g=[],u=[],S=[];n.channelSnapshots.forEach((r0,E0)=>{if(r0.isMuted){g.push(E0);return}let m0=r0.channelTransposeKeyShift+r0.customControllers[yC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),r0.lockPreset&&u.push({channel:E0,program:r0.program,bank:r0.bank,isDrum:r0.drumChannel}),r0.lockedControllers.forEach((g0,u1)=>{if(!g0||u1>127||u1===t6.bankSelect)return;let R=r0.midiControllers[u1]>>7;S.push({channel:E0,controllerNumber:u1,controllerValue:R})})}),Ub(o,u,S,g,l)}var Mt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",Pb="Created using SpessaSynth";function py(o,n,l,g=0,u="Shift_JIS",S={},r0=!0){if(gn("%cWriting the RMIDI File...",_1.info),Y5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${u}`,_1.info,_1.value,_1.info,_1.value),Y5("metadata",S),Y5("Initial bank offset",n.bankOffset),r0){let Y2=function(){let n3=0,A0=1/0;return n.tracks.forEach((y5,M3)=>{l2[M3]>=y5.length||y5[l2[M3]].ticksA0>n3?A0:n3),i3=[];for(let n3=0;n30;){let n3=Y2(),A0=n.tracks[n3];if(l2[n3]>=A0.length){y1--;continue}let y5=A0[l2[n3]];l2[n3]++;let M3=n.midiPortChannelOffsets[T2[n3]];if(y5.messageStatusByte===K3.midiPort){T2[n3]=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?G0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?G0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(G0="gm",b1.push({tNum:n3,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]+M3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+M3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(n4=>n4.program===y5.messageData[0]&&n4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(n4=>n4.bank===128)?.program||0):l.presets.findIndex(n4=>n4.program===y5.messageData[0]&&n4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(n4=>n4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-n.bankOffset),K4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(G0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(n4=>n4.bank===K4&&n4.program===y5.messageData[0])===-1){let n4=l.presets.find(K6=>K6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=n4,Y5(`%cNo preset %c${K4}:${y5.messageData[0]}%c. Changing bank to ${n4}.`,_1.info,_1.recognized,_1.info)}else{let K6=(K4===128?G0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=K6,Y5(`%cPreset %c${K4}:${y5.messageData[0]}%c exists. Changing bank to ${K6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===t6.bankSelect&&(s6.hasBankSelect=!0,G0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((n3,A0)=>{if(n3.hasBankSelect===!0)return;let y5=A0%16,M3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=n.midiPortChannelOffsets.indexOf($3),s6=n.tracks.find((K6,We)=>n.midiPorts[We]===w6&&n.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(K6=>K6.messageStatusByte===M3);if(o9===-1){let K6=s6.findIndex(Ji=>Ji.messageStatusByte>128&&Ji.messageStatusByte<240&&(Ji.messageStatusByte&15)===y5);if(K6===-1)return;let We=s6[K6].ticks,On=l.getPreset(0,0).program;s6.splice(K6,0,new Ei(We,K3.programChange|y5,new J3([On]))),o9=K6}Y5(`%cAdding bank select for %c${A0}`,_1.info,_1.recognized);let K4=s6[o9].ticks,n4=l.getPreset(0,n3.program)?.bank+g||g;s6.splice(o9,0,new Ei(K4,K3.controllerChange|y5,new J3([t6.bankSelect,n4])))}),G0!=="gs"&&G0!=="xg"){for(let A0 of b1)n.tracks[A0.tNum].splice(n.tracks[A0.tNum].indexOf(A0.e),1);let n3=0;n.tracks[0][0].messageStatusByte===K3.trackName&&n3++,n.tracks[0].splice(n3,0,YB(0))}}let E0=new J3(bC(n).buffer),m0=[xA("INFO")],g0=new TextEncoder;if(m0.push(Ze(Mt.software,g0.encode("SpessaSynth"),!0)),S.name!==void 0?(m0.push(Ze(Mt.name,g0.encode(S.name),!0)),u=FA):m0.push(Ze(Mt.name,n.rawMidiName,!0)),S.creationDate!==void 0)u=FA,m0.push(Ze(Mt.creationDate,g0.encode(S.creationDate),!0));else{let G0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Mt.creationDate,xA(G0),!0))}if(S.comment!==void 0&&(u=FA,m0.push(Ze(Mt.comment,g0.encode(S.comment)))),S.engineer!==void 0&&m0.push(Ze(Mt.engineer,g0.encode(S.engineer),!0)),S.album!==void 0&&(u=FA,m0.push(Ze(Mt.album,g0.encode(S.album),!0))),S.artist!==void 0&&(u=FA,m0.push(Ze(Mt.artist,g0.encode(S.artist),!0))),S.genre!==void 0&&(u=FA,m0.push(Ze(Mt.genre,g0.encode(S.genre),!0))),S.picture!==void 0&&m0.push(Ze(Mt.picture,new Uint8Array(S.picture))),S.copyright!==void 0)u=FA,m0.push(Ze(Mt.copyright,g0.encode(S.copyright),!0));else{let G0=n.copyright.length>0?n.copyright:Pb;m0.push(Ze(Mt.copyright,xA(G0)))}let u1=new J3(2);l7(u1,g,2),m0.push(Ze(Mt.bankOffset,u1)),S.midiEncoding!==void 0&&(m0.push(Ze(Mt.midiEncoding,g0.encode(S.midiEncoding))),u=FA),m0.push(Ze(Mt.encoding,xA(u)));let R=vr(m0),Z0=vr([xA("RMID"),Ze("data",E0),Ze("LIST",R),o]);return Y5("%cFinished!",_1.info),i4(),Ze("RIFF",Z0)}function vm(o,n){let l=0;for(;o>0;){let g=n.tempoChanges.find(S=>S.ticks=128){this.MIDIout.send(g);return}break;case MA.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(E0=>E0[1](u)),this.unpause();break;case MA.textEvent:let S=l;this.onTextEvent&&this.onTextEvent(S[0],S[1]);break;case MA.timeChange:let r0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](r0)),this.unpause(),this._recalculateStartTime(r0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(n){this._sendMessage(Ri.setPlaybackRate,n),this.highResTimeOffset*=n/this._playbackRate,this._playbackRate=n}get playbackRate(){return this._playbackRate}addOnSongChangeEvent(n,l){this.onSongChange[l]=n,n(this.midiData)}addOnSongEndedEvent(n,l){this.onSongEnded[l]=n}addOnTimeChangeEvent(n,l){this.onTimeChange[l]=n}async getMIDI(){return new Promise(n=>{this._getMIDIResolve=n,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(n){this.pause(),this.midiData=Qy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,n),this.songIndex=0,this.songsAmount=n.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(Ri.changeSong,!0)}previousSong(){this._sendMessage(Ri.changeSong,!1)}get currentTime(){return this.pausedTime?this.pausedTime:(this.synth.currentTime-this.absoluteStartTime)*this._playbackRate}_recalculateStartTime(n){this.absoluteStartTime=this.synth.currentTime-n/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}get currentHighResolutionTime(){if(this.pausedTime)return this.pausedTime;let n=this.highResTimeOffset,l=this.absoluteStartTime,g=(performance.now()/1e3-l)*this._playbackRate,u=n+g,S=this.currentTime,r0=.01*this._playbackRate,E0=S-u;return this.highResTimeOffset+=E0*r0,u=this.highResTimeOffset+g,u}set currentTime(n){this.unpause(),this._sendMessage(Ri.setTime,n)}connectMidiOutput(n){this.resetMIDIOut(),this.MIDIout=n,this._sendMessage(Ri.changeMIDIMessageSending,n!==void 0),this.currentTime-=.1}pause(){if(this.paused){R4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}get paused(){return this.pausedTime!==void 0}play(n=!1){this.isFinished&&(n=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,n)}stop(){this._sendMessage(Ri.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};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` + Expected ${this._outputsAmount} got ${n.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:n,messageType:c8.ccChange,messageData:[l,g,u]})}resetControllers(){this.post({channelNumber:mi,messageType:c8.ccReset,messageData:void 0})}channelPressure(n,l){this.post({channelNumber:n,messageType:c8.channelPressure,messageData:l})}polyPressure(n,l,g){this.post({channelNumber:n,messageType:c8.polyPressure,messageData:[l,g]})}post(n){this.worklet.port.postMessage(n)}pitchWheel(n,l,g){this.post({channelNumber:n,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(n){this.transposeChannel(mi,n,!1)}transposeChannel(n,l,g=!1){this.post({channelNumber:n,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(n){this._setMasterParam(Qm.mainVolume,n)}setMasterPan(n){this._setMasterParam(Qm.masterPan,n)}setPitchBendRange(n,l){this.controllerChange(n,t6.RPNMsb,0),this.controllerChange(n,t6.dataEntryMsb,l),this.controllerChange(n,t6.RPNMsb,127),this.controllerChange(n,t6.RPNLsb,127),this.controllerChange(n,t6.dataEntryMsb,0)}programChange(n,l,g=!1){this.post({channelNumber:n,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(n,l){this.post({channelNumber:n,messageType:c8.ccChange,messageData:[ny.velocityOverride,l,!0]})}lockController(n,l,g){this.post({channelNumber:n,messageType:c8.lockController,messageData:[l,g]})}muteChannel(n,l){this.post({channelNumber:n,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(n){R4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(n)}systemExclusive(n){this.post({channelNumber:mi,messageType:c8.systemExclusive,messageData:Array.from(n)})}setDrums(n,l){this.post({channelNumber:n,messageType:c8.setDrums,messageData:l})}sendMessage(n){let l=XQ(n[0]);switch(l.status){case K3.noteOn:let g=n[2];g>0?this.noteOn(l.channel,n[1],g):this.noteOff(l.channel,n[1]);break;case K3.noteOff:this.noteOff(l.channel,n[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,n[2],n[1]);break;case K3.controllerChange:this.controllerChange(l.channel,n[1],n[2]);break;case K3.programChange:this.programChange(l.channel,n[1]);break;case K3.polyPressure:this.polyPressure(l.channel,n[0],n[1]);break;case K3.channelPressure:this.channelPressure(l.channel,n[1]);break;case K3.systemExclusive:this.systemExclusive(new J3(n.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}reverbateEverythingBecauseWhyNot(){for(let n=0;n{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},n=(g,u)=>{let S;if(Sr)S=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=u.clientX-E0.left,g0=E0.width;S=Math.floor((g0-m0)/g0*127)}else{let m0=u.clientY-E0.top,g0=E0.height;S=Math.floor(m0/g0*127)}}this.synth.noteOn(this.channel,g,S,this.enableDebugging)},l=g=>{let u=g.touches?Array.from(g.touches):[g],S=new Set;u.forEach(r0=>{let E0=document.elementFromPoint(r0.clientX,r0.clientY),m0=parseInt(E0.id.replace("note",""));S.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),n(m0,r0))}),this.pressedKeys.forEach(r0=>{S.has(r0)||o(r0)})};Sr||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var sy=20,wm=class{constructor(n,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=n,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,g.channel)})}set shown(n){n===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=n}get shown(){return this._shown}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let n=this._keyRange.min;n=0&&(S=l(n-1)),n<127&&(r0=l(n+1)),r0&&S?g.classList.add("between_sharps"):S?g.classList.add("left_sharp"):r0&&g.classList.add("right_sharp")}return g}toggleMode(n=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!n){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}get keyRange(){return this._keyRange}set keyRange(n){if(n.max===void 0||n.min===void 0)throw new TypeError("No min or max property!");if(n.min>n.max){let l=n.min;n.min=n.max,n.max=l}n.min=Math.max(0,n.min),n.max=Math.min(127,n.max),this.setKeyRange(n,!0)}setKeyRange(n,l=!0){Math.abs(n.max-n.min)<12&&(n.min-=6,n.max=n.min+12);let u=900/(n.max-n.min+5),S=document.styleSheets[0].cssRules,r0;for(let E0 of S)if(E0.selectorText==="#keyboard .key"){r0=E0;break}if(r0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),g0=this.keyboard.getBoundingClientRect().height,u1=u/m0,R=g0*u1-g0,X0=(this._keyRange.min+this._keyRange.max)/2,F0=(n.min+n.max)/2;this._keyRange=n;let b1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(X0-F0)*b1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${R}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${u1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/u1}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=n,this._createKeyboard()}selectChannel(n){this.channel=n}pressNote(n,l,g){let u=this.keys[n-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let S=u.classList.contains("sharp_key"),r0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!S&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(u1=>255-(255-u1)*r0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(u1=>u1*r0).join(", ")}, ${E0[3]})`,u.style.background=m0,this.mode==="dark"){let g0=sy*r0;u.style.boxShadow=`${m0} 0px 0px ${g0}px ${g0/5}px`}this.keyColors[n-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(n,l){let g=this.keys[n-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let u=this.keyColors[n-this._keyRange.min];if(!u)return;let S=u.findLastIndex(r0=>r0===this.channelColors[l]);S!==-1&&(u.splice(S,1),g.style.background=u[u.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${sy}px ${u[u.length-1]}`),u.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((n,l)=>{n.classList.remove("pressed"),n.style.background="",n.style.boxShadow="",this.keyColors[l]=[]})}};wm.prototype._handlePointers=ry;function B$(o,n){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${n(parseInt(l[0]))}, ${n(parseInt(l[1]))}, ${n(parseInt(l[2]))})`}var Lb="#000";function oy(o,n,l){o.forEach(g=>{if(g.pressedProgress===0)return;n.fillStyle=g.color;let u=g.pressedProgress*g.velocity;if(n.globalAlpha=.5*u,l){n.fillRect(g.xPos,g.yPos-g.height*u,g.width,g.height*(u*2+1)),n.globalAlpha=1;return}n.fillRect(g.xPos-g.width*u,g.yPos,g.width*(u*2+1),g.height),n.globalAlpha=1}),o.forEach(g=>{n.fillStyle=g.color,n.save(),n.translate(g.xPos,g.yPos),n.fillRect(0,0,g.width,g.height),n.restore(),n.strokeStyle=Lb,n.lineWidth=g.stroke,n.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var HB=!1;function Ay(o=!0,n=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!n;if(!this.renderBool||l)if(HB){o&&requestAnimationFrame(this.render.bind(this));return}else HB=!0;else HB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let S=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||oy(S,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${wC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,wC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,wC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function ay(o=!1){this.notesOnScreen=0;let n=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,u=n/(g+1),S=u-Q$*2,r0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,g0=m0-E0,u1=r0+E0,R=g0+u1,X0=ly/u1,F0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;F0.push(l2.pitchBendRangeSemitones*(y1/8192*u))}else F0.push(0)});let b1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,K2=T2[Y2],i3=-1;for(;K2.start<=R&&(Y2++,!(this.notesOnScreen>cy));){let n3=K2.start+K2.length;if(n3>g0&&K2.length>0){let A0=K2.length/u1*l-Q$*2;if(this.notesOnScreen<1e3||A0>X0){i3===-1&&(i3=Y2-1);let y5=(K2.start-g0)/u1*l,M3;if(this._notesFall?M3=l-A0-y5+Q$:M3=y5+Q$,K2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;K2=T2[Y2];continue}let $3=K2.midiNote-this.keyRange.min,w6=u*$3+Q$,s6,o9,K4,n4;if(this.sideways?(s6=M3,o9=w6,n4=S,K4=A0):(o9=M3,s6=w6,K4=S,n4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+p$+Q$,o9+p$,K4-p$*2,n4-p$*2);else{let K6;if(K2.start>m0||n3=T2.length)break;K2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),b1.sort((l2,y1)=>y1.height-l2.height),b1}function gy(){let o=this.canvas.width/4,n=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let u=g%4,S=Math.floor(g/4),r0=!1;for(let R=g;R0){r0=!0;break}if(!r0){let R=this.canvas.width/4,X0=this.canvas.height/4,F0=R*u,b1=X0*S+X0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(F0,b1),this.drawingContext.lineTo(F0+R,b1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*u,g0=n*S+n/2,u1=this.waveMultiplier*n;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let R=E0.length/4,X0=o/R,F0=Math.floor(R/2),b1=E0.length-F0;for(let T2=b1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){b1=T2;break}let l2=m0,y1=b1-F0,Y2=b1+F0;for(let T2=y1;T2{this.renderChannels[n.channel]=!n.isMuted}),this.updateFftSize()}function uy(){for(let o=0;o4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function dy(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function Iy(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",_1.recognized)}function Ey(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async n=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),n.RMIDInfo?.IPIC!==void 0){let l=new Blob([n.RMIDInfo?.IPIC.buffer]),g=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("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function my(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function qB(o,n){let l=0;for(let g=8*(n-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function km(o,n){let l=new Array(n).fill(0);for(let g=n-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var gh=.02;function Cy(o){function n(g0){return g0.messageData=new J3(g0.messageData.buffer),g0.messageData.currentIndex=0,6e7/qB(g0.messageData,3)}let l=[],u=o.tracks.flat();u.sort((g0,u1)=>g0.ticks-u1.ticks);for(let g0=0;g0<16;g0++)l.push({renderStartIndex:0,notes:[]});let S=0,r0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,R=g0.messageStatusByte&15;if(u1===8){let X0=l[R].notes.findLast(F0=>F0.midiNote===g0.messageData[0]&&F0.length===-1);if(X0){let F0=S-X0.start;X0.length=F0F0.midiNote===g0.messageData[0]&&F0.length===-1);if(X0){let F0=S-X0.start;X0.length=F0=u.length)break;S+=r0*(u[E0].ticks-g0.ticks)}m0>0&&l.forEach((g0,u1)=>g0.notes.filter(R=>R.length===-1).forEach(R=>{let X0=S-R.start;R.length=X0{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(n,g=>g*vC)),l.addColorStop(1,n),l}),this.darkerColors=this.plainColors.map(n=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(n,g=>g*vC*kC)),l.addColorStop(1,B$(n,g=>g*kC)),l}),this.sidewaysChannelColors=this.plainColors.map(n=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(n,g=>g*vC)),l.addColorStop(1,n),l}),this.sidewaysDarkerColors=this.plainColors.map(n=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(n,g=>g*vC*kC)),l.addColorStop(1,B$(n,g=>g*kC)),l})}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}onRender;get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(n){this._normalAnalyserFft=n,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(n){this._drumAnalyserFft=n,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(n){this._renderBool=n,n===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(n){if(n.max===void 0||n.min===void 0)throw new TypeError("No min or max property!");if(n.min>n.max){let l=n.min;n.min=n.max,n.max=l}n.min=Math.max(0,n.min),n.max=Math.min(127,n.max),this._keyRange=n}};_i.prototype.render=Ay;_i.prototype.computeNotePositions=ay;_i.prototype.createChannelAnalysers=fy;_i.prototype.updateFftSize=uy;_i.prototype.connectChannelAnalysers=dy;_i.prototype.disconnectChannelAnalysers=Iy;_i.prototype.connectSequencer=Ey;_i.prototype.calculateNoteTimes=Cy;_i.prototype.resetIndexes=my;_i.prototype.renderWaveforms=gy;function SC(o){let n=[o&127];for(o>>=7;o>0;)n.unshift(o&127|128),o>>=7;return n}function bC(o){let n=[];for(let u of o.tracks){let S=[],r0=0,E0;for(let m0 of u){let g0=m0.ticks-r0,u1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?u1=[255,m0.messageStatusByte,...SC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?u1=[240,...SC(m0.messageData.length),...m0.messageData]:(u1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,u1.push(m0.messageStatusByte)),u1.push(...m0.messageData)),S.push(...SC(g0)),S.push(...u1),r0+=g0}n.push(new Uint8Array(S))}function l(u,S){for(let r0=0;r0{o.tracks.forEach((b1,l2)=>{if(o.midiPorts[l2]===F0)for(let y1=b1.length-1;y1>=0;y1--)b1[y1].messageStatusByte>=128&&b1[y1].messageStatusByte<240&&(b1[y1].messageStatusByte&15)===X0&&b1.splice(y1,1)})};g.forEach(X0=>{let F0=X0%16,b1=X0-F0,l2=o.midiPortChannelOffsets.findIndex(y1=>y1===b1);S(F0,l2),Y5(`%cRemoving channel %c${X0}%c!`,_1.info,_1.recognized,_1.info)});let r0=!1,E0="gs",m0=[],g0=[];o.tracks.forEach((X0,F0)=>{X0.forEach(b1=>{let l2=b1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):l2===K3.programChange?g0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):b1.messageStatusByte===K3.systemExclusive&&(b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[5]===126&&b1.messageData[6]===0?(Y5("%cXG system on detected",_1.info),E0="xg",r0=!0):b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[3]===8&&b1.messageData[5]===3&&g0.push({track:F0,message:b1,channel:b1.messageData[4]}))})});let u1=(X0,F0,b1)=>o.tracks.reduce((l2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(X0)&&o.midiPorts[Y2]===F0){let T2;b1?T2=y1.findIndex(K2=>(K2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(K2=>K2.messageStatusByte>128&&K2.messageStatusByte<240&&(K2.messageStatusByte&15)===X0&&!(K2.messageStatusByte&K3.controllerChange===240&&(K2.messageData[0]===t6.resetAllControllers||K2.messageData[0]===t6.allNotesOff||K2.messageData[0]===t6.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),R=(X0,F0,b1)=>{let l2=m0.filter(y1=>y1.channel===X0&&y1.message.messageData[0]===b1&&o.midiPorts[y1.track]===F0);for(let y1=0;y1{let F0=X0.channel,b1=F0%16,l2=F0-b1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===l2),Y2=X0.controllerValue,T2=X0.controllerNumber;R(b1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${F0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let K2=u1(b1,y1,!0);if(K2.length===0){R4("Program change but no notes... ignoring!");return}let i3=K2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let F0=X0.channel%16,b1=X0.channel-F0,l2=o.midiPortChannelOffsets.findIndex($3=>$3===b1),y1=X0.isDrum?0:X0.bank,Y2=X0.program,T2=g0.filter($3=>o.midiPorts[$3.track]===l2&&$3.channel===F0);if(R(F0,l2,t6.bankSelect),R(F0,l2,t6.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!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!r0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,YB(0)),Y5("%cGS on not detected. Adding it.",_1.info),r0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let K2=u1(F0,l2,b1>0);if(K2.length===0){R4("Program change but no notes... ignoring!");return}let i3=K2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==b1||!o.usedChannelsOnTrack[T2].has(F0))return;let K2=K3.noteOn|F0,i3=K3.noteOff|F0,n3=K3.polyPressure|F0;Y2.forEach(A0=>{A0.messageStatusByte!==K2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==n3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+l2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(X0.channel));if(Y2===void 0){R4(`Channel ${X0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|X0.channel%16,K2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(K2===-1){R4(`No notes on channel ${X0.channel} but transpose requested???`);continue}let i3=Y2[K2].ticks,n3=y1*64+64,A0=K3.controllerChange|X0.channel%16,y5=new Ei(i3,A0,new J3([t6.RPNMsb,0])),M3=new Ei(i3,A0,new J3([t6.RPNLsb,1])),$3=new Ei(i3,A0,new J3([t6.dataEntryMsb,n3])),w6=new Ei(i3,A0,new J3([t6.lsbForControl6DataEntry,0]));Y2.splice(K2,0,w6),Y2.splice(K2,0,$3),Y2.splice(K2,0,M3),Y2.splice(K2,0,y5)}}i4()}function hh(o,n){let l=[],g=[],u=[],S=[];n.channelSnapshots.forEach((r0,E0)=>{if(r0.isMuted){g.push(E0);return}let m0=r0.channelTransposeKeyShift+r0.customControllers[yC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),r0.lockPreset&&u.push({channel:E0,program:r0.program,bank:r0.bank,isDrum:r0.drumChannel}),r0.lockedControllers.forEach((g0,u1)=>{if(!g0||u1>127||u1===t6.bankSelect)return;let R=r0.midiControllers[u1]>>7;S.push({channel:E0,controllerNumber:u1,controllerValue:R})})}),Ub(o,u,S,g,l)}var Mt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",Pb="Created using SpessaSynth";function py(o,n,l,g=0,u="Shift_JIS",S={},r0=!0){if(gn("%cWriting the RMIDI File...",_1.info),Y5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${u}`,_1.info,_1.value,_1.info,_1.value),Y5("metadata",S),Y5("Initial bank offset",n.bankOffset),r0){let Y2=function(){let n3=0,A0=1/0;return n.tracks.forEach((y5,M3)=>{l2[M3]>=y5.length||y5[l2[M3]].ticksA0>n3?A0:n3),i3=[];for(let n3=0;n30;){let n3=Y2(),A0=n.tracks[n3];if(l2[n3]>=A0.length){y1--;continue}let y5=A0[l2[n3]];l2[n3]++;let M3=n.midiPortChannelOffsets[T2[n3]];if(y5.messageStatusByte===K3.midiPort){T2[n3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?F0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?F0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(F0="gm",b1.push({tNum:n3,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]+M3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+M3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(n4=>n4.program===y5.messageData[0]&&n4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(n4=>n4.bank===128)?.program||0):l.presets.findIndex(n4=>n4.program===y5.messageData[0]&&n4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(n4=>n4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-n.bankOffset),K4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(F0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(n4=>n4.bank===K4&&n4.program===y5.messageData[0])===-1){let n4=l.presets.find(K6=>K6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=n4,Y5(`%cNo preset %c${K4}:${y5.messageData[0]}%c. Changing bank to ${n4}.`,_1.info,_1.recognized,_1.info)}else{let K6=(K4===128?F0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=K6,Y5(`%cPreset %c${K4}:${y5.messageData[0]}%c exists. Changing bank to ${K6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===t6.bankSelect&&(s6.hasBankSelect=!0,F0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((n3,A0)=>{if(n3.hasBankSelect===!0)return;let y5=A0%16,M3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=n.midiPortChannelOffsets.indexOf($3),s6=n.tracks.find((K6,We)=>n.midiPorts[We]===w6&&n.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(K6=>K6.messageStatusByte===M3);if(o9===-1){let K6=s6.findIndex(Ji=>Ji.messageStatusByte>128&&Ji.messageStatusByte<240&&(Ji.messageStatusByte&15)===y5);if(K6===-1)return;let We=s6[K6].ticks,On=l.getPreset(0,0).program;s6.splice(K6,0,new Ei(We,K3.programChange|y5,new J3([On]))),o9=K6}Y5(`%cAdding bank select for %c${A0}`,_1.info,_1.recognized);let K4=s6[o9].ticks,n4=l.getPreset(0,n3.program)?.bank+g||g;s6.splice(o9,0,new Ei(K4,K3.controllerChange|y5,new J3([t6.bankSelect,n4])))}),F0!=="gs"&&F0!=="xg"){for(let A0 of b1)n.tracks[A0.tNum].splice(n.tracks[A0.tNum].indexOf(A0.e),1);let n3=0;n.tracks[0][0].messageStatusByte===K3.trackName&&n3++,n.tracks[0].splice(n3,0,YB(0))}}let E0=new J3(bC(n).buffer),m0=[xA("INFO")],g0=new TextEncoder;if(m0.push(Ze(Mt.software,g0.encode("SpessaSynth"),!0)),S.name!==void 0?(m0.push(Ze(Mt.name,g0.encode(S.name),!0)),u=FA):m0.push(Ze(Mt.name,n.rawMidiName,!0)),S.creationDate!==void 0)u=FA,m0.push(Ze(Mt.creationDate,g0.encode(S.creationDate),!0));else{let F0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Mt.creationDate,xA(F0),!0))}if(S.comment!==void 0&&(u=FA,m0.push(Ze(Mt.comment,g0.encode(S.comment)))),S.engineer!==void 0&&m0.push(Ze(Mt.engineer,g0.encode(S.engineer),!0)),S.album!==void 0&&(u=FA,m0.push(Ze(Mt.album,g0.encode(S.album),!0))),S.artist!==void 0&&(u=FA,m0.push(Ze(Mt.artist,g0.encode(S.artist),!0))),S.genre!==void 0&&(u=FA,m0.push(Ze(Mt.genre,g0.encode(S.genre),!0))),S.picture!==void 0&&m0.push(Ze(Mt.picture,new Uint8Array(S.picture))),S.copyright!==void 0)u=FA,m0.push(Ze(Mt.copyright,g0.encode(S.copyright),!0));else{let F0=n.copyright.length>0?n.copyright:Pb;m0.push(Ze(Mt.copyright,xA(F0)))}let u1=new J3(2);l7(u1,g,2),m0.push(Ze(Mt.bankOffset,u1)),S.midiEncoding!==void 0&&(m0.push(Ze(Mt.midiEncoding,g0.encode(S.midiEncoding))),u=FA),m0.push(Ze(Mt.encoding,xA(u)));let R=vr(m0),X0=vr([xA("RMID"),Ze("data",E0),Ze("LIST",R),o]);return Y5("%cFinished!",_1.info),i4(),Ze("RIFF",X0)}function vm(o,n){let l=0;for(;o>0;){let g=n.tempoChanges.find(S=>S.ticks=128){this.MIDIout.send(g);return}break;case MA.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(E0=>E0[1](u)),this.unpause();break;case MA.textEvent:let S=l;this.onTextEvent&&this.onTextEvent(S[0],S[1]);break;case MA.timeChange:let r0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](r0)),this.unpause(),this._recalculateStartTime(r0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(n){this._sendMessage(Ri.setPlaybackRate,n),this.highResTimeOffset*=n/this._playbackRate,this._playbackRate=n}get playbackRate(){return this._playbackRate}addOnSongChangeEvent(n,l){this.onSongChange[l]=n,n(this.midiData)}addOnSongEndedEvent(n,l){this.onSongEnded[l]=n}addOnTimeChangeEvent(n,l){this.onTimeChange[l]=n}async getMIDI(){return new Promise(n=>{this._getMIDIResolve=n,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(n){this.pause(),this.midiData=Qy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,n),this.songIndex=0,this.songsAmount=n.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(Ri.changeSong,!0)}previousSong(){this._sendMessage(Ri.changeSong,!1)}get currentTime(){return this.pausedTime?this.pausedTime:(this.synth.currentTime-this.absoluteStartTime)*this._playbackRate}_recalculateStartTime(n){this.absoluteStartTime=this.synth.currentTime-n/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}get currentHighResolutionTime(){if(this.pausedTime)return this.pausedTime;let n=this.highResTimeOffset,l=this.absoluteStartTime,g=(performance.now()/1e3-l)*this._playbackRate,u=n+g,S=this.currentTime,r0=.01*this._playbackRate,E0=S-u;return this.highResTimeOffset+=E0*r0,u=this.highResTimeOffset+g,u}set currentTime(n){this.unpause(),this._sendMessage(Ri.setTime,n)}connectMidiOutput(n){this.resetMIDIOut(),this.MIDIout=n,this._sendMessage(Ri.changeMIDIMessageSending,n!==void 0),this.currentTime-=.1}pause(){if(this.paused){R4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}get paused(){return this.pausedTime!==void 0}play(n=!1){this.isFinished&&(n=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,n)}stop(){this._sendMessage(Ri.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};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 y$(o){return` @@ -75,7 +75,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,l)=>( `}function KB(o){return` -`}function uh(o,n){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=n,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 Fy(){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 My(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let n=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=FB(n)}if(this.seq.midiData){let n=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(n.reduce((g,u)=>g+u.length,0));let l=0;for(let g of n)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var Hb=parseFloat(getComputedStyle(document.body).fontSize);function Ty(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let n=document.createElement("div");n.classList.add("lyrics_title_wrapper"),o.append(n),this.lyricsElement.titleWrapper=n;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),n.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");Sm.forEach(u1=>{let R=document.createElement("option");R.innerText=u1,R.value=u1,g.appendChild(R)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,n.appendChild(g);let u=document.createElement("p");u.classList.add("lyrics_text"),o.appendChild(u);let S=document.createElement("span");S.classList.add("lyrics_text_highlight"),u.appendChild(S);let r0=document.createElement("span");r0.classList.add("lyrics_text_gray"),u.appendChild(r0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let g0=document.createElement("div");g0.innerText="",E0.appendChild(g0),o.appendChild(E0),this.lyricsElement.text={highlight:S,gray:r0,main:u,other:g0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=g,this.controls.appendChild(o),this.requiresTextUpdate=!0}function Ny(o){let n=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),n.innerText=o,this.lyricsElement.text.main.scrollTo(0,n.offsetHeight-Hb*5)}function Gy(){let o="";for(let n of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===n.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(n.data.buffer)}

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

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

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

${o}

\xD7 @@ -213,7 +213,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,l)=>( \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 -\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:Mw,settings:Fw,synthesizerController:Nw,sequencerController:Gw};var zB="en",k$={en:Bw,pl:_w,ja:Pw};var Zb=.2,Ci=class{constructor(n,l,g,u,S,r0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=S,this.midiDeviceHandler=r0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=k$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let g0=document.createElement("div");g0.style.position="relative",g0.classList.add("seamless_button"),g0.classList.add("settings_button"),n.appendChild(g0);let u1=document.createElement("div");u1.classList.add("seamless_button"),this.locale.bindObjectProperty(u1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(u1,"title","locale.musicPlayerMode.toggleButton.description"),n.appendChild(u1);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"),n.appendChild(R);let Z0=document.getElementsByClassName("show_top_button")[0];Z0.innerHTML=xy(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),g0.appendChild(G0);let b1=document.createElement("div");b1.innerHTML=_y(24),b1.classList.add("gear"),g0.appendChild(b1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,g0.onclick=()=>this.setVisibility(!this.visible),n.appendChild(this.mainDiv),u1.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=Wy,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,S,r0,g,l)}):this.createHandlers(u,S,r0,g,l),this.topPartVisible=!0;let l2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,K2=window.outerWidth,i3;i3=Y2===K2&&y1===T2,i3!==l2&&(l2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;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 n=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];n.style.display="",setTimeout(()=>{n.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let n=document.getElementsByClassName("top_part")[0];n.classList.add("top_part_hidden"),setTimeout(()=>{n.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(n){this.animationId&&clearTimeout(this.animationId),n?(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"},Zb*1e3)),this.visible=n}createHandlers(n,l,g,u,S){this._createRendererHandler(n),this._createMidiSettingsHandler(g,u,S),this._createKeyboardHandler(l,S,n),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")}}}};Ci.prototype._toggleDarkMode=ow;Ci.prototype._createInterfaceSettingsHandler=iw;Ci.prototype._changeLayout=nw;Ci.prototype._createRendererHandler=Aw;Ci.prototype._createMidiSettingsHandler=$w;Ci.prototype._createMidiInputHandler=lw;Ci.prototype._createMidiOutputHandler=cw;Ci.prototype._createKeyboardHandler=Zy;Ci.prototype._loadSettings=Xy;Ci.prototype._serializeSettings=tw;Ci.prototype._saveSettings=ew;var Ow=.5,OC=class{constructor(n,l){this.mainDiv=n,this.mainDiv.innerHTML=` +\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:Mw,settings:Fw,synthesizerController:Nw,sequencerController:Gw};var zB="en",k$={en:Bw,pl:_w,ja:Pw};var Zb=.2,Ci=class{constructor(n,l,g,u,S,r0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=S,this.midiDeviceHandler=r0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=k$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let g0=document.createElement("div");g0.style.position="relative",g0.classList.add("seamless_button"),g0.classList.add("settings_button"),n.appendChild(g0);let u1=document.createElement("div");u1.classList.add("seamless_button"),this.locale.bindObjectProperty(u1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(u1,"title","locale.musicPlayerMode.toggleButton.description"),n.appendChild(u1);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"),n.appendChild(R);let X0=document.getElementsByClassName("show_top_button")[0];X0.innerHTML=xy(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),g0.appendChild(F0);let b1=document.createElement("div");b1.innerHTML=_y(24),b1.classList.add("gear"),g0.appendChild(b1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,g0.onclick=()=>this.setVisibility(!this.visible),n.appendChild(this.mainDiv),u1.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=Wy,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,S,r0,g,l)}):this.createHandlers(u,S,r0,g,l),this.topPartVisible=!0;let l2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,K2=window.outerWidth,i3;i3=Y2===K2&&y1===T2,i3!==l2&&(l2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;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 n=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];n.style.display="",setTimeout(()=>{n.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let n=document.getElementsByClassName("top_part")[0];n.classList.add("top_part_hidden"),setTimeout(()=>{n.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(n){this.animationId&&clearTimeout(this.animationId),n?(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"},Zb*1e3)),this.visible=n}createHandlers(n,l,g,u,S){this._createRendererHandler(n),this._createMidiSettingsHandler(g,u,S),this._createKeyboardHandler(l,S,n),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")}}}};Ci.prototype._toggleDarkMode=ow;Ci.prototype._createInterfaceSettingsHandler=iw;Ci.prototype._changeLayout=nw;Ci.prototype._createRendererHandler=Aw;Ci.prototype._createMidiSettingsHandler=$w;Ci.prototype._createMidiInputHandler=lw;Ci.prototype._createMidiOutputHandler=cw;Ci.prototype._createKeyboardHandler=Zy;Ci.prototype._loadSettings=Xy;Ci.prototype._serializeSettings=tw;Ci.prototype._saveSettings=ew;var Ow=.5,OC=class{constructor(n,l){this.mainDiv=n,this.mainDiv.innerHTML=`
@@ -257,20 +257,20 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,l)=>(
`;for(let g of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path"));for(let g of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(g,"title",g.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(n){document.getElementById("player_info_title").textContent=n}connectSequencer(n){this.seq=n,this.seq.addOnSongChangeEvent(l=>{let g=l.copyright.replaceAll(` -`,""),u=(G0,b1,l2=!0)=>{let y1=document.getElementById(G0);if(b1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",b1.length>30&&l2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=b1,y1.appendChild(Y2)}else y1.textContent=b1;else y1.parentElement.classList.add("hidden")};u("player_info_detail",g),u("player_info_time",E$(this.seq.duration).time),u("player_info_file_name",l.fileName,!1);let S=(G0,b1,l2,y1="")=>this.seq.midiData.RMIDInfo?.[G0]===void 0?b1:y1+l2.decode(this.seq.midiData.RMIDInfo?.[G0]).replace(/\0$/,""),r0=S("IENC","ascii",new TextDecoder),E0=new TextDecoder(r0);u("player_info_album",S("IPRD","",E0)),u("player_info_artist",S("IART","",E0)),u("player_info_genre",S("IGNR","",E0)),u("player_info_creation",S("ICRD","",E0)+S("ICRT","",E0,` -`)),u("player_info_comment",S("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],g0=this.mainDiv.getElementsByTagName("img")[0],u1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",g0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",g0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",g0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),Z0=URL.createObjectURL(R);g0.src=Z0,u1.style.setProperty("--bg-image",`url('${Z0}')`)},"player-js-song-change")}setVisibility(n,l){if(n===this.visible)return;this.visible=n,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(n){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let u=l.clientHeight,S=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${S}px`,g.style.height=`${u}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},Ow*1e3)}else{let u=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${u}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Ow*1e3)}}};var HC=class{constructor(n){this.locale=k$[n]||k$[zB],this.fallbackLocale=k$[zB],this.localeCode=n,this._boundObjectProperties=[]}getLocaleString(n,l=[]){let g=this._resolveLocalePath(n);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(n){if(n.isEdited)return;let l=this._resolveLocalePath(n.localePath);n.formattingArguments.length>0&&(l=this._formatLocale(l,n.formattingArguments)),n.object[n.propertyName]=l}_validatePropertyIntegrity(n){let l=this._resolveLocalePath(n.localePath);n.formattingArguments.length>0&&(l=this._formatLocale(l,n.formattingArguments)),n.object[n.propertyName]!==l&&(n.isEdited=!0)}onLocaleChanged=[];_formatLocale(n,l){return n.replace(/{(\d+)}/g,(g,u)=>typeof l[u]<"u"?l[u]:g)}bindObjectProperty(n,l,g,u=[]){let S={object:n,propertyName:l,localePath:g,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(S),this._boundObjectProperties.push(S)}_resolveLocalePath(n,l=!1){if(!n.startsWith("locale."))throw new Error(`Invalid locale path: ${n} (it should start with "locale.")`);let g=n.split("."),u=l?this.fallbackLocale:this.locale;for(let S=1;S{this._validatePropertyIntegrity(u)}),this.locale=g,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function ZB(o,n=!0,l=0,g={},u=void 0){let S=o.getChannelData(l),r0=o.getChannelData(l+1),E0=S.length,m0=2,g0=new J3(0),u1=Object.keys(g).length>0;if(u1){let A0=new TextEncoder,y5=[xA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",A0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",A0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",A0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",A0.encode(g.title),!0)),g0=Ze("LIST",vr(y5))}let R=new J3(0),Z0=u?.end!==void 0&&u?.start!==void 0;if(Z0){let A0=Math.floor(u.start*o.sampleRate),y5=Math.floor(u.end*o.sampleRate),M3=new J3(24);l7(M3,0,4),l7(M3,0,4),g7(M3,"data"),l7(M3,0,4),l7(M3,0,4),l7(M3,A0,4);let $3=new J3(24);l7($3,1,4),l7($3,0,4),g7($3,"data"),l7($3,0,4),l7($3,0,4),l7($3,y5,4);let w6=vr([new J3([2,0,0,0]),M3,$3]);R=Ze("cue ",w6)}let G0=44,b1=E0*2*m0,l2=G0+b1+g0.length+R.length-8,y1=new Uint8Array(G0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([l2&255,l2>>8&255,l2>>16&255,l2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([b1&255,b1>>8&255,b1>>16&255,b1>>24&255]),40);let K2=new Uint8Array(l2+8),i3=G0;K2.set(y1,0);let n3=32767;if(n){let A0=S.map((y5,M3)=>Math.max(Math.abs(y5),Math.abs(r0[M3]))).reduce((y5,M3)=>Math.max(y5,M3));n3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,K2[i3++]=M3&255,K2[i3++]=M3>>8&255}return u1&&(K2.set(g0,i3),i3+=g0.length),Z0&&K2.set(R,i3),new Blob([K2.buffer],{type:"audio/wav"})}var qC="synthetizer/worklet_processor.min.js";var Hw=1e3;async function qw(o=!0,n=2,l=!1,g={},u=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let S=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),r0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=mt(S,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),g0=await this.seq.getMIDI(),u1=vm(g0.loop.start,g0),R=vm(g0.loop.end,g0),Z0=R-u1,G0=g0.duration+n+Z0*u,b1=this.context.sampleRate,l2=b1*G0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:b1,length:l2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+qC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,K2;try{K2=new ch(y1.destination,T2,!1,{parsedMIDI:g0,snapshot:Y2,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw mt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=m0.div.getElementsByTagName("p")[0],n3=m0.div.getElementsByClassName("notification_progress")[0],A0=Hw/1e3,y5=K2.currentTime,M3=G0,$3=.1,w6=setInterval(()=>{let o9=K2.currentTime-y5;y5=K2.currentTime;let K4=K2.currentTime/G0;n3.style.width=`${K4*100}%`;let n4=o9/A0,K6=(1-K4)/n4*G0;K6!==1/0&&(M3=$3*K6+(1-$3)*M3,i3.innerText=`${r0} ${E$(M3).time}`)},Hw),s6=await y1.startRendering();if(n3.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=[],n4=new Set;for(let We of g0.usedChannelsOnTrack)We.forEach(On=>n4.add(On));for(let We=0;We<16;We++){let On=!0;for(let Ji=We;Ji{let Ms=OA.textContent;OA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(XC=>setTimeout(XC,75));let Lm=ZB(s6,!1,We*2),_$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Lm,_$),OA.classList.add("green_button"),OA.textContent=Ms}})}let K6=mt(this.localeManager.getLocaleString(o9+"title"),K4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});K6.div.style.width="30rem"}else{let o9=vm(g0.firstNoteOn,g0),K4=u1-o9,n4=R-o9,K6;u===0&&(K6={start:K4,end:n4});let We=ZB(s6,o,0,g,K6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}Ot(m0.id),this.isExporting=!1}async function Yw(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",n="locale.exportAudio.formats.metadata.",l=(g0,u1,R)=>this.seq.midiData.RMIDInfo?.[g0]===void 0?u1:R.decode(this.seq.midiData.RMIDInfo?.[g0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),u=new TextDecoder(g),S=l("IPRD","",u),r0=l("IART","",u),E0=l("IGNR","",u),m0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:n+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:n+"album",attributes:{value:S,name:"album",type:"text"}},{type:"input",translatePathTitle:n+"artist",attributes:{value:r0,name:"artist",type:"text"}},{type:"input",translatePathTitle:n+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:g0=>{Ot(g0.id);let u1=g0.div.querySelector("input[normalize-volume-toggle]").checked,R=g0.div.querySelector("input[additional-time]").value,Z0=g0.div.querySelector("input[loop-count]").value,G0=g0.div.querySelector("input[separate-channels-toggle]").checked,b1=g0.div.querySelector("input[name='artist']").value,l2=g0.div.querySelector("input[name='album']").value,y1=g0.div.querySelector("input[name='song_title']").value,Y2=g0.div.querySelector("input[name='genre']").value,T2={artist:b1.length>0?b1:void 0,album:l2.length>0?l2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(u1,parseInt(R),G0,T2,parseInt(Z0))}}];mt(this.localeManager.getLocaleString(o+"title"),m0,9999999,!0,this.localeManager)}async function Jw(){let o=await this.seq.getMIDI();hh(o,await this.synth.getSynthesizerSnapshot());let n=bC(o),l=new Blob([n],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Kw(o,n){ni("%cSearching for all used programs and keys...",_1.info);let l=16+o.midiPortChannelOffsets.reduce((R,Z0)=>Z0>R?Z0:R),g=[];for(let R=0;R{r0[b1]>=G0.length||G0[r0[b1]].ticks0;){let R=m0(),Z0=o.tracks[R];if(r0[R]>=Z0.length){E0--;continue}let G0=Z0[r0[R]];if(r0[R]++,G0.messageStatusByte===K3.midiPort){g0[R]=G0.messageData[0];continue}let b1=G0.messageStatusByte&240;if(b1!==K3.noteOn&&b1!==K3.controllerChange&&b1!==K3.programChange&&b1!==K3.systemExclusive)continue;let l2=(G0.messageStatusByte&15)+o.midiPortChannelOffsets[g0[R]]||0,y1=g[l2];switch(b1){case K3.programChange:y1.program=G0.messageData[0],u(y1);break;case K3.controllerChange:if(G0.messageData[0]!==t6.bankSelect||u1==="gs"&&y1.drums)continue;let Y2=G0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(u1==="xg"){let n3=Y2===120||Y2===126||Y2===127;n3!==y1.drums?(y1.drums=n3,y1.bank=y1.drums?128:T2,u(y1)):y1.bank=y1.drums?128:T2;continue}g[l2].bank=T2;break;case K3.noteOn:if(G0.messageData[1]===0)continue;u(y1),S[y1.string].add(`${G0.messageData[0]}-${G0.messageData[1]}`);break;case K3.systemExclusive:if(G0.messageData[0]!==65||G0.messageData[2]!==66||G0.messageData[3]!==18||G0.messageData[4]!==64||!(G0.messageData[5]&16)||G0.messageData[6]!==21){G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[5]===126&&G0.messageData[6]===0&&(u1="xg");continue}let K2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][G0.messageData[5]&15]+o.midiPortChannelOffsets[g0[R]],i3=!!(G0.messageData[7]>0&&G0.messageData[5]>>4);y1=g[K2],y1.drums=i3,y1.bank=i3?128:0,u(y1);break}}for(let R of Object.keys(S))S[R].size===0&&(Y5(`%cDetected change but no keys for %c${R}`,_1.info,_1.value),delete S[R]);return i4(),S}function YC(o,n){function l(u,S){let r0=0;for(let E0=0;E0=g0.min&&Z0.key<=g0.max&&Z0.velocity>=u1.min&&Z0.velocity<=u1.max){R=!0;break}R||(Y5(`%c${m0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${m0.useCount-1}`,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized),u.safeDeleteZone(E0)&&(r0++,E0--,Y5(`%c${m0.sample.sampleName} %cdeleted`,_1.recognized,_1.info)),m0.sample.useCount<1&&o.deleteSample(m0.sample))}return r0}gn("%cTrimming soundfont...",_1.info);let g=Kw(n,o);ni("%cModifying soundfont...",_1.info),Y5("Detected keys for midi:",g);for(let u=0;u{let R=u1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ni(`%cTrimming %c${S.presetName}`,_1.info,_1.recognized),Y5(`Keys for ${S.presetName}:`,m0);let g0=0;for(let u1=0;u1=Z0.min&&l2.key<=Z0.max&&l2.velocity>=G0.min&&l2.velocity<=G0.max){b1=!0;let y1=l(R.instrument,m0);Y5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,_1.info,_1.recognized,_1.info,_1.recognized);break}b1||(g0++,S.deleteZone(u1),R.instrument.useCount<1&&o.deleteInstrument(R.instrument),u1--)}Y5(`%cTrimmed off %c${g0}%c zones from %c${S.presetName}`,_1.info,_1.recognized,_1.info,_1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${n.midiName}" +`,""),u=(F0,b1,l2=!0)=>{let y1=document.getElementById(F0);if(b1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",b1.length>30&&l2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=b1,y1.appendChild(Y2)}else y1.textContent=b1;else y1.parentElement.classList.add("hidden")};u("player_info_detail",g),u("player_info_time",E$(this.seq.duration).time),u("player_info_file_name",l.fileName,!1);let S=(F0,b1,l2,y1="")=>this.seq.midiData.RMIDInfo?.[F0]===void 0?b1:y1+l2.decode(this.seq.midiData.RMIDInfo?.[F0]).replace(/\0$/,""),r0=S("IENC","ascii",new TextDecoder),E0=new TextDecoder(r0);u("player_info_album",S("IPRD","",E0)),u("player_info_artist",S("IART","",E0)),u("player_info_genre",S("IGNR","",E0)),u("player_info_creation",S("ICRD","",E0)+S("ICRT","",E0,` +`)),u("player_info_comment",S("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],g0=this.mainDiv.getElementsByTagName("img")[0],u1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",g0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",g0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",g0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),X0=URL.createObjectURL(R);g0.src=X0,u1.style.setProperty("--bg-image",`url('${X0}')`)},"player-js-song-change")}setVisibility(n,l){if(n===this.visible)return;this.visible=n,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(n){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let u=l.clientHeight,S=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${S}px`,g.style.height=`${u}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},Ow*1e3)}else{let u=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${u}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Ow*1e3)}}};var HC=class{constructor(n){this.locale=k$[n]||k$[zB],this.fallbackLocale=k$[zB],this.localeCode=n,this._boundObjectProperties=[]}getLocaleString(n,l=[]){let g=this._resolveLocalePath(n);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(n){if(n.isEdited)return;let l=this._resolveLocalePath(n.localePath);n.formattingArguments.length>0&&(l=this._formatLocale(l,n.formattingArguments)),n.object[n.propertyName]=l}_validatePropertyIntegrity(n){let l=this._resolveLocalePath(n.localePath);n.formattingArguments.length>0&&(l=this._formatLocale(l,n.formattingArguments)),n.object[n.propertyName]!==l&&(n.isEdited=!0)}onLocaleChanged=[];_formatLocale(n,l){return n.replace(/{(\d+)}/g,(g,u)=>typeof l[u]<"u"?l[u]:g)}bindObjectProperty(n,l,g,u=[]){let S={object:n,propertyName:l,localePath:g,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(S),this._boundObjectProperties.push(S)}_resolveLocalePath(n,l=!1){if(!n.startsWith("locale."))throw new Error(`Invalid locale path: ${n} (it should start with "locale.")`);let g=n.split("."),u=l?this.fallbackLocale:this.locale;for(let S=1;S{this._validatePropertyIntegrity(u)}),this.locale=g,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function ZB(o,n=!0,l=0,g={},u=void 0){let S=o.getChannelData(l),r0=o.getChannelData(l+1),E0=S.length,m0=2,g0=new J3(0),u1=Object.keys(g).length>0;if(u1){let A0=new TextEncoder,y5=[xA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",A0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",A0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",A0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",A0.encode(g.title),!0)),g0=Ze("LIST",vr(y5))}let R=new J3(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),M3=new J3(24);l7(M3,0,4),l7(M3,0,4),g7(M3,"data"),l7(M3,0,4),l7(M3,0,4),l7(M3,A0,4);let $3=new J3(24);l7($3,1,4),l7($3,0,4),g7($3,"data"),l7($3,0,4),l7($3,0,4),l7($3,y5,4);let w6=vr([new J3([2,0,0,0]),M3,$3]);R=Ze("cue ",w6)}let F0=44,b1=E0*2*m0,l2=F0+b1+g0.length+R.length-8,y1=new Uint8Array(F0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([l2&255,l2>>8&255,l2>>16&255,l2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([b1&255,b1>>8&255,b1>>16&255,b1>>24&255]),40);let K2=new Uint8Array(l2+8),i3=F0;K2.set(y1,0);let n3=32767;if(n){let A0=S.map((y5,M3)=>Math.max(Math.abs(y5),Math.abs(r0[M3]))).reduce((y5,M3)=>Math.max(y5,M3));n3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,K2[i3++]=M3&255,K2[i3++]=M3>>8&255}return u1&&(K2.set(g0,i3),i3+=g0.length),X0&&K2.set(R,i3),new Blob([K2.buffer],{type:"audio/wav"})}var qC="synthetizer/worklet_processor.min.js";var Hw=1e3;async function qw(o=!0,n=2,l=!1,g={},u=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let S=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),r0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=mt(S,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),g0=await this.seq.getMIDI(),u1=vm(g0.loop.start,g0),R=vm(g0.loop.end,g0),X0=R-u1,F0=g0.duration+n+X0*u,b1=this.context.sampleRate,l2=b1*F0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:b1,length:l2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+qC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,K2;try{K2=new ch(y1.destination,T2,!1,{parsedMIDI:g0,snapshot:Y2,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw mt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=m0.div.getElementsByTagName("p")[0],n3=m0.div.getElementsByClassName("notification_progress")[0],A0=Hw/1e3,y5=K2.currentTime,M3=F0,$3=.1,w6=setInterval(()=>{let o9=K2.currentTime-y5;y5=K2.currentTime;let K4=K2.currentTime/F0;n3.style.width=`${K4*100}%`;let n4=o9/A0,K6=(1-K4)/n4*F0;K6!==1/0&&(M3=$3*K6+(1-$3)*M3,i3.innerText=`${r0} ${E$(M3).time}`)},Hw),s6=await y1.startRendering();if(n3.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=[],n4=new Set;for(let We of g0.usedChannelsOnTrack)We.forEach(On=>n4.add(On));for(let We=0;We<16;We++){let On=!0;for(let Ji=We;Ji{let Ms=OA.textContent;OA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(XC=>setTimeout(XC,75));let Lm=ZB(s6,!1,We*2),_$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Lm,_$),OA.classList.add("green_button"),OA.textContent=Ms}})}let K6=mt(this.localeManager.getLocaleString(o9+"title"),K4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});K6.div.style.width="30rem"}else{let o9=vm(g0.firstNoteOn,g0),K4=u1-o9,n4=R-o9,K6;u===0&&(K6={start:K4,end:n4});let We=ZB(s6,o,0,g,K6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}Ot(m0.id),this.isExporting=!1}async function Yw(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",n="locale.exportAudio.formats.metadata.",l=(g0,u1,R)=>this.seq.midiData.RMIDInfo?.[g0]===void 0?u1:R.decode(this.seq.midiData.RMIDInfo?.[g0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),u=new TextDecoder(g),S=l("IPRD","",u),r0=l("IART","",u),E0=l("IGNR","",u),m0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:n+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:n+"album",attributes:{value:S,name:"album",type:"text"}},{type:"input",translatePathTitle:n+"artist",attributes:{value:r0,name:"artist",type:"text"}},{type:"input",translatePathTitle:n+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:g0=>{Ot(g0.id);let u1=g0.div.querySelector("input[normalize-volume-toggle]").checked,R=g0.div.querySelector("input[additional-time]").value,X0=g0.div.querySelector("input[loop-count]").value,F0=g0.div.querySelector("input[separate-channels-toggle]").checked,b1=g0.div.querySelector("input[name='artist']").value,l2=g0.div.querySelector("input[name='album']").value,y1=g0.div.querySelector("input[name='song_title']").value,Y2=g0.div.querySelector("input[name='genre']").value,T2={artist:b1.length>0?b1:void 0,album:l2.length>0?l2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(u1,parseInt(R),F0,T2,parseInt(X0))}}];mt(this.localeManager.getLocaleString(o+"title"),m0,9999999,!0,this.localeManager)}async function Jw(){let o=await this.seq.getMIDI();hh(o,await this.synth.getSynthesizerSnapshot());let n=bC(o),l=new Blob([n],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Kw(o,n){ni("%cSearching for all used programs and keys...",_1.info);let l=16+o.midiPortChannelOffsets.reduce((R,X0)=>X0>R?X0:R),g=[];for(let R=0;R{r0[b1]>=F0.length||F0[r0[b1]].ticks0;){let R=m0(),X0=o.tracks[R];if(r0[R]>=X0.length){E0--;continue}let F0=X0[r0[R]];if(r0[R]++,F0.messageStatusByte===K3.midiPort){g0[R]=F0.messageData[0];continue}let b1=F0.messageStatusByte&240;if(b1!==K3.noteOn&&b1!==K3.controllerChange&&b1!==K3.programChange&&b1!==K3.systemExclusive)continue;let l2=(F0.messageStatusByte&15)+o.midiPortChannelOffsets[g0[R]]||0,y1=g[l2];switch(b1){case K3.programChange:y1.program=F0.messageData[0],u(y1);break;case K3.controllerChange:if(F0.messageData[0]!==t6.bankSelect||u1==="gs"&&y1.drums)continue;let Y2=F0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(u1==="xg"){let n3=Y2===120||Y2===126||Y2===127;n3!==y1.drums?(y1.drums=n3,y1.bank=y1.drums?128:T2,u(y1)):y1.bank=y1.drums?128:T2;continue}g[l2].bank=T2;break;case K3.noteOn:if(F0.messageData[1]===0)continue;u(y1),S[y1.string].add(`${F0.messageData[0]}-${F0.messageData[1]}`);break;case K3.systemExclusive:if(F0.messageData[0]!==65||F0.messageData[2]!==66||F0.messageData[3]!==18||F0.messageData[4]!==64||!(F0.messageData[5]&16)||F0.messageData[6]!==21){F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0&&(u1="xg");continue}let K2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][F0.messageData[5]&15]+o.midiPortChannelOffsets[g0[R]],i3=!!(F0.messageData[7]>0&&F0.messageData[5]>>4);y1=g[K2],y1.drums=i3,y1.bank=i3?128:0,u(y1);break}}for(let R of Object.keys(S))S[R].size===0&&(Y5(`%cDetected change but no keys for %c${R}`,_1.info,_1.value),delete S[R]);return i4(),S}function YC(o,n){function l(u,S){let r0=0;for(let E0=0;E0=g0.min&&X0.key<=g0.max&&X0.velocity>=u1.min&&X0.velocity<=u1.max){R=!0;break}R||(Y5(`%c${m0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${m0.useCount-1}`,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized),u.safeDeleteZone(E0)&&(r0++,E0--,Y5(`%c${m0.sample.sampleName} %cdeleted`,_1.recognized,_1.info)),m0.sample.useCount<1&&o.deleteSample(m0.sample))}return r0}gn("%cTrimming soundfont...",_1.info);let g=Kw(n,o);ni("%cModifying soundfont...",_1.info),Y5("Detected keys for midi:",g);for(let u=0;u{let R=u1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ni(`%cTrimming %c${S.presetName}`,_1.info,_1.recognized),Y5(`Keys for ${S.presetName}:`,m0);let g0=0;for(let u1=0;u1=X0.min&&l2.key<=X0.max&&l2.velocity>=F0.min&&l2.velocity<=F0.max){b1=!0;let y1=l(R.instrument,m0);Y5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,_1.info,_1.recognized,_1.info,_1.recognized);break}b1||(g0++,S.deleteZone(u1),R.instrument.useCount<1&&o.deleteInstrument(R.instrument),u1--)}Y5(`%cTrimmed off %c${g0}%c zones from %c${S.presetName}`,_1.info,_1.recognized,_1.info,_1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${n.midiName}" -`+o.soundFontInfo.ICMT,Y5("%cSoundfont modified!",_1.recognized),i4(),i4()}function Vw(){let o=4;for(let g of this.instruments)o+=g.instrumentZones.reduce((u,S)=>(S.generators=S.generators.filter(r0=>r0.generatorType!==v1.sampleID&&r0.generatorType!==v1.keyRange&&r0.generatorType!==v1.velRange),(S.velRange.max!==127||S.velRange.min!==0)&&S.generators.unshift({generatorType:v1.velRange,generatorValue:S.velRange.max<<8|S.velRange.min}),(S.keyRange.max!==127||S.keyRange.min!==0)&&S.generators.unshift({generatorType:v1.keyRange,generatorValue:S.keyRange.max<<8|S.keyRange.min}),S.isGlobal||S.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(S.sample)}),S.generators.length*4+u),0);let n=new J3(o),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.generatorZoneStartIndex=l;for(let S of u.generators)Q9(n,S.generatorType),Q9(n,S.generatorValue),l++}return c7(n,0),ze(new Ee("igen",n.length,n))}function zw(o,n,l,g,u){let S=this.samples.map((g0,u1)=>{l&&g0.compressSample(g,u);let R=g0.getRawData();return Y5(`%cEncoded sample %c${u1}. ${g0.sampleName}%c of %c${this.samples.length}`,_1.info,_1.recognized,_1.info,_1.recognized),R}),r0=this.samples.reduce((g0,u1,R)=>g0+S[R].length+46,0),E0=new J3(r0);this.samples.forEach((g0,u1)=>{let R=S[u1],Z0,G0,b1=R.length;g0.isCompressed?(Z0=E0.currentIndex,G0=Z0+R.length):(Z0=E0.currentIndex/2,G0=Z0+R.length/2,b1+=46),o.push(Z0),E0.set(R,E0.currentIndex),E0.currentIndex+=b1,n.push(G0)});let m0=ze(new Ee("smpl",E0.length,E0),new J3([115,100,116,97]));return ze(new Ee("LIST",m0.length,m0))}function Zw(o,n){let g=new J3(46*(this.samples.length+1));return this.samples.forEach((u,S)=>{g7(g,u.sampleName,20);let r0=o[S];c7(g,r0);let E0=n[S];c7(g,E0);let m0=u.sampleLoopStartIndex/2+r0,g0=u.sampleLoopEndIndex/2+r0;u.isCompressed&&(m0-=r0,g0-=r0),c7(g,m0),c7(g,g0),c7(g,u.sampleRate),g[g.currentIndex++]=u.samplePitch,g[g.currentIndex++]=u.samplePitchCorrection,Q9(g,u.sampleLink),Q9(g,u.sampleType)}),g7(g,"EOS",46),ze(new Ee("shdr",g.length,g))}function Ww(){let o=10;for(let g of this.instruments)o+=g.instrumentZones.reduce((u,S)=>S.modulators.length*10+u,0);let n=new J3(o),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.modulatorZoneStartIndex=l;for(let S of u.modulators)Q9(n,S.sourceEnum),Q9(n,S.modulatorDestination),Q9(n,S.transformAmount),Q9(n,S.secondarySourceEnum),Q9(n,S.transformType),l++}return l7(n,0,10),ze(new Ee("imod",n.length,n))}function jw(){let o=this.instruments.reduce((S,r0)=>r0.instrumentZones.length*4+S,4),n=new J3(o),l=0,g=0,u=0;for(let S of this.instruments){S.instrumentZoneIndex=l;for(let r0 of S.instrumentZones)r0.zoneID=l,Q9(n,g),Q9(n,u),g+=r0.generators.length,u+=r0.modulators.length,l++}return Q9(n,g),Q9(n,u),ze(new Ee("ibag",n.length,n))}function Xw(){let o=this.instruments.length*22+22,n=new J3(o),l=0,g=0;for(let u of this.instruments)g7(n,u.instrumentName,20),Q9(n,l),l+=u.instrumentZones.length,u.instrumentID=g,g++;return g7(n,"EOI",20),Q9(n,l),ze(new Ee("inst",n.length,n))}function ek(){let o=4;for(let g of this.presets)o+=g.presetZones.reduce((u,S)=>(S.generators=S.generators.filter(r0=>r0.generatorType!==v1.instrument&&r0.generatorType!==v1.keyRange&&r0.generatorType!==v1.velRange),(S.velRange.max!==127||S.velRange.min!==0)&&S.generators.unshift({generatorType:v1.velRange,generatorValue:S.velRange.max<<8|S.velRange.min}),(S.keyRange.max!==127||S.keyRange.min!==0)&&S.generators.unshift({generatorType:v1.keyRange,generatorValue:S.keyRange.max<<8|S.keyRange.min}),S.isGlobal||S.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(S.instrument)}),S.generators.length*4+u),0);let n=new J3(o),l=0;for(let g of this.presets)for(let u of g.presetZones){u.generatorZoneStartIndex=l;for(let S of u.generators)Q9(n,S.generatorType),Q9(n,S.generatorValue);l+=u.generators.length}return Q9(n,0),Q9(n,0),ze(new Ee("pgen",n.length,n))}function tk(){let o=10;for(let g of this.presets)o+=g.presetZones.reduce((u,S)=>S.modulators.length*10+u,0);let n=new J3(o),l=0;for(let g of this.presets)for(let u of g.presetZones){u.modulatorZoneStartIndex=l;for(let S of u.modulators)Q9(n,S.sourceEnum),Q9(n,S.modulatorDestination),Q9(n,S.transformAmount),Q9(n,S.secondarySourceEnum),Q9(n,S.transformType),l++}return l7(n,0,10),ze(new Ee("pmod",n.length,n))}function ik(){let o=this.presets.reduce((S,r0)=>r0.presetZones.length*4+S,4),n=new J3(o),l=0,g=0,u=0;for(let S of this.presets){S.presetZoneStartIndex=l;for(let r0 of S.presetZones)r0.zoneID=l,Q9(n,g),Q9(n,u),g+=r0.generators.length,u+=r0.modulators.length,l++}return Q9(n,g),Q9(n,u),ze(new Ee("pbag",n.length,n))}function nk(){let o=this.presets.length*38+38,n=new J3(o),l=0;for(let g of this.presets)g7(n,g.presetName,20),Q9(n,g.program),Q9(n,g.bank),Q9(n,l),c7(n,g.library),c7(n,g.genre),c7(n,g.morphology),l+=g.presetZones.length;return g7(n,"EOP",20),Q9(n,0),Q9(n,0),Q9(n,l),c7(n,0),c7(n,0),c7(n,0),ze(new Ee("phdr",n.length,n))}var Wb={compress:!1,compressionQuality:.5,compressionFunction:void 0};function rk(o=Wb){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ni("%cSaving soundfont...",_1.info),Y5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,_1.info,_1.recognized,_1.info,_1.recognized),Y5("%cWriting INFO...",_1.info);let n=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,n3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(n3.split(".")[0]),y5=parseInt(n3.split(".")[1]),M3=new J3(4);Q9(M3,A0),Q9(M3,y5),n.push(ze(new Ee(i3,4,M3)))}else if(i3==="DMOD")n.push(ze(new Ee(i3,n3.length,n3)));else{let A0=new J3(n3.length);g7(A0,n3),n.push(ze(new Ee(i3,n3.length,A0)))}let l=vr([new J3([73,78,70,79]),...n]),g=ze(new Ee("LIST",l.length,l));Y5("%cWriting SDTA...",_1.info);let u=[],S=[],r0=zw.call(this,u,S,o?.compress,o?.compressionQuality||.5,o.compressionFunction);Y5("%cWriting PDTA...",_1.info),Y5("%cWriting SHDR...",_1.info);let E0=Zw.call(this,u,S);Y5("%cWriting IGEN...",_1.info);let m0=Vw.call(this);Y5("%cWriting IMOD...",_1.info);let g0=Ww.call(this);Y5("%cWriting IBAG...",_1.info);let u1=jw.call(this);Y5("%cWriting INST...",_1.info);let R=Xw.call(this),Z0=ek.call(this);Y5("%cWriting PMOD...",_1.info);let G0=tk.call(this);Y5("%cWriting PBAG...",_1.info);let b1=ik.call(this);Y5("%cWriting PHDR...",_1.info);let l2=nk.call(this),y1=vr([new J3([112,100,116,97]),l2,b1,G0,Z0,R,u1,g0,m0,E0]),Y2=ze(new Ee("LIST",y1.length,y1));Y5("%cWriting the output file...",_1.info);let T2=vr([new J3([115,102,98,107]),g,r0,Y2]),K2=ze(new Ee("RIFF",T2.length,T2));return Y5(`%cSaved succesfully! Final file size: %c${K2.length}`,_1.info,_1.recognized),i4(),K2}var v$=class o{constructor(n=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=pC.map(l=>me.copy(l)),n?.presets&&(this.presets.push(...n.presets),this.soundFontInfo=n.info)}removeUnusedElements(){this.instruments.forEach(n=>{n.useCount<1&&n.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(n=>n.useCount>0),this.samples=this.samples.filter(n=>n.useCount>0)}deleteInstrument(n){if(n.useCount>0)throw new Error(`Cannot delete an instrument that has ${n.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(n),1),n.deleteInstrument(),this.removeUnusedElements()}deleteSample(n){if(n.useCount>0)throw new Error(`Cannot delete sample that has ${n.useCount} usages.`);this.samples.splice(this.samples.indexOf(n),1),this.removeUnusedElements()}deletePreset(n){n.deletePreset(),this.presets.splice(this.presets.indexOf(n),1),this.removeUnusedElements()}getPresetNoFallback(n,l,g=!1){let u=this.presets.find(S=>S.bank===n&&S.program===l);if(u)return u;if(g!==!1)return n===128?this.presets.find(S=>S.bank===128):this.presets.find(S=>S.program===l)}setSampleIDOffset(n){this.presets.forEach(l=>l.sampleIDOffset=n)}getPreset(n,l){let g=this.presets.find(u=>u.bank===n&&u.program===l);return g||(n===128?(g=this.presets.find(u=>u.bank===128&&u.program===l),g||(g=this.presets.find(u=>u.bank===128))):g=this.presets.find(u=>u.program===l&&u.bank!==128),g&&R4(`%cPreset ${n}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,_1.warn,_1.recognized)),g||(R4(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(n){let l=this.presets.find(g=>g.presetName===n);return l||(R4("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}static mergeSoundfonts(...n){let l=n.shift(),g=l.presets;for(;n.length;)n.shift().presets.forEach(S=>{g.find(r0=>r0.bank===S.bank&&r0.program===S.program)===void 0&&g.push(S)});return new o({presets:g,info:l.soundFontInfo})}};v$.prototype.write=rk;function sk(o){ni("%cLoading instruments...",_1.info);for(let n=0;nn.deleteZone()),this.presetZones.length=0}deleteZone(n){this.presetZones[n].deleteZone(),this.presetZones.splice(n,1)}preload(n,l){for(let g=n;g{S.sample.isSampleLoaded||S.sample.getAudioData()})}preloadSpecific(n,l){this.getSamplesAndGenerators(n,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(n,l){let g=this.foundSamplesAndGenerators[n][l];if(g)return g;if(this.presetZones.length<1)return[];function u(R,Z0,G0){return G0>=R&&G0<=Z0}function S(R,Z0){R.push(...Z0.filter(G0=>!R.find(b1=>b1.generatorType===G0.generatorType)))}function r0(R,Z0){R.push(...Z0.filter(G0=>!R.find(b1=>me.isIdentical(G0,b1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],g0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>u(R.keyRange.min,R.keyRange.max,n)&&u(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let Z0=R.generators,G0=R.modulators,b1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],l2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>u(Y2.keyRange.min,Y2.keyRange.max,n)&&u(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],K2=[...Y2.modulators];S(Z0,m0),S(T2,b1),r0(G0,g0),r0(K2,l2),r0(K2,this.defaultModulators);let i3=[...K2];for(let n3=0;n3me.isIdentical(A0,M3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}E0.push({instrumentGenerators:T2,presetGenerators:Z0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(n3=>n3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[n][l]=E0,E0}};var Rm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var GA=class extends Rm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Eh=class extends Rm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var mh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}addUseCount(){this._useCount++,this.instrumentZones.forEach(n=>n.useCount++)}removeUseCount(){this._useCount--;for(let n=0;nn.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(n){return this.instrumentZones[n].useCount--,this.instrumentZones[n].useCount<1?(this.deleteZone(n),!0):!1}deleteZone(n){this.instrumentZones[n].deleteZone(),this.instrumentZones.splice(n,1)}};var JC=class extends Ih{constructor(n,l){super(pC),this.program=l&127,this.bank=n>>8&127,n>>31&&(this.bank=128),this.DLSInstrument=new mh,this.DLSInstrument.addUseCount();let u=new Eh;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function ok(o){this.verifyHeader(o,"LIST"),this.verifyText(Ie(o.chunkData,4),"ins ");let n=[];for(;o.chunkData.length>o.chunkData.currentIndex;)n.push(d4(o.chunkData));let l=n.find(G0=>G0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=o3(l.chunkData,4),u=o3(l.chunkData,4),S=o3(l.chunkData,4),r0=new JC(u,S),E0="unnamedPreset",m0=bi(n,"INFO");if(m0){let G0=d4(m0.chunkData);for(;G0.header!=="INAM";)G0=d4(m0.chunkData);E0=Ie(G0.chunkData,G0.chunkData.length).trim()}r0.presetName=E0,r0.DLSInstrument.instrumentName=E0,gn(`%cParsing %c"${E0}"%c...`,_1.info,_1.recognized,_1.info);let g0=bi(n,"lrgn");if(!g0)throw i4(),new Error("No region list!");let u1=new GA;u1.isGlobal=!0;let R=bi(n,"lart"),Z0=bi(n,"lar2");this.readLart(R,Z0,u1),r0.DLSInstrument.instrumentZones.push(u1);for(let G0=0;G0>10&15;Y2===Gn.linear&&y1!==Gn.linear&&(Y2=y1);let T2=g>>14&1,K2=g>>15&1;r0===v1.initialAttenuation&&(K2=!K2),R=Nn(Y2,T2,K2,E0.isCC,E0.enum)}let Z0=g>>4&15,G0=g>>8&1,b1=g>>9&1,l2=Nn(Z0,G0,b1,u1.isCC,u1.enum);if(m0){let y1=l2;l2=R,R=y1}return new me({srcEnum:R,secSrcEnum:l2,dest:r0,transform:0,amt:u})}function WB(o,n){let l=o.chunkData,g=[],u=[];o3(l,4);let S=o3(l,4);for(let r0=0;r0>16;if(E0===0&&m0===0&&u1===0){let G0;switch(g0){case m6.pan:G0=new X6(v1.pan,Z0);break;case m6.gain:G0=new X6(v1.initialAttenuation,-Z0*10/.4);break;case m6.filterCutoff:G0=new X6(v1.initialFilterFc,Z0);break;case m6.filterQ:G0=new X6(v1.initialFilterQ,Z0);break;case m6.modLfoFreq:G0=new X6(v1.freqModLFO,Z0);break;case m6.modLfoDelay:G0=new X6(v1.delayModLFO,Z0);break;case m6.vibLfoFreq:G0=new X6(v1.freqVibLFO,Z0);break;case m6.vibLfoDelay:G0=new X6(v1.delayVibLFO,Z0);break;case m6.volEnvDelay:G0=new X6(v1.delayVolEnv,Z0);break;case m6.volEnvAttack:G0=new X6(v1.attackVolEnv,Z0);break;case m6.volEnvHold:G0=new X6(v1.holdVolEnv,Z0);break;case m6.volEnvDecay:G0=new X6(v1.decayVolEnv,Z0);break;case m6.volEnvRelease:G0=new X6(v1.releaseVolEnv,Z0);break;case m6.volEnvSustain:let b1=(1e3-Z0)/10;G0=new X6(v1.sustainVolEnv,b1*10);break;case m6.modEnvDelay:G0=new X6(v1.delayModEnv,Z0);break;case m6.modEnvAttack:G0=new X6(v1.attackModEnv,Z0);break;case m6.modEnvHold:G0=new X6(v1.holdModEnv,Z0);break;case m6.modEnvDecay:G0=new X6(v1.decayModEnv,Z0);break;case m6.modEnvRelease:G0=new X6(v1.releaseModEnv,Z0);break;case m6.modEnvSustain:let l2=1e3-Z0;G0=new X6(v1.sustainModEnv,l2);break;case m6.reverbSend:G0=new X6(v1.reverbEffectsSend,Z0);break;case m6.chorusSend:G0=new X6(v1.chorusEffectsSend,Z0);break;case m6.pitch:let y1=Math.floor(Z0/100),Y2=Math.floor(Z0-y1*100);G0=new X6(v1.fineTune,Y2),g.push(new X6(v1.coarseTune,y1));break}G0&&g.push(G0)}else{let G0=!0;if(m0===w4.none)if(E0===w4.modLfo&&g0===m6.pitch)g.push(new X6(v1.modLfoToPitch,Z0));else if(E0===w4.modLfo&&g0===m6.gain)g.push(new X6(v1.modLfoToVolume,Z0));else if(E0===w4.modLfo&&g0===m6.filterCutoff)g.push(new X6(v1.modLfoToFilterFc,Z0));else if(E0===w4.vibratoLfo&&g0===m6.pitch)g.push(new X6(v1.vibLfoToPitch,Z0));else if(E0===w4.modEnv&&g0===m6.pitch)g.push(new X6(v1.modEnvToPitch,Z0));else if(E0===w4.modEnv&&g0===m6.filterCutoff)g.push(new X6(v1.modEnvToFilterFc,Z0));else if(E0===w4.keyNum&&g0===m6.volEnvHold){g.push(new X6(v1.keyNumToVolEnvHold,Z0/-128));let b1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.holdVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.volEnvDecay){g.push(new X6(v1.keyNumToVolEnvDecay,Z0/-128));let b1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.decayVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.modEnvHold){g.push(new X6(v1.keyNumToModEnvHold,Z0/-128));let b1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.holdModEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.modEnvDecay){g.push(new X6(v1.keyNumToModEnvDecay,Z0/-128));let b1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.decayModEnv&&(l2.generatorValue+=b1)})}else G0=!1;else G0=!1;if(G0===!1){let b1=ak(E0,m0,g0,u1,Z0);b1?(u.push(b1),Y5("%cSucceeded converting to SF2 Modulator!",_1.recognized)):R4("Failed converting to SF2 Modulator!")}}}return u.find(r0=>r0.modulatorDestination===v1.reverbEffectsSend)===void 0&&u.push(new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(r0=>r0.modulatorDestination===v1.chorusEffectsSend)===void 0&&u.push(new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n&&u.push(new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:g}}function $k(o,n,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)n.push(d4(o.chunkData));let l=n.find(M3=>M3.header==="rgnh"),g=o3(l.chunkData,2),u=o3(l.chunkData,2),S=o3(l.chunkData,2),r0=o3(l.chunkData,2),E0=new KC({min:g,max:u},{min:S,max:r0});o3(l.chunkData,2);let m0=o3(l.chunkData,2);m0!==0&&E0.generators.push(new X6(v1.exclusiveClass,m0));let g0=bi(n,"lart"),u1=bi(n,"lar2");this.readLart(g0,u1,E0),E0.isGlobal=!1;let R=n.find(M3=>M3.header==="wsmp");o3(R.chunkData,4);let Z0=o3(R.chunkData,2),G0=RA(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),l2=(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 K2=n.find(M3=>M3.header==="wlnk");if(K2===void 0)return;o3(K2.chunkData,2),o3(K2.chunkData,2),o3(K2.chunkData,4);let i3=o3(K2.chunkData,4),n3=this.samples[i3];if(n3===void 0)throw new Error("Invalid sample ID!");let y5=(l2||n3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,Z0,n3,i3,G0),E0}var Ch=class{constructor(n,l,g,u,S,r0,E0,m0){this.sampleName=n,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=u,this.sampleLink=S,this.sampleType=r0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(r0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let n=new Error("Not implemented");throw n.name="NotImplementedError",n}compressSample(n,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,n),this.sampleType|=16,this.isCompressed=!0}catch{R4(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let n=new Error("Not implemented");throw n.name="NotImplementedError",n}};var VC=class extends Ch{constructor(n,l,g,u,S,r0,E0,m0){super(n,l,g,u,0,1,S*2,(r0-1)*2),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}sampleDbAttenuation;sampleData;getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let n=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return n}};function ck(o){ni("%cLoading Wave samples...",_1.recognized);let n=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");if(o3(u.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(u.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let m0=o3(u.chunkData,2),g0=m0/8,u1=Math.pow(2,g0*8-1),R=Math.pow(2,g0*8),Z0,G0=!1;m0===8?(Z0=255,G0=!0):Z0=u1;let b1=g.find($3=>$3.header==="data");if(!b1)throw new Error("No data chunk in the wave chunk!");let l2=b1.size/g0,y1=new Float32Array(l2);for(let $3=0;$3=u1&&(w6-=R),y1[$3]=w6/Z0)}let Y2=60,T2=0,K2=0,i3=y1.length-1,n3=0,A0=g.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=RA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),n3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),K2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=K2+s6}}else R4("No wsmp chunk in wave... using sane defaults.");let y5=bi(g,"INFO"),M3=`Unnamed ${n}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndex(S.generators=S.generators.filter(r0=>r0.generatorType!==v1.sampleID&&r0.generatorType!==v1.keyRange&&r0.generatorType!==v1.velRange),(S.velRange.max!==127||S.velRange.min!==0)&&S.generators.unshift({generatorType:v1.velRange,generatorValue:S.velRange.max<<8|S.velRange.min}),(S.keyRange.max!==127||S.keyRange.min!==0)&&S.generators.unshift({generatorType:v1.keyRange,generatorValue:S.keyRange.max<<8|S.keyRange.min}),S.isGlobal||S.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(S.sample)}),S.generators.length*4+u),0);let n=new J3(o),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.generatorZoneStartIndex=l;for(let S of u.generators)Q9(n,S.generatorType),Q9(n,S.generatorValue),l++}return c7(n,0),ze(new Ee("igen",n.length,n))}function zw(o,n,l,g,u){let S=this.samples.map((g0,u1)=>{l&&g0.compressSample(g,u);let R=g0.getRawData();return Y5(`%cEncoded sample %c${u1}. ${g0.sampleName}%c of %c${this.samples.length}`,_1.info,_1.recognized,_1.info,_1.recognized),R}),r0=this.samples.reduce((g0,u1,R)=>g0+S[R].length+46,0),E0=new J3(r0);this.samples.forEach((g0,u1)=>{let R=S[u1],X0,F0,b1=R.length;g0.isCompressed?(X0=E0.currentIndex,F0=X0+R.length):(X0=E0.currentIndex/2,F0=X0+R.length/2,b1+=46),o.push(X0),E0.set(R,E0.currentIndex),E0.currentIndex+=b1,n.push(F0)});let m0=ze(new Ee("smpl",E0.length,E0),new J3([115,100,116,97]));return ze(new Ee("LIST",m0.length,m0))}function Zw(o,n){let g=new J3(46*(this.samples.length+1));return this.samples.forEach((u,S)=>{g7(g,u.sampleName,20);let r0=o[S];c7(g,r0);let E0=n[S];c7(g,E0);let m0=u.sampleLoopStartIndex+r0,g0=u.sampleLoopEndIndex+r0;u.isCompressed&&(m0-=r0,g0-=r0),c7(g,m0),c7(g,g0),c7(g,u.sampleRate),g[g.currentIndex++]=u.samplePitch,g[g.currentIndex++]=u.samplePitchCorrection,Q9(g,u.sampleLink),Q9(g,u.sampleType)}),g7(g,"EOS",46),ze(new Ee("shdr",g.length,g))}function Ww(){let o=10;for(let g of this.instruments)o+=g.instrumentZones.reduce((u,S)=>S.modulators.length*10+u,0);let n=new J3(o),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.modulatorZoneStartIndex=l;for(let S of u.modulators)Q9(n,S.sourceEnum),Q9(n,S.modulatorDestination),Q9(n,S.transformAmount),Q9(n,S.secondarySourceEnum),Q9(n,S.transformType),l++}return l7(n,0,10),ze(new Ee("imod",n.length,n))}function jw(){let o=this.instruments.reduce((S,r0)=>r0.instrumentZones.length*4+S,4),n=new J3(o),l=0,g=0,u=0;for(let S of this.instruments){S.instrumentZoneIndex=l;for(let r0 of S.instrumentZones)r0.zoneID=l,Q9(n,g),Q9(n,u),g+=r0.generators.length,u+=r0.modulators.length,l++}return Q9(n,g),Q9(n,u),ze(new Ee("ibag",n.length,n))}function Xw(){let o=this.instruments.length*22+22,n=new J3(o),l=0,g=0;for(let u of this.instruments)g7(n,u.instrumentName,20),Q9(n,l),l+=u.instrumentZones.length,u.instrumentID=g,g++;return g7(n,"EOI",20),Q9(n,l),ze(new Ee("inst",n.length,n))}function ek(){let o=4;for(let g of this.presets)o+=g.presetZones.reduce((u,S)=>(S.generators=S.generators.filter(r0=>r0.generatorType!==v1.instrument&&r0.generatorType!==v1.keyRange&&r0.generatorType!==v1.velRange),(S.velRange.max!==127||S.velRange.min!==0)&&S.generators.unshift({generatorType:v1.velRange,generatorValue:S.velRange.max<<8|S.velRange.min}),(S.keyRange.max!==127||S.keyRange.min!==0)&&S.generators.unshift({generatorType:v1.keyRange,generatorValue:S.keyRange.max<<8|S.keyRange.min}),S.isGlobal||S.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(S.instrument)}),S.generators.length*4+u),0);let n=new J3(o),l=0;for(let g of this.presets)for(let u of g.presetZones){u.generatorZoneStartIndex=l;for(let S of u.generators)Q9(n,S.generatorType),Q9(n,S.generatorValue);l+=u.generators.length}return Q9(n,0),Q9(n,0),ze(new Ee("pgen",n.length,n))}function tk(){let o=10;for(let g of this.presets)o+=g.presetZones.reduce((u,S)=>S.modulators.length*10+u,0);let n=new J3(o),l=0;for(let g of this.presets)for(let u of g.presetZones){u.modulatorZoneStartIndex=l;for(let S of u.modulators)Q9(n,S.sourceEnum),Q9(n,S.modulatorDestination),Q9(n,S.transformAmount),Q9(n,S.secondarySourceEnum),Q9(n,S.transformType),l++}return l7(n,0,10),ze(new Ee("pmod",n.length,n))}function ik(){let o=this.presets.reduce((S,r0)=>r0.presetZones.length*4+S,4),n=new J3(o),l=0,g=0,u=0;for(let S of this.presets){S.presetZoneStartIndex=l;for(let r0 of S.presetZones)r0.zoneID=l,Q9(n,g),Q9(n,u),g+=r0.generators.length,u+=r0.modulators.length,l++}return Q9(n,g),Q9(n,u),ze(new Ee("pbag",n.length,n))}function nk(){let o=this.presets.length*38+38,n=new J3(o),l=0;for(let g of this.presets)g7(n,g.presetName,20),Q9(n,g.program),Q9(n,g.bank),Q9(n,l),c7(n,g.library),c7(n,g.genre),c7(n,g.morphology),l+=g.presetZones.length;return g7(n,"EOP",20),Q9(n,0),Q9(n,0),Q9(n,l),c7(n,0),c7(n,0),c7(n,0),ze(new Ee("phdr",n.length,n))}var Wb={compress:!1,compressionQuality:.5,compressionFunction:void 0};function rk(o=Wb){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ni("%cSaving soundfont...",_1.info),Y5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,_1.info,_1.recognized,_1.info,_1.recognized),Y5("%cWriting INFO...",_1.info);let n=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,n3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(n3.split(".")[0]),y5=parseInt(n3.split(".")[1]),M3=new J3(4);Q9(M3,A0),Q9(M3,y5),n.push(ze(new Ee(i3,4,M3)))}else if(i3==="DMOD")n.push(ze(new Ee(i3,n3.length,n3)));else{let A0=new J3(n3.length);g7(A0,n3),n.push(ze(new Ee(i3,n3.length,A0)))}let l=vr([new J3([73,78,70,79]),...n]),g=ze(new Ee("LIST",l.length,l));Y5("%cWriting SDTA...",_1.info);let u=[],S=[],r0=zw.call(this,u,S,o?.compress,o?.compressionQuality||.5,o.compressionFunction);Y5("%cWriting PDTA...",_1.info),Y5("%cWriting SHDR...",_1.info);let E0=Zw.call(this,u,S);Y5("%cWriting IGEN...",_1.info);let m0=Vw.call(this);Y5("%cWriting IMOD...",_1.info);let g0=Ww.call(this);Y5("%cWriting IBAG...",_1.info);let u1=jw.call(this);Y5("%cWriting INST...",_1.info);let R=Xw.call(this),X0=ek.call(this);Y5("%cWriting PMOD...",_1.info);let F0=tk.call(this);Y5("%cWriting PBAG...",_1.info);let b1=ik.call(this);Y5("%cWriting PHDR...",_1.info);let l2=nk.call(this),y1=vr([new J3([112,100,116,97]),l2,b1,F0,X0,R,u1,g0,m0,E0]),Y2=ze(new Ee("LIST",y1.length,y1));Y5("%cWriting the output file...",_1.info);let T2=vr([new J3([115,102,98,107]),g,r0,Y2]),K2=ze(new Ee("RIFF",T2.length,T2));return Y5(`%cSaved succesfully! Final file size: %c${K2.length}`,_1.info,_1.recognized),i4(),K2}var v$=class o{constructor(n=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=pC.map(l=>me.copy(l)),n?.presets&&(this.presets.push(...n.presets),this.soundFontInfo=n.info)}removeUnusedElements(){this.instruments.forEach(n=>{n.useCount<1&&n.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(n=>n.useCount>0),this.samples=this.samples.filter(n=>n.useCount>0)}deleteInstrument(n){if(n.useCount>0)throw new Error(`Cannot delete an instrument that has ${n.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(n),1),n.deleteInstrument(),this.removeUnusedElements()}deleteSample(n){if(n.useCount>0)throw new Error(`Cannot delete sample that has ${n.useCount} usages.`);this.samples.splice(this.samples.indexOf(n),1),this.removeUnusedElements()}deletePreset(n){n.deletePreset(),this.presets.splice(this.presets.indexOf(n),1),this.removeUnusedElements()}getPresetNoFallback(n,l,g=!1){let u=this.presets.find(S=>S.bank===n&&S.program===l);if(u)return u;if(g!==!1)return n===128?this.presets.find(S=>S.bank===128):this.presets.find(S=>S.program===l)}setSampleIDOffset(n){this.presets.forEach(l=>l.sampleIDOffset=n)}getPreset(n,l){let g=this.presets.find(u=>u.bank===n&&u.program===l);return g||(n===128?(g=this.presets.find(u=>u.bank===128&&u.program===l),g||(g=this.presets.find(u=>u.bank===128))):g=this.presets.find(u=>u.program===l&&u.bank!==128),g&&R4(`%cPreset ${n}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,_1.warn,_1.recognized)),g||(R4(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(n){let l=this.presets.find(g=>g.presetName===n);return l||(R4("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}static mergeSoundfonts(...n){let l=n.shift(),g=l.presets;for(;n.length;)n.shift().presets.forEach(S=>{g.find(r0=>r0.bank===S.bank&&r0.program===S.program)===void 0&&g.push(S)});return new o({presets:g,info:l.soundFontInfo})}};v$.prototype.write=rk;function sk(o){ni("%cLoading instruments...",_1.info);for(let n=0;nn.deleteZone()),this.presetZones.length=0}deleteZone(n){this.presetZones[n].deleteZone(),this.presetZones.splice(n,1)}preload(n,l){for(let g=n;g{S.sample.isSampleLoaded||S.sample.getAudioData()})}preloadSpecific(n,l){this.getSamplesAndGenerators(n,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(n,l){let g=this.foundSamplesAndGenerators[n][l];if(g)return g;if(this.presetZones.length<1)return[];function u(R,X0,F0){return F0>=R&&F0<=X0}function S(R,X0){R.push(...X0.filter(F0=>!R.find(b1=>b1.generatorType===F0.generatorType)))}function r0(R,X0){R.push(...X0.filter(F0=>!R.find(b1=>me.isIdentical(F0,b1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],g0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>u(R.keyRange.min,R.keyRange.max,n)&&u(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let X0=R.generators,F0=R.modulators,b1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],l2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>u(Y2.keyRange.min,Y2.keyRange.max,n)&&u(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],K2=[...Y2.modulators];S(X0,m0),S(T2,b1),r0(F0,g0),r0(K2,l2),r0(K2,this.defaultModulators);let i3=[...K2];for(let n3=0;n3me.isIdentical(A0,M3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}E0.push({instrumentGenerators:T2,presetGenerators:X0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(n3=>n3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[n][l]=E0,E0}};var Rm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var GA=class extends Rm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Eh=class extends Rm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var mh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}addUseCount(){this._useCount++,this.instrumentZones.forEach(n=>n.useCount++)}removeUseCount(){this._useCount--;for(let n=0;nn.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(n){return this.instrumentZones[n].useCount--,this.instrumentZones[n].useCount<1?(this.deleteZone(n),!0):!1}deleteZone(n){this.instrumentZones[n].deleteZone(),this.instrumentZones.splice(n,1)}};var JC=class extends Ih{constructor(n,l){super(pC),this.program=l&127,this.bank=n>>8&127,n>>31&&(this.bank=128),this.DLSInstrument=new mh,this.DLSInstrument.addUseCount();let u=new Eh;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function ok(o){this.verifyHeader(o,"LIST"),this.verifyText(Ie(o.chunkData,4),"ins ");let n=[];for(;o.chunkData.length>o.chunkData.currentIndex;)n.push(d4(o.chunkData));let l=n.find(F0=>F0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=o3(l.chunkData,4),u=o3(l.chunkData,4),S=o3(l.chunkData,4),r0=new JC(u,S),E0="unnamedPreset",m0=bi(n,"INFO");if(m0){let F0=d4(m0.chunkData);for(;F0.header!=="INAM";)F0=d4(m0.chunkData);E0=Ie(F0.chunkData,F0.chunkData.length).trim()}r0.presetName=E0,r0.DLSInstrument.instrumentName=E0,gn(`%cParsing %c"${E0}"%c...`,_1.info,_1.recognized,_1.info);let g0=bi(n,"lrgn");if(!g0)throw i4(),new Error("No region list!");let u1=new GA;u1.isGlobal=!0;let R=bi(n,"lart"),X0=bi(n,"lar2");this.readLart(R,X0,u1),r0.DLSInstrument.instrumentZones.push(u1);for(let F0=0;F0>10&15;Y2===Gn.linear&&y1!==Gn.linear&&(Y2=y1);let T2=g>>14&1,K2=g>>15&1;r0===v1.initialAttenuation&&(K2=!K2),R=Nn(Y2,T2,K2,E0.isCC,E0.enum)}let X0=g>>4&15,F0=g>>8&1,b1=g>>9&1,l2=Nn(X0,F0,b1,u1.isCC,u1.enum);if(m0){let y1=l2;l2=R,R=y1}return new me({srcEnum:R,secSrcEnum:l2,dest:r0,transform:0,amt:u})}function WB(o,n){let l=o.chunkData,g=[],u=[];o3(l,4);let S=o3(l,4);for(let r0=0;r0>16;if(E0===0&&m0===0&&u1===0){let F0;switch(g0){case m6.pan:F0=new X6(v1.pan,X0);break;case m6.gain:F0=new X6(v1.initialAttenuation,-X0*10/.4);break;case m6.filterCutoff:F0=new X6(v1.initialFilterFc,X0);break;case m6.filterQ:F0=new X6(v1.initialFilterQ,X0);break;case m6.modLfoFreq:F0=new X6(v1.freqModLFO,X0);break;case m6.modLfoDelay:F0=new X6(v1.delayModLFO,X0);break;case m6.vibLfoFreq:F0=new X6(v1.freqVibLFO,X0);break;case m6.vibLfoDelay:F0=new X6(v1.delayVibLFO,X0);break;case m6.volEnvDelay:F0=new X6(v1.delayVolEnv,X0);break;case m6.volEnvAttack:F0=new X6(v1.attackVolEnv,X0);break;case m6.volEnvHold:F0=new X6(v1.holdVolEnv,X0);break;case m6.volEnvDecay:F0=new X6(v1.decayVolEnv,X0);break;case m6.volEnvRelease:F0=new X6(v1.releaseVolEnv,X0);break;case m6.volEnvSustain:let b1=(1e3-X0)/10;F0=new X6(v1.sustainVolEnv,b1*10);break;case m6.modEnvDelay:F0=new X6(v1.delayModEnv,X0);break;case m6.modEnvAttack:F0=new X6(v1.attackModEnv,X0);break;case m6.modEnvHold:F0=new X6(v1.holdModEnv,X0);break;case m6.modEnvDecay:F0=new X6(v1.decayModEnv,X0);break;case m6.modEnvRelease:F0=new X6(v1.releaseModEnv,X0);break;case m6.modEnvSustain:let l2=1e3-X0;F0=new X6(v1.sustainModEnv,l2);break;case m6.reverbSend:F0=new X6(v1.reverbEffectsSend,X0);break;case m6.chorusSend:F0=new X6(v1.chorusEffectsSend,X0);break;case m6.pitch:let y1=Math.floor(X0/100),Y2=Math.floor(X0-y1*100);F0=new X6(v1.fineTune,Y2),g.push(new X6(v1.coarseTune,y1));break}F0&&g.push(F0)}else{let F0=!0;if(m0===w4.none)if(E0===w4.modLfo&&g0===m6.pitch)g.push(new X6(v1.modLfoToPitch,X0));else if(E0===w4.modLfo&&g0===m6.gain)g.push(new X6(v1.modLfoToVolume,X0));else if(E0===w4.modLfo&&g0===m6.filterCutoff)g.push(new X6(v1.modLfoToFilterFc,X0));else if(E0===w4.vibratoLfo&&g0===m6.pitch)g.push(new X6(v1.vibLfoToPitch,X0));else if(E0===w4.modEnv&&g0===m6.pitch)g.push(new X6(v1.modEnvToPitch,X0));else if(E0===w4.modEnv&&g0===m6.filterCutoff)g.push(new X6(v1.modEnvToFilterFc,X0));else if(E0===w4.keyNum&&g0===m6.volEnvHold){g.push(new X6(v1.keyNumToVolEnvHold,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.volEnvDecay){g.push(new X6(v1.keyNumToVolEnvDecay,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.modEnvHold){g.push(new X6(v1.keyNumToModEnvHold,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdModEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.modEnvDecay){g.push(new X6(v1.keyNumToModEnvDecay,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayModEnv&&(l2.generatorValue+=b1)})}else F0=!1;else F0=!1;if(F0===!1){let b1=ak(E0,m0,g0,u1,X0);b1?(u.push(b1),Y5("%cSucceeded converting to SF2 Modulator!",_1.recognized)):R4("Failed converting to SF2 Modulator!")}}}return u.find(r0=>r0.modulatorDestination===v1.reverbEffectsSend)===void 0&&u.push(new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(r0=>r0.modulatorDestination===v1.chorusEffectsSend)===void 0&&u.push(new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n&&u.push(new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:g}}function $k(o,n,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)n.push(d4(o.chunkData));let l=n.find(M3=>M3.header==="rgnh"),g=o3(l.chunkData,2),u=o3(l.chunkData,2),S=o3(l.chunkData,2),r0=o3(l.chunkData,2),E0=new KC({min:g,max:u},{min:S,max:r0});o3(l.chunkData,2);let m0=o3(l.chunkData,2);m0!==0&&E0.generators.push(new X6(v1.exclusiveClass,m0));let g0=bi(n,"lart"),u1=bi(n,"lar2");this.readLart(g0,u1,E0),E0.isGlobal=!1;let R=n.find(M3=>M3.header==="wsmp");o3(R.chunkData,4);let X0=o3(R.chunkData,2),F0=RA(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),l2=(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 K2=n.find(M3=>M3.header==="wlnk");if(K2===void 0)return;o3(K2.chunkData,2),o3(K2.chunkData,2),o3(K2.chunkData,4);let i3=o3(K2.chunkData,4),n3=this.samples[i3];if(n3===void 0)throw new Error("Invalid sample ID!");let y5=(l2||n3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,X0,n3,i3,F0),E0}var Ch=class{constructor(n,l,g,u,S,r0,E0,m0){this.sampleName=n,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=u,this.sampleLink=S,this.sampleType=r0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(r0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let n=new Error("Not implemented");throw n.name="NotImplementedError",n}compressSample(n,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,n),this.sampleType|=16,this.isCompressed=!0}catch{R4(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let n=new Error("Not implemented");throw n.name="NotImplementedError",n}};var VC=class extends Ch{constructor(n,l,g,u,S,r0,E0,m0){super(n,l,g,u,0,1,S,r0-1),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}sampleDbAttenuation;sampleData;getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let n=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return n}};function ck(o){ni("%cLoading Wave samples...",_1.recognized);let n=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");if(o3(u.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(u.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let m0=o3(u.chunkData,2),g0=m0/8,u1=Math.pow(2,g0*8-1),R=Math.pow(2,g0*8),X0,F0=!1;m0===8?(X0=255,F0=!0):X0=u1;let b1=g.find($3=>$3.header==="data");if(!b1)throw new Error("No data chunk in the wave chunk!");let l2=b1.size/g0,y1=new Float32Array(l2);for(let $3=0;$3=u1&&(w6-=R),y1[$3]=w6/X0)}let Y2=60,T2=0,K2=0,i3=y1.length-1,n3=0,A0=g.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=RA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),n3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),K2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=K2+s6}}else R4("No wsmp chunk in wave... using sane defaults.");let y5=bi(g,"INFO"),M3=`Unnamed ${n}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndexm0.header==="colh");if(!S)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(S.chunkData,4),Y5(`%cInstruments amount: %c${this.instrumentAmount}`,_1.info,_1.recognized);let r0=bi(g,"wvpl");this.readDLSSamples(r0);let E0=bi(g,"lins");if(!E0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(E0),this.presets.sort((m0,g0)=>m0.program-g0.program+(m0.bank-g0.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4()}verifyHeader(n,l){if(n.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${n.header.toLowerCase()}"`)}verifyText(n,l){if(n.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${n.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=sk;Fs.prototype.readDLSInstrument=ok;Fs.prototype.readRegion=lk;Fs.prototype.readLart=$k;Fs.prototype.readDLSSamples=ck;var UA=UA!==void 0?UA:{},gk=!1,hk;UA.isInitialized=new Promise(o=>hk=o);var eD=function(o){var n,l,g,u,S,r0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g0="",u1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=m0.indexOf(o.charAt(u1++)),S=m0.indexOf(o.charAt(u1++)),r0=m0.indexOf(o.charAt(u1++)),E0=m0.indexOf(o.charAt(u1++)),n=u<<2|S>>4,l=(15&S)<<4|r0>>2,g=(3&r0)<<6|E0,g0+=String.fromCharCode(n),r0!==64&&(g0+=String.fromCharCode(l)),E0!==64&&(g0+=String.fromCharCode(g));while(u11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof Y$))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)):(fn(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)})):(M3||$3)&&(M3?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 Z3=new XMLHttpRequest;Z3.open("GET",X0,!0),Z3.responseType="arraybuffer",Z3.onload=function(){if(Z3.status==200||Z3.status==0&&Z3.response){C1(Z3.response);return}S2()},Z3.onerror=S2,Z3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var n4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),K6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||n4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function We(R0){var X0=G0;return G0=G0+R0+15&-16,X0}function On(R0){var X0=m0[K2>>2],C1=X0+R0+15&-16;return m0[K2>>2]=C1,C1>=_9&&!Hn()?(m0[K2>>2]=X0,0):X0}function Ji(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function OA(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 fn(X0%8==0),X0/8}}function Ms(R0){Ms.shown||(Ms.shown={}),Ms.shown[R0]||(Ms.shown[R0]=1,K6(R0))}y5=void 0;var Lm={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},_$=[];function XC(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 HA=0,ph=0;function fn(R0,X0){R0||Ki("Assertion failed: "+X0)}function qA(R0){var X0=A0["_"+R0];return fn(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var Fm={stackSave:function(){qm()},stackRestore:function(){q$()},arrayToC:function(R0){var X0,C1,S2=YA(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=YA(C1),Tm(R0,X0,C1)}return X0}},Ts={string:Fm.stringToC,array:Fm.arrayToC};function Qh(R0,X0,C1,S2,Z3){var g9=qA(R0),J9=[],h6=0;if(S2)for(var Ct=0;Ct>0]=X0;break;case"i16":r0[R0>>1]=X0;break;case"i32":m0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+kh(tempDouble=X0)>=1?tempDouble>0?(0|Sh(+vh(tempDouble/4294967296),4294967295))>>>0:~~+O$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[R0>>2]=tempI64[0],m0[R0+4>>2]=tempI64[1];break;case"float":u1[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 u[R0>>0];case"i16":return r0[R0>>1];case"i32":case"i64":return m0[R0>>2];case"float":return u1[R0>>2];case"double":return R[R0>>3];default:Ki("invalid type for getValue: "+X0)}return null}function Ap(R0,X0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var Z3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Hs=="function"?Hs:We,YA,We,On][C1===void 0?2:C1](Math.max(J9,Z3?1:X0.length)),g9){for(S2=h6,fn((3&h6)==0),Ct=h6+(-4&J9);S2>2]=0;for(Ct=h6+J9;S2>0]=0;return h6}if(Z3==="i8")return R0.subarray||R0.slice?S.set(R0,h6):S.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;)Z3=String.fromCharCode.apply(String,S.subarray(R0,R0+Math.min(X0,1024))),h6=h6?h6+Z3:Z3,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,Mi,Bt,T7,Ti,Ni="";;){if(!(h9=Te[je++]))return Ni;if(!(128&h9)){Ni+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Ni+=String.fromCharCode((31&h9)<<6|M7);continue}if(Mi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Mi:(Bt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Mi<<6|Bt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Mi<<12|Bt<<6|T7:(1&h9)<<30|M7<<24|Mi<<18|Bt<<12|T7<<6|(Ti=63&Te[je++]))),h9<65536)Ni+=String.fromCharCode(h9);else{var Fr=h9-65536;Ni+=String.fromCharCode(55296|Fr>>10,56320|1023&Fr)}}}(S,C1)}function ap(R0){for(var X0="";;){var C1=u[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ns(R0,X0){return function(S2,Z3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(u[Z3>>0]=0)}(R0,X0,!1)}var Mm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function xr(R0,X0,C1,S2){if(!(S2>0))return 0;for(var Z3=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-Z3}function Tm(R0,X0,C1){return xr(R0,S,X0,C1)}function Gs(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 $p(R0){for(var X0=R0,C1=X0>>1;r0[C1];)++C1;if((X0=C1<<1)-R0>32&&Nm)return Nm.decode(S.subarray(R0,X0));for(var S2=0,Z3="";;){var g9=r0[R0+2*S2>>1];if(g9==0)return Z3;++S2,Z3+=String.fromCharCode(g9)}}function lp(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,X0+=2}return r0[X0>>1]=0,X0-S2}function cp(R0){return 2*R0.length}function gp(R0){for(var X0=0,C1="";;){var S2=m0[R0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var Z3=S2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(S2)}}function hp(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,Z3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),m0[X0>>2]=J9,(X0+=4)+4>Z3)break}return m0[X0>>2]=0,X0-S2}function fp(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function up(R0){var X0=Gs(R0)+1,C1=Hs(X0);return C1&&xr(R0,u,C1,X0),C1}function dp(R0){var X0=Gs(R0)+1,C1=YA(X0);return xr(R0,u,C1,X0),C1}function Gm(R0){return R0}function tB(){var R0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(Z3){S2=Z3}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,Z3=S2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function yh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function Um(R0){A0.buffer=g=R0}function Y9(){A0.HEAP8=u=new Int8Array(g),A0.HEAP16=r0=new Int16Array(g),A0.HEAP32=m0=new Int32Array(g),A0.HEAPU8=S=new Uint8Array(g),A0.HEAPU16=E0=new Uint16Array(g),A0.HEAPU32=g0=new Uint32Array(g),A0.HEAPF32=u1=new Float32Array(g),A0.HEAPF64=R=new Float64Array(g)}function Hn(){var R0=A0.usingWasm?65536:16777216,X0=2147483648-R0;if(m0[K2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?yh(2*_9,R0):Math.min(yh((3*_9+2147483648)/4,R0),X0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Um(S2),Y9(),!0):(_9=C1,!1)}Z0=G0=l2=y1=Y2=T2=K2=0,b1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(g,R0);else{var X0,C1=u;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!rB(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var F$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function M$(){return _9}function Us(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 kh=Math.abs,O$=Math.ceil,vh=Math.floor,Sh=Math.min,Lr=0,bh=null,Os=null;function Ip(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Hm="data:application/octet-stream;base64,";function H$(R0){return String.prototype.startsWith?R0.startsWith(Hm):R0.indexOf(Hm)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";H$(X0)||(X0=K4(X0)),H$(C1)||(C1=K4(C1)),H$(S2)||(S2=K4(S2));var Z3={global:null,env:null,asm2wasm:Lm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ki(Se)}}A0.asmPreload=A0.asm;var Ct=A0.reallocBuffer,Te=function(Se){Se=yh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return je==="asmjs"?Ct(Se):Te(Se)};var je="";A0.asm=function(Se,h9,M7){var Mi;if(!(h9=Mi=h9).table){var Bt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Ti=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ti!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ti,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),Bt=function(Fr,un,Ym){if(typeof WebAssembly!="object")return K6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return K6("no native wasm Memory in use"),!1;function Dh(dn,Vi){if((g9=dn.exports).memory){var JA,qs,Ys;JA=g9.memory,qs=A0.buffer,JA.byteLength0?C1:Gs(R0)+1,Z3=Array(S2),g9=xr(R0,Z3,0,Z3.length);return X0&&(Z3.length=g9),Z3}function nB(R0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}G0+=16,K2=We(4),Y2=(l2=y1=Ji(G0))+F$,T2=Ji(Y2),m0[K2>>2]=T2,b1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Ki,assert:fn,enlargeMemory:Hn,getTotalMemory:M$,abortOnCannotGrowMemory:function(){Ki("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var Z3=qm();try{return A0.dynCall_iii(X0,C1,S2)}catch(g9){if(q$(Z3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,Z3){Ki("Assertion failed: "+L$(X0)+", at: "+[C1?L$(C1):"unknown filename",S2,Z3?L$(Z3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(m0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return S.set(S.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:vh,DYNAMICTOP_PTR:K2,tempDoublePtr:F7,ABORT:HA,STACKTOP:y1,STACK_MAX:Y2};var Jn=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Jn,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var rB=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Hs=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var YA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},q$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},qm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function Y$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function J$(R0){R0=R0||A0.arguments,!(Lr>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)iB(A0.preRun.shift());Us(qn)}(),!(Lr>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||(G$||(G$=!0,Us(T$)),Us(wh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Fi(A0.postRun.shift());Us(N$)}()))}}function sB(R0,X0){(!X0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(HA=!0,ph=R0,y1=n3,Us(Bi),Li=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new Y$(R0)))}function Ki(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(n4(R0),K6(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=Jn,A0.ccall=Qh,A0.cwrap=function(X0,C1,S2,Z3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!Z3?qA(X0):function(){return Qh(X0,C1,S2,arguments,Z3)}},Y$.prototype=Error(),Y$.prototype.constructor=Y$,Os=function R0(){A0.calledRun||J$(),A0.calledRun||(Os=R0)},A0.run=J$,A0.abort=Ki,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,J$(),A0.onRuntimeInitialized=()=>{gk=!0,hk()},UA.decode=function(R0){return function(C1){if(!gk)throw Error("Not initialized");var S2={};function Z3(un){return new Int32Array(A0.HEAPU8.buffer,un,1)[0]}function g9(un,Ym){var Dh=new ArrayBuffer(Ym*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(Dh);return y8.set(new Float32Array(A0.HEAPU8.buffer,un,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),Mi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Mi<0)throw S2.close(je),A0._free(h9),Error("stbvorbis decode failed: "+Mi);for(var Bt=S2.channels(je),T7=Array(Bt),Ti=new Int32Array(A0.HEAPU32.buffer,Z3(h9),Bt),Ni=0;Nio.chunkData.currentIndex;){let S=tD(u,o.chunkData,n,l);g.push(S),u++}return g.length>1&&g.pop(),g}function tD(o,n,l,g){let u=Ie(n,20),S=o3(n,4)*2,r0=o3(n,4)*2,E0=o3(n,4)*2,m0=o3(n,4)*2,g0=o3(n,4),u1=n[n.currentIndex++];u1===255&&(u1=60);let R=iy(n[n.currentIndex++]),Z0=o3(n,2),G0=o3(n,2);return new jB(u,S,r0,E0,m0,g0,u1,R,Z0,G0,l,o,g)}var XB=class extends mh{constructor(n){super(),this.instrumentName=Ie(n.chunkData,20).trim(),this.instrumentZoneIndex=o3(n.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(n,l){this.instrumentZonesAmount=n;for(let g=this.instrumentZoneIndex;go.chunkData.currentIndex;){let g=new XB(o);if(l.length>0){let u=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(u,n)}l.push(g)}return l.length>1&&l.pop(),l}var ep=class extends GA{constructor(n){super(),this.generatorZoneStartIndex=o3(n,2),this.modulatorZoneStartIndex=o3(n,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(n,l){this.modulatorZoneSize=n,this.generatorZoneSize=l}getGenerators(n){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=n[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let n=this.generators.find(l=>l.generatorType===v1.keyRange);n&&(this.keyRange.min=n.generatorValue&127,this.keyRange.max=n.generatorValue>>8&127)}getVelRange(){let n=this.generators.find(l=>l.generatorType===v1.velRange);n&&(this.velRange.min=n.generatorValue&127,this.velRange.max=n.generatorValue>>8&127)}};function dk(o,n,l,g){let u=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let S=new ep(o.chunkData);if(u.length>0){let r0=S.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=S.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(r0,E0),u[u.length-1].getGenerators(n),u[u.length-1].getModulators(l),u[u.length-1].getSample(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(S)}return u.length>1&&u.pop(),u}var tp=class extends Eh{constructor(n){super(),this.generatorZoneStartIndex=o3(n,2),this.modulatorZoneStartIndex=o3(n,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(n,l){this.modulatorZoneSize=n,this.generatorZoneSize=l}getGenerators(n){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=n[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let n=this.generators.find(l=>l.generatorType===v1.keyRange);n&&(this.keyRange.min=n.generatorValue&127,this.keyRange.max=n.generatorValue>>8&127)}getVelRange(){let n=this.generators.find(l=>l.generatorType===v1.velRange);n&&(this.velRange.min=n.generatorValue&127,this.velRange.max=n.generatorValue>>8&127)}};function Ik(o,n,l,g){let u=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let S=new tp(o.chunkData);if(u.length>0){let r0=S.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=S.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(r0,E0),u[u.length-1].getGenerators(n),u[u.length-1].getModulators(l),u[u.length-1].getInstrument(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(S)}return u.length>1&&u.pop(),u}var ip=class extends Ih{constructor(n,l){super(l),this.presetName=Ie(n.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(n.chunkData,2),this.bank=o3(n.chunkData,2),this.presetZoneStartIndex=o3(n.chunkData,2),this.library=o3(n.chunkData,4),this.genre=o3(n.chunkData,4),this.morphology=o3(n.chunkData,4),this.presetZonesAmount=0}getPresetZones(n,l){this.presetZonesAmount=n;for(let g=this.presetZoneStartIndex;go.chunkData.currentIndex;){let u=new ip(o,l);if(g.length>0){let S=u.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(S,n)}g.push(u)}return g.length>1&&g.pop(),g}var zC=class extends v${constructor(n,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J3(n),gn("%cParsing SoundFont...",_1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let u=Ie(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let S=u==="sfpk",r0=d4(this.dataArray);for(this.verifyHeader(r0,"list"),Ie(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=Ie(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=QC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let K4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...K4.filter(n4=>!this.defaultModulators.find(K6=>me.isIdentical(n4,K6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ie(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}Y5(`%c"${w6.header}": %c"${s6}"`,_1.info,_1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ie(this.dataArray,4),"sdta"),Y5("%cVerifying smpl chunk...",_1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let g0;if(S){Y5("%cSF2Pack detected, attempting to decode the smpl chunk...",_1.info);try{g0=UA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}Y5(`%cDecoded the smpl chunk! Length: %c${g0.length}`,_1.info,_1.value)}else g0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;Y5(`%cSkipping sample chunk, length: %c${E0.size-12}`,_1.info,_1.value),this.dataArray.currentIndex+=E0.size-12,Y5("%cLoading preset data chunk...",_1.warn);let u1=d4(this.dataArray);this.verifyHeader(u1,"list"),Ie(u1.chunkData,4);let R=d4(u1.chunkData);this.verifyHeader(R,"phdr");let Z0=d4(u1.chunkData);this.verifyHeader(Z0,"pbag");let G0=d4(u1.chunkData);this.verifyHeader(G0,"pmod");let b1=d4(u1.chunkData);this.verifyHeader(b1,"pgen");let l2=d4(u1.chunkData);this.verifyHeader(l2,"inst");let y1=d4(u1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(u1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(u1.chunkData);this.verifyHeader(T2,"igen");let K2=d4(u1.chunkData);this.verifyHeader(K2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...fk(K2,g0,!S));let i3=GB(T2),n3=QC(Y2),A0=dk(y1,i3,n3,this.samples);this.instruments=uk(l2,A0);let y5=GB(b1),M3=QC(G0),$3=Ik(Z0,y5,M3,this.instruments);this.presets.push(...Ek(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.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4(),S&&delete this.dataArray}verifyHeader(n,l){if(n.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${n.header.toLowerCase()}"`)}verifyText(n,l){if(n.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${n.toLowerCase()}"`)}};function Bh(o){let n=o.slice(8,12),l=new J3(n);return Ie(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(o):new zC(o,!1)}async function mk(){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 n=>{let l=n.div.querySelector("input[trim-toggle='1']").checked,g=n.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(n.div.querySelector("input[type='range']").value)/10;Ot(n.id),gn("%cExporting minified soundfont...",_1.info);let S=await this.seq.getMIDI(),r0=Bh(S.embeddedSoundFont||this.soundFont);hh(S,await this.synth.getSynthesizerSnapshot()),l&&YC(r0,S);let E0=r0.write({compress:g,compressionQuality:u,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),g0=r0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${r0.soundFontInfo.INAM||"unnamed"}.${g0}`),i4()}}],99999999,!0,this.localeManager)}async function Ck(){let o="locale.exportAudio.formats.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:n=>{Ot(n.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:n=>{Ot(n.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:n=>{Ot(n.id);try{this._exportSoundfont()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:n=>{Ot(n.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 Bk(){let o=(R,Z0,G0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?Z0:G0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),n=o("IENC","ascii",new TextDecoder),l=new TextDecoder(n),g=o("IPRD","",l),u=o("IART","",l),S=o("IGNR","",l),r0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",u1=mt(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:S,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:r0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async R=>{let Z0=R.div.querySelector("input[compress-toggle='1']").checked,G0=parseInt(R.div.querySelector("input[type='range']").value)/10,b1=R.div.querySelector("input[name='album']").value,l2=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,K2=parseInt(R.div.querySelector("input[name='bank_offset']").value),i3=R.div.querySelector("input[name='adjust']").checked,n3=R.div.querySelector("input[type='file']")?.files[0];Ot(R.id),ni("%cExporting RMIDI...",_1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=mt(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(K6=>setTimeout(K6,500));let M3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Bh($3.embeddedSoundFont||this.soundFont);M3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(K6=>setTimeout(K6,75)),hh($3,await this.synth.getSynthesizerSnapshot()),M3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(K6=>setTimeout(K6,75)),YC(w6,$3);let s6=w6.write({compress:Z0,compressionQuality:G0,compressionFunction:this.compressionFunc});M3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(K6=>setTimeout(K6,75));let o9;n3?.type.split("/")[0]==="image"?o9=await n3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let K4=py(s6,$3,w6,K2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:b1.length>0?b1:void 0,artist:l2.length>0?l2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),n4=new Blob([K4.buffer],{type:"audio/rmid"});this.saveBlob(n4,`${y1||"unnamed_song"}.rmi`),M3.textContent=this.localeManager.getLocaleString(A0+"done"),Ot(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");u1.oninput=()=>{u1.files[0]&&(u1.parentElement.firstChild.textContent=u1.files[0].name)}}var ZC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var n={};for(var l in o)o.hasOwnProperty(l)&&(n[l]=o[l]);var g=typeof window=="object",u=typeof process=="object"&&typeof EC=="function"&&!g,S=typeof importScripts=="function",r0=!g&&!u&&!S;if(u){o.print||(o.print=function($){process.stdout.write($+` + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4()}verifyHeader(n,l){if(n.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${n.header.toLowerCase()}"`)}verifyText(n,l){if(n.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${n.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=sk;Fs.prototype.readDLSInstrument=ok;Fs.prototype.readRegion=lk;Fs.prototype.readLart=$k;Fs.prototype.readDLSSamples=ck;var UA=UA!==void 0?UA:{},gk=!1,hk;UA.isInitialized=new Promise(o=>hk=o);var eD=function(o){var n,l,g,u,S,r0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g0="",u1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=m0.indexOf(o.charAt(u1++)),S=m0.indexOf(o.charAt(u1++)),r0=m0.indexOf(o.charAt(u1++)),E0=m0.indexOf(o.charAt(u1++)),n=u<<2|S>>4,l=(15&S)<<4|r0>>2,g=(3&r0)<<6|E0,g0+=String.fromCharCode(n),r0!==64&&(g0+=String.fromCharCode(l)),E0!==64&&(g0+=String.fromCharCode(g));while(u11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof Y$))throw R0}),process.on("unhandledRejection",function(R0,j0){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(A0.read=function(j0){return read(j0)}),A0.readBinary=function(j0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(j0)):(fn(typeof(C1=read(j0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(M3||$3)&&(M3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.send(null),C1.responseText},$3&&(A0.readBinary=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),A0.readAsync=function(j0,C1,S2){var Z3=new XMLHttpRequest;Z3.open("GET",j0,!0),Z3.responseType="arraybuffer",Z3.onload=function(){if(Z3.status==200||Z3.status==0&&Z3.response){C1(Z3.response);return}S2()},Z3.onerror=S2,Z3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var n4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),K6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||n4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function We(R0){var j0=F0;return F0=F0+R0+15&-16,j0}function On(R0){var j0=m0[K2>>2],C1=j0+R0+15&-16;return m0[K2>>2]=C1,C1>=_9&&!Hn()?(m0[K2>>2]=j0,0):j0}function Ji(R0,j0){return j0||(j0=16),R0=Math.ceil(R0/j0)*j0}function OA(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 j0=parseInt(R0.substr(1));return fn(j0%8==0),j0/8}}function Ms(R0){Ms.shown||(Ms.shown={}),Ms.shown[R0]||(Ms.shown[R0]=1,K6(R0))}y5=void 0;var Lm={"f64-rem":function(R0,j0){return R0%j0},debugger:function(){}},_$=[];function XC(R0,j0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(j0>>>0):+(R0>>>0)+4294967296*+(0|j0)}function R$(R0,j0,C1){return C1&&C1.length?A0["dynCall_"+R0].apply(null,[j0].concat(C1)):A0["dynCall_"+R0].call(null,j0)}var HA=0,ph=0;function fn(R0,j0){R0||Ki("Assertion failed: "+j0)}function qA(R0){var j0=A0["_"+R0];return fn(j0,"Cannot call unknown function "+R0+", make sure it is exported"),j0}var Fm={stackSave:function(){qm()},stackRestore:function(){q$()},arrayToC:function(R0){var j0,C1,S2=YA(R0.length);return j0=R0,C1=S2,u.set(j0,C1),S2},stringToC:function(R0){var j0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;j0=YA(C1),Tm(R0,j0,C1)}return j0}},Ts={string:Fm.stringToC,array:Fm.arrayToC};function Qh(R0,j0,C1,S2,Z3){var g9=qA(R0),J9=[],h6=0;if(S2)for(var Ct=0;Ct>0]=j0;break;case"i16":r0[R0>>1]=j0;break;case"i32":m0[R0>>2]=j0;break;case"i64":tempI64=[j0>>>0,+kh(tempDouble=j0)>=1?tempDouble>0?(0|Sh(+vh(tempDouble/4294967296),4294967295))>>>0:~~+O$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[R0>>2]=tempI64[0],m0[R0+4>>2]=tempI64[1];break;case"float":u1[R0>>2]=j0;break;case"double":R[R0>>3]=j0;break;default:Ki("invalid type for setValue: "+C1)}}function E3(R0,j0,C1){switch((j0=j0||"i8").charAt(j0.length-1)==="*"&&(j0="i32"),j0){case"i1":case"i8":return u[R0>>0];case"i16":return r0[R0>>1];case"i32":case"i64":return m0[R0>>2];case"float":return u1[R0>>2];case"double":return R[R0>>3];default:Ki("invalid type for getValue: "+j0)}return null}function Ap(R0,j0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var Z3=typeof j0=="string"?j0:null;if(h6=C1==4?S2:[typeof Hs=="function"?Hs:We,YA,We,On][C1===void 0?2:C1](Math.max(J9,Z3?1:j0.length)),g9){for(S2=h6,fn((3&h6)==0),Ct=h6+(-4&J9);S2>2]=0;for(Ct=h6+J9;S2>0]=0;return h6}if(Z3==="i8")return R0.subarray||R0.slice?S.set(R0,h6):S.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,Ct,Te,je,Se,h9=0;h9>0],(S2!=0||j0)&&(J9++,!j0||J9!=j0););j0||(j0=J9);var h6="";if(g9<128){for(;j0>0;)Z3=String.fromCharCode.apply(String,S.subarray(R0,R0+Math.min(j0,1024))),h6=h6?h6+Z3:Z3,R0+=1024,j0-=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,Mi,Bt,T7,Ti,Ni="";;){if(!(h9=Te[je++]))return Ni;if(!(128&h9)){Ni+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Ni+=String.fromCharCode((31&h9)<<6|M7);continue}if(Mi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Mi:(Bt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Mi<<6|Bt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Mi<<12|Bt<<6|T7:(1&h9)<<30|M7<<24|Mi<<18|Bt<<12|T7<<6|(Ti=63&Te[je++]))),h9<65536)Ni+=String.fromCharCode(h9);else{var Fr=h9-65536;Ni+=String.fromCharCode(55296|Fr>>10,56320|1023&Fr)}}}(S,C1)}function ap(R0){for(var j0="";;){var C1=u[R0++>>0];if(!C1)return j0;j0+=String.fromCharCode(C1)}}function Ns(R0,j0){return function(S2,Z3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(u[Z3>>0]=0)}(R0,j0,!1)}var Mm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function xr(R0,j0,C1,S2){if(!(S2>0))return 0;for(var Z3=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;j0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;j0[C1++]=192|h6>>6,j0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;j0[C1++]=224|h6>>12,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;j0[C1++]=240|h6>>18,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;j0[C1++]=248|h6>>24,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else{if(C1+5>=g9)break;j0[C1++]=252|h6>>30,j0[C1++]=128|h6>>24&63,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}}return j0[C1]=0,C1-Z3}function Tm(R0,j0,C1){return xr(R0,S,j0,C1)}function Gs(R0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&R0.charCodeAt(++C1)),S2<=127?++j0:S2<=2047?j0+=2:S2<=65535?j0+=3:S2<=2097151?j0+=4:S2<=67108863?j0+=5:j0+=6}return j0}var Nm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function $p(R0){for(var j0=R0,C1=j0>>1;r0[C1];)++C1;if((j0=C1<<1)-R0>32&&Nm)return Nm.decode(S.subarray(R0,j0));for(var S2=0,Z3="";;){var g9=r0[R0+2*S2>>1];if(g9==0)return Z3;++S2,Z3+=String.fromCharCode(g9)}}function lp(R0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=j0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,j0+=2}return r0[j0>>1]=0,j0-S2}function cp(R0){return 2*R0.length}function gp(R0){for(var j0=0,C1="";;){var S2=m0[R0+4*j0>>2];if(S2==0)return C1;if(++j0,S2>=65536){var Z3=S2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(S2)}}function hp(R0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=j0,Z3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),m0[j0>>2]=J9,(j0+=4)+4>Z3)break}return m0[j0>>2]=0,j0-S2}function fp(R0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&++C1,j0+=4}return j0}function up(R0){var j0=Gs(R0)+1,C1=Hs(j0);return C1&&xr(R0,u,C1,j0),C1}function dp(R0){var j0=Gs(R0)+1,C1=YA(j0);return xr(R0,u,C1,j0),C1}function Gm(R0){return R0}function tB(){var R0,j0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(Z3){S2=Z3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return A0.extraStackTrace&&(j0+=` +`+A0.extraStackTrace()),(R0=j0).replace(/__Z[\w\d_]+/g,function(C1){var S2,Z3=S2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function yh(R0,j0){return R0%j0>0&&(R0+=j0-R0%j0),R0}function Um(R0){A0.buffer=g=R0}function Y9(){A0.HEAP8=u=new Int8Array(g),A0.HEAP16=r0=new Int16Array(g),A0.HEAP32=m0=new Int32Array(g),A0.HEAPU8=S=new Uint8Array(g),A0.HEAPU16=E0=new Uint16Array(g),A0.HEAPU32=g0=new Uint32Array(g),A0.HEAPF32=u1=new Float32Array(g),A0.HEAPF64=R=new Float64Array(g)}function Hn(){var R0=A0.usingWasm?65536:16777216,j0=2147483648-R0;if(m0[K2>>2]>j0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?yh(2*_9,R0):Math.min(yh((3*_9+2147483648)/4,R0),j0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Um(S2),Y9(),!0):(_9=C1,!1)}X0=F0=l2=y1=Y2=T2=K2=0,b1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)j0=ArrayBuffer.transfer(g,R0);else{var j0,C1=u;j0=new ArrayBuffer(R0),new Int8Array(j0).set(C1)}}catch{return!1}return!!rB(j0)&&j0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(j0){return j0.byteLength}}var F$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function M$(){return _9}function Us(R0){for(;R0.length>0;){var j0=R0.shift();if(typeof j0=="function"){j0();continue}var C1=j0.func;typeof C1=="number"?j0.arg===void 0?A0.dynCall_v(C1):A0.dynCall_vi(C1,j0.arg):C1(j0.arg===void 0?null:j0.arg)}}_9=0?R0:j0<=32?2*Math.abs(1<=S2&&(j0<=32||R0>S2)&&(R0=-2*S2+R0),R0}var kh=Math.abs,O$=Math.ceil,vh=Math.floor,Sh=Math.min,Lr=0,bh=null,Os=null;function Ip(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Hm="data:application/octet-stream;base64,";function H$(R0){return String.prototype.startsWith?R0.startsWith(Hm):R0.indexOf(Hm)===0}(function(){var j0="main.wast",C1="main.wasm",S2="main.temp.asm.js";H$(j0)||(j0=K4(j0)),H$(C1)||(C1=K4(C1)),H$(S2)||(S2=K4(S2));var Z3={global:null,env:null,asm2wasm:Lm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ki(Se)}}A0.asmPreload=A0.asm;var Ct=A0.reallocBuffer,Te=function(Se){Se=yh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return je==="asmjs"?Ct(Se):Te(Se)};var je="";A0.asm=function(Se,h9,M7){var Mi;if(!(h9=Mi=h9).table){var Bt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Ti=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ti!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ti,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),Bt=function(Fr,un,Ym){if(typeof WebAssembly!="object")return K6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return K6("no native wasm Memory in use"),!1;function Dh(dn,Vi){if((g9=dn.exports).memory){var JA,qs,Ys;JA=g9.memory,qs=A0.buffer,JA.byteLength0?C1:Gs(R0)+1,Z3=Array(S2),g9=xr(R0,Z3,0,Z3.length);return j0&&(Z3.length=g9),Z3}function nB(R0){for(var j0=[],C1=0;C1255&&(S2&=255),j0.push(String.fromCharCode(S2))}return j0.join("")}F0+=16,K2=We(4),Y2=(l2=y1=Ji(F0))+F$,T2=Ji(Y2),m0[K2>>2]=T2,b1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Ki,assert:fn,enlargeMemory:Hn,getTotalMemory:M$,abortOnCannotGrowMemory:function(){Ki("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(j0,C1,S2){var Z3=qm();try{return A0.dynCall_iii(j0,C1,S2)}catch(g9){if(q$(Z3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(j0,C1,S2,Z3){Ki("Assertion failed: "+L$(j0)+", at: "+[C1?L$(C1):"unknown filename",S2,Z3?L$(Z3):"unknown function"])},___setErrNo:function(j0){return A0.___errno_location&&(m0[A0.___errno_location()>>2]=j0),j0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(j0,C1,S2){return S.set(S.subarray(C1,C1+S2),j0),j0},_llvm_floor_f64:vh,DYNAMICTOP_PTR:K2,tempDoublePtr:F7,ABORT:HA,STACKTOP:y1,STACK_MAX:Y2};var Jn=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Jn,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var rB=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Hs=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var YA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},q$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},qm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function Y$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function J$(R0){R0=R0||A0.arguments,!(Lr>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)iB(A0.preRun.shift());Us(qn)}(),!(Lr>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),j0()},1)):j0())));function j0(){!A0.calledRun&&(A0.calledRun=!0,HA||(G$||(G$=!0,Us(T$)),Us(wh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Fi(A0.postRun.shift());Us(N$)}()))}}function sB(R0,j0){(!j0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(HA=!0,ph=R0,y1=n3,Us(Bi),Li=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new Y$(R0)))}function Ki(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(n4(R0),K6(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=Jn,A0.ccall=Qh,A0.cwrap=function(j0,C1,S2,Z3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!Z3?qA(j0):function(){return Qh(j0,C1,S2,arguments,Z3)}},Y$.prototype=Error(),Y$.prototype.constructor=Y$,Os=function R0(){A0.calledRun||J$(),A0.calledRun||(Os=R0)},A0.run=J$,A0.abort=Ki,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,J$(),A0.onRuntimeInitialized=()=>{gk=!0,hk()},UA.decode=function(R0){return function(C1){if(!gk)throw Error("Not initialized");var S2={};function Z3(un){return new Int32Array(A0.HEAPU8.buffer,un,1)[0]}function g9(un,Ym){var Dh=new ArrayBuffer(Ym*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(Dh);return y8.set(new Float32Array(A0.HEAPU8.buffer,un,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),Mi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Mi<0)throw S2.close(je),A0._free(h9),Error("stbvorbis decode failed: "+Mi);for(var Bt=S2.channels(je),T7=Array(Bt),Ti=new Int32Array(A0.HEAPU32.buffer,Z3(h9),Bt),Ni=0;Nio.chunkData.currentIndex;){let S=tD(u,o.chunkData,n,l);g.push(S),u++}return g.length>1&&g.pop(),g}function tD(o,n,l,g){let u=Ie(n,20),S=o3(n,4)*2,r0=o3(n,4)*2,E0=o3(n,4),m0=o3(n,4),g0=o3(n,4),u1=n[n.currentIndex++];u1===255&&(u1=60);let R=iy(n[n.currentIndex++]),X0=o3(n,2),F0=o3(n,2);return new jB(u,S,r0,E0,m0,g0,u1,R,X0,F0,l,o,g)}var XB=class extends mh{constructor(n){super(),this.instrumentName=Ie(n.chunkData,20).trim(),this.instrumentZoneIndex=o3(n.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(n,l){this.instrumentZonesAmount=n;for(let g=this.instrumentZoneIndex;go.chunkData.currentIndex;){let g=new XB(o);if(l.length>0){let u=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(u,n)}l.push(g)}return l.length>1&&l.pop(),l}var ep=class extends GA{constructor(n){super(),this.generatorZoneStartIndex=o3(n,2),this.modulatorZoneStartIndex=o3(n,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(n,l){this.modulatorZoneSize=n,this.generatorZoneSize=l}getGenerators(n){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=n[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let n=this.generators.find(l=>l.generatorType===v1.keyRange);n&&(this.keyRange.min=n.generatorValue&127,this.keyRange.max=n.generatorValue>>8&127)}getVelRange(){let n=this.generators.find(l=>l.generatorType===v1.velRange);n&&(this.velRange.min=n.generatorValue&127,this.velRange.max=n.generatorValue>>8&127)}};function dk(o,n,l,g){let u=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let S=new ep(o.chunkData);if(u.length>0){let r0=S.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=S.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(r0,E0),u[u.length-1].getGenerators(n),u[u.length-1].getModulators(l),u[u.length-1].getSample(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(S)}return u.length>1&&u.pop(),u}var tp=class extends Eh{constructor(n){super(),this.generatorZoneStartIndex=o3(n,2),this.modulatorZoneStartIndex=o3(n,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(n,l){this.modulatorZoneSize=n,this.generatorZoneSize=l}getGenerators(n){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=n[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let n=this.generators.find(l=>l.generatorType===v1.keyRange);n&&(this.keyRange.min=n.generatorValue&127,this.keyRange.max=n.generatorValue>>8&127)}getVelRange(){let n=this.generators.find(l=>l.generatorType===v1.velRange);n&&(this.velRange.min=n.generatorValue&127,this.velRange.max=n.generatorValue>>8&127)}};function Ik(o,n,l,g){let u=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let S=new tp(o.chunkData);if(u.length>0){let r0=S.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=S.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(r0,E0),u[u.length-1].getGenerators(n),u[u.length-1].getModulators(l),u[u.length-1].getInstrument(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(S)}return u.length>1&&u.pop(),u}var ip=class extends Ih{constructor(n,l){super(l),this.presetName=Ie(n.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(n.chunkData,2),this.bank=o3(n.chunkData,2),this.presetZoneStartIndex=o3(n.chunkData,2),this.library=o3(n.chunkData,4),this.genre=o3(n.chunkData,4),this.morphology=o3(n.chunkData,4),this.presetZonesAmount=0}getPresetZones(n,l){this.presetZonesAmount=n;for(let g=this.presetZoneStartIndex;go.chunkData.currentIndex;){let u=new ip(o,l);if(g.length>0){let S=u.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(S,n)}g.push(u)}return g.length>1&&g.pop(),g}var zC=class extends v${constructor(n,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J3(n),gn("%cParsing SoundFont...",_1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let u=Ie(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let S=u==="sfpk",r0=d4(this.dataArray);for(this.verifyHeader(r0,"list"),Ie(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=Ie(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=QC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let K4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...K4.filter(n4=>!this.defaultModulators.find(K6=>me.isIdentical(n4,K6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ie(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}Y5(`%c"${w6.header}": %c"${s6}"`,_1.info,_1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ie(this.dataArray,4),"sdta"),Y5("%cVerifying smpl chunk...",_1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let g0;if(S){Y5("%cSF2Pack detected, attempting to decode the smpl chunk...",_1.info);try{g0=UA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}Y5(`%cDecoded the smpl chunk! Length: %c${g0.length}`,_1.info,_1.value)}else g0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;Y5(`%cSkipping sample chunk, length: %c${E0.size-12}`,_1.info,_1.value),this.dataArray.currentIndex+=E0.size-12,Y5("%cLoading preset data chunk...",_1.warn);let u1=d4(this.dataArray);this.verifyHeader(u1,"list"),Ie(u1.chunkData,4);let R=d4(u1.chunkData);this.verifyHeader(R,"phdr");let X0=d4(u1.chunkData);this.verifyHeader(X0,"pbag");let F0=d4(u1.chunkData);this.verifyHeader(F0,"pmod");let b1=d4(u1.chunkData);this.verifyHeader(b1,"pgen");let l2=d4(u1.chunkData);this.verifyHeader(l2,"inst");let y1=d4(u1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(u1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(u1.chunkData);this.verifyHeader(T2,"igen");let K2=d4(u1.chunkData);this.verifyHeader(K2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...fk(K2,g0,!S));let i3=GB(T2),n3=QC(Y2),A0=dk(y1,i3,n3,this.samples);this.instruments=uk(l2,A0);let y5=GB(b1),M3=QC(F0),$3=Ik(X0,y5,M3,this.instruments);this.presets.push(...Ek(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.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4(),S&&delete this.dataArray}verifyHeader(n,l){if(n.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${n.header.toLowerCase()}"`)}verifyText(n,l){if(n.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${n.toLowerCase()}"`)}};function Bh(o){let n=o.slice(8,12),l=new J3(n);return Ie(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(o):new zC(o,!1)}async function mk(){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 n=>{let l=n.div.querySelector("input[trim-toggle='1']").checked,g=n.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(n.div.querySelector("input[type='range']").value)/10;Ot(n.id),gn("%cExporting minified soundfont...",_1.info);let S=await this.seq.getMIDI(),r0=Bh(S.embeddedSoundFont||this.soundFont);hh(S,await this.synth.getSynthesizerSnapshot()),l&&YC(r0,S);let E0=r0.write({compress:g,compressionQuality:u,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),g0=r0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${r0.soundFontInfo.INAM||"unnamed"}.${g0}`),i4()}}],99999999,!0,this.localeManager)}async function Ck(){let o="locale.exportAudio.formats.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:n=>{Ot(n.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:n=>{Ot(n.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:n=>{Ot(n.id);try{this._exportSoundfont()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:n=>{Ot(n.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 Bk(){let o=(R,X0,F0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?X0:F0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),n=o("IENC","ascii",new TextDecoder),l=new TextDecoder(n),g=o("IPRD","",l),u=o("IART","",l),S=o("IGNR","",l),r0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",u1=mt(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:S,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:r0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async R=>{let X0=R.div.querySelector("input[compress-toggle='1']").checked,F0=parseInt(R.div.querySelector("input[type='range']").value)/10,b1=R.div.querySelector("input[name='album']").value,l2=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,K2=parseInt(R.div.querySelector("input[name='bank_offset']").value),i3=R.div.querySelector("input[name='adjust']").checked,n3=R.div.querySelector("input[type='file']")?.files[0];Ot(R.id),ni("%cExporting RMIDI...",_1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=mt(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(K6=>setTimeout(K6,500));let M3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Bh($3.embeddedSoundFont||this.soundFont);M3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(K6=>setTimeout(K6,75)),hh($3,await this.synth.getSynthesizerSnapshot()),M3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(K6=>setTimeout(K6,75)),YC(w6,$3);let s6=w6.write({compress:X0,compressionQuality:F0,compressionFunction:this.compressionFunc});M3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(K6=>setTimeout(K6,75));let o9;n3?.type.split("/")[0]==="image"?o9=await n3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let K4=py(s6,$3,w6,K2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:b1.length>0?b1:void 0,artist:l2.length>0?l2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),n4=new Blob([K4.buffer],{type:"audio/rmid"});this.saveBlob(n4,`${y1||"unnamed_song"}.rmi`),M3.textContent=this.localeManager.getLocaleString(A0+"done"),Ot(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");u1.oninput=()=>{u1.files[0]&&(u1.parentElement.firstChild.textContent=u1.files[0].name)}}var ZC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var n={};for(var l in o)o.hasOwnProperty(l)&&(n[l]=o[l]);var g=typeof window=="object",u=typeof process=="object"&&typeof EC=="function"&&!g,S=typeof importScripts=="function",r0=!g&&!u&&!S;if(u){o.print||(o.print=function($){process.stdout.write($+` `)}),o.printErr||(o.printErr=function($){process.stderr.write($+` -`)});var E0=void 0,m0=void 0;o.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){u1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof 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 V4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(g||S){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var g0=!1;o.print||(o.print=g0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}S&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function u1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){u1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in n)n.hasOwnProperty(l)&&(o[l]=n[l]);var R={setTempRet0:function(i){K6=i},getTempRet0:function(){return K6},stackSave:function(){return Bi},stackRestore:function(i){Bi=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 V4($%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&&(V4((i&7)===4),i+=4):V4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?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;$=Ps){var h=iB();if(!h)return Li=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=R;var Z0=0,G0=!1,b1=0,l2=0,y1,Y2,T2,K2,i3,n3,A0,y5,M3,$3,w6,s6,o9,K4,n4,K6,We,On,Ji,OA,Ms,Lm,_$,XC,kk;function V4(i,$){i||Js("Assertion failed: "+$)}var vk=this;function eB(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return V4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var R$,HA;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(W0){var t1=R.stackAlloc(W0.length);return YA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=R.stackAlloc((W0.length<<2)+1),Hs(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};HA=function(t1,b2,s,A1,C){var w5=eB(t1),p2=[],T5=0;if(A1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Hn[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":K4=[$>>>0,(s6=$,+J$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Ct((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=K4[0],_9[i+4>>2]=K4[1];break;case"float":V$[i>>2]=$;break;case"double":M$[i>>3]=$;break;default:Js("invalid type for setValue: "+h)}}o.setValue=ph;function fn(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Hn[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return V$[i>>2];case"double":return M$[i>>3];default:Js("invalid type for setValue: "+$)}return null}o.getValue=fn;var qA=0,Fm=1,Ts=2,Qh=3,T3=4;o.ALLOC_NORMAL=qA,o.ALLOC_STACK=Fm,o.ALLOC_STATIC=Ts,o.ALLOC_DYNAMIC=Qh,o.ALLOC_NONE=T3;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==T3?t1=d:t1=[_h,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Ts:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(V4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?pi.set(i,t1):pi.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,pi.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 ap(i,$){return q$(i,$,!1)}o.stringToAscii=ap;function Ns(i,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ns;function Mm(i){return Ns(pi,i)}o.UTF8ToString=Mm;function xr(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=xr;function Tm(i,$,h){return xr(i,pi,$,h)}o.stringToUTF8=Tm;function Gs(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Gs;function Nm(i){for(var $=0,h="";;){var d=Hn[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Nm;function $p(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Hn[$>>1]=0,$-d}o.stringToUTF16=$p;function lp(i){return i.length*2}o.lengthBytesUTF16=lp;function cp(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=cp;function gp(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=gp;function hp(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=hp;function fp(i){var $=!!o.___cxa_demangle;if($)try{var h=_h(i.length);Hs(i.substr(1),h);var d=_h(4),P=o.___cxa_demangle(h,0,0,d);if(fn(d,"i32")===0&&P)return x$(P)}catch{}finally{h&&AB(h),d&&AB(d),P&&AB(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(p2){p2&&o.print(p2),o.print(i);for(var T5="",R9=0;R9"}else O9=V9;e:for(;e0;){var In=i[e++];if(In in W0)I4.push(W0[In]);else switch(In){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+="?"+In;break e}}return!R9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=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 up(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=fp($);return $===h?$:$+" ["+h+"]"})}function dp(){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 up(dp())}o.stackTrace=Gm;var tB=4096;function yh(i){return i%4096>0&&(i+=4096-i%4096),i}var Um,Y9,pi,Hn,F$,_9,K$,V$,M$,Us=0,qn=0,T$=!1,wh=0,Bi=0,N$=0,G$=0,Li=0;function iB(){Js("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ps+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Pm=o.TOTAL_STACK||5242880,Ps=o.TOTAL_MEMORY||16777216,Yn=64*1024;Yn0;){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=[],P$=[],kh=[],O$=[],vh=[],Sh=!1,Lr=!1;function bh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());U$(Om)}function Os(){Sh||(Sh=!0,U$(P$))}function Ip(){U$(kh)}function Hm(){U$(O$),Lr=!0}function H$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)nB(o.postRun.shift());U$(vh)}function F7(i){Om.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function Ep(i){P$.unshift(i)}o.addOnInit=o.addOnInit=Ep;function mp(i){kh.unshift(i)}o.addOnPreMain=o.addOnPreMain=mp;function Cp(i){O$.unshift(i)}o.addOnExit=o.addOnExit=Cp;function nB(i){vh.unshift(i)}o.addOnPostRun=o.addOnPostRun=nB;function Jn(i,$,h){var d=h>0?h:Gs(i)+1,P=new Array(d),e=xr(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Jn;function rB(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=rB;function Hs(i,$,h){for(var d=Jn(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Hs;function YA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=YA;function q$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=q$;function qm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function Y$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var J$=Math.abs,sB=Math.cos,Ki=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,Z3=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,Mi=Math.clz32,Bt=0,T7=null,Ti=null;function Ni(i){return i}function Fr(i){Bt++,o.monitorRunDependencies&&o.monitorRunDependencies(Bt)}o.addRunDependency=Fr;function un(i){if(Bt--,o.monitorRunDependencies&&o.monitorRunDependencies(Bt),Bt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ti)){var $=Ti;Ti=null,$()}}o.removeRunDependency=un,o.preloadedImages={},o.preloadedAudios={};var Ym=null,Dh=[];Us=8,qn=Us+553552,P$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+41032),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+72464),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+551416);var y8=R.alignMemory(E3(12,"i8",Ts),8);V4(y8%8==0);function oB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function dn(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 Vi=sB,JA=J$,qs=0;function Ys(i){return _9[qs>>2]=i,i}var L2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function Bp(i){switch(i){case 30:return tB;case 85:return Yn/tB;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ys(L2.EINVAL),-1}o._memset=av;var pp=!0;o._strlen=rv,o._strcat=sv,o._bitshift64Shl=gv;function Sk(){o.abort()}o._i64Add=ov;var bk=Te,Dk={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"},Mr={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Mr.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Mr.stream_ops)},stream_ops:{open:function(i){var $=Mr.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(L2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var E0=void 0,m0=void 0;o.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){u1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof 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 V4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(g||S){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var g0=!1;o.print||(o.print=g0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}S&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function u1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){u1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in n)n.hasOwnProperty(l)&&(o[l]=n[l]);var R={setTempRet0:function(i){K6=i},getTempRet0:function(){return K6},stackSave:function(){return Bi},stackRestore:function(i){Bi=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 V4($%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&&(V4((i&7)===4),i+=4):V4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?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;$=Ps){var h=iB();if(!h)return Li=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=R;var X0=0,F0=!1,b1=0,l2=0,y1,Y2,T2,K2,i3,n3,A0,y5,M3,$3,w6,s6,o9,K4,n4,K6,We,On,Ji,OA,Ms,Lm,_$,XC,kk;function V4(i,$){i||Js("Assertion failed: "+$)}var vk=this;function eB(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return V4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var R$,HA;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(Z0){var t1=R.stackAlloc(Z0.length);return YA(Z0,t1),t1},stringToC:function(Z0){var t1=0;return Z0!=null&&Z0!==0&&(t1=R.stackAlloc((Z0.length<<2)+1),Hs(Z0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};HA=function(t1,b2,s,A1,C){var w5=eB(t1),p2=[],T5=0;if(A1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Hn[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":K4=[$>>>0,(s6=$,+J$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Ct((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=K4[0],_9[i+4>>2]=K4[1];break;case"float":V$[i>>2]=$;break;case"double":M$[i>>3]=$;break;default:Js("invalid type for setValue: "+h)}}o.setValue=ph;function fn(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Hn[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return V$[i>>2];case"double":return M$[i>>3];default:Js("invalid type for setValue: "+$)}return null}o.getValue=fn;var qA=0,Fm=1,Ts=2,Qh=3,T3=4;o.ALLOC_NORMAL=qA,o.ALLOC_STACK=Fm,o.ALLOC_STATIC=Ts,o.ALLOC_DYNAMIC=Qh,o.ALLOC_NONE=T3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var Z0=typeof $=="string"?$:null,t1;if(h==T3?t1=d:t1=[_h,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Ts:h](Math.max(e,Z0?1:$.length)),P){var d=t1,b2;for(V4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(Z0==="i8")return i.subarray||i.slice?pi.set(i,t1):pi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var Z0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,pi.subarray(i,i+Math.min($,Z0))),e=e?e+t1:t1,i+=Z0,$-=Z0;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 ap(i,$){return q$(i,$,!1)}o.stringToAscii=ap;function Ns(i,$){for(var h,d,P,e,Z0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(Z0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|Z0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|Z0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ns;function Mm(i){return Ns(pi,i)}o.UTF8ToString=Mm;function xr(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,Z0=0;Z0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++Z0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=xr;function Tm(i,$,h){return xr(i,pi,$,h)}o.stringToUTF8=Tm;function Gs(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Gs;function Nm(i){for(var $=0,h="";;){var d=Hn[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Nm;function $p(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=Z0,$+=2}return Hn[$>>1]=0,$-d}o.stringToUTF16=$p;function lp(i){return i.length*2}o.lengthBytesUTF16=lp;function cp(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=cp;function gp(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&Z0<=57343){var t1=i.charCodeAt(++e);Z0=65536+((Z0&1023)<<10)|t1&1023}if(_9[$>>2]=Z0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=gp;function hp(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=hp;function fp(i){var $=!!o.___cxa_demangle;if($)try{var h=_h(i.length);Hs(i.substr(1),h);var d=_h(4),P=o.___cxa_demangle(h,0,0,d);if(fn(d,"i32")===0&&P)return x$(P)}catch{}finally{h&&AB(h),d&&AB(d),P&&AB(P)}var e=3,Z0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(p2){p2&&o.print(p2),o.print(i);for(var T5="",R9=0;R9"}else O9=V9;e:for(;e0;){var In=i[e++];if(In in Z0)I4.push(Z0[In]);else switch(In){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+="?"+In;break e}}return!R9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=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 up(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=fp($);return $===h?$:$+" ["+h+"]"})}function dp(){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 up(dp())}o.stackTrace=Gm;var tB=4096;function yh(i){return i%4096>0&&(i+=4096-i%4096),i}var Um,Y9,pi,Hn,F$,_9,K$,V$,M$,Us=0,qn=0,T$=!1,wh=0,Bi=0,N$=0,G$=0,Li=0;function iB(){Js("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ps+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Pm=o.TOTAL_STACK||5242880,Ps=o.TOTAL_MEMORY||16777216,Yn=64*1024;Yn0;){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=[],P$=[],kh=[],O$=[],vh=[],Sh=!1,Lr=!1;function bh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());U$(Om)}function Os(){Sh||(Sh=!0,U$(P$))}function Ip(){U$(kh)}function Hm(){U$(O$),Lr=!0}function H$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)nB(o.postRun.shift());U$(vh)}function F7(i){Om.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function Ep(i){P$.unshift(i)}o.addOnInit=o.addOnInit=Ep;function mp(i){kh.unshift(i)}o.addOnPreMain=o.addOnPreMain=mp;function Cp(i){O$.unshift(i)}o.addOnExit=o.addOnExit=Cp;function nB(i){vh.unshift(i)}o.addOnPostRun=o.addOnPostRun=nB;function Jn(i,$,h){var d=h>0?h:Gs(i)+1,P=new Array(d),e=xr(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Jn;function rB(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=rB;function Hs(i,$,h){for(var d=Jn(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Hs;function YA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=YA;function q$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=q$;function qm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function Y$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,Z0=h&65535;return P*Z0+(d*Z0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var J$=Math.abs,sB=Math.cos,Ki=Math.sin,R0=Math.tan,j0=Math.acos,C1=Math.asin,S2=Math.atan,Z3=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,Mi=Math.clz32,Bt=0,T7=null,Ti=null;function Ni(i){return i}function Fr(i){Bt++,o.monitorRunDependencies&&o.monitorRunDependencies(Bt)}o.addRunDependency=Fr;function un(i){if(Bt--,o.monitorRunDependencies&&o.monitorRunDependencies(Bt),Bt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ti)){var $=Ti;Ti=null,$()}}o.removeRunDependency=un,o.preloadedImages={},o.preloadedAudios={};var Ym=null,Dh=[];Us=8,qn=Us+553552,P$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+41032),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+72464),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+551416);var y8=R.alignMemory(E3(12,"i8",Ts),8);V4(y8%8==0);function oB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function dn(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 Vi=sB,JA=J$,qs=0;function Ys(i){return _9[qs>>2]=i,i}var L2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function Bp(i){switch(i){case 30:return tB;case 85:return Yn/tB;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ys(L2.EINVAL),-1}o._memset=av;var pp=!0;o._strlen=rv,o._strcat=sv,o._bitshift64Shl=gv;function Sk(){o.abort()}o._i64Add=ov;var bk=Te,Dk={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"},Mr={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Mr.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Mr.stream_ops)},stream_ops:{open:function(i){var $=Mr.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(L2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,Z0=0;Z00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` `)):typeof readline=="function"&&($=readline(),$!==null&&($+=` -`));if(!$)return null;i.input=Jn($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Ns(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Ns(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(L2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[L2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(L2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(L2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(V4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([pt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(pt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?pt.loadRemoteEntry(A1,w5,function(p2,T5){if(p2)return C(p2);pt.storeLocalEntry(w5,T5,C)}):pt.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);pt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?pt.removeLocalEntry(w5,C):pt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return V4(u),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Qt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Qt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(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(L2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Qt.mkdirSync(e,P.mode):Qt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(L2[W0.code]):W0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Qt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Qt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Qt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Qt.readlinkSync($),$=wp.relative(wp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Qt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Qt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(L2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Qt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(L2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(L2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(L2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?L2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:L2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return L2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return L2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return L2.EBUSY}else if(k.isDir(d.mode))return L2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?L2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?L2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):L2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(L2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(L2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(L2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(L2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(L2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);V4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(L2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(L2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(L2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(L2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(L2.EBUSY);if(b2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(L2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===L2.EISDIR&&(e=L2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(L2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(L2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(L2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(L2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(L2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(L2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(L2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(L2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(L2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(L2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(L2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(L2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(L2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(L2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(L2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(L2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Ns(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Gs($)+1),e=xr($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(L2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Mr.register(k.makedev(5,0),Mr.default_tty_ops),Mr.register(k.makedev(6,0),Mr.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 u?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[_k>>2]=k.getPtrForStream(i),V4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Rk>>2]=k.getPtrForStream($),V4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[xk>>2]=k.getPtrForStream(h),V4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in L2)if(L2[P]===d){this.code=P;break}},this.setErrno($),this.message=Dk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[L2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){V4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,R9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;R9||(O9=p2);var I4=function(V9,h8){if(V9>h8)throw new Error("invalid range ("+V9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var z4=new XMLHttpRequest;if(z4.open("GET",h,!1),p2!==O9&&z4.setRequestHeader("Range","bytes="+V9+"-"+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||[]):Jn(z4.responseText||"",!0)},w8=this;w8.setDataGetter(function(V9){var h8=V9*O9,z4=(V9+1)*O9-1;if(z4=Math.min(z4,p2-1),typeof w8.chunks[V9]>"u"&&(w8.chunks[V9]=I4(h8,z4)),typeof w8.chunks[V9]>"u")throw new Error("doXHR failed!");return w8.chunks[V9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!S)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,R9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,R9);if(V4(w8>=0),I4.slice)for(var V9=0;V9=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,Qp(h,0,!1,J1.mainLoop.arg,!0),Jm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(p2){R.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){V4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var R9=T5.getContext("2d");R9.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(R9){s||(s=!0,o.preloadedAudios[W0]=R9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(w8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",z4="",Gi=0,Ui=0,In=0;In=6;){var Z$=Gi>>Ui-6&63;Ui-=6,z4+=V9[Z$]}return Ui==2?(z4+=V9[(Gi&3)<<4],z4+=h8+h8):Ui==4&&(z4+=V9[(Gi&15)<<2],z4+=h8),z4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=p2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(i,W0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||V4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!G0)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(){G0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){G0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){G0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var W0=i.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){V4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||un("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Fr("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=K$[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=K$[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 Vk(){o.printErr("missing function: floor0_exportbundle"),Js(-1)}if(qs=R.staticAlloc(4),_9[qs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),P$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),kh.push(function(){k.ignorePermissions=!1}),O$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,P$.unshift(function(){Mr.init()}),O$.push(function(){Mr.shutdown()}),u)var Qt=void 0,wp=void 0;wh=Bi=R.alignMemory(qn),T$=!0,N$=wh+Pm,G$=Li=R.alignMemory(N$),V4(G$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function ND(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Sv(t){t=t|0,q6=t}function bv(){return q6|0}function lB(t){t=t|0;var r=0,A=0,a=0,c=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,r=S9(256)|0,A=t+8|0,e[A>>2]=r,a=t+12|0,e[a>>2]=r,d[r>>0]=0,c=t+16|0,e[c>>2]=256}function Dv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,A=r>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(b=A<<3,w=r-b|0,y=t+8|0,D=e[y>>2]|0,Q=D+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,c=8+(w<<2)|0,f=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&f,p=m&255,d[Q>>0]=p)}function U2(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0;O0=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,c=e[a>>2]|0,w0)N=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(P0=t+8|0,V0=e[P0>>2]|0,I=t0+256|0,m=Oi(V0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,b=e[t>>2]|0,w=m+b|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,D=e[y>>2]|0,Q=D&r,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,H=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=H,$0=(F|0)>15,$0&&(Z=e[L>>2]|0,V=16-Z|0,a0=Q>>>V,i0=a0&255,n0=e[a>>2]|0,K=n0+2|0,d[K>>0]=i0,h0=(F|0)>23,h0&&(o0=e[L>>2]|0,c0=24-o0|0,j=Q>>>c0,l0=j&255,f0=e[a>>2]|0,d0=f0+3|0,d[d0>>0]=l0,C0=(F|0)>31,C0))))if(k0=e[L>>2]|0,u0=(k0|0)==0,u0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,K0=S0+4|0,d[K0>>0]=I0;break}while(!1);F0=(F|0)/8&-1,T0=e[t>>2]|0,U0=T0+F0|0,e[t>>2]=U0,y0=e[a>>2]|0,q0=y0+F0|0,e[a>>2]=q0,x0=F&7,e[L>>2]=x0;return}while(!1);D0=t+8|0,M0=e[D0>>2]|0,J0=(M0|0)==0,J0||I2(M0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function cB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0;f=C,r=t+8|0,A=e[r>>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 f7(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,r=t+12|0,A=e[r>>2]|0,a=(A|0)==0,!a&&(c=t+8|0,f=e[c>>2]|0,e[r>>2]=f,E=f,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function gB(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=r>>>0>32,a)return A=-1,A|0;if(c=8+(r<<2)|0,D=e[c>>2]|0,z=t+4|0,V=e[z>>2]|0,f0=V+r|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,u0=k0+-4|0,f=(w0|0)<(u0|0),!f){if(E=f0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return A=-1,A|0;if(B=(f0|0)==0,B)return A=0,A|0}return v=t+12|0,b=e[v>>2]|0,w=d[b>>0]|0,y=w&255,Q=y>>>V,_=(f0|0)>8,_?(L=b+1|0,x=d[L>>0]|0,F=x&255,M=8-V|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=b+3|0,U=d[X>>0]|0,$0=U&255,Z=24-V|0,a0=$0<>0]|0,o0=h0&255,c0=32-V|0,j=o0<>2]|0,v=a+r|0,b=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=v+7|0,Q=D>>3,_=y-Q|0,L=(b|0)>(_|0),L){B=t+12|0,e[B>>2]=0,e[t>>2]=y,x=1,e[A>>2]=x;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,m=b+c|0,e[t>>2]=m,p=v&7,x=p,e[A>>2]=x;return}}function W4(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0;D0=C,m=r>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,Q0=c;else{if(p=8+(r<<2)|0,F=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,u0=K+r|0,L0=e[t>>2]|0,F0=t+16|0,T0=e[F0>>2]|0,U0=T0+-4|0,B=(L0|0)<(U0|0),!B){if(v=u0+7|0,b=v>>3,w=T0-b|0,y=(L0|0)>(w|0),y){f=t,E=e0,Q0=T0;break}if(D=(u0|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>>>K,T=(u0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-K|0,Y=O<16,J?(W=_+2|0,H=d[W>>0]|0,X=H&255,U=16-K|0,$0=X<24,V?(a0=_+3|0,s0=d[a0>>0]|0,i0=s0&255,n0=24-K|0,h0=i0<>0]|0,d0=f0&255,w0=32-K|0,C0=d0<>2]=I0,S0=L0+p0|0,e[t>>2]=S0,K0=u0&7,e[e0>>2]=K0,A=B0,A|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[f>>2]=Q0,e[E>>2]=1,A=-1,A|0}function yt(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,r=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,c=a+7|0,f=(c|0)/8&-1,E=f+r|0,E|0}function Xp(t){t=t|0;var r=0,A=0,a=0,c=0;return c=C,r=t+8|0,A=e[r>>2]|0,A|0}function _v(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,c=(t|0)==0,c)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,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 v=t+336|0,e[v>>2]=r,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),Ae(t|0,0,360)|0,A=-1,A|0}function Rv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,r=(t|0)==0,r||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),c=t+16|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),Ae(t|0,0,360)|0),0}function xv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0;if(T0=C,r=(t|0)==0,!r){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,u0=e[t>>2]|0,B0=u0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,b=S0>>>24,y=f+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^b,L=144+(_<<2)|0,x=e[L>>2]|0,F=x^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=F,Q0=M;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,L0=0;;)if(N=_0<<8,O=_0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^N,X=L0+1|0,U=(X|0)<(I|0),U)_0=H,L0=X;else{K0=H;break}else K0=I0;Z=K0&255,V=e[t>>2]|0,a0=V+22|0,d[a0>>0]=Z,s0=K0>>>8,i0=s0&255,n0=e[t>>2]|0,K=n0+23|0,d[K>>0]=i0,h0=K0>>>16,o0=h0&255,c0=e[t>>2]|0,l0=c0+24|0,d[l0>>0]=o0,f0=K0>>>24,d0=f0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function Lv(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,D0=(S0|0)==0,D0))return I=-1,I|0;if(b0=(r|0)==0,b0)return I=0,I|0;z0=(A|0)>0;e:do if(z0){for(u2=0,y2=0;;){if(w1=(r+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,s2=(O1|0)<0,y=2147483647-O1|0,O=(u2|0)>(y|0),F2=s2|O,F2){I=-1;break}if(Z=O1+u2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)u2=Z,y2=s0;else{r2=Z;break e}}return I|0}else r2=0;while(!1);n0=(r2|0)/255&-1,K=n0+1|0,h0=t+12|0,o0=e[h0>>2]|0,c0=(o0|0)==0,w=t+8|0,c0||(l0=e[w>>2]|0,f0=l0-o0|0,e[w>>2]=f0,d0=(l0|0)==(o0|0),d0||(w0=S0+o0|0,jA(S0|0,w0|0,f0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,u0=k0-r2|0,B0=e[w>>2]|0,p0=(u0|0)>(B0|0);do if(!p0){if(I0=2147483647-r2|0,K0=(k0|0)>(I0|0),K0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=t+16|0,F0=e[L0>>2]|0,T0=(F0|0)==0,T0||I2(F0),U0=t+20|0,y0=e[U0>>2]|0,q0=(y0|0)==0,q0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(x0=k0+r2|0,M0=(x0|0)<2147482623,J0=x0+1024|0,E=M0?J0:x0,Y0=e[t>>2]|0,P0=Oi(Y0,E)|0,V0=(P0|0)==0,!V0){e[C0>>2]=E,e[t>>2]=P0;break}return N0=e[t>>2]|0,O0=(N0|0)==0,O0||I2(N0),n1=t+16|0,H0=e[n1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Fv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=r+(v2<<3)|0,R1=e[Q1>>2]|0,x1=(r+(v2<<3)|0)+4|0,S1=e[x1>>2]|0,s4(B1|0,R1|0,S1|0)|0,L1=e[x1>>2]|0,F1=e[w>>2]|0,G1=F1+L1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(A|0),!e2;)p1=G1,v2=k1;if(l1=(r2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,r1=t+16|0,o1=e[r1>>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,D1=N1,K1=e[D1>>2]|0,H1=N1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=K1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,f2=(z1|0)<(n0|0),f2;)C2=z1;D2=d1?n0:1,B=I1,a2=m1,w2=D2}else m=t+20|0,v=e[m>>2]|0,b=t+352|0,B=b,a2=v,w2=0;return E2=(r2|0)%255&-1,o2=a1+w2|0,V1=o1+(o2<<2)|0,e[V1>>2]=E2,h2=a2+(o2<<3)|0,t2=h2,$2=t2,e[$2>>2]=c,i2=t2+4|0,A2=i2,e[A2>>2]=f,X1=B,D=X1,e[D>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=f,L=o1+(a1<<2)|0,x=e[L>>2]|0,F=x|256,e[L>>2]=F,M=a1+K|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=zs(z|0,J|0,1,0)|0,e0=q6,H=T,X=H,e[X>>2]=W,U=H+4|0,$0=U,e[$0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Wm(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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[r>>2]|0,e[Q>>2]=A,a=r+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=r+12|0,v=e[B>>2]|0,b=r+16|0,w=b,y=w,D=e[y>>2]|0,c=w+4|0,f=c,E=e[f>>2]|0,I=Lv(t,Q,1,v,D,E)|0,C=L,I|0}function eQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0;return c=C,A=iQ(t,r,1,4096)|0,A|0}function tQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?D=0:(v=t+332|0,b=e[v>>2]|0,w=(b|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=iQ(t,r,D,4096)|0,A=y,A|0)}function Fv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0;return l0=C,c=t+24|0,f=e[c>>2]|0,Q=f-r|0,Y=t+28|0,a0=e[Y>>2]|0,n0=(Q|0)>(a0|0),n0?(a=0,a|0):(K=2147483647-r|0,h0=(f|0)>(K|0),h0?(o0=e[t>>2]|0,c0=(o0|0)==0,c0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),Ae(t|0,0,360)|0,a=-1,a|0):(b=f+r|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=Oi(_,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,H=Oi(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[D>>2]|0,V=(Z|0)==0,V||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]=H,e[c>>2]=A,a=0,a|0))))}function iQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(L1=e[t>>2]|0,q1=(L1|0)==0,o2=(c|0)==0,y3=o2|q1,y3))return f=0,f|0;e2=t+332|0,q2=e[e2>>2]|0,Z2=(q2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(F0=(l3|0)<(c|0),!F0){I=A,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,q5=l3,O5=14;break e}if(V0=e[C0>>2]|0,H0=V0+(l3<<2)|0,e1=e[H0>>2]|0,b0=e1&255,i1=(b0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,q5=$1,O5=14;break}}else if(L=(c|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,W5=0,R3=0,C3=0;;){if(f1=(C5|0)>(a|0),g1=(W5|0)>3,N3=f1&g1,N3){E=1,G5=S5,_5=g5,H2=a5,I5=W2,A5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,r1=a1&255,o1=r1+C5|0,z0=(r1|0)==255,z0?(h5=S5,J2=g5,f5=a5,i5=W2,R5=g2,j2=p5,$5=t5,x2=s5,i6=0,G3=R3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,w1=B1&255,S1=Zs(B1|0,R1|0,8)|0,F1=q6,G1=S1&255,k1=Zs(B1|0,R1|0,16)|0,U1=q6,Z1=k1&255,N1=Zs(B1|0,R1|0,24)|0,D1=q6,K1=N1&255,O1=R1&255,H1=Zs(B1|0,R1|0,40)|0,Y1=q6,j1=H1&255,n2=Zs(B1|0,R1|0,48)|0,W1=q6,P1=n2&255,c2=Zs(B1|0,R1|0,56)|0,z1=q6,f2=c2&255,h5=w1,J2=Z1,f5=K1,i5=O1,R5=j1,j2=P1,$5=f2,x2=G1,i6=x1,G3=x1),s2=C3+1|0,E2=(s2|0)<(c|0),E2)C5=o1,S5=h5,g5=J2,a5=f5,W2=i5,g2=R5,p5=j2,t5=$5,s5=x2,W5=i6,R3=G3,C3=s2;else{E=A,G5=h5,_5=J2,H2=f5,I5=i5,A5=R5,c5=j2,B5=$5,M1=x2,c3=s2;break}}V1=(c3|0)==255,V1?(r3=G5,m3=_5,F5=H2,K5=I5,w3=A5,f3=c5,B3=B5,V3=M1,U5=255):(I=E,Q5=G5,H5=_5,j5=H2,E5=I5,u3=A5,h3=c5,J5=B5,X5=M1,q5=c3,O5=14)}else I=A,Q5=-1,H5=-1,j5=-1,E5=-1,u3=-1,h3=-1,J5=-1,X5=-1,q5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return f=0,f|0;r3=Q5,m3=H5,F5=j5,K5=E5,w3=u3,f3=h3,B3=J5,V3=X5,U5=q5}if(a2=t+40|0,d[a2>>0]=79,d[a2+1>>0]=103,d[a2+2>>0]=103,d[a2+3>>0]=83,t2=t+44|0,d[t2>>0]=0,$2=t+45|0,d[$2>>0]=0,i2=t+16|0,A2=e[i2>>2]|0,X1=e[A2>>2]|0,r2=X1>>>8,v=r2&1,u2=v^1,y2=u2|2,m=Z2?y2:u2,a3=m&255,d[$2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(p=Z2?y2:u2,D2=p|4,N2=D2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=r3,V2=t+47|0,d[V2>>0]=V3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=K5,z2=t+51|0,d[z2>>0]=w3,o5=t+52|0,d[o5>>0]=f3,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,u5=b5&255,v5=t+55|0,d[v5>>0]=u5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,r5=m5&255,R2=t+57|0,d[R2>>0]=r5,_2=t+340|0,B2=e[_2>>2]|0,x=(B2|0)==-1,x?(e[_2>>2]=0,M=0):M=B2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,H=e0&255,X=t+61|0,d[X>>0]=H,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,V=(U5|0)>0,V){if(a0=e[A2>>2]|0,s0=a0&255,n0=t+67|0,d[n0>>0]=s0,K=a0&255,D5=(U5|0)==1,D5)B=K;else for(o0=1,k0=K;;)if(b=e[i2>>2]|0,h0=b+(o0<<2)|0,c0=e[h0>>2]|0,j=c0&255,l0=o0+27|0,f0=(t+40|0)+l0|0,d[f0>>0]=j,d0=c0&255,w0=d0+k0|0,u0=o0+1|0,d5=(u0|0)==(U5|0),d5){B=w0;break}else o0=u0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,Q0=w,y0=y,x0=D,L5=B}else Q0=L1,y0=_,x0=A2,L5=0;return e[r>>2]=a2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=r+4|0,e[I0>>2]=B0,S0=t+12|0,K0=e[S0>>2]|0,_0=Q0+K0|0,L0=r+8|0,e[L0>>2]=_0,T0=r+12|0,e[T0>>2]=L5,U0=y0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,D0=U0<<2,jA(x0|0,q0|0,D0|0)|0,M0=t+20|0,J0=e[M0>>2]|0,Y0=J0+(U5<<3)|0,P0=e[Q>>2]|0,N0=P0<<3,jA(J0|0,Y0|0,N0|0)|0,O0=e[S0>>2]|0,n1=O0+L5|0,e[S0>>2]=n1,xv(r),f=1,f|0}function Mv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0;return H0=C,a=t+104|0,c=e[a>>2]|0,D=t+88|0,z=c+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,V=e[z>>2]|0,f7(V),f0=c+16|0,_0=e[f0>>2]|0,f7(_0),J0=c+20|0,N0=e[J0>>2]|0,f7(N0),O0=c+24|0,f=e[O0>>2]|0,f7(f),E=c+28|0,I=e[E>>2]|0,f7(I),m=c+32|0,p=e[m>>2]|0,f7(p),B=c+36|0,v=e[B>>2]|0,f7(v),b=c+40|0,w=e[b>>2]|0,f7(w),y=c+44|0,Q=e[y>>2]|0,f7(Q),_=c+48|0,L=e[_>>2]|0,f7(L),x=c+52|0,F=e[x>>2]|0,f7(F),M=c+56|0,T=e[M>>2]|0,f7(T),N=c+60|0,G=e[N>>2]|0,f7(G),O=c+64|0,Y=e[O>>2]|0,f7(Y),t0=c+68|0,J=e[t0>>2]|0,f7(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=LQ[H&1](t)|0,U=(X|0)==0,U?($0=(r|0)==0,$0?(A=0,A|0):(Z=Lh(t)|0,a0=(Z|0)==0,a0?(s0=t+4|0,i0=Xp(s0)|0,e[r>>2]=i0,n0=yt(s0)|0,K=r+4|0,e[K>>2]=n0,h0=r+8|0,e[h0>>2]=0,o0=t+44|0,c0=e[o0>>2]|0,j=r+12|0,e[j>>2]=c0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,u0=k0,B0=e[u0>>2]|0,p0=r+16|0,I0=p0,S0=I0,e[S0>>2]=C0,K0=I0+4|0,Q0=K0,e[Q0>>2]=B0,L0=t+56|0,F0=L0,T0=F0,U0=e[T0>>2]|0,y0=F0+4|0,q0=y0,x0=e[q0>>2]|0,D0=r+24|0,M0=D0,Y0=M0,e[Y0>>2]=U0,P0=M0+4|0,V0=P0,e[V0>>2]=x0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Tv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0;C0=C,A=t+28|0,a=e[A>>2]|0,d0=r,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,c0=e[o0>>2]|0,j=e[a>>2]|0,l0=j>>1,f0=a+4|0,c=e[f0>>2]|0,f=(c|0)/(j|0)&-1,E=r+24|0,e[E>>2]=f,e[r>>2]=1,I=a+3360|0,m=e[I>>2]|0,p=+(m|0),B=+(l0|0),v=p*B,b=+(c0|0),w=v/b,D=+Pi(w),Q=~~D,_=r+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,F=+(x|0),M=F*B,T=M/b,N=+Pi(T),G=~~N,z=r+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/b,H=+Pi(e0),X=~~H,U=r+20|0,e[U>>2]=X,$0=r+32|0,A1[$0>>3]=7,V=+(O|0),a0=a+3376|0,s0=+A1[a0>>3],i0=V*s0,n0=~~i0,K=r+8|0,e[K>>2]=n0,h0=r+4|0,e[h0>>2]=n0)}function Nv(t){t=t|0;var r=0,A=0,a=0,c=0;a=C,r=t,c=r+48|0;do e[r>>2]=0,r=r+4|0;while((r|0)<(c|0))}function Lh(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,A=t+64|0,a=e[A>>2]|0,c=a+104|0,f=e[c>>2]|0,E=f+80|0,I=e[E>>2]|0,m=(I|0)!=0,r=m&1,r|0}function Gv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0;if(b6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,x2=k2+4|0,F5=e[x2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=g2+112|0,T=+A1[v>>3],X=+Pi(T),o0=~~X,p0=(B+12|0)+(o0<<2)|0,q0=e[p0>>2]|0,H0=yt(q0)|0,r1=H0<<3,R1=t+28|0,D1=e[R1>>2]|0,f2=(D1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,f2?(x5=g2+100|0,b5=e[x5>>2]|0,U=d2,k0=x5,I0=b5):(Z2=g2+104|0,u5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=n5(u5,d2)|0,m5=n5(u5,P5)|0,U=l5,k0=v5,I0=m5),r5=M5+(D1<<2)|0,R2=e[r5>>2]|0,_2=R2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=L5*D5,H2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){f2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=n5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],f5=15/J2,i5=g2+84|0,R5=e[i5>>2]|0,j2=r1-$5|0,Q5=R5+j2|0,H5=(Q5|0)>(H2|0);e:do if(H5)if(j5=(o0|0)>0,E5=(r1|0)>($5|0),S6=E5&j5,S6)if(u3=r1-$5|0,h3=u3+R5|0,J5=(h3|0)>(H2|0),J5)for(P3=o0;;){if(X5=P3+-1|0,r3=(B+12|0)+(X5<<2)|0,m3=e[r3>>2]|0,K5=yt(m3)|0,w3=K5<<3,f3=(P3|0)>1,B3=(w3|0)>($5|0),v6=B3&f3,!v6){V5=X5;break e}if(I=e[i5>>2]|0,V3=w3-$5|0,N3=V3+I|0,z5=(N3|0)>(H2|0),z5)P3=X5;else{V5=X5;break}}else V5=o0;else V5=o0;else if(y3=(Q5|0)<(H2|0),y3)if(W5=o0+1|0,i6=(W5|0)<15,G3=(r1|0)<($5|0),j3=G3&i6,j3)if(a3=r1-$5|0,l3=a3+R5|0,c3=(l3|0)<(H2|0),c3)for(q5=W5;;){if(C3=(B+12|0)+(q5<<2)|0,U5=e[C3>>2]|0,O5=yt(U5)|0,k5=O5<<3,U3=q5+1|0,o6=(U3|0)<15,e3=(k5|0)<($5|0),B6=e3&o6,!B6){V5=q5;break e}if(E=e[i5>>2]|0,A3=k5-$5|0,x3=A3+E|0,f6=(x3|0)<(H2|0),f6)q5=U3;else{V5=q5;break}}else V5=o0;else V5=o0;else V5=o0;while(!1);p3=+(V5|0),k3=+A1[v>>3],Q3=p3-k3,n6=+Pi(Q3),W3=+(_2|0),b=n6/W3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*b,_=-f5,L=Q<_,C6=L?_:Q,x=C6>f5,S3=x?f5:C6,F=S3/D,M=F*W3,N=M+k3,A1[v>>3]=N,G=+Pi(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=yt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,v3=O,X3=J}else W=d2,v3=o0,X3=r1;e0=(W|0)>0,H=(X3|0)<(U|0),c6=H&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,V=X3-U|0,a0=V+Z|0,s0=(a0|0)<0,s0)for(g3=v3,e6=X3;;){if(i0=g3+1|0,n0=(g3|0)>13,n0){O3=i0,u6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,h0=e[K>>2]|0,c0=yt(h0)|0,j=c0<<3,l0=e[$0>>2]|0,f0=j-U|0,d0=f0+l0|0,w0=(d0|0)<0,w0)g3=i0,e6=j;else{O3=i0,u6=j;break}}else O3=v3,u6=X3;else O3=v3,u6=X3;while(!1);C0=e[k0>>2]|0,u0=(C0|0)>0,B0=(u6|0)>(I0|0),p6=B0&u0;e:do if(p6)if(S0=g2+88|0,K0=e[S0>>2]|0,_0=u6-I0|0,Q0=_0+K0|0,L0=e[B2>>2]|0,F0=(Q0|0)>(L0|0),F0)for(l6=O3,H3=u6;;){if(T0=l6+-1|0,U0=(l6|0)<1,U0){d3=T0,b3=H3;break e}if(y0=(B+12|0)+(T0<<2)|0,x0=e[y0>>2]|0,D0=yt(x0)|0,M0=D0<<3,J0=e[S0>>2]|0,Y0=M0-I0|0,P0=Y0+J0|0,V0=e[B2>>2]|0,N0=(P0|0)>(V0|0),N0)l6=T0,H3=M0;else{d3=T0,b3=M0;break}}else d3=O3,b3=u6;else d3=O3,b3=u6;while(!1);if(O0=(d3|0)<0,O0)n1=e[B2>>2]|0,e1=g2+88|0,b0=e[e1>>2]|0,i1=n1+I0|0,c1=i1-b0|0,$1=(c1|0)/8&-1,f1=g2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=yt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,z0=$1<<3,Dv(o1,z0),I1=e[g1>>2]|0,h1=yt(I1)|0,m1=h1<<3,q3=m1):q3=b3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=yt(L1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),K1=(k6|0)>1,O1=e[S1>>2]|0,K1)N1=O1,k6=Z1;else{f=O1;break}else f=U1;H1=yt(f)|0,q1=H1<<3,q3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?z3=37:(n2=e[k0>>2]|0,W1=(n2|0)>0,W1&&(z3=37));do if((z3|0)==37){if(P1=(I0|0)>0,c2=(q3|0)>(I0|0),R6=P1&c2,R6){s2=q3-I0|0,E2=g2+88|0,o2=e[E2>>2]|0,V1=s2+o2|0,e[E2>>2]=V1;break}if(h2=(U|0)>0,a2=(q3|0)<(U|0),Y6=h2&a2,Y6){t2=q3-U|0,$2=g2+88|0,i2=e[$2>>2]|0,A2=t2+i2|0,e[$2>>2]=A2;break}if(r2=g2+88|0,u2=e[r2>>2]|0,e2=(u2|0)>(H2|0),e2)if(P1){y2=q3-I0|0,v2=u2+y2|0,w2=(v2|0)<(H2|0),r=w2?H2:v2,e[r2>>2]=r;break}else{e[r2>>2]=H2;break}else if(h2){C2=q3-U|0,F2=u2+C2|0,D2=(F2|0)>(H2|0),a=D2?H2:F2,e[r2>>2]=a;break}else{e[r2>>2]=H2;break}}while(!1);return N2=e[g5>>2]|0,V2=(N2|0)>0,V2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=n5(P2,N2)|0,O2=z2),o5=q3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function nQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,D=c+120|0,z=e[D>>2]|0,V=(z|0)==0,V?(A=0,A|0):(f0=(r|0)==0,f0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,f=k0+104|0,E=e[f>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?u0=7:(p=c+124|0,B=e[p>>2]|0,u0=B),v=(w0+12|0)+(u0<<2)|0,b=e[v>>2]|0,w=Xp(b)|0,e[r>>2]=w,y=e[v>>2]|0,Q=yt(y)|0,_=r+4|0,e[_>>2]=Q,L=r+8|0,e[L>>2]=0,x=z+44|0,F=e[x>>2]|0,M=r+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=r+16|0,e0=W,H=e0,e[H>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,s0=e[a0>>2]|0,i0=Z+4|0,n0=i0,K=e[n0>>2]|0,h0=r+24|0,o0=h0,c0=o0,e[c0>>2]=s0,j=o0+4|0,l0=j,e[l0>>2]=K),e[D>>2]=0,A=1,A|0)}function Uv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=r,T=x+112|0;do e[x>>2]=0,x=x+4|0;while((x|0)<(T|0));if(A=r+64|0,e[A>>2]=t,a=r+76|0,e[a>>2]=0,p=r+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(b=r4(1,72)|0,w=r+104|0,e[w>>2]=b,y=b+4|0,s[y>>2]=-9999,D=r+4|0,Q=b+12|0,c=b+40|0,L=0;;)if(f=(L|0)==7,f){e[c>>2]=D,lB(D),L=8;continue}else{if(E=r4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,lB(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function Ht(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=r+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?(c=(O|0)==0,c||(f=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+x|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,b=E+4|0,e[b>>2]=v,e[E>>2]=f,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function Pv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,f=e[W>>2]|0,E=(f|0)==0,r=t+68|0,A=e[r>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,p=m+f|0,B=Oi(A,p)|0,e[r>>2]=B,v=e[W>>2]|0,b=e[I>>2]|0,w=b+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(c|0)==0,L){U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}else H=0;for(;;){if(x=(c+12|0)+(H<<2)|0,F=e[x>>2]|0,cB(F),M=(H|0)==7,M){H=8;continue}if(T=e[x>>2]|0,I2(T),N=H+1|0,e0=(N|0)==15,e0)break;H=N}I2(c),U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}function Ov(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=qv(t,r,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=pS(r)|0,v=p+60|0,e[v>>2]=B,b=r4(1,180)|0,e[p>>2]=b,zv(b,r),w=p+80|0,Tv(r,w),y=t+64|0,D=y,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 rQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,q0=(p0|0)!=0,q0?(H0=p0+28|0,r1=e[H0>>2]|0,y0=r1):y0=0,R1=t+104|0,D1=e[R1>>2]|0,z1=(D1|0)!=0,z1){if(A2=e[D1>>2]|0,b=(A2|0)==0,b||(Zv(A2),N=e[D1>>2]|0,I2(N)),U=D1+12|0,c0=e[U>>2]|0,d0=(c0|0)==0,d0||(w0=e[c0>>2]|0,IB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),u0=e[U>>2]|0,I2(u0)),B0=D1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(K0=e[I0>>2]|0,IB(K0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),L0=e[B0>>2]|0,I2(L0)),F0=D1+48|0,T0=e[F0>>2]|0,U0=(T0|0)==0,!U0){if(x0=(y0|0)==0,x0)d1=T0;else if(D0=y0+16|0,M0=e[D0>>2]|0,J0=(M0|0)>0,J0){if(Y0=y0+800|0,P0=e[Y0>>2]|0,V0=25640+(P0<<2)|0,N0=e[V0>>2]|0,O0=N0+16|0,n1=e[O0>>2]|0,e1=e[T0>>2]|0,js[n1&7](e1),b0=e[D0>>2]|0,i1=(b0|0)>1,i1)for($1=1;r=e[F0>>2]|0,c1=Y0+($1<<2)|0,f1=e[c1>>2]|0,g1=25640+(f1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=r+($1<<2)|0,z0=e[o1>>2]|0,js[a1&7](z0),I1=$1+1|0,h1=e[D0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[F0>>2]|0,d1=A}else d1=T0;I2(d1)}if(E1=D1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)V1=B1;else if(x1=y0+20|0,w1=e[x1>>2]|0,S1=(w1|0)>0,S1){if(L1=y0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,js[Z1&7](N1),K1=e[x1>>2]|0,O1=(K1|0)>1,O1)for(q1=1;a=e[E1>>2]|0,H1=L1+(q1<<2)|0,Y1=e[H1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(q1<<2)|0,f2=e[c2>>2]|0,js[P1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,o2=(s2|0)<(E2|0),o2;)q1=s2;c=e[E1>>2]|0,V1=c}else V1=B1;I2(V1)}if(h2=D1+56|0,a2=e[h2>>2]|0,t2=(a2|0)==0,!t2){if($2=(y0|0)==0,$2)D2=a2;else if(i2=y0+28|0,X1=e[i2>>2]|0,r2=(X1|0)>0,r2){if(hQ(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(v2=1;f=e[h2>>2]|0,y2=f+(v2*52|0)|0,hQ(y2),w2=v2+1|0,C2=e[i2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,D2=E}else D2=a2;I2(D2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||QS(y),Q=D1+80|0,Nv(Q),_=D1+20|0,QQ(_),L=D1+32|0,QQ(L)}if(x=t+8|0,F=e[x>>2]|0,M=(F|0)==0,!M){if(q0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,f0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=f0:(I2(t0),m=e[T>>2]|0,H=m),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[x>>2]|0,Y=I,f0=H,N2=W;p=e[x>>2]|0,X=p}else X=F;else X=F;I2(X),$0=t+12|0,Z=e[$0>>2]|0,V=(Z|0)==0,V||I2(Z)}z1&&(a0=D1+64|0,s0=e[a0>>2]|0,i0=(s0|0)==0,i0||I2(s0),n0=D1+68|0,K=e[n0>>2]|0,h0=(K|0)==0,h0||I2(K),o0=D1+72|0,j=e[o0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(D1)),d2=t,q2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(q2|0))}}function sQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0;if(q0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,n0=W+64|0,k0=e[n0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[n0>>2]=0,L0=W+68|0,F0=e[L0>>2]|0,T0=(F0|0)==0,T0||I2(F0),e[L0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,b=t+20|0,w=e[b>>2]|0,y=w+r|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,f=e[A>>2]|0,X=f,y0=11;else if(L=r<<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=Oi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,a0=e[G>>2]|0,s0=a0+(i0<<2)|0,K=e[s0>>2]|0,h0=a<<2,o0=Oi(K,h0)|0,c0=e[G>>2]|0,j=c0+(i0<<2)|0,e[j>>2]=o0,l0=i0+1|0,f0=e[M>>2]|0,d0=(l0|0)<(f0|0),d0)i0=l0;else{X=f0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[b>>2]|0,V=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,u0=e[C0>>2]|0,B0=u0+(Z<<2)|0,p0=e[V>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,K0=(S0|0)<(X|0),K0)U0=S0;else{c=V;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function Hv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,n0=(r|0)<1,!n0)return w0=t+20|0,C0=e[w0>>2]|0,u0=C0+r|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(u0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=u0,S0=t+28|0,K0=e[S0>>2]|0,_0=(K0|0)==0,!_0||(Q0=t+48|0,L0=e[Q0>>2]|0,F0=u0-L0|0,U0=W+4|0,y0=e[U0>>2]|0,q0=(F0|0)>(y0|0),!q0)?(a=0,C=P0,a|0):(AQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,T0=t+28|0,x0=e[T0>>2]|0,D0=(x0|0)==0,D0&&AQ(t),M0=W+4|0,p=e[M0>>2]|0,B=p*3|0,sQ(t,B)|0,v=t+20|0,b=e[v>>2]|0,w=t+32|0,e[w>>2]=b,y=e[M0>>2]|0,D=y*3|0,Q=b+D|0,e[v>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=P0,a|0;for(M=t+8|0,T=b,J0=0;;){if(N=(T|0)>64,N?(G=e[M0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=T-A|0,J=t0+(f<<2)|0,+aQ(J,k0,A,32),e0=e[M>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,a0=V-U|0,$Q(k0,Z,32,$0,a0)):(s0=e[M>>2]|0,i0=s0+(J0<<2)|0,K=e[i0>>2]|0,h0=K+(T<<2)|0,o0=e[v>>2]|0,c0=o0-T|0,j=c0<<2,Ae(h0|0,0,j|0)|0),l0=J0+1|0,f0=e[_>>2]|0,d0=(l0|0)<(f0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,J0=l0}return C=P0,a|0}function oQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,v=t+4|0,b=e[v>>2]|0,s2=b+28|0,k5=e[s2>>2]|0,n6=t+104|0,S6=e[n6>>2]|0,u6=S6+60|0,d6=e[u6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,D0=t9-S0|0,b0=r+104|0,z0=e[b0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;B2=Wv(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[u2>>2]|0,u3=(J2|0)==0,u3)return a=0,a|0;V3=t+44|0,e[V3>>2]=0,f=V3,P3=0;break}else if(C3=e[k5>>2]|0,U3=k5+4|0,M5=e[U3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,f=e3,P3=0;break}else{e[e3>>2]=B2,f=e3,P3=B2;break}while(!1);if(A3=e[G6>>2]|0,x3=e[w>>2]|0,f6=k5+(x3<<2)|0,p3=e[f6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+A3|0,W3=k5+(P3<<2)|0,V5=e[W3>>2]|0,v3=(V5|0)/4&-1,g3=Q3+v3|0,O3=(V5|0)/2&-1,l6=g3+O3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=r+84|0,j3=e[B6>>2]|0,c6=(j3|0)==0,!c6)for(I9=j3;p6=I9+4|0,R6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(R6|0)==0,!C6;)I9=R6;S3=r+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(H3=r+68|0,b3=e[H3>>2]|0,q3=r+76|0,z3=e[q3>>2]|0,b6=z3+X3|0,A6=Oi(b3,b6)|0,e[H3>>2]=A6,t3=e[S3>>2]|0,O6=e[q3>>2]|0,s3=O6+t3|0,e[q3>>2]=s3,e[S3>>2]=0),a6=r+72|0,e[a6>>2]=0,e[B6>>2]=0,D3=t+36|0,N6=e[D3>>2]|0,r6=r+24|0,e[r6>>2]=N6,Q6=e[w>>2]|0,x6=r+28|0,e[x6>>2]=Q6,V6=e[f>>2]|0,I6=r+32|0,e[I6>>2]=V6,J6=(Q6|0)==0;do if(J6)if(s9=jv(t)|0,L6=(s9|0)==0,U6=z0+8|0,L6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(L3=(N6|0)==0,W6=(V6|0)==0,N9=L3|W6,e9=z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=r+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,F3=e[F6>>2]|0,M6=y6+4|0,A9=M6,j6=e[A9>>2]|0,f9=zs(F3|0,j6|0,1,0)|0,u9=q6,d9=z6,a9=d9,e[a9>>2]=f9,$9=d9+4|0,T9=$9,e[T9>>2]=u9,E6=r+56|0,T6=E6,y=T6,e[y>>2]=F3,D=T6+4|0,Q=D,e[Q>>2]=j6,_=t+56|0,L=_,x=L,F=e[x>>2]|0,M=L+4|0,T=M,N=e[T>>2]|0,O=r+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=k5+(W<<2)|0,H=e[e0>>2]|0,X=r+36|0,e[X>>2]=H,U=z0+4|0,Z=+s[U>>2],V=+s[d6>>2],a0=Z>V,a0?(s[d6>>2]=Z,s0=Z):s0=V,i0=+kS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,n0=b+4|0,K=e[n0>>2]|0,h0=K<<2,o0=h0+7|0,c0=o0&-8,l0=e[a6>>2]|0,f0=c0+l0|0,d0=r+76|0,w0=e[d0>>2]|0,C0=(f0|0)>(w0|0),k0=r+68|0,u0=e[k0>>2]|0,C0?(B0=(u0|0)==0,B0||(p0=u0,I0=S9(8)|0,K0=e[S3>>2]|0,_0=K0+l0|0,e[S3>>2]=_0,Q0=e[B6>>2]|0,L0=I0+4|0,e[L0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=c0,F0=S9(c0)|0,e[k0>>2]=F0,e[a6>>2]=0,c=e[n0>>2]|0,U0=F0,y0=0,M0=c,N0=c0):(U0=u0,y0=l0,M0=K,N0=w0),T0=U0+y0|0,q0=y0+c0|0,e[a6>>2]=q0,e[r>>2]=T0,x0=M0<<2,J0=x0+7|0,Y0=J0&-8,P0=Y0+q0|0,V0=(P0|0)>(N0|0),V0?(O0=(U0|0)==0,O0||(n1=U0,H0=S9(8)|0,e1=e[S3>>2]|0,i1=e1+q0|0,e[S3>>2]=i1,c1=e[B6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=n1,e[B6>>2]=H0),e[d0>>2]=Y0,f1=S9(Y0)|0,e[k0>>2]=f1,e[a6>>2]=0,E=e[n0>>2]|0,l1=f1,s1=0,r1=E,O5=Y0):(l1=U0,s1=q0,r1=M0,O5=N0),g1=l1+s1|0,a1=s1+Y0|0,e[a6>>2]=a1,e[z0>>2]=g1,o1=(r1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,x1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+D0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,k1=e[S3>>2]|0,U1=k1+Q1|0,e[S3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,D1=S9(B1)|0,e[k0>>2]=D1,e[a6>>2]=0,H1=D1,q1=0):(H1=S1,q1=Q1),K1=H1+q1|0,Y1=q1+B1|0,e[a6>>2]=Y1,j1=e[z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=K1,W1=e[z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,f2=z1+(i9<<2)|0,o2=e[f2>>2]|0,s4(c2|0,o2|0,d1|0)|0,V1=e[z0>>2]|0,h2=V1+(i9<<2)|0,a2=e[h2>>2]|0,t2=a2+(D0<<2)|0,$2=e[r>>2]|0,i2=$2+(i9<<2)|0,e[i2>>2]=t2,A2=i9+1|0,X1=e[n0>>2]|0,r2=(A2|0)<(X1|0),!r2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,x1=m,S1=p,i9=A2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[u2>>2]=-1,C2=r+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,V2=(d2|0)>0,!V2)return a=1,a|0;if(q2=e[S6>>2]|0,Xv(q2,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,jA(X2|0,x5|0,e5|0)|0,Z2=e[n0>>2]|0,u5=(Z2|0)>1,u5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,r5=B<<2,jA(k2|0,m5|0,r5|0)|0,R2=l5+1|0,_2=e[n0>>2]|0,C5=(R2|0)<(_2|0),C5;)l5=R2;return L5=e[w>>2]|0,e[D3>>2]=L5,d5=e[f>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[u2>>2]|0,G5=(D5|0)==0,G5?(f3=(d2|0)<0,B3=f3<<31>>31,N3=_,z5=N3,y3=e[z5>>2]|0,W5=N3+4|0,i6=W5,R3=e[i6>>2]|0,G3=zs(y3|0,R3|0,d2|0,B3|0)|0,a3=q6,l3=_,c3=l3,e[c3>>2]=G3,q5=l3+4|0,U5=q5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,H2=(_5|0)<1,A=H2?-1:_5,e[u2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,x2=$5<<31>>31,Q5=_,H5=Q5,j5=e[H5>>2]|0,E5=Q5+4|0,h3=E5,J5=e[h3>>2]|0,X5=zs(j5|0,J5|0,d2|0,x2|0)|0,r3=q6,m3=_,F5=m3,e[F5>>2]=X5,K5=m3+4|0,w3=K5,e[w3>>2]=r3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=zs(W2|0,t5|0,c5|0,S5|0)|0,h5=q6,f5=_,i5=f5,e[i5>>2]=s5,R5=f5+4|0,j2=R5,e[j2>>2]=h5,a=1,a|0))}function qv(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0;if(i5=C,p=r+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,$2=(P1|0)<1,$2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,R5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(R5|0));o0=r4(1,136)|0,p0=t+104|0,e[p0>>2]=o0,q0=t+4|0,e[q0>>2]=r,H0=e[Z1>>2]|0,r1=H0+-1|0,E1=Tt(r1)|0,B1=o0+44|0,e[B1>>2]=E1,Q1=r4(1,4)|0,R1=o0+12|0,e[R1>>2]=Q1,x1=r4(1,4)|0,w1=o0+16|0,e[w1>>2]=x1,S1=r4(1,20)|0,e[Q1>>2]=S1,L1=r4(1,20)|0,e[x1>>2]=L1,F1=e[B>>2]|0,G1=F1>>X,dB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,D1=N1>>X,dB(U1,D1),K1=e[B>>2]|0,O1=Tt(K1)|0,H1=O1+-7|0,q1=o0+4|0,e[q1>>2]=H1,Y1=e[k2>>2]|0,j1=Tt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(d5=B+24|0,D5=e[d5>>2]|0,G5=r4(D5,56)|0,e[B2>>2]=G5,H2=e[d5>>2]|0,I5=(H2|0)>0,I5)){for(m1=H2,p5=0;;){if(A5=(B+1824|0)+(p5<<2)|0,c5=e[A5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=JS(a5,c5)|0,b=(W2|0)==0,!b){f5=20;break}if(w=e[A5>>2]|0,EB(w),e[A5>>2]=0,y=p5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,p5=y;else break e}if((f5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(EB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),z0=h5+1|0,I1=(z0|0)<(h1|0),I1;)d1=h1,h5=z0;return rQ(t),a=-1,a|0}}else{if(z1=o0+20|0,f2=e[B>>2]|0,pQ(z1,f2),s2=o0+32|0,E2=e[k2>>2]|0,pQ(s2,E2),o2=B+2848|0,V1=e[o2>>2]|0,h2=(V1|0)==0,h2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=r4(t2,56)|0,e[o2>>2]=i2,A2=e[a2>>2]|0,X1=(A2|0)>0,X1&&(r2=B+1824|0,u2=e[r2>>2]|0,BQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[o2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,BQ(v2,D2)|0,N2=w2+1|0,d2=e[a2>>2]|0,V2=(N2|0)<(d2|0),V2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,M2=r4(q2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=B+2868|0,X2=r+8|0,e5=M2,g2=0;;){if(x5=e5+(g2*52|0)|0,b5=(B+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,u5=e[Z2>>2]|0,v5=B+(u5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,wS(x5,Z2,T1,l5,m5),r5=g2+1|0,R2=e[G2>>2]|0,_2=(r5|0)<(R2|0),!_2)break t;f=e[P2>>2]|0,e5=f,g2=r5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,L=t+16|0,e[L>>2]=_,x=r+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=r4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(H=1;E=e[G>>2]|0,W=r4(_,4)|0,e0=E+(H<<2)|0,e[e0>>2]=W,U=H+1|0,$0=(U|0)<(F|0),$0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,a0=e[k2>>2]|0,s0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,n0=t+20|0,e[n0>>2]=s0,K=B+16|0,h0=e[K>>2]|0,c0=r4(h0,4)|0,j=o0+48|0,e[j>>2]=c0,l0=B+20|0,f0=e[l0>>2]|0,d0=r4(f0,4)|0,w0=o0+52|0,e[w0>>2]=d0,C0=e[K>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,K0=25640+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0+8|0,L0=e[Q0>>2]|0,F0=(B+1056|0)+(t5<<2)|0,T0=e[F0>>2]|0,U0=u7[L0&15](t,T0)|0,y0=e[j>>2]|0,x0=y0+(t5<<2)|0,e[x0>>2]=U0,D0=t5+1|0,M0=e[K>>2]|0,J0=(D0|0)<(M0|0),J0;)t5=D0;if(u0=e[l0>>2]|0,B0=(u0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(s5<<2)|0,P0=e[Y0>>2]|0,V0=25648+(P0<<2)|0,N0=e[V0>>2]|0,O0=N0+8|0,n1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,b0=e[e1>>2]|0,i1=u7[n1&15](t,b0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,f1=s5+1|0,g1=e[l0>>2]|0,l1=(f1|0)<(g1|0),l1)s5=f1;else{a=0;break}return a|0}function AQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,C=C+64|0,c=_0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,r=Y,a0=C,C=C+((1*r|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,u0=Q-k0|0,B0=(u0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,b=Q,p0=0;;){if(w=(b|0)>0,w)for(y=e[v>>2]|0,D=y+(p0<<2)|0,_=e[D>>2]|0,I0=0;L=I0^-1,x=b+L|0,F=_+(x<<2)|0,M=e[F>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(b|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=b-O|0,+aQ(a0,c,z,16),t0=e[f>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=a0+(A<<2)|0,a=A+-16|0,e0=a0+(a<<2)|0,$Q(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;V=a0+(S0<<2)|0,s0=e[V>>2]|0,i0=S0^-1,n0=H+i0|0,K=Z+(n0<<2)|0,e[K>>2]=s0,h0=S0+1|0,o0=(H|0)>(h0|0),o0;)S0=h0;if(c0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,f0=e[l0>>2]|0,w0=(c0|0)<(f0|0),w0)b=H,p0=c0;else break}C=_0}function Yv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0;A2=C,U2(r,5653314,24),E=e[t>>2]|0,U2(r,E,16),I=t+4|0,G=e[I>>2]|0,U2(r,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,D0=e[S0>>2]|0,c=d[D0>>0]|0,b0=c,P1=1;;){if(z0=b0<<24>>24==0,z0){W1=P1;break e}if(w1=D0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)b0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==($0|0);e:do if(L){if(U2(r,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(r,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,H1=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,H=d[e0>>0]|0,X=J<<24>>24>H<<24>>24,X)for(U=H<<24>>24,Z=J<<24>>24,s0=y,q1=H1,a2=U;;)if(V=z1-q1|0,a0=s0-q1|0,i0=Tt(a0)|0,U2(r,V,i0),n0=a2+1|0,n2=(n0|0)==(Z|0),f=e[I>>2]|0,n2){o0=f,Y1=z1;break}else s0=f,q1=z1,a2=n0;else o0=y,Y1=H1;if(K=z1+1|0,h0=(K|0)<(o0|0),h0)y=o0,H1=Y1,z1=K;else{a=o0,O1=Y1,c2=K;break}}else a=O,O1=0,c2=1;c0=c2-O1|0,l0=a-O1|0,f0=Tt(l0)|0,U2(r,c0,f0)}else{U2(r,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,s2=0;;){if(u0=k0+s2|0,B0=d[u0>>0]|0,p0=B0<<24>>24==0,p0){f2=s2;break t}if(I0=s2+1|0,K0=(I0|0)<(d0|0),K0)s2=I0;else{f2=I0;break}}else f2=0;while(!1);if(_0=(f2|0)==(d0|0),_0){if(U2(r,0,1),Q0=e[I>>2]|0,L0=(Q0|0)>0,!L0)break;for(F0=t+8|0,E2=0;;)if(T0=e[F0>>2]|0,U0=T0+E2|0,y0=d[U0>>0]|0,q0=y0<<24>>24,x0=q0+-1|0,U2(r,x0,5),M0=E2+1|0,J0=e[I>>2]|0,Y0=(M0|0)<(J0|0),Y0)E2=M0;else break e}if(U2(r,1,1),P0=e[I>>2]|0,V0=(P0|0)>0,V0)for(N0=t+8|0,o2=0;O0=e[N0>>2]|0,n1=O0+o2|0,H0=d[n1>>0]|0,e1=H0<<24>>24==0,e1?U2(r,0,1):(U2(r,1,1),i1=e[N0>>2]|0,c1=i1+o2|0,$1=d[c1>>0]|0,f1=$1<<24>>24,g1=f1+-1|0,U2(r,g1,5)),l1=o2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)o2=l1}while(!1);if(r1=t+12|0,o1=e[r1>>2]|0,U2(r,o1,4),I1=e[r1>>2]|0,(I1|0)==2|(I1|0)==1)i2=28;else if(I1|0)return A=-1,A|0;do if((i2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(r,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(r,Q1,32),R1=t+24|0,x1=e[R1>>2]|0,S1=x1+-1|0,U2(r,S1,4),L1=t+28|0,F1=e[L1>>2]|0,U2(r,F1,1),G1=e[r1>>2]|0,(G1|0)==1)k1=HS(t)|0,$2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=n5(Z1,U1)|0,$2=N1;else break;if(D1=($2|0)>0,D1)for(V1=0;K1=e[h1>>2]|0,p=K1+(V1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,t2=0-B|0,v=h2?B:t2,b=e[R1>>2]|0,U2(r,v,b),w=V1+1|0,j1=(w|0)==($2|0),!j1;)V1=w}while(!1);return A=0,A|0}function Fh(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,c=(r|0)<0,c||(f=t+12|0,Q=e[f>>2]|0,L=Q+4|0,x=e[L>>2]|0,F=(x|0)>(r|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(r<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+r|0,p=d[m>>0]|0,B=p<<24>>24,U2(A,G,B),v=e[f>>2]|0,b=v+8|0,w=e[b>>2]|0,y=w+r|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function jm(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=Mh(t,r)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,A=v,A|0)}function Jv(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,F=(p|0)>0,!F)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,$0=C,C=C+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,n0=0;;){if(N=Mh(t,A)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[V>>2]|0,z=e[t>>2]|0,Y=n5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(n0<<2)|0,e[J>>2]=t0,W=n0+1|0,H=(W|0)<(X|0),H)n0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,s0=E|I,s0)return c=0,C=j,c|0;for(K=0,o0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],_=h0+o0|0,L=r+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=K+1|0,v=o0+X|0,b=(B|0)<(a0|0),b)K=B,o0=v;else{c=0;break}}return C=j,c|0}function Kv(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,c0=(t0|0)>0,!c0)return c=0,c|0;if(I0=e[t>>2]|0,x0=(I0|0)>8,x0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(K1=t+16|0,X1=0;;){if(Z=Mh(t,A)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(a0=e[K1>>2]|0,s0=e[t>>2]|0,i0=n5(s0,Z)|0,n0=(s0|0)>0,n0){for(K=(s0|0)>1,O2=K?s0:1,u2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=a0+(z<<2)|0,j=+s[o0>>2],l0=u2+1|0,f0=r+(u2<<2)|0,d0=+s[f0>>2],w0=d0+j,s[f0>>2]=w0,C0=(h0|0)<(s0|0),C0;)u2=l0,d2=h0;f2=X1+O2|0,r2=f2}else r2=X1;if(J=(r2|0)<(a|0),J)X1=r2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,o1=(a|0)>0,o1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(H=Mh(t,A)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=H,Q=U,T1=19;break t}case 3:{v=H,_=U,T1=21;break t}case 7:{I=H,w=U,T1=13;break t}case 6:{m=H,y=U,T1=15;break t}case 8:{f=U,E=H,T1=12;break t}case 5:{p=H,D=U,T1=17;break t}case 1:{V1=H,a2=U,N2=e2,o5=0;break t}case 2:{b=H,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,u0=f+(k0<<2)|0,B0=+s[u0>>2],p0=e2+1|0,S0=r+(e2<<2)|0,K0=+s[S0>>2],_0=K0+B0,s[S0>>2]=_0,F0=k0,U0=f,y2=p0,V2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,F0=Q0,U0=w,y2=e2,V2=0,T1=14):(T1|0)==15?(T1=0,Y0=m*6|0,V0=Y0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=D,w2=e2,q2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=L,D2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,L0=V2+1|0,O=V2+F0|0,T0=U0+(O<<2)|0,y0=+s[T0>>2],q0=y2+1|0,D0=r+(y2<<2)|0,M0=+s[D0>>2],J0=M0+y0,s[D0>>2]=J0,V0=F0,O0=U0,v2=q0,G2=L0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+V0|0,N0=O0+(G<<2)|0,n1=+s[N0>>2],H0=v2+1|0,b0=r+(v2<<2)|0,i1=+s[b0>>2],c1=i1+n1,s[b0>>2]=c1,g1=V0,s1=O0,w2=H0,q2=P0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,N=q2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],r1=w2+1|0,z0=r+(w2<<2)|0,I1=+s[z0>>2],h1=I1+a1,s[z0>>2]=h1,E1=g1,p1=s1,C2=r1,M2=f1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],R1=C2+1|0,w1=r+(C2<<2)|0,S1=+s[w1>>2],L1=S1+Q1,s[w1>>2]=L1,k1=E1,Z1=p1,F2=R1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],D1=F2+1|0,O1=r+(F2<<2)|0,H1=+s[O1>>2],q1=H1+N1,s[O1>>2]=q1,n2=k1,P1=Z1,D2=D1,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,s2=r+(D2<<2)|0,E2=+s[s2>>2],o2=E2+c2,s[s2>>2]=o2,V1=n2,a2=P1,N2=z1,o5=j1),x=o5+V1|0,h2=a2+(x<<2)|0,t2=+s[h2>>2],$2=N2+1|0,i2=r+(N2<<2)|0,A2=+s[i2>>2],W=A2+t2,s[i2>>2]=W,e0=($2|0)<(a|0),e0)e2=$2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function Vv(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0;if(c0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=f+A|0,H=(e0|0)/(a|0)&-1,X=(W|0)<(H|0),!X))return I=0,I|0;for(U=t+16|0,V=0,i0=W;;){if(Z=Mh(t,c)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=n5(y,Z)|0,Q=(y|0)>0,Q)for(s0=V,K=i0,h0=0;;)if(p=h0+D|0,_=w+(p<<2)|0,L=+s[_>>2],x=s0+1|0,F=r+(s0<<2)|0,M=e[F>>2]|0,N=M+(K<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+K|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)s0=E,K=m,h0=t0;else{a0=E,n0=m;break}else a0=V,n0=i0;if($0=(n0|0)<(H|0),$0)V=a0,i0=n0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Mh(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0;h1=C,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=gB(r,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,Y0=e[Q0>>2]|0,c1=Y0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,b=B-v|0,f1=b,l1=m;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,L=d[_>>0]|0,x=L<<24>>24,hB(r,x),A=w,A|0}else F=t+8|0,M=e[F>>2]|0,f1=M,l1=0;while(!1);if(T=gB(r,f)|0,N=(T|0)<0,G=(f|0)>1,O=N&G,O)for(z0=f;;)if(z=z0+-1|0,t0=gB(r,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)z0=z;else{a=J,r1=t0,o1=z;break}else a=N,r1=T,o1=f;if(a)return A=-1,A|0;if(H=r1>>>16,X=r1<<16,U=H|X,$0=U>>>8,Z=$0&16711935,V=U<<8,s0=V&-16711936,i0=Z|s0,n0=i0>>>4,K=n0&252645135,h0=i0<<4,o0=h0&-252645136,c0=K|o0,j=c0>>>2,l0=j&858993459,f0=c0<<2,w0=f0&-858993460,C0=l0|w0,k0=C0>>>1,u0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=u0|p0,S0=f1-l1|0,K0=(S0|0)>1,K0)for(_0=t+20|0,L0=e[_0>>2]|0,T0=S0,g1=f1,a1=l1;;)if(F0=T0>>1,U0=F0+a1|0,y0=L0+(U0<<2)|0,q0=e[y0>>2]|0,x0=q0>>>0>I0>>>0,D0=x0?0:F0,M0=D0+a1|0,J0=x0?F0:0,P0=g1-J0|0,V0=P0-M0|0,N0=(V0|0)>1,N0)T0=V0,g1=P0,a1=M0;else{s1=M0;break}else s1=l1;return O0=t+28|0,n1=e[O0>>2]|0,H0=n1+s1|0,e1=d[H0>>0]|0,b0=e1<<24>>24,i1=(b0|0)>(o1|0),i1?(hB(r,o1),A=-1,A|0):(hB(r,b0),A=s1,A|0)}function zv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0;for(c1=C,p=r+28|0,B=e[p>>2]|0,M=r+4|0,H=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,Y0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=Y0,e[t>>2]=H,V0=t+164|0,e[V0>>2]=128,v=B+4|0,b=e[v>>2]|0,w=(b|0)/2&-1,y=t+176|0,e[y>>2]=w,D=r4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,dB(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),F=x*.024736950028266088,T=+Nr(+F),N=T,G=L+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,n1=(z|0)==128,!n1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,a0=t+120|0,e[a0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,n0=t+140|0,e[n0>>2]=8,o0=4,b0=0;;){if(K=o0<<2,c0=S9(K)|0,j=((t+40|0)+(b0<<4)|0)+8|0,e[j>>2]=c0,l0=(o0|0)>0,l0){for(f0=+(o0|0),d0=((t+40|0)+(b0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/f0,u0=k0*3.141592653589793,p0=+Nr(+u0),I0=p0,S0=c0+(e1<<2)|0,s[S0>>2]=I0,K0=_0+I0,Q0=e1+1|0,N0=(Q0|0)==(o0|0),N0){A=K0;break}else _0=K0,e1=Q0;s[d0>>2]=A,E=d0,F0=A}else c=((t+40|0)+(b0<<4)|0)+12|0,I=+s[c>>2],E=c,F0=I;if(L0=1/F0,s[E>>2]=L0,T0=b0+1|0,O0=(T0|0)==7,O0)break;a=((t+40|0)+(T0<<4)|0)+4|0,f=e[a>>2]|0,o0=f,b0=T0}U0=H*7|0,q0=r4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,D0=e[V0>>2]|0,M0=r4(D0,4)|0,J0=t+160|0,e[J0>>2]=M0}function Zv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,r=t+16|0,IB(r),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),c=t+128|0,f=e[c>>2]|0,I2(f),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),b=t+160|0,y=e[b>>2]|0,I2(y),Ae(t|0,0,180)|0}function Wv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=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,K=e0+2868|0,u0=t+104|0,U0=e[u0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,b=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(v|0)&-1,Q=D+-4|0,_=(b|0)<0,r=_?0:b,L=D+2|0,x=O0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=O0+160|0,G=e[N>>2]|0,O=L<<2,z=Oi(G,O)|0,e[N>>2]=z),Y=(r|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,H=O0+40|0,X=O0+152|0,D1=r;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,V=e[O0>>2]|0,a0=(V|0)>0,a0){for(N1=0,q1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,c0=e[o0>>2]|0,j=e[I>>2]|0,l0=n5(j,D1)|0,f0=c0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=eS(O0,K,f0,H,C0)|0,B0=k0|q1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,q1=B0;else{c=B0;break}K0=D1+2|0,_0=e[J>>2]|0,Q0=_0+(K0<<2)|0,e[Q0>>2]=0,L0=c&1,F0=(L0|0)==0,F0||(T0=_0+(D1<<2)|0,e[T0>>2]=1,y0=D1+1|0,q0=_0+(y0<<2)|0,e[q0>>2]=1),x0=c&2,D0=(x0|0)==0,D0||(M0=_0+(D1<<2)|0,e[M0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,P0=_0+(Y0<<2)|0,e[P0>>2]=1)),V0=c&4,N0=(V0|0)==0,N0||(e[t0>>2]=-1)}else s0=D1+2|0,i0=e[J>>2]|0,n0=i0+(s0<<2)|0,e[n0>>2]=0;if(n1=D1+1|0,Z1=(n1|0)==(Q|0),Z1)break;D1=n1}if(H0=e[I>>2]|0,e1=n5(H0,Q)|0,e[s1>>2]=e1,b0=t+48|0,i1=e[b0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,f1=e0+($1<<2)|0,g1=e[f1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,r1=e0+4|0,o1=e[r1>>2]|0,z0=(o1|0)/2&-1,I1=a1+z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return A=-1,A|0;for(x1=O0+160|0,K1=B1;;){if(L1=(K1|0)<(d1|0),!L1){A=1,Y1=22;break}if(e[E1>>2]=K1,F1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&m,w1=H0+K1|0,H1){O1=K1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)K1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function jv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0;if(B0=C,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,o0=a0+28|0,c0=e[o0>>2]|0,j=t+48|0,l0=e[j>>2]|0,f0=t+40|0,E=e[f0>>2]|0,I=c0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,v=p+l0|0,b=(E|0)==0,b?(G=e[c0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,D=c0+(y<<2)|0,_=e[D>>2]|0,L=(_|0)/4&-1,x=t+44|0,F=e[x>>2]|0,M=c0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=L),d0=B-a|0,w0=v+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return r=1,r|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(d0|0)/(H|0)&-1,U=(w0|0)/(H|0)&-1,$0=(X|0)<(U|0),!$0)return r=0,r|0;for(Z=Q+160|0,V=e[Z>>2]|0,C0=X;;){if(n0=V+(C0<<2)|0,K=e[n0>>2]|0,h0=(K|0)==0,s0=C0+1|0,!h0){r=1,u0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{r=0,u0=9;break}}return(u0|0)==9?r|0:0}function Xv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=(r|0)/(Q|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(x<<2)|0,c=L-x|0,f=c<<2,jA(M|0,T|0,f|0)|0,E=e[A>>2]|0,I=E-r|0,e[A>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){b=t+176|0,w=e[b>>2]|0,D=w-r|0,e[b>>2]=D;return}v=p-r|0,e[m>>2]=v,b=t+176|0,w=e[b>>2]|0,D=w-r|0,e[b>>2]=D}function eS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,F2=+s[$2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,x2=(g2|0)>5,F5=(g2|0)/2&-1,f=x2?F5:2,J=r+60|0,i0=+s[J>>2],C0=F5+-2|0,F0=+(C0|0),V0=i0-F0,g1=V0<0,f6=g1?0:V0,E1=f6>i0,p3=E1?i0:f6,k1=(t0|0)>0,k1)for(n2=t+36|0,a2=e[n2>>2]|0,O5=0;i2=A+(O5<<2)|0,A2=+s[i2>>2],X1=a2+(O5<<2)|0,r2=+s[X1>>2],u2=r2*A2,e2=k2+(O5<<2)|0,s[e2>>2]=u2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,lQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,D2=C2,N2=k2+4|0,d2=+s[N2>>2],V2=d2,G2=V2*V2,q2=G2*.7,M2=q2+D2,P2=k2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,x5=M2+X2,e5=x5,b5=c+140|0,Z2=e[b5>>2]|0,u5=(Z2|0)==0,u5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,H2=l5):(r5=c+132|0,R2=+s[r5>>2],_2=R2+e5,s[r5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],L5=C5+e5,s[B2>>2]=L5,T=r5,H2=_2),d5=(c+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=H2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=H2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,f5=J2,L=f5,L0=w2,k5=0;;){if(Q0=L0*L0,T0=k5|1,U0=k2+(T0<<2)|0,y0=+s[U0>>2],q0=y0*y0,x0=q0+Q0,D0=(s[p2>>2]=x0,e[p2>>2]|0),M0=D0&2147483647,J0=+(M0>>>0),Y0=J0*35885571492144663e-23,P0=Y0+-382.30810546875,N0=P0>1,H0=k2+(n1<<2)|0,s[H0>>2]=z,e1=k5+2|0,b0=(e1|0)<(B5|0),!b0)break e;i1=L+-8,F=k2+(e1<<2)|0,M=+s[F>>2],L=i1,L0=M,k5=e1}while(!1);if(i5=(f|0)>0,i5)A3=0,P3=0;else{for(e3=0,W3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,r1=e[a1>>2]|0,a3=0,U3=0;;)if(o1=s1+U3|0,z0=k2+(o1<<2)|0,I1=+s[z0>>2],h1=r1+(U3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=U3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,U3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(e3<<4)|0)+12|0,x1=+s[R1>>2],w1=x1*R3,S1=(c+(e3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=D1?U1:w1,K1=v+-99999,O1=N1+99999,H1=(c+(e3*144|0)|0)+(L1<<2)|0,s[H1>>2]=w1,q1=e[S1>>2]|0,Y1=q1+1|0,j1=(q1|0)>15,D=j1?0:Y1,e[S1>>2]=D,W1=(r+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+p3,z1=O1>c2,f2=W3|5,V5=z1?f2:W3,s2=(r+32|0)+(e3<<2)|0,E2=+s[s2>>2],o2=E2-p3,V1=K1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,k0=(a+(A3<<4)|0)+8|0,o0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=s0+M5|0,n0=k2+(a0<<2)|0,K=+s[n0>>2],h0=o0+(M5<<2)|0,c0=+s[h0>>2],j=c0*K,l0=j+l3,f0=M5+1|0,d0=(f0|0)<(j2|0),d0)l3=l0,M5=f0;else{G3=l0;break}else G3=0;for(u0=(a+(A3<<4)|0)+12|0,B0=+s[u0>>2],h3=B0*G3,X5=(c+(A3*144|0)|0)+68|0,u3=e[X5>>2]|0,p0=(u3|0)<1,B=p0?16:-1,m=B+u3|0,I0=(c+(A3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],K0=h3S0,b=_0?S0:h3,o6=0,x3=m,k3=-99999,Q3=99999;;)if(e0=(x3|0)<1,y=e0?16:-1,w=y+x3|0,H=(c+(A3*144|0)|0)+(w<<2)|0,X=+s[H>>2],U=k3X,N=Z?X:Q3,V=o6+1|0,q5=(V|0)==(f|0),q5){x=$0,G=N;break}else o6=V,x3=w,k3=$0,Q3=N;if(Q5=b-G,H5=j5-x,E5=(c+(A3*144|0)|0)+(u3<<2)|0,s[E5>>2]=h3,J5=e[X5>>2]|0,r3=J5+1|0,m3=(J5|0)>15,Q=m3?0:r3,e[X5>>2]=Q,K5=(r+4|0)+(A3<<2)|0,w3=+s[K5>>2],f3=w3+p3,B3=H5>f3,V3=P3|5,v3=B3?V3:P3,N3=(r+32|0)+(A3<<2)|0,z5=+s[N3>>2],y3=z5-p3,W5=Q5>2]|0,C2=r+1288|0,j3=e[C2>>2]|0,F3=r+1284|0,E6=e[F3>>2]|0,E9=(E6|0)>0,E9){for(f8=0;j4=p4+(f8<<2)|0,e[j4>>2]=-200,Be=f8+1|0,pe=(Be|0)==(E6|0),!pe;)f8=Be;if(E9){for(Y3=0;u4=c4+(Y3<<2)|0,e[u4>>2]=-200,W=Y3+1|0,l4=(W|0)==(E6|0),!l4;)Y3=W;if(E9){for(n0=E6<<2,Ae(M8|0,0,n0|0)|0,w9=0;k0=De+(w9<<2)|0,e[k0>>2]=1,T0=w9+1|0,Ue=(T0|0)==(E6|0),!Ue;)w9=T0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return ie=0,C=e4,ie|0;for(U1=j3+-1|0,W1=J+1112|0,t2=E6+-1|0,M=e[r>>2]|0,C4=M,B9=0,Qe=0;;){b4=B9+1|0,D4=r+(b4<<2)|0,x4=e[D4>>2]|0,T4=P6+(B9*56|0)|0,Me=T4,Rt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Rt|0));if(e[T4>>2]=C4,N4=(P6+(B9*56|0)|0)+4|0,e[N4>>2]=x4,U9=(x4|0)<(j3|0),tt=U9?x4:U1,G4=(tt|0)<(C4|0),G4)k8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,q9=0,K8=0,R8=0,qt=0,Yt=0;else for(k4=C4,u8=0,Pe=0,H4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,p9=0,at=0,x8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],L4=O*7.314285755157471,f4=L4+1023.5,Ce=~~f4,H9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=H9?1023:E,Ne=(v|0)==0;do if(Ne)H8=u8,i8=Pe,r8=H4,E8=j9,He=ye,Q4=A8,B8=I3,Y8=D9,Y4=$8,Ke=p9,se=at,V8=x8;else if(Xe=A+(k4<<2)|0,U4=+s[Xe>>2],Ge=+s[W1>>2],P4=Ge+U4,X4=!(P4>=O),X4){$e=k4+A8|0,W9=v+x8|0,le=n5(k4,k4)|0,ce=le+j9|0,B4=n5(v,v)|0,e0=B4+p9|0,H=n5(v,k4)|0,X=H+D9|0,U=Pe+1|0,H8=u8,i8=U,r8=H4,E8=ce,He=ye,Q4=$e,B8=I3,Y8=X,Y4=$8,Ke=e0,se=at,V8=W9;break}else{be=k4+ye|0,e8=v+at|0,Z9=n5(k4,k4)|0,ae=Z9+H4|0,_6=n5(v,v)|0,O4=_6+$8|0,L9=n5(v,k4)|0,$4=L9+I3|0,_4=u8+1|0,H8=_4,i8=Pe,r8=ae,E8=j9,He=be,Q4=A8,B8=$4,Y8=D9,Y4=O4,Ke=p9,se=e8,V8=x8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(tt|0),Z)k4=$0,u8=H8,Pe=i8,H4=r8,j9=E8,ye=He,A8=Q4,I3=B8,D9=Y8,$8=Y4,p9=Ke,at=se,x8=V8;else{k8=H8,X8=i8,b8=r8,D8=E8,m8=He,Fe=Q4,it=B8,q9=Y8,K8=Y4,R8=Ke,qt=se,Yt=V8;break}}if(V=(P6+(B9*56|0)|0)+8|0,e[V>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=qt,s0=(P6+(B9*56|0)|0)+16|0,e[s0>>2]=b8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=K8,K=(P6+(B9*56|0)|0)+24|0,e[K>>2]=it,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,o0=(P6+(B9*56|0)|0)+32|0,e[o0>>2]=Fe,c0=(P6+(B9*56|0)|0)+36|0,e[c0>>2]=Yt,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=D8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=R8,f0=(P6+(B9*56|0)|0)+48|0,e[f0>>2]=q9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(b4|0)==(t2|0),g6){ft=w0;break}else C4=x4,B9=b4,Qe=w0}}else de=9}else de=9}else de=9}else de=9;if((de|0)==9){if(N0=(E6|0)==0,!N0)return ie=0,C=e4,ie|0;F2=P6+4|0,Me=P6,Rt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Rt|0));if(e[F2>>2]=j3,O2=(j3|0)<1,O2)P8=0,j8=0,q8=0,I8=0,o8=0,X9=0,C8=0,ne=0,st=0,ot=0,Nt=0,Gt=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,n8=0,he=0,fe=0,ue=0,q4=0,re=0,a8=0,Je=0,bt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,x2=g2+1023.5,F5=~~x2,R3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,B=R3?1023:f,P3=(B|0)==0;do if(P3)O8=v8,xe=d8,Le=n8,s8=he,Oe=fe,we=ue,qe=q4,Ye=re,_8=a8,At=Je,Dt=bt,_t=l8;else if(c6=A+(g4<<2)|0,q3=+s[c6>>2],r6=+s[k2>>2],s9=r6+q3,L6=!(s9>=G),L6){f9=g4+ue|0,u9=B+l8|0,d9=n5(g4,g4)|0,a9=d9+he|0,$9=n5(B,B)|0,T9=$9+Je|0,T6=n5(B,g4)|0,i9=T6+re|0,N9=d8+1|0,O8=v8,xe=N9,Le=n8,s8=a9,Oe=fe,we=f9,qe=q4,Ye=i9,_8=a8,At=T9,Dt=bt,_t=u9;break}else{U6=g4+fe|0,D6=B+bt|0,z6=n5(g4,g4)|0,y6=z6+n8|0,F6=n5(B,B)|0,M6=F6+a8|0,t9=n5(B,g4)|0,A9=t9+q4|0,j6=v8+1|0,O8=j6,xe=d8,Le=y6,s8=he,Oe=U6,we=ue,qe=A9,Ye=re,_8=M6,At=Je,Dt=D6,_t=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(j3|0),C9){P8=O8,j8=xe,q8=Le,I8=s8,o8=Oe,X9=we,C8=qe,ne=Ye,st=_8,ot=At,Nt=Dt,Gt=_t;break}else g4=I9,v8=O8,d8=xe,n8=Le,he=s8,fe=Oe,ue=we,q4=qe,re=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]=q8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,H6=P6+32|0,e[H6>>2]=X9,n9=P6+36|0,e[n9>>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]=ne,y9=P6+52|0,e[y9>>2]=j8,ft=P8}if(C0=(ft|0)==0,C0)return ie=0,C=e4,ie|0;e[rt>>2]=-200,e[J8>>2]=-200,u0=E6+-1|0,fB(P6,u0,rt,J8,J)|0,B0=e[rt>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,K0=(E6|0)>2;do if(K0){_0=J+1112|0,Q0=J+1096|0,L0=J+1100|0,F0=J+1104|0,M4=2;e:for(;;){U0=(r+520|0)+(M4<<2)|0,y0=e[U0>>2]|0,q0=M8+(y0<<2)|0,x0=e[q0>>2]|0,D0=De+(y0<<2)|0,M0=e[D0>>2]|0,J0=Z8+(x0<<2)|0,Y0=e[J0>>2]|0,P0=(Y0|0)==(M0|0);t:do if(!P0){if(V0=(r+520|0)+(x0<<2)|0,O0=e[V0>>2]|0,n1=(r+520|0)+(M0<<2)|0,H0=e[n1>>2]|0,e[J0>>2]=M0,e1=(J+836|0)+(x0<<2)|0,b0=e[e1>>2]|0,i1=(J+836|0)+(M0<<2)|0,c1=e[i1>>2]|0,$1=p4+(x0<<2)|0,f1=e[$1>>2]|0,g1=(f1|0)<0,s1=c4+(x0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(r1=(a1|0)<0,r1?y=f1:(o1=a1+f1|0,z0=o1>>1,y=z0)),I1=p4+(M0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(M0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,w1=(Q|0)==-1,vt=x1|w1,vt){de=38;break e}S1=Q-y|0,L1=c1-b0|0,Re=(S1|0)>-1,k9=0-S1|0,F1=Re?S1:k9,G1=(S1|0)/(L1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(b0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,K1=D1+1023.5,O1=~~K1,H1=(O1|0)>1023,q1=(O1|0)<0,I=q1?0:O1,b=H1?1023:I,Y1=n5(G1,L1)|0,lt=(Y1|0)>-1,ht=0-Y1|0,j1=lt?Y1:ht,n2=F1-j1|0,P1=y-b|0,c2=n5(P1,P1)|0,z1=A+(b0<<2)|0,f2=+s[z1>>2],s2=+s[_0>>2],E2=s2+f2,o2=!(E2>=Y),o2?de=42:(V1=+(y|0),h2=+s[Q0>>2],a2=h2+V1,$2=+(b|0),i2=a2<$2,i2||(A2=+s[L0>>2],X1=V1-A2,r2=X1>$2,r2||(de=42)));i:do if((de|0)==42){if(de=0,u2=b0+1|0,e2=(u2|0)<(c1|0),e2)for(d2=u2,ee=0,kt=c2,U8=1,ut=y;;){if(y2=ee+n2|0,v2=(y2|0)<(L1|0),w2=v2?0:Z1,D2=v2?0:L1,F4=y2-D2|0,F=ut+G1|0,nt=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],V2=z*7.314285755157471,G2=V2+1023.5,q2=~~G2,M2=(q2|0)>1023,P2=(q2|0)<0,m=P2?0:q2,D=M2?1023:m,z2=nt-D|0,o5=n5(z2,z2)|0,T1=o5+kt|0,X2=U8+1|0,x5=A+(d2<<2)|0,e5=+s[x5>>2],b5=e5+s2,Z2=b5>=z,u5=(D|0)!=0,et=Z2&u5,et&&(v5=+(nt|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(D|0),r5=l5>2],_2=v5-R2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,ee=F4,kt=T1,U8=X2,ut=nt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),H2=D5/G5,I5=+s[F0>>2],A5=H2>I5,!A5&&(c5=+s[L0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(M4<<2)|0,e[l3>>2]=-200,c3=c4+(M4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=fB(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,f5=fB(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,R5=e[_e>>2]|0,e[N8>>2]=R5),j2=(f5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(M4<<2)|0,e[Q5>>2]=-200,H5=c4+(M4<<2)|0,e[H5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(x0|0)==0,E5&&(e[p4>>2]=j5),u3=e[N8>>2]|0,h3=p4+(M4<<2)|0,e[h3>>2]=u3,J5=e[_e>>2]|0,X5=c4+(M4<<2)|0,e[X5>>2]=J5,r3=e[t8>>2]|0,e[I1>>2]=r3,m3=(M0|0)==1,m3&&(e[I0>>2]=r3),K5=J5&u3,w3=(K5|0)>-1,w3){f3=(y0|0)>0;i:do if(f3)for(z8=y0;;){if(wt=z8+-1|0,V3=De+(wt<<2)|0,N3=e[V3>>2]|0,z5=(N3|0)==(M0|0),!z5)break i;if(e[V3>>2]=M4,y3=(z8|0)>1,y3)z8=wt;else break}while(!1);if(gt=y0+1|0,B3=(gt|0)<(E6|0),B3)for(F8=gt;;){if(W5=M8+(F8<<2)|0,i6=e[W5>>2]|0,G3=(i6|0)==(x0|0),!G3)break t;if(e[W5>>2]=M4,ct=F8+1|0,a3=(ct|0)<(E6|0),a3)F8=ct;else break}}}while(!1);if(C3=M4+1|0,q5=(C3|0)<(E6|0),q5)M4=C3;else{de=68;break}}if((de|0)==38)pv(1);else if((de|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,o6=N;break}}else k5=B0,o6=B0;while(!1);if(U5=E6<<2,O5=Ht(t,U5)|0,U3=(k5|0)<0,U3?w=o6:(e3=(o6|0)<0,e3?w=k5:(A3=o6+k5|0,x3=A3>>1,w=x3)),e[O5>>2]=w,f6=e[S0>>2]|0,p3=(f6|0)<0,k3=e[I0>>2]|0,p3?L=k3:(Q3=(k3|0)<0,Q3?L=f6:(n6=k3+f6|0,W3=n6>>1,L=W3)),V5=O5+4|0,e[V5>>2]=L,K0)te=2;else return ie=O5,C=e4,ie|0;for(;;)if(v3=te+-2|0,g3=(r+1032|0)+(v3<<2)|0,O3=e[g3>>2]|0,l6=(r+780|0)+(v3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(O3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(O3<<2)|0,R6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,S3=(J+836|0)+(te<<2)|0,X3=e[S3>>2]|0,e6=R6&32767,u6=C6&32767,H3=u6-e6|0,b3=B6-v6|0,$t=(H3|0)>-1,S8=0-H3|0,z3=$t?H3:S8,b6=X3-v6|0,A6=n5(z3,b6)|0,t3=(A6|0)/(b3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+e6|0,a6=p4+(te<<2)|0,d6=e[a6>>2]|0,D3=(d6|0)<0,N6=c4+(te<<2)|0,Q6=e[N6>>2]|0,D3?p=Q6:(x6=(Q6|0)<0,x6?p=d6:(V6=Q6+d6|0,I6=V6>>1,p=I6)),J6=(p|0)<0,L3=(_|0)==(p|0),St=J6|L3,W6=_|32768,c=St?W6:p,G6=O5+(te<<2)|0,e[G6>>2]=c,e9=te+1|0,ge=(e9|0)==(E6|0),ge){ie=O5;break}else te=e9;return C=e4,ie|0}function L8(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;if(a0=C,f=r+1284|0,E=e[f>>2]|0,_=(A|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=Ht(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=A+(U<<2)|0,H=e[e0>>2]|0,I=H&32767,m=n5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,b=n5(v,c)|0,w=m+32768|0,y=w+b|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,L=e[e0>>2]|0,x=L&32768,F=(x|0)==0,F||(M=e[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function tS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0;if(M6=C,C=C+336|0,L6=M6+64|0,g3=M6+32|0,L3=M6,D=A+1296|0,Q=e[D>>2]|0,h2=A+1284|0,R2=e[h2>>2]|0,A5=r+64|0,s5=e[A5>>2]|0,j5=s5+4|0,f3=e[j5>>2]|0,l3=f3+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=r+36|0,e5=e[x5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,Ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(R2|0)>0,w0)for(L0=Q+832|0,u6=0;P0=a+(u6<<2)|0,f1=e[P0>>2]|0,d1=f1&32767,G1=e[L0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?(a2=d1>>>3,U6=a2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,u5=f1&32768,v5=u5|U6,e[P0>>2]=v5,P5=u6+1|0,C6=(P5|0)==(R2|0),!C6;)u6=P5;if(l5=e[a>>2]|0,e[L6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,r5=L6+4|0,e[r5>>2]=m5,_2=(R2|0)>2,B2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,L5=(A+1032|0)+(C5<<2)|0,d5=e[L5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,H2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-H2|0,q3=(t5|0)>-1,W6=0-t5|0,J2=q3?t5:W6,f5=W2-H2|0,i5=n5(J2,f5)|0,R5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-R5|0,m=j2?$5:R5,I=m+g2|0,x2=a+(H3<<2)|0,Q5=e[x2>>2]|0,H5=Q5&32768,E5=(H5|0)!=0,u3=(Q5|0)==(I|0),s9=E5|u3,s9)h3=I|32768,e[x2>>2]=h3,J5=L6+(H3<<2)|0,e[J5>>2]=0;else{X5=e[B2>>2]|0,r3=X5-I|0,m3=(r3|0)<(I|0),f=m3?r3:I,F5=Q5-I|0,K5=(F5|0)<0;do if(K5)if(w3=0-f|0,B3=(F5|0)<(w3|0),B3){V3=F5^-1,N3=f+V3|0,D6=N3;break}else{z5=F5<<1,y3=z5^-1,D6=y3;break}else if(W5=(f|0)>(F5|0),W5){R3=F5<<1,D6=R3;break}else{i6=f+F5|0,D6=i6;break}while(!1);G3=L6+(H3<<2)|0,e[G3>>2]=D6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(R2|0),Y6)break;H3=C3}v=e[L6>>2]|0,b=e[r5>>2]|0,n6=v,v3=b}else n6=l5,v3=m5;if(U2(t,1,1),q5=A+1308|0,U5=e[q5>>2]|0,O5=U5+1|0,e[q5>>2]=O5,k5=e[B2>>2]|0,U3=k5+-1|0,M5=Tt(U3)|0,o6=M5<<1,e3=A+1304|0,x3=e[e3>>2]|0,f6=x3+o6|0,e[e3>>2]=f6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=Tt(k3)|0,U2(t,n6,Q3),W3=e[B2>>2]|0,P3=W3+-1|0,V5=Tt(P3)|0,U2(t,v3,V5),L=e[Q>>2]|0,x=(L|0)>0,x)for(F=A+1300|0,b3=0,A6=2;;){if(M=(Q+4|0)+(b3<<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[L3>>2]=0,e[L3+4>>2]=0,e[L3+8>>2]=0,e[L3+12>>2]=0,e[L3+16>>2]=0,e[L3+20>>2]=0,e[L3+24>>2]=0,e[L3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,f0=e[l0>>2]|0,d0=(f0|0)<0,d0?y=1:(C0=(A3+1824|0)+(f0<<2)|0,k0=e[C0>>2]|0,u0=k0+4|0,B0=e[u0>>2]|0,y=B0),p0=L3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,k6=0,a6=0;;)if(K0=g3+(a6<<2)|0,_0=e[K0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(H=L3+(N6<<2)|0,X=e[H>>2]|0,$0=(U|0)<(X|0),$0){r6=N6,F3=31;break}if(Z=N6+1|0,V=(Z|0)<(Y|0),V)N6=Z;else{F3=33;break}}if((F3|0)==31?(F3=0,a0=g3+(d6<<2)|0,e[a0>>2]=r6,n0=r6):(F3|0)==33&&(F3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,n0=w),i0=n0<>2]|0,x0=t0+(q0*56|0)|0,D0=Fh(x0,d3,t)|0,M0=e[F>>2]|0,J0=M0+D0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(D3=0;V0=g3+(D3<<2)|0,N0=e[V0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(N0<<2)|0,n1=e[O0>>2]|0,H0=(n1|0)>-1,H0&&(e1=D3+A6|0,b0=L6+(e1<<2)|0,i1=e[b0>>2]|0,c1=(t0+(n1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(n1*56|0)|0,s1=Fh(l1,i1,t)|0,a1=e[e3>>2]|0,r1=a1+s1|0,e[e3>>2]=r1)),o1=D3+1|0,p6=(o1|0)==(G|0),!p6;)D3=o1;if(z0=G+A6|0,I1=b3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)b3=I1,A6=z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=n5(p1,E1)|0,R1=r+28|0,x1=e[R1>>2]|0,w1=A3+(x1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(X3=0,t3=1,Q6=0,I6=Q1;;){if(K1=(A+260|0)+(t3<<2)|0,O1=e[K1>>2]|0,H1=a+(O1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,n2=(Y1|0)==(q1|0),n2)if(W1=e[B1>>2]|0,P1=n5(W1,q1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,f2=P1-I6|0,s2=z1-Q6|0,z3=(f2|0)>-1,G6=0-f2|0,E2=z3?f2:G6,o2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=n5(o2,s2)|0,b6=($2|0)>-1,e9=0-$2|0,i2=b6?$2:e9,A2=E2-i2|0,X1=(L1|0)>(z1|0),z6=X1?z1:L1,r2=(z6|0)>(Q6|0),r2&&(u2=c+(Q6<<2)|0,e[u2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+A2|0,C2=(v2|0)<(s2|0),F2=C2?0:t2,D2=C2?0:s2,B6=v2-D2|0,B=y6+o2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,V2=d2+1|0,c6=(V2|0)==(z6|0),c6){e6=z1,x6=z1,J6=P1;break}else d2=V2,S6=B6,y6=F6;else e6=z1,x6=z1,J6=P1;else e6=X3,x6=Q6,J6=I6;if(G2=t3+1|0,q2=e[h2>>2]|0,M2=(G2|0)<(q2|0),M2)X3=e6,t3=G2,Q6=x6,I6=J6;else{S3=e6,V6=J6;break}}else S3=0,V6=Q1;if(U1=r+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(S3|0)<(N1|0),D1)O6=S3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=V6,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 fB(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,p=e[t>>2]|0,B=r+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,F0=(r|0)>0,F0)for(V0=c+1108|0,g1=+s[V0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,v=e[n2>>2]|0,T=v+k1|0,H=+(T|0),X=H*g1,U=v+1|0,$0=+(U|0),Z=X/$0,V=Z,a0=V+1,s0=(t+(X1*56|0)|0)+32|0,n0=e[s0>>2]|0,K=+(n0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,c0=+(o0|0),j=c0*a0,l0=K+w2,f0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),u0=(t+(X1*56|0)|0)+12|0,B0=e[u0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+q2,K0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,L0=+(Q0|0),T0=(t+(X1*56|0)|0)+16|0,U0=e[T0>>2]|0,y0=+(U0|0),q0=y0*a0,x0=L0+u2,D0=x0+q0,M0=(t+(X1*56|0)|0)+48|0,J0=e[M0>>2]|0,Y0=+(J0|0),P0=(t+(X1*56|0)|0)+24|0,N0=e[P0>>2]|0,O0=+(N0|0),n1=O0*a0,H0=Y0+N2,e1=H0+n1,b0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=b0+t2,f1=$1+c1,l1=X1+1|0,A2=(l1|0)==(r|0),A2){a2=f1,r2=D0,v2=f0,D2=e1,G2=K0;break}else t2=f1,X1=l1,u2=D0,w2=f0,N2=e1,q2=K0;else a2=0,r2=0,v2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(r1=+(p|0),o1=v2+r1,z0=+(s1|0),I1=z0+G2,h1=n5(p,p)|0,m1=+(h1|0),d1=r2+m1,B1=n5(s1,p)|0,p1=+(B1|0),Q1=p1+D2,R1=a2+1,$2=R1,e2=d1,C2=o1,d2=Q1,M2=I1):($2=a2,e2=r2,C2=v2,d2=D2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(S1=+(C0|0),L1=C2+S1,F1=+(x1|0),G1=F1+M2,U1=n5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,D1=n5(x1,C0)|0,K1=+(D1|0),O1=K1+d2,H1=$2+1,i2=H1,y2=N1,F2=L1,V2=O1,P2=G1):(i2=$2,y2=e2,F2=C2,V2=d2,P2=M2),q1=y2*i2,Y1=F2*F2,j1=q1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*V2,z1=P1-c2,f2=z1/j1,s2=V2*i2,E2=F2*P2,o2=s2-E2,V1=o2/j1,h2=+(p|0),b=V1*h2,w=b+f2,y=+Pi(w),D=~~y,e[A>>2]=D,Q=+(C0|0),_=V1*Q,L=_+f2,x=+Pi(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,f=0,f|0):(f=0,f|0)):(e[A>>2]=0,e[a>>2]=0,f=1,f|0)}function iS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0;if(b0=C,E=t+836|0,I=t+840|0,L=e[I>>2]|0,J=e[t>>2]|0,U2(r,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(F0=t+4|0,J0=0,H0=-1;;)if(B=F0+(J0<<2)|0,v=e[B>>2]|0,U2(r,v,4),b=e[B>>2]|0,w=(H0|0)<(b|0),A=w?b:H0,y=J0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)J0=y,H0=A;else{a=A;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,q0=t+192|0,m=t+256|0,p=t+320|0,Y0=0;;){if(_=y0+(Y0<<2)|0,x=e[_>>2]|0,F=x+-1|0,U2(r,F,3),M=q0+(Y0<<2)|0,T=e[M>>2]|0,U2(r,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(V0=0,e1=8):(O=m+(Y0<<2)|0,z=e[O>>2]|0,U2(r,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(V0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(V0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(r,e0,8),H=V0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=a0+-1|0,U2(r,s0,2),n0=L+-1|0,K=Tt(n0)|0,U2(r,K,4),h0=Tt(n0)|0,o0=e[t>>2]|0,c0=(o0|0)>0,!!c0)for(j=t+4|0,l0=t+128|0,T0=o0,x0=0,P0=0,N0=0;;){if(f0=j+(P0<<2)|0,d0=e[f0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,u0=k0+x0|0,B0=(N0|0)<(u0|0),B0){for(n1=N0;p0=n1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(r,S0,h0),K0=n1+1|0,D0=(K0|0)==(u0|0),!D0;)n1=K0;f=e[t>>2]|0,L0=f,O0=u0}else L0=T0,O0=N0;if(_0=P0+1|0,Q0=(_0|0)<(L0|0),Q0)T0=L0,x0=u0,P0=_0,N0=O0;else break}}function nS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=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=r4(1,1120)|0,a0=W4(r,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(x=W4(r,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=x,M=(x|0)<0,M)break e;if(T=(n2|0)<(x|0),c=T?x:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=W4(r,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=W4(r,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,H=(W|0)<0,H||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=W4(r,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),V=(Z|0)<0,V)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(n0=e[e0>>2]|0,K=(n0|0)==31,!K)for(H1=0;;){if(l0=W4(r,8)|0,f0=l0+-1|0,w0=(L+(N1<<5)|0)+(H1<<2)|0,e[w0>>2]=f0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,u0=(l0|0)>(k0|0),c0=H1+1|0,u0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=S0,_0=W4(r,4)|0,L0=(_0|0)<0,!L0)){if(F0=e[Y>>2]|0,T0=(F0|0)>0,T0)for(U0=Y+4|0,y0=Y+128|0,q0=Y+836|0,x0=1<<_0,G1=F0,U1=0,D1=0,q1=0;;){if(D0=U0+(D1<<2)|0,M0=e[D0>>2]|0,J0=y0+(M0<<2)|0,P0=e[J0>>2]|0,V0=P0+U1|0,N0=(V0|0)>63,N0)break e;if(O0=(q1|0)<(V0|0),O0){for(j1=q1;;){if(n1=W4(r,_0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=n1,b0=(n1|0)>-1,i1=(n1|0)<(x0|0),W1=b0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(V0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=V0,D1=g1,q1=Y1;else{m=q0,p=x0,k1=V0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,r1=k1+2|0,o1=(k1|0)>-2,o1)for(K1=0;z0=m+(K1<<2)|0,I1=P1+(K1<<2)|0,e[I1>>2]=z0,h1=K1+1|0,d1=(h1|0)<(r1|0),d1;)K1=h1;Th(P1,r1,4,8),E1=(r1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,b=e[v>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(w1|0)==(x1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(r1|0),p1)w1=x1,O1=B1;else break t;if(L1=(Y|0)==0,L1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function rS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0;if(L1=C,C=C+272|0,w1=L1,a=r4(1,1312)|0,c=a+1296|0,e[c>>2]=r,D=r+836|0,z=r+840|0,V=e[z>>2]|0,f0=a+1288|0,e[f0>>2]=V,_0=e[r>>2]|0,J0=(_0|0)>0,J0){for(H0=r+4|0,f=r+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=f+(I<<2)|0,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,b=(v|0)<(_0|0),b)g1=v,Q1=B;else{A=B;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,p1=A,S1=7):(Th(w1,w,4,8),B1=A)}else n1=a+1284|0,e[n1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,F=(x|0)<(M|0),F;)l1=x;for(Th(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,H=N+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,s0=O+(a0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,n0=(i0|0)<(M|0),n0;)a1=i0;for($0=a+260|0,r1=0;;)if(K=$0+(r1<<2)|0,h0=e[K>>2]|0,o0=D+(h0<<2)|0,c0=e[o0>>2]|0,j=a+(r1<<2)|0,e[j>>2]=c0,l0=r1+1|0,d0=(l0|0)<(M|0),d0)r1=l0;else{B1=p1;break}}if(w0=r+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(u0=a+1292|0,e[u0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=L1,a|0;for(S0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,L0=D+(Q0<<2)|0,F0=e[L0>>2]|0,T0=e[f0>>2]|0,b0=1,$1=T0,z0=0,I1=0,d1=0;;)if(U0=D+(z0<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)>(d1|0),x0=(y0|0)<(F0|0),R1=q0&x0,h1=R1?z0:I1,E1=R1?y0:d1,D0=(y0|0)<($1|0),M0=(y0|0)>(F0|0),x1=D0&M0,i1=x1?z0:b0,f1=x1?y0:$1,Y0=z0+1|0,P0=(Y0|0)<(Q0|0),P0)b0=i1,$1=f1,z0=Y0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(V0=S0+(o1<<2)|0,e[V0>>2]=m1,N0=K0+(o1<<2)|0,e[N0>>2]=c1,O0=o1+1|0,e1=(O0|0)==(B1|0),e1)break;o1=O0}return C=L1,a|0}function sS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function oS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function AS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,f=r+1296|0,E=e[f>>2]|0,n0=t+64|0,k0=e[n0>>2]|0,T0=k0+4|0,N0=e[T0>>2]|0,l1=N0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=W4(I,1)|0,J=(L|0)==1,!J)return A=0,A|0;U=r+1284|0,$0=e[U>>2]|0,Z=$0<<2,V=Ht(t,Z)|0,a0=r+1292|0,s0=e[a0>>2]|0,i0=s0+-1|0,K=Tt(i0)|0,h0=W4(I,K)|0,e[V>>2]=h0,o0=e[a0>>2]|0,c0=o0+-1|0,j=Tt(c0)|0,l0=W4(I,j)|0,f0=V+4|0,e[f0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){i2=0,r2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,S0=e[I0>>2]|0,K0=(E+128|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,L0=e[Q0>>2]|0,F0=1<>2]|0,x0=W1+(q0*56|0)|0,D0=jm(x0,I)|0,M0=(D0|0)==-1,M0){A=0,v2=25;break}else t2=D0;if(J0=(_0|0)>0,J0)for(Y0=F0+-1|0,$2=t2,u2=0;;){if(P0=$2&Y0,V0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[V0>>2]|0,n1=$2>>L0,H0=(O0|0)>-1,H0){if(e1=W1+(O0*56|0)|0,b0=jm(e1,I)|0,i1=u2+r2|0,c1=V+(i1<<2)|0,e[c1>>2]=b0,$1=(b0|0)==-1,$1){A=0,v2=25;break t}}else f1=u2+r2|0,g1=V+(f1<<2)|0,e[g1>>2]=0;if(s1=u2+1|0,a1=(s1|0)<(_0|0),a1)$2=n1,u2=s1;else break}if(r1=_0+r2|0,o1=i2+1|0,z0=e[E>>2]|0,I1=(o1|0)<(z0|0),I1)i2=o1,r2=r1;else break e}if((v2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,u0=(C0|0)>2,!u0)return A=V,A|0;for(B0=r+1032|0,p0=r+780|0,A2=2;;){if(h1=A2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,w1=e[x1>>2]|0,S1=V+(d1<<2)|0,L1=e[S1>>2]|0,F1=V+(R1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(A2<<2)|0,Z1=e[k1>>2]|0,N1=L1&32767,D1=G1&32767,K1=D1-N1|0,O1=w1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=n5(H1,q1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(K1|0)<0,P1=0-j1|0,c=n2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,f2=V+(A2<<2)|0,s2=e[f2>>2]|0,E2=(s2|0)==0,E2)W=a|32768,e[f2>>2]=W;else{o2=(z1|0)<(a|0),V1=o2?z1:a,h2=V1<<1,a2=(s2|0)<(h2|0);do if(a2)if(b=s2&1,w=(b|0)==0,w){_=s2>>1,y2=_;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);x=y2+a|0,F=x&32767,e[f2>>2]=F,M=e[m1>>2]|0,T=V+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=V+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=A2+1|0,H=e[U>>2]|0,X=(e0|0)<(H|0),X)A2=e0;else{A=V;break}}return A|0}function aS(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,E=r+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,F0=C0+28|0,V0=e[F0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,m=V0+(f1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(A|0)==0,v)return c1=B<<2,Ae(a|0,0,c1|0)|0,c=0,c|0;if(b=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,D=n5(y,b)|0,Q=(D|0)<0,_=(D|0)>255,x=_?255:D,F=Q?0:x,M=r+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=r+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,H=e[e0>>2]|0,X=H&32767,U=(X|0)==(H|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,V=n5(y,H)|0,a0=(V|0)<0,s0=(V|0)>255,n0=s0?255:V,K=a0?0:n0,h0=K-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,c0=I1?h0:x1,j=(h0|0)/(o0|0)&-1,l0=h0>>31,f0=l0|1,d0=n5(j,o0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=c0-w0|0,u0=(B|0)>(Z|0),S1=u0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,K0=+s[S0>>2],_0=K0*I0,s[S0>>2]=_0),Q0=E1+1|0,L0=(Q0|0)<(S1|0),L0)for(J0=Q0,g1=0,L1=Q1;;)if(T0=g1+k0|0,U0=(T0|0)<(o0|0),y0=U0?0:f0,q0=U0?0:o0,l1=T0-q0|0,f=L1+j|0,F1=f+y0|0,x0=1768+(F1<<2)|0,D0=+s[x0>>2],M0=a+(J0<<2)|0,Y0=+s[M0>>2],P0=Y0*D0,s[M0>>2]=P0,N0=J0+1|0,a1=(N0|0)==(S1|0),a1){z0=Z,B1=Z,R1=K;break}else J0=N0,g1=l1,L1=F1;else z0=Z,B1=Z,R1=K;else z0=o1,B1=E1,R1=Q1;if(O0=m1+1|0,n1=(O0|0)<(T|0),n1)o1=z0,m1=O0,E1=B1,Q1=R1;else{r1=z0,p1=R1;break}}else r1=0,p1=F;if(O=(r1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=r1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],b0=e1*Y,s[H0>>2]=b0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function $S(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[r>>2]|0,f=e[c>>2]|0,E=a-f|0,E|0}function lS(t){t=t|0;var r=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function cS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;a0=C,c=X$(r|0)|0,f=X$(A|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,mB(J|0,r|0)|0,Z=X$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,bQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,H=e[e0>>2]|0,X=H<<2,U=X+8|0,E=Oi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,b=Oi(m,v)|0,e[I>>2]=b,w=X$(J|0)|0,y=e[e0>>2]|0,D=b+(y<<2)|0,e[D>>2]=w,_=w+1|0,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,mB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function gS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,F=(x|0)>0,F){for(_=x,T=f,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;)r=e[t>>2]|0,_=m,T=r,O=E;a=e[t>>2]|0,p=a}else p=f;I2(p)}B=t+4|0,v=e[B>>2]|0,b=(v|0)==0,b||I2(v),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function hS(t){t=t|0;var r=0,A=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,r=r4(1,3664)|0,A=t+28|0,e[A>>2]=r}function uB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=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;r1=(E+32|0)+(o1<<2)|0,I=e[r1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),r=e[t0>>2]|0,v=r),p=o1+1|0,B=(p|0)<(v|0),B;)g1=v,o1=p;if(L0=E+12|0,P0=e[L0>>2]|0,f1=(P0|0)>0,f1)for(l1=P0,z0=0;D=(E+544|0)+(z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(z0<<2)|0,F=e[x>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,js[G&7](Q),A=e[L0>>2]|0,Y=A),O=z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,z0=O;if(b=E+16|0,w=e[b>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;H=(E+1056|0)+(I1<<2)|0,X=e[H>>2]|0,U=(X|0)==0,U?o0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,V=25640+(Z<<2)|0,a0=e[V>>2]|0,i0=a0+12|0,n0=e[i0>>2]|0,js[n0&7](X),a=e[b>>2]|0,o0=a),K=I1+1|0,h0=(K|0)<(o0|0),h0;)s1=o0,I1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?F0=a1:(u0=(E+1312|0)+(h1<<2)|0,B0=e[u0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,K0=e[S0>>2]|0,js[K0&7](C0),c=e[J>>2]|0,F0=c),_0=h1+1|0,Q0=(_0|0)<(F0|0),Q0;)a1=F0,h1=_0;if(c0=E+24|0,j=e[c0>>2]|0,l0=(j|0)>0,f0=E+2848|0,l0)for(m1=0;T0=(E+1824|0)+(m1<<2)|0,U0=e[T0>>2]|0,y0=(U0|0)==0,y0||EB(U0),q0=e[f0>>2]|0,x0=(q0|0)==0,x0||(D0=q0+(m1*56|0)|0,YS(D0)),M0=m1+1|0,J0=e[c0>>2]|0,Y0=(M0|0)<(J0|0),Y0;)m1=M0;if(V0=e[f0>>2]|0,N0=(V0|0)==0,N0||I2(V0),O0=E+28|0,n1=e[O0>>2]|0,H0=(n1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,b0=e[e1>>2]|0,yS(b0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function fS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,f=-129,C=W2,f|0;if(c2=p+4|0,i2=e[c2>>2]|0,D2=(i2|0)<1,D2)S5=-129,a5=27;else if(lB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,H=(M|0)<64,H)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),n1=e[c2>>2]|0,U2(M1,n1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,r1=e[s1>>2]|0,U2(M1,r1,32),o1=p+16|0,z0=e[o1>>2]|0,U2(M1,z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Tt(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,R1=Tt(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,S1=(w1|0)==0,S1||I2(w1),L1=yt(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=yt(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[x1>>2]|0,e[A>>2]=Z1,D1=yt(M1)|0,K1=A+4|0,e[K1>>2]=D1,O1=A+8|0,e[O1>>2]=1,H1=A+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,f7(M1),uS(M1,r),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=yt(M1)|0,W1=S9(n2)|0,e[q1>>2]=W1,P1=e[G1>>2]|0,z1=yt(M1)|0,s4(W1|0,P1|0,z1|0)|0,f2=e[q1>>2]|0,e[a>>2]=f2,s2=yt(M1)|0,E2=a+4|0,e[E2>>2]=s2,o2=a+8|0,V1=a+24|0,e[o2>>2]=0,e[o2+4>>2]=0,e[o2+8>>2]=0,e[o2+12>>2]=0,h2=V1,a2=h2,e[a2>>2]=1,t2=h2+4|0,$2=t2,e[$2>>2]=0,f7(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),r2=A2+24|0,u2=e[r2>>2]|0,e2=u2+-1|0,U2(M1,e2,8),y2=e[r2>>2]|0,v2=(y2|0)>0,v2)for(H2=0;;){if(N2=(A2+1824|0)+(H2<<2)|0,d2=e[N2>>2]|0,V2=Yv(d2,M1)|0,G2=(V2|0)==0,C2=H2+1|0,!G2)break e;if(w2=e[r2>>2]|0,F2=(C2|0)<(w2|0),F2)H2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=A2+16|0,M2=e[q2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[q2>>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,u5=(Z2|0)==0,u5)break e;if(v5=(A2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,QB[Z2&3](P5,M1),l5=I5+1|0,k2=e[q2>>2]|0,r5=(l5|0)<(k2|0),r5)I5=l5;else break}if(R2=A2+20|0,_2=e[R2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[R2>>2]|0,L5=(C5|0)>0,L5)for(A5=0;d5=(A2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,b=e[v>>2]|0,w=(A2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,QB[b&3](y,M1),D=A5+1|0,Q=e[R2>>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,FQ[J&1](p,e0,M1),X=c5+1|0,U=e[L>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=A2+8|0,V=e[Z>>2]|0,a0=V+-1|0,U2(M1,a0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(B5=0;n0=(A2+32|0)+(B5<<2)|0,K=e[n0>>2]|0,o0=e[K>>2]|0,U2(M1,o0,1),c0=e[n0>>2]|0,j=c0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),f0=e[n0>>2]|0,d0=f0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[n0>>2]|0,k0=C0+12|0,u0=e[k0>>2]|0,U2(M1,u0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),K0=Q1+72|0,_0=e[K0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=yt(M1)|0,F0=S9(L0)|0,e[K0>>2]=F0,T0=e[G1>>2]|0,U0=yt(M1)|0,s4(F0|0,T0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=yt(M1)|0,D0=c+4|0,e[D0>>2]=x0,M0=c+8|0,J0=c+24|0,e[M0>>2]=0,e[M0+4>>2]=0,e[M0+8>>2]=0,e[M0+12>>2]=0,Y0=J0,P0=Y0,e[P0>>2]=2,V0=Y0+4|0,N0=V0,e[N0>>2]=0,cB(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[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=x1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),cB(M1),O0=e[I>>2]|0,H0=(O0|0)==0,H0||I2(O0),e1=Q1+68|0,b0=e[e1>>2]|0,i1=(b0|0)==0,i1||I2(b0),c1=Q1+72|0,$1=e[c1>>2]|0,f1=($1|0)==0,f1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=g5,C=W2,f|0}function uS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,c=44;E=c+-1|0,I=A+1|0,L=d[A>>0]|0,J=L<<24>>24,U2(t,J,8),H=(E|0)==0,!H;)A=I,c=E;if(X=r+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(V=r+4|0,a0=0;;){if(m=e[r>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(b=e[V>>2]|0,w=b+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(a0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(F=e[r>>2]|0,M=F+(a0<<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=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function aQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,F=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=C,C=C+((1*f|0)+15&-16)|0,u0=(m|0)==0,u0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(A|0),O0)for(m1=0,L1=U0;;)if(s1=t+(L1<<2)|0,I1=+s[s1>>2],B=I1,v=L1-U0|0,b=t+(v<<2)|0,w=+s[b>>2],y=w,D=y*B,Q=D+m1,_=L1+1|0,S1=(_|0)==(A|0),S1){h1=Q;break}else m1=Q,L1=_;else h1=0;if(L=F+(U0<<3)|0,A1[L>>3]=h1,x=U0+-1|0,M=(U0|0)==0,M)break;U0=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(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=K+(U1<<3)|0,s0=+A1[a0>>3],i0=F1-U1|0,n0=F+(i0<<3)|0,h0=+A1[n0>>3],o0=h0*s0,c0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=c0;break}else U1=j,O1=c0;if(l0=E/E1,f0=K+(F1<<3)|0,A1[f0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=K+(N1<<3)|0,p0=+A1[B0>>3],I0=C0-N1|0,S0=K+(I0<<3)|0,K0=+A1[S0>>3],_0=K0*l0,Q0=_0+p0,A1[B0>>3]=Q0,L0=p0*l0,F0=+A1[S0>>3],T0=F0+L0,A1[S0>>3]=T0,y0=N1+1|0,q0=(y0|0)<(d0|0),q0;)N1=y0;H1=k0?d0:1,P0=l0,Z1=H1}else P0=l0,Z1=0}else Z=U/E1,V=K+(F1<<3)|0,A1[V>>3]=Z,P0=Z,Z1=0;if(x0=F1&1,D0=(x0|0)==0,D0||(M0=K+(Z1<<3)|0,J0=+A1[M0>>3],Y0=J0*P0,V0=Y0+J0,A1[M0>>3]=V0),N0=P0*P0,n1=1-N0,H0=n1*E1,e1=(k1|0)<(a|0),e1)E1=H0,F1=k1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,D1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;b0=K+(D1<<3)|0,i1=+A1[b0>>3],c1=i1*d1,A1[b0>>3]=c1,$1=d1*.99,f1=D1+1|0,x1=(f1|0)==(a|0),!x1;)d1=$1,D1=f1;if(z)K1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;;)if(g1=K+(K1<<3)|0,l1=+A1[g1>>3],a1=l1,r1=r+(K1<<2)|0,s[r1>>2]=a1,o1=K1+1|0,R1=(o1|0)==(a|0),R1){Q1=p1;break}else K1=o1;return z0=Q1,C=Y1,+z0}function $Q(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(V=C,I=c+A|0,m=I<<2,f=m,x=C,C=C+((1*f|0)+15&-16)|0,M=(r|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,r|0,N|0)|0),O=(c|0)>0,!O){C=V;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=c<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=V;return}for(;;){for(X=W,U=A,$0=0;;)if(b=X+1|0,w=x+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],L=_*y,F=$0-L,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,$0=F;if(p=x+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,H=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=H}C=V}function dS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[r>>2]|0,f=(c|0)>1,f?(U2(A,1,1),Q=e[r>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),a0=r+1156|0,f0=e[a0>>2]|0,d0=(f0|0)>0,d0){if(U2(A,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(A,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=r+1160|0,m=t+4|0,p=r+2184|0,u0=0;B=I+(u0<<2)|0,v=e[B>>2]|0,b=e[m>>2]|0,w=b+-1|0,y=Tt(w)|0,U2(A,v,y),D=p+(u0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,F=Tt(x)|0,U2(A,_,F),M=u0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)u0=M}else U2(A,0,1);if(U2(A,0,2),G=e[r>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=r+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(A,Z,4),V=B0+1|0,s0=e[z>>2]|0,i0=(V|0)<(s0|0),i0;)B0=V;a=e[r>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(H=(e0|0)>0,!H)))for(X=r+1028|0,U=r+1092|0,p0=0;U2(A,0,8),n0=X+(p0<<2)|0,K=e[n0>>2]|0,U2(A,K,8),h0=U+(p0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),c0=p0+1|0,j=e[r>>2]|0,l0=(c0|0)<(j|0),l0;)p0=c0}function IS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0;r1=C,c=r4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,Ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=W4(r,1)|0,Y0=(Q0|0)<0,Y0)a1=24;else{if(H0=(Q0|0)==0,H0)e[c>>2]=1;else if(e1=W4(r,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=W4(r,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=W4(r,8)|0,b=v+1|0,w=c+1156|0,e[w>>2]=b,y=(v|0)<0,y)break;for(D=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,b0=0;;){if(M=T+-1|0,N=Tt(M)|0,G=W4(r,N)|0,O=D+(b0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Tt(t0)|0,W=W4(r,J)|0,e0=_+(b0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),V=(W|0)<($0|0),f1=Z&V,x=b0+1|0,!f1))break e;if(L=e[w>>2]|0,F=(x|0)<(L|0),F)T=$0,b0=x;else break}}if(s0=W4(r,2)|0,i0=(s0|0)==0,i0){if(n0=e[c>>2]|0,K=(n0|0)>1,K){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(c0=c+4|0,i1=0;;){if(I0=W4(r,4)|0,S0=c0+(i1<<2)|0,e[S0>>2]=I0,K0=e[c>>2]|0,_0=(I0|0)>=(K0|0),L0=(I0|0)<0,g1=L0|_0,B0=i1+1|0,g1)break e;if(u0=e[Y>>2]|0,p0=(B0|0)<(u0|0),p0)i1=B0;else{j=K0,a1=17;break}}}else j=n0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return A=c,A|0;for(f0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(W4(r,8)|0,y0=W4(r,8)|0,q0=f0+(c1<<2)|0,e[q0>>2]=y0,x0=e[w0>>2]|0,D0=(y0|0)>=(x0|0),M0=(y0|0)<0,l1=M0|D0,l1||(J0=W4(r,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=J0,V0=e[k0>>2]|0,N0=(J0|0)>=(V0|0),O0=(J0|0)<0,s1=O0|N0,T0=c1+1|0,s1))break e;if(F0=e[c>>2]|0,U0=(T0|0)<(F0|0),U0)c1=T0;else{A=c;break}}return A|0}}}while(!1);return(a1|0)==24&&(n1=(c|0)==0,n1)?(A=0,A|0):(I2(c),A=0,A|0)}function ES(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function mS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0,Xs=0,Ur=0,eo=0,Pr=0,to=0,io=0,Or=0,no=0,Zn=0,ro=0,so=0,oo=0,Hr=0,Ao=0,qr=0,Yr=0,ao=0,Wn=0,Jr=0,jn=0,Kr=0,Vr=0,$o=0,lo=0,co=0,Xn=0,zr=0,go=0,mn=0,er=0,ho=0,fo=0,tr=0,li=0,Zr=0,uo=0,Io=0,Wr=0,jr=0,Xr=0,Eo=0,ci=0,ir=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,nr=0,Cn=0,rr=0,bo=0,Wi=0,Do=0,ns=0,sr=0,rs=0,or=0,_o=0,ss=0,os=0,Ro=0,As=0,as=0,xo=0,Bn=0,$s=0,gi=0,Ar=0,pn=0,ji=0,Qn=0,Hi=0,yn=0,ls=0,qi=0,Qi=0,yi=0,j7=0,wi=0,wn=0,Xi=0,en=0,kn=0,hi=0,Lo=0,$7=0,tl=0,ar=0,$r=0;if(ar=C,_=t+64|0,L=e[_>>2]|0,t2=L+4|0,P3=e[t2>>2]|0,_4=P3+28|0,Y4=e[_4>>2]|0,ho=L+104|0,ci=e[ho>>2]|0,ko=t+104|0,sr=e[ko>>2]|0,x=t+36|0,W=e[x>>2]|0,n0=P3+4|0,k0=e[n0>>2]|0,T0=k0<<2,a=T0,N0=C,C=C+((1*a|0)+15&-16)|0,l1=Ht(t,T0)|0,B1=e[n0>>2]|0,U1=B1<<2,W1=Ht(t,U1)|0,$2=e[n0>>2]|0,F2=$2<<2,O2=Ht(t,F2)|0,k2=sr+4|0,_5=+s[k2>>2],g2=e[n0>>2]|0,x2=g2<<2,c=x2,F5=C,C=C+((1*c|0)+15&-16)|0,R3=sr+8|0,M5=e[R3>>2]|0,V5=t+28|0,c6=e[V5>>2]|0,q3=(Y4+544|0)+(c6<<2)|0,r6=e[q3>>2]|0,L6=ci+56|0,f9=e[L6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=f9+(D*52|0)|0,P4=t+40|0,e[P4>>2]=c6,$e=(g2|0)>0,$e)for(l4=+(W|0),Y3=4/l4,gt=(s[p2>>2]=Y3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,b8=gt&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,se=ot+.345,i7=se,n7=ci+4|0,Y7=t+24|0,$i=t+32|0,Pt=i7+-764.6162109375,zn=W+-1|0,ro=(zn|0)>1,Kr=i7+-382.30810546875,yn=_5,qi=0;;){if(fo=e[t>>2]|0,tr=fo+(qi<<2)|0,li=e[tr>>2]|0,Zr=Ht(t,S8)|0,uo=W1+(qi<<2)|0,e[uo>>2]=Zr,Io=Ht(t,S8)|0,Wr=l1+(qi<<2)|0,e[Wr>>2]=Io,jr=e[Y7>>2]|0,Xr=e[V5>>2]|0,Eo=e[$i>>2]|0,XS(li,n7,Y4,jr,Xr,Eo),ir=e[V5>>2]|0,mo=(ci+12|0)+(ir<<2)|0,es=e[mo>>2]|0,Co=e[es>>2]|0,Bo=e[Wr>>2]|0,lQ(Co,li,Bo),po=e[V5>>2]|0,ts=(ci+20|0)+(po*12|0)|0,VS(ts,li),Qo=e[li>>2]|0,yo=Qo&2147483647,wo=+(yo>>>0),is=wo*7177114298428933e-22,vo=Pt+is,So=vo,nr=So+.345,Cn=nr,s[li>>2]=Cn,rr=F5+(qi<<2)|0,s[rr>>2]=Cn,ro)for(O=Cn,wn=1;;)if(bo=li+(wn<<2)|0,Wi=+s[bo>>2],Do=Wi*Wi,ns=wn+1|0,rs=li+(ns<<2)|0,or=+s[rs>>2],_o=or*or,ss=_o+Do,os=(s[p2>>2]=ss,e[p2>>2]|0),Ro=os&2147483647,As=+(Ro>>>0),as=As*35885571492144663e-23,xo=Kr+as,Bn=xo,F=Bn+.345,M=F,T=ns>>1,N=li+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[rr>>2]=M,mn=M):mn=O,z=wn+2|0,Y=(z|0)<(zn|0),Y)O=mn,wn=z;else{J=mn;break}else J=Cn;if(t0=J>0,t0?(s[rr>>2]=0,H=0):H=J,e0=H>yn,ls=e0?H:yn,X=qi+1|0,U=e[n0>>2]|0,$0=(X|0)<(U|0),$0)yn=ls,qi=X;else{p=S8,v=k8,Hi=ls;break}}else b=(W|0)/2&-1,w=b<<2,p=w,v=b,Hi=_5;Z=Ht(t,p)|0,V=Ht(t,p)|0,a0=e[n0>>2]|0,s0=(a0|0)>0;e:do if(s0){if(i0=(W|0)>1,K=ci+48|0,i0)yi=0;else{for(Qi=0;;){e6=(r6+4|0)+(Qi<<2)|0,u6=e[e6>>2]|0,H3=l1+(Qi<<2)|0,b3=e[H3>>2]|0,z3=e[t>>2]|0,b6=z3+(Qi<<2)|0,A6=e[b6>>2]|0,t3=A6+(v<<2)|0,e[P4>>2]=c6,O6=Ht(t,60)|0,s3=O2+(Qi<<2)|0,e[s3>>2]=O6,$7=O6,$r=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<($r|0));if(fQ(a4,t3,Z),a6=F5+(Qi<<2)|0,d6=+s[a6>>2],uQ(a4,A6,V,Hi,d6),j$(a4,Z,V,1,A6,b3,t3),D3=(r6+1028|0)+(u6<<2)|0,N6=e[D3>>2]|0,Q6=(Y4+800|0)+(N6<<2)|0,x6=e[Q6>>2]|0,V6=(x6|0)==1,!V6){A=-1;break}if(I6=e[K>>2]|0,J6=I6+(N6<<2)|0,L3=e[J6>>2]|0,W6=W$(t,L3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=W6,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||(j$(a4,Z,V,2,A6,b3,t3),F3=e[D3>>2]|0,M6=e[K>>2]|0,t9=M6+(F3<<2)|0,A9=e[t9>>2]|0,j6=W$(t,A9,t3,A6)|0,u9=e[s3>>2]|0,d9=u9+56|0,e[d9>>2]=j6,j$(a4,Z,V,0,A6,b3,t3),a9=e[D3>>2]|0,$9=e[K>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=W$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[D3>>2]|0,I9=e[K>>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,H6=L8(t,h4,z9,E9,9362)|0,n9=e[s3>>2]|0,m4=n9+4|0,e[m4>>2]=H6,S4=e[D3>>2]|0,y9=e[K>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,T4=e[x4>>2]|0,j4=x4+28|0,C4=e[j4>>2]|0,N4=L8(t,D4,T4,C4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,L4=e[D3>>2]|0,f4=e[K>>2]|0,Ce=f4+(L4<<2)|0,H9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,U4=L8(t,H9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,X4=Ge+12|0,e[X4>>2]=U4,be=e[D3>>2]|0,e8=e[K>>2]|0,Z9=e8+(be<<2)|0,ae=e[Z9>>2]|0,u4=e[s3>>2]|0,_6=e[u4>>2]|0,O4=u4+28|0,L9=e[O4>>2]|0,$4=L8(t,ae,_6,L9,37449)|0,W9=e[s3>>2]|0,le=W9+16|0,e[le>>2]=$4,ce=e[D3>>2]|0,B4=e[K>>2]|0,ee=B4+(ce<<2)|0,F4=e[ee>>2]|0,ge=e[s3>>2]|0,C9=e[ge>>2]|0,g6=ge+28|0,Ue=e[g6>>2]|0,pe=L8(t,F4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[D3>>2]|0,De=e[K>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,f8=g4+28|0,w9=e[f8>>2]|0,B9=L8(t,t8,k4,w9,56173)|0,M4=e[s3>>2]|0,te=M4+24|0,e[te>>2]=B9,$t=e[D3>>2]|0,Re=e[K>>2]|0,lt=Re+($t<<2)|0,wt=e[lt>>2]|0,z8=e[s3>>2]|0,ct=z8+28|0,F8=e[ct>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=L8(t,wt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,kt=e[D3>>2]|0,G8=e[K>>2]|0,U8=G8+(kt<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,u8=v8+28|0,O8=e[u8>>2]|0,H8=v8+56|0,j8=e[H8>>2]|0,X8=L8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,xe=e[D3>>2]|0,i8=e[K>>2]|0,k9=i8+(xe<<2)|0,ht=e[k9>>2]|0,Qe=e[s3>>2]|0,ft=Qe+28|0,vt=e[ft>>2]|0,et=Qe+56|0,St=e[et>>2]|0,ie=L8(t,ht,vt,St,28086)|0,tt=e[s3>>2]|0,q8=tt+40|0,e[q8>>2]=ie,n8=e[D3>>2]|0,H4=e[K>>2]|0,Le=H4+(n8<<2)|0,r8=e[Le>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,he=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=L8(t,r8,he,s8,37449)|0,m8=e[s3>>2]|0,fe=m8+44|0,e[fe>>2]=E8,ye=e[D3>>2]|0,Oe=e[K>>2]|0,He=Oe+(ye<<2)|0,X9=e[He>>2]|0,Fe=e[s3>>2]|0,ue=Fe+28|0,A8=e[ue>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=L8(t,X9,A8,C8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=it,qe=e[D3>>2]|0,B8=e[K>>2]|0,ne=B8+(qe<<2)|0,q9=e[ne>>2]|0,re=e[s3>>2]|0,D9=re+28|0,Y8=e[D9>>2]|0,ut=re+56|0,nt=e[ut>>2]|0,rt=L8(t,q9,Y8,nt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=rt)),K8=Qi+1|0,a8=e[n0>>2]|0,$8=(K8|0)<(a8|0),$8)Qi=K8;else{B=K,R8=a8;break e}}return C=ar,A|0}for(;;){R6=(r6+4|0)+(yi<<2)|0,d0=e[R6>>2]|0,Y6=l1+(yi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,S3=C6+(yi<<2)|0,j=e[S3>>2]|0,h0=j+(v<<2)|0,e[P4>>2]=c6,X3=Ht(t,60)|0,Q0=O2+(yi<<2)|0,e[Q0>>2]=X3,$7=X3,$r=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<($r|0));for(Xi=0;W3=l0+(Xi<<2)|0,v3=e[W3>>2]|0,g3=v3&2147483647,O3=+(g3>>>0),l6=O3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=Xi+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,j3=Xi+1|0,p6=(j3|0)<(v|0),p6;)Xi=j3;if(fQ(a4,h0,Z),o0=F5+(yi<<2)|0,c0=+s[o0>>2],uQ(a4,j,V,Hi,c0),j$(a4,Z,V,1,j,l0,h0),f0=(r6+1028|0)+(d0<<2)|0,w0=e[f0>>2]|0,C0=(Y4+800|0)+(w0<<2)|0,u0=e[C0>>2]|0,B0=(u0|0)==1,!B0){A=-1;break}if(p0=e[K>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,K0=W$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,L0=_0+28|0,e[L0>>2]=K0,F0=Lh(t)|0,U0=(F0|0)==0,U0||(y0=e[Q0>>2]|0,q0=y0+28|0,x0=e[q0>>2]|0,D0=(x0|0)==0,D0||(j$(a4,Z,V,2,j,l0,h0),M0=e[f0>>2]|0,J0=e[K>>2]|0,Y0=J0+(M0<<2)|0,P0=e[Y0>>2]|0,V0=W$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,n1=O0+56|0,e[n1>>2]=V0,j$(a4,Z,V,0,j,l0,h0),H0=e[f0>>2]|0,e1=e[K>>2]|0,b0=e1+(H0<<2)|0,i1=e[b0>>2]|0,c1=W$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,f1=e[f0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,r1=e[Q0>>2]|0,o1=e[r1>>2]|0,z0=r1+28|0,I1=e[z0>>2]|0,h1=L8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[f0>>2]|0,p1=e[K>>2]|0,Q1=p1+(E1<<2)|0,R1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=L8(t,R1,w1,L1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[f0>>2]|0,N1=e[K>>2]|0,D1=N1+(Z1<<2)|0,K1=e[D1>>2]|0,O1=e[Q0>>2]|0,H1=e[O1>>2]|0,q1=O1+28|0,Y1=e[q1>>2]|0,j1=L8(t,K1,H1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[f0>>2]|0,z1=e[K>>2]|0,f2=z1+(c2<<2)|0,s2=e[f2>>2]|0,E2=e[Q0>>2]|0,o2=e[E2>>2]|0,V1=E2+28|0,h2=e[V1>>2]|0,a2=L8(t,s2,o2,h2,37449)|0,i2=e[Q0>>2]|0,A2=i2+16|0,e[A2>>2]=a2,X1=e[f0>>2]|0,r2=e[K>>2]|0,u2=r2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=L8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,V2=e[f0>>2]|0,G2=e[K>>2]|0,q2=G2+(V2<<2)|0,M2=e[q2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=L8(t,M2,z2,T1,56173)|0,x5=e[Q0>>2]|0,e5=x5+24|0,e[e5>>2]=X2,b5=e[f0>>2]|0,Z2=e[K>>2]|0,u5=Z2+(b5<<2)|0,v5=e[u5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,r5=P5+56|0,R2=e[r5>>2]|0,_2=L8(t,v5,m5,R2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,L5=e[f0>>2]|0,d5=e[K>>2]|0,D5=d5+(L5<<2)|0,G5=e[D5>>2]|0,H2=e[Q0>>2]|0,I5=H2+28|0,A5=e[I5>>2]|0,c5=H2+56|0,B5=e[c5>>2]|0,M1=L8(t,G5,A5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[f0>>2]|0,W2=e[K>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,f5=s5+56|0,i5=e[f5>>2]|0,R5=L8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=R5,Q5=e[f0>>2]|0,H5=e[K>>2]|0,j5=H5+(Q5<<2)|0,E5=e[j5>>2]|0,u3=e[Q0>>2]|0,h3=u3+28|0,J5=e[h3>>2]|0,X5=u3+56|0,r3=e[X5>>2]|0,m3=L8(t,E5,J5,r3,37449)|0,K5=e[Q0>>2]|0,w3=K5+44|0,e[w3>>2]=m3,f3=e[f0>>2]|0,B3=e[K>>2]|0,V3=B3+(f3<<2)|0,N3=e[V3>>2]|0,z5=e[Q0>>2]|0,y3=z5+28|0,W5=e[y3>>2]|0,i6=z5+56|0,G3=e[i6>>2]|0,a3=L8(t,N3,W5,G3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[f0>>2]|0,q5=e[K>>2]|0,U5=q5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,U3=k5+28|0,o6=e[U3>>2]|0,e3=k5+56|0,A3=e[e3>>2]|0,x3=L8(t,O5,o6,A3,56173)|0,f6=e[Q0>>2]|0,p3=f6+52|0,e[p3>>2]=x3)),k3=yi+1|0,Q3=e[n0>>2]|0,n6=(k3|0)<(Q3|0),n6)yi=k3;else{B=K,R8=Q3;break e}}return C=ar,A|0}else y=ci+48|0,B=y,R8=a0;while(!1);for(s[k2>>2]=Hi,_8=R8<<2,f=_8,Je=C,C=C+((1*f|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,At=Lh(t)|0,Ke=(At|0)!=0,Nt=Ke?0:7,qt=ci+44|0,bt=t+24|0,at=t+32|0,Dt=Y4+2868|0,Gt=ci+52|0,hi=Nt;;){if(Yt=(sr+12|0)+(hi<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),x8=e[qt>>2]|0,U2(l8,c6,x8),_t=e[V5>>2]|0,V8=(_t|0)==0,V8||(Me=e[bt>>2]|0,U2(l8,Me,1),de=e[at>>2]|0,U2(l8,de,1)),e4=e[n0>>2]|0,Rt=(e4|0)>0,Rt)for(j7=0;;)if(G7=(r6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(r6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Kt=e[B>>2]|0,E7=Kt+(I7<<2)|0,Vt=e[E7>>2]|0,m7=O2+(j7<<2)|0,si=e[m7>>2]|0,O7=si+(hi<<2)|0,C7=e[O7>>2]|0,B7=tS(l8,t,Vt,C7,d7)|0,oi=N0+(j7<<2)|0,e[oi>>2]=B7,p7=j7+1|0,r7=e[n0>>2]|0,Ai=(p7|0)<(r7|0),Ai)j7=p7;else{I=r7;break}else I=e4;if(H7=e[V5>>2]|0,q7=((Y4+3240|0)+(H7*60|0)|0)+(hi<<2)|0,J7=e[q7>>2]|0,vS(hi,Dt,a4,r6,l1,W1,N0,J7,I),s7=e[r6>>2]|0,Q7=(s7|0)>0,Q7)for(wi=0;;){if(K7=(r6+1092|0)+(wi<<2)|0,zt=e[K7>>2]|0,o7=e[n0>>2]|0,Ut=(o7|0)>0,Ut)for(er=o7,gi=0,en=0;;)if(Zt=(r6+4|0)+(en<<2)|0,ai=e[Zt>>2]|0,V7=(ai|0)==(wi|0),V7?(y7=p9+(gi<<2)|0,z7=N0+(en<<2)|0,w7=e[z7>>2]|0,Lo=(w7|0)!=0,r=Lo&1,e[y7>>2]=r,k7=W1+(en<<2)|0,Z7=e[k7>>2]|0,v7=gi+1|0,Wt=Je+(gi<<2)|0,e[Wt>>2]=Z7,m=e[n0>>2]|0,A7=m,Ar=v7):(A7=er,Ar=gi),S7=en+1|0,W7=(S7|0)<(A7|0),W7)er=A7,gi=Ar,en=S7;else{$s=Ar;break}else $s=0;if(b7=(Y4+1312|0)+(zt<<2)|0,ke=e[b7>>2]|0,D7=25648+(ke<<2)|0,xt=e[D7>>2]|0,a7=xt+20|0,r9=e[a7>>2]|0,dt=e[Gt>>2]|0,p8=dt+(zt<<2)|0,It=e[p8>>2]|0,Lt=yB[r9&7](t,It,Je,p9,$s)|0,En=e[n0>>2]|0,Xs=(En|0)>0,Xs)for(ji=0,kn=0;;)if(Ur=(r6+4|0)+(kn<<2)|0,eo=e[Ur>>2]|0,Pr=(eo|0)==(wi|0),Pr?(to=W1+(kn<<2)|0,io=e[to>>2]|0,Or=ji+1|0,no=Je+(ji<<2)|0,e[no>>2]=io,Qn=Or):Qn=ji,Zn=kn+1|0,so=(Zn|0)<(En|0),so)ji=Qn,kn=Zn;else{pn=Qn;break}else pn=0;if(oo=e[b7>>2]|0,Hr=25648+(oo<<2)|0,Ao=e[Hr>>2]|0,qr=Ao+24|0,Yr=e[qr>>2]|0,ao=e[Gt>>2]|0,Wn=ao+(zt<<2)|0,Jr=e[Wn>>2]|0,MQ[Yr&3](l8,t,Jr,Je,p9,pn,Lt,wi)|0,jn=wi+1|0,Vr=e[r6>>2]|0,$o=(jn|0)<(Vr|0),$o)wi=jn;else break}if(lo=hi+1|0,co=Lh(t)|0,Xn=(co|0)!=0,zr=Xn?14:7,go=(hi|0)<(zr|0),go)hi=lo;else{A=0;break}}return C=ar,A|0}function CS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0;if(x2=C,b=t+64|0,w=e[b>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,u5=t+28|0,L5=e[u5>>2]|0,y=V1+(L5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,K0=e[l0>>2]|0,M0=K0<<2,c=M0,i1=C,C=C+((1*c|0)+15&-16)|0,f=M0,z0=C,C=C+((1*f|0)+15&-16)|0,E=M0,I1=C,C=C+((1*E|0)+15&-16)|0,I=M0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=r+4|0,p1=r+1028|0,Q1=M2+48|0,R1=O<<1,x1=R1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,K1=(V1+800|0)+(D1<<2)|0,O1=e[K1>>2]|0,H1=25640+(O1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(D1<<2)|0,c2=e[P1>>2]|0,z1=u7[n2&15](t,c2)|0,f2=h1+(W2<<2)|0,e[f2>>2]=z1,s2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[s2>>2]=A,E2=e[t>>2]|0,o2=E2+(W2<<2)|0,h2=e[o2>>2]|0,Ae(h2|0,0,x1|0)|0,a2=W2+1|0,t2=e[l0>>2]|0,$2=(a2|0)<(t2|0),$2)W2=a2;else{r1=t2;break}else r1=d1;if(w1=r+1156|0,S1=e[w1>>2]|0,L1=(S1|0)>0,L1)for(G1=r+1160|0,k1=r+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=k1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,V2=e[d2>>2]|0,G2=(V2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,q2=I1+(N2<<2)|0,e[q2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(i2=e[r>>2]|0,A2=(i2|0)>0,A2){for(X1=r+1092|0,r2=M2+52|0,u2=r+4|0,o5=r1,p5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,f5=0;;)if(T1=u2+(f5<<2)|0,X2=e[T1>>2]|0,x5=(X2|0)==(p5|0),x5?(e5=I1+(f5<<2)|0,b5=e[e5>>2]|0,Z2=z0+(g5<<2)|0,R5=(b5|0)!=0,a=R5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(f5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=o1,a5=g5),r5=f5+1|0,R2=(r5|0)<(_2|0),R2)o1=_2,g5=a5,f5=r5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(V1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,I5=e[H2>>2]|0,A5=e[r2>>2]|0,c5=A5+(C5<<2)|0,B5=e[c5>>2]|0,yB[I5&7](t,B5,i1,z0,S5)|0,M1=p5+1|0,D=e[r>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[l0>>2]|0,o5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;if(L=(_|0)>0,L)for(x=r+1160|0,F=e[t>>2]|0,M=r+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=x+(t5<<2)|0,H=e[e0>>2]|0,X=F+(H<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,V=e[$0>>2]|0,a0=F+(V<<2)|0,s0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,n0=+s[i0>>2],K=s0+(i5<<2)|0,h0=+s[K>>2],o0=n0>0,c0=h0>0;do if(o0)if(c0){s[i0>>2]=n0,j=n0-h0,s[K>>2]=j;break}else{s[K>>2]=n0,f0=h0+n0,s[i0>>2]=f0;break}else if(c0){s[i0>>2]=n0,d0=h0+n0,s[K>>2]=d0;break}else{s[K>>2]=n0,w0=n0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=x2,0;for(t0=r+4|0,J=r+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,L0=e[Q0>>2]|0,F0=(V1+800|0)+(L0<<2)|0,T0=e[F0>>2]|0,U0=25640+(T0<<2)|0,y0=e[U0>>2]|0,q0=y0+24|0,x0=e[q0>>2]|0,D0=e[W>>2]|0,J0=D0+(L0<<2)|0,Y0=e[J0>>2]|0,P0=h1+(h5<<2)|0,V0=e[P0>>2]|0,pB[x0&3](t,Y0,V0,I0)|0,N0=h5+1|0,O0=e[l0>>2]|0,n1=(N0|0)<(O0|0),n1)h5=N0;else{m=O0;break}if(u0=(m|0)>0,!u0)return C=x2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,b0=e[e1>>2]|0,c1=e[u5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,BS(g1,b0,b0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=x2,0}function dB(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0;if(w1=C,A=(r|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+r|0,Z=O<<2,l0=S9(Z)|0,K0=r>>1,M0=+(r|0),i1=M0,I1=+Kn(+i1),c=I1*1.4426950408889634,f=+Pi(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=r,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(r|0)>3,!B){z0=4/M0,h1=t+16|0,s[h1>>2]=z0;return}for(v=+(r|0),b=3.141592653589793/v,w=r<<1,D=+(w|0),Q=3.141592653589793/D,B1=0;M=B1<<2,T=+(M|0),N=b*T,G=+ZA(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Nr(+N),W=J,e0=-W,H=Y|1,X=l0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),$0=Q*U,V=+ZA(+$0),a0=V,s0=Y+K0|0,i0=l0+(s0<<2)|0,s[i0>>2]=a0,n0=+Nr(+$0),K=n0,h0=s0+1|0,o0=l0+(h0<<2)|0,s[o0>>2]=K,c0=B1+1|0,j=(c0|0)<(A|0),j;)B1=c0;if(_=(r|0)/8&-1,L=(r|0)>7,!L){z0=4/M0,h1=t+16|0,s[h1>>2]=z0;return}for(x=+(r|0),F=3.141592653589793/x,p1=0;f0=p1<<2,d0=f0|2,w0=+(d0|0),C0=F*w0,k0=+ZA(+C0),u0=k0*.5,B0=u0,p0=p1<<1,I0=p0+r|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Nr(+C0),Q0=_0*-.5,L0=Q0,F0=I0+1|0,T0=l0+(F0<<2)|0,s[T0>>2]=L0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=z0;return}for(;;){for(V0=Y0,m1=0,R1=0;;)if(P0=V0&Q1,N0=(P0|0)==0,O0=1<>H0,b0=(e1|0)==0,b0){E1=d1;break}else V0=e1,m1=d1,R1=H0;if(c1=E1^-1,$1=D0&c1,f1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=f1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,r1=Q1+1|0,o1=(r1|0)<(_|0),o1)Q1=r1;else break}z0=4/M0,h1=t+16|0,s[h1>>2]=z0}function IB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,r=(t|0)==0,!r&&(A=t+8|0,a=e[A>>2]|0,c=(a|0)==0,c||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 BS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0;for(O3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,V2=r+(a<<2)|0,c=I+W1|0,e5=A+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=V2,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,k0=-n0,T0=+s[U5>>2],N0=c3+8|0,l1=+s[N0>>2],B1=l1*T0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],$2=+s[x>>2],y2=$2*P1,v2=+s[B3>>2],w2=+s[N0>>2],C2=w2*v2,F2=y2-C2,D2=k3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,q2=+s[G2>>2],M2=d2*q2,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],u5=Z2*b5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=u5-l5,m5=k3+-4|0,s[m5>>2]=k2,r5=U5+-32|0,R2=c3+16|0,B2=r5>>>0>>0,!B2;)c3=R2,U5=r5,k3=E5;for(C5=A+(I<<2)|0,f=I+-8|0,L5=r+(f<<2)|0,C3=h5,O5=L5,Q3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,H2=+s[_5>>2],I5=H2*G5,A5=O5+24|0,B5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[Q3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,f5=p5-J2,i5=Q3+4|0,s[i5>>2]=f5,R5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],x2=$5*R5,Q5=O5+8|0,H5=+s[Q5>>2],j5=+s[d5>>2],u3=j5*H5,h3=u3+x2,J5=Q3+8|0,s[J5>>2]=h3,X5=+s[O5>>2],r3=+s[d5>>2],m3=r3*X5,F5=+s[Q5>>2],K5=+s[j2>>2],w3=K5*F5,f3=m3-w3,V3=Q3+12|0,s[V3>>2]=f3,N3=O5+-32|0,z5=Q3+16|0,y3=N3>>>0>>0,!y3;)C3=d5,O5=N3,Q3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,cQ(e3,c5,C5,I),A3=e[t>>2]|0,x3=e[_2>>2]|0,f6=t+12|0,p3=e[f6>>2]|0,gQ(A3,x3,p3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,q5=i6,k5=A,n6=e5,V5=e5;R3=n6+-16|0,G3=+s[k5>>2],a3=q5+4|0,l3=+s[a3>>2],p=l3*G3,B=k5+4|0,v=+s[B>>2],b=+s[q5>>2],w=b*v,y=p-w,D=n6+-4|0,s[D>>2]=y,Q=+s[k5>>2],_=+s[q5>>2],L=_*Q,F=+s[B>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[V5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],$0=U*H,Z=J-$0,V=n6+-8|0,s[V>>2]=Z,a0=+s[O>>2],s0=+s[X>>2],i0=s0*a0,K=+s[e0>>2],h0=+s[Y>>2],o0=h0*K,c0=i0+o0,j=-c0,l0=V5+4|0,s[l0>>2]=j,f0=k5+16|0,d0=+s[f0>>2],w0=q5+20|0,C0=+s[w0>>2],u0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=q5+16|0,S0=+s[I0>>2],K0=S0*p0,_0=u0-K0,Q0=n6+-12|0,s[Q0>>2]=_0,L0=+s[f0>>2],F0=+s[I0>>2],U0=F0*L0,y0=+s[B0>>2],q0=+s[w0>>2],x0=q0*y0,D0=U0+x0,M0=-D0,J0=V5+8|0,s[J0>>2]=M0,Y0=k5+24|0,P0=+s[Y0>>2],V0=q5+28|0,O0=+s[V0>>2],n1=O0*P0,H0=k5+28|0,e1=+s[H0>>2],b0=q5+24|0,i1=+s[b0>>2],c1=i1*e1,$1=n1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[b0>>2],s1=g1*f1,a1=+s[H0>>2],r1=+s[V0>>2],o1=r1*a1,z0=s1+o1,I1=-z0,h1=V5+12|0,s[h1>>2]=I1,m1=V5+16|0,d1=k5+32|0,E1=q5+32|0,p1=d1>>>0>>0,p1;)q5=E1,k5=d1,n6=R3,V5=m1;for(Q1=A+(W1<<2)|0,U3=e5,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=U3+-16|0,w1=U3+-4|0,S1=+s[w1>>2],L1=W3+-4|0,s[L1>>2]=S1,F1=-S1,s[v3>>2]=F1,G1=U3+-8|0,k1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=k1,N1=-k1,D1=v3+4|0,s[D1>>2]=N1,K1=U3+-12|0,O1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=O1,q1=-O1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,n2=-j1,c2=v3+12|0,s[c2>>2]=n2,z1=v3+16|0,f2=z1>>>0>>0,f2)U3=x1,W3=R1,v3=z1;else{M5=e5,P3=e5;break}for(;s2=P3+-16|0,E2=M5+12|0,o2=e[E2>>2]|0,e[s2>>2]=o2,V1=M5+8|0,h2=e[V1>>2]|0,a2=P3+-12|0,e[a2>>2]=h2,t2=M5+4|0,i2=e[t2>>2]|0,A2=P3+-8|0,e[A2>>2]=i2,X1=e[M5>>2]|0,r2=P3+-4|0,e[r2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,P3=s2}function lQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,w=e[t>>2]|0,y=w>>1,n1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+n1|0,i2=r+(c<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=r+(f<<2)|0,f0=a1+-1|0,_0=f0>>>1,J0=_0<<1,P0=y+-2|0,V0=P0-J0|0,N0=c+-4|0,O0=_0<<2,H0=N0-O0|0,r5=D,D5=0,h5=i2,R5=V;e1=h5+-16|0,b0=r5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[R5>>2],f1=$1+c1,g1=+s[e1>>2],l1=R5+8|0,s1=+s[l1>>2],r1=s1+g1,o1=r5+-4|0,z0=+s[o1>>2],I1=r1*z0,h1=+s[b0>>2],m1=h1*f1,d1=m1+I1,v=D5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[b0>>2],p1=B1*r1,R1=+s[o1>>2],x1=R1*f1,w1=p1-x1,S1=D5|1,b=S1+y|0,L1=N1+(b<<2)|0,s[L1>>2]=w1,F1=R5+16|0,G1=D5+2|0,k1=(G1|0)<(a1|0),k1;)r5=b0,D5=G1,h5=e1,R5=F1;U1=J0+2|0,g2=T1+(V0<<2)|0,p5=r+(H0<<2)|0,O2=V0,m5=g2,d5=U1,s5=p5}else O2=y,m5=D,d5=0,s5=i2;if(Z1=r+4|0,D1=y-a1|0,K1=(d5|0)<(D1|0),K1){for(O1=y+-1|0,H1=O1-d5|0,q1=H1-a1|0,Y1=q1>>>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;f2=_2+-8|0,s2=J2+-16|0,E2=J2+-8|0,o2=+s[E2>>2],V1=+s[$5>>2],h2=o2-V1,a2=+s[s2>>2],t2=$5+8|0,$2=+s[t2>>2],A2=a2-$2,X1=_2+-4|0,r2=+s[X1>>2],u2=A2*r2,e2=+s[f2>>2],y2=e2*h2,v2=y2+u2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[f2>>2],F2=C2*A2,N2=+s[X1>>2],d2=N2*h2,V2=F2-d2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=V2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(D1|0),z2;)_2=f2,_5=P2,J2=s2,$5=M2;o5=n2+2|0,a5=r+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,R2=W2,G5=o5,j2=a5}else R2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(x5=r+(w<<2)|0,B2=R2,H2=G5,f5=x5,x2=j2;e5=B2+-8|0,b5=f5+-16|0,Z2=f5+-8|0,u5=+s[Z2>>2],v5=-u5,P5=+s[x2>>2],l5=v5-P5,k2=+s[b5>>2],Q=-k2,_=x2+8|0,L=+s[_>>2],x=Q-L,F=B2+-4|0,M=+s[F>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=H2+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,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,$0=x2+16|0,Z=H2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,H2=Z,f5=b5,x2=$0;if(A5=t+4|0,c5=e[A5>>2]|0,cQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,gQ(g5,B5,S5,N1),s0=(n1|0)>0,!s0){C=H5;return}for(i0=A+(y<<2)|0,n0=e[D2>>2]|0,K=n0+(y<<2)|0,h0=t+16|0,C5=K,I5=0,t5=N1,i5=i0;o0=i5+-4|0,c0=+s[t5>>2],j=+s[C5>>2],l0=j*c0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],u0=k0*w0,B0=u0+l0,p0=+s[h0>>2],I0=B0*p0,S0=A+(I5<<2)|0,s[S0>>2]=I0,K0=+s[t5>>2],Q0=+s[C0>>2],L0=Q0*K0,F0=+s[d0>>2],T0=+s[C5>>2],U0=T0*F0,y0=L0-U0,q0=+s[h0>>2],x0=y0*q0,s[o0>>2]=x0,D0=t5+8|0,M0=C5+8|0,Y0=I5+1|0,L5=(Y0|0)==(n1|0),!L5;)C5=M0,I5=Y0,t5=D0,i5=o0;C=H5}function cQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0;if(En=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,D3=a>>1,B=D3+-8|0,z8=A+(B<<2)|0,c=r,dt=P5,It=z8;l8=dt+24|0,P7=+s[l8>>2],C7=It+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=dt+28|0,F0=+s[C0>>2],V0=It+28|0,g1=+s[V0>>2],E1=F0-g1,k1=Q7+P7,s[l8>>2]=k1,n2=+s[V0>>2],a2=n2+F0,s[C0>>2]=a2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[c>>2],i6=m3*E1,U3=+s[w2>>2],W3=U3*w7,B6=i6-W3,s[V0>>2]=B6,H3=dt+16|0,N6=+s[H3>>2],s9=It+16|0,j6=+s[s9>>2],I9=N6-j6,S4=dt+20|0,G4=+s[S4>>2],Ge=It+20|0,$4=+s[Ge>>2],g6=G4-$4,k4=j6+N6,s[H3>>2]=k4,ct=+s[Ge>>2],P8=ct+G4,s[S4>>2]=P8,i8=c+20|0,q8=+s[i8>>2],E8=q8*g6,we=c+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Yt=+s[we>>2],x8=Yt*g6,_t=+s[i8>>2],V8=_t*I9,Me=x8-V8,s[Ge>>2]=Me,de=dt+8|0,e4=+s[de>>2],Rt=It+8|0,i7=+s[Rt>>2],G7=e4-i7,U7=dt+12|0,d7=+s[U7>>2],Jt=It+12|0,I7=+s[Jt>>2],Kt=d7-I7,E7=i7+e4,s[de>>2]=E7,Vt=+s[Jt>>2],m7=Vt+d7,s[U7>>2]=m7,n7=c+36|0,si=+s[n7>>2],O7=si*Kt,B7=c+32|0,oi=+s[B7>>2],p7=oi*G7,r7=p7+O7,s[Rt>>2]=r7,Ai=+s[B7>>2],H7=Ai*Kt,q7=+s[n7>>2],Y7=q7*G7,J7=H7-Y7,s[Jt>>2]=J7,s7=+s[dt>>2],K7=+s[It>>2],zt=s7-K7,o7=dt+4|0,Ut=+s[o7>>2],Zt=It+4|0,ai=+s[Zt>>2],V7=Ut-ai,$i=K7+s7,s[dt>>2]=$i,y7=+s[Zt>>2],z7=y7+Ut,s[o7>>2]=z7,k7=c+52|0,Z7=+s[k7>>2],v7=Z7*V7,Wt=c+48|0,S7=+s[Wt>>2],W7=S7*zt,A7=W7+v7,s[It>>2]=A7,Pt=+s[Wt>>2],b7=Pt*V7,ke=+s[k7>>2],k0=ke*zt,u0=b7-k0,s[Zt>>2]=u0,B0=dt+-32|0,p0=It+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,dt=B0,It=p0;if(K0=(d0|0)>1,K0)for(xt=1;;){if(_0=1<>xt,T0=4<>1,v=U0+-8|0,N=T0+1|0,$0=T0<<1,i0=$0|1,h0=T0*3|0,c0=h0+1|0,l0=T0<<2,a7=0;;){for(q0=n5(a7,L0)|0,x0=A+(q0<<2)|0,E=m+q0|0,D0=A+(E<<2)|0,a0=v+q0|0,M0=A+(a0<<2)|0,f=r,p8=D0,Lt=M0;J0=p8+24|0,Y0=+s[J0>>2],P0=Lt+24|0,N0=+s[P0>>2],O0=Y0-N0,n1=p8+28|0,H0=+s[n1>>2],e1=Lt+28|0,b0=+s[e1>>2],i1=H0-b0,c1=N0+Y0,s[J0>>2]=c1,$1=+s[e1>>2],f1=$1+H0,s[n1>>2]=f1,l1=f+4|0,s1=+s[l1>>2],a1=s1*i1,r1=+s[f>>2],o1=r1*O0,z0=o1+a1,s[P0>>2]=z0,I1=+s[f>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=f+(T0<<2)|0,Q1=p8+16|0,R1=+s[Q1>>2],x1=Lt+16|0,w1=+s[x1>>2],S1=R1-w1,L1=p8+20|0,F1=+s[L1>>2],G1=Lt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+R1,s[Q1>>2]=N1,D1=+s[G1>>2],K1=D1+F1,s[L1>>2]=K1,O1=f+(N<<2)|0,H1=+s[O1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],f2=z1*S1,s2=c2-f2,s[G1>>2]=s2,E2=f+($0<<2)|0,o2=p8+8|0,V1=+s[o2>>2],h2=Lt+8|0,t2=+s[h2>>2],$2=V1-t2,i2=p8+12|0,A2=+s[i2>>2],X1=Lt+12|0,r2=+s[X1>>2],u2=A2-r2,e2=t2+V1,s[o2>>2]=e2,y2=+s[X1>>2],v2=y2+A2,s[i2>>2]=v2,C2=f+(i0<<2)|0,F2=+s[C2>>2],D2=F2*u2,N2=+s[E2>>2],d2=N2*$2,V2=d2+D2,s[h2>>2]=V2,G2=+s[E2>>2],q2=G2*u2,M2=+s[C2>>2],P2=M2*$2,o5=q2-P2,s[X1>>2]=o5,O2=f+(h0<<2)|0,T1=+s[p8>>2],X2=+s[Lt>>2],x5=T1-X2,e5=p8+4|0,b5=+s[e5>>2],Z2=Lt+4|0,u5=+s[Z2>>2],v5=b5-u5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],r5=m5+b5,s[e5>>2]=r5,R2=f+(c0<<2)|0,_2=+s[R2>>2],B2=_2*v5,C5=+s[O2>>2],L5=C5*x5,d5=L5+B2,s[Lt>>2]=d5,D5=+s[O2>>2],_5=D5*v5,H2=+s[R2>>2],I5=H2*x5,A5=_5-I5,s[Z2>>2]=A5,c5=f+(l0<<2)|0,B5=p8+-32|0,M1=Lt+-32|0,S5=M1>>>0>>0,!S5;)f=c5,p8=B5,Lt=M1;if(g5=a7+1|0,a5=(g5|0)<(_0|0),a5)a7=g5;else break}if(g2=xt+1|0,D7=(g2|0)==(d0|0),D7)break;xt=g2}if(y0=(a|0)>0,y0)r9=0;else return;for(;p5=A+(r9<<2)|0,p=r9|30,t5=A+(p<<2)|0,s5=+s[t5>>2],T=r9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],f5=s5-J2,U=r9|31,i5=A+(U<<2)|0,R5=+s[i5>>2],s0=r9|15,j2=A+(s0<<2)|0,x2=+s[j2>>2],Q5=R5-x2,H5=J2+s5,s[t5>>2]=H5,j5=x2+R5,s[i5>>2]=j5,s[h5>>2]=f5,s[j2>>2]=Q5,n0=r9|28,E5=A+(n0<<2)|0,u3=+s[E5>>2],K=r9|12,h3=A+(K<<2)|0,J5=+s[h3>>2],X5=u3-J5,o0=r9|29,r3=A+(o0<<2)|0,F5=+s[r3>>2],j=r9|13,K5=A+(j<<2)|0,w3=+s[K5>>2],f3=F5-w3,B3=J5+u3,s[E5>>2]=B3,V3=w3+F5,s[r3>>2]=V3,N3=X5*.9238795042037964,z5=f3*.3826834261417389,y3=N3-z5,s[h3>>2]=y3,W5=X5*.3826834261417389,R3=f3*.9238795042037964,G3=R3+W5,s[K5>>2]=G3,f0=r9|26,a3=A+(f0<<2)|0,l3=+s[a3>>2],b=r9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],q5=l3-C3,w=r9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=r9|11,k5=A+(y<<2)|0,M5=+s[k5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,x3=q5-o6,f6=x3*.7071067690849304,s[c3>>2]=f6,p3=o6+q5,k3=p3*.7071067690849304,s[k5>>2]=k3,D=r9|24,Q3=A+(D<<2)|0,n6=+s[Q3>>2],Q=r9|8,P3=A+(Q<<2)|0,V5=+s[P3>>2],v3=n6-V5,_=r9|25,g3=A+(_<<2)|0,O3=+s[g3>>2],L=r9|9,l6=A+(L<<2)|0,d3=+s[l6>>2],k6=O3-d3,v6=V5+n6,s[Q3>>2]=v6,S6=d3+O3,s[g3>>2]=S6,j3=v3*.3826834261417389,c6=k6*.9238795042037964,p6=j3-c6,R6=k6*.3826834261417389,Y6=v3*.9238795042037964,C6=R6+Y6,x=r9|22,S3=A+(x<<2)|0,X3=+s[S3>>2],F=r9|6,e6=A+(F<<2)|0,u6=+s[e6>>2],b3=X3-u6,M=r9|7,q3=A+(M<<2)|0,z3=+s[q3>>2],G=r9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=z3-A6,O6=u6+X3,s[S3>>2]=O6,s3=A6+z3,s[b6>>2]=s3,s[e6>>2]=t3,s[q3>>2]=b3,O=r9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=r9|20,r6=A+(z<<2)|0,Q6=+s[r6>>2],x6=d6-Q6,Y=r9|5,V6=A+(Y<<2)|0,I6=+s[V6>>2],t0=r9|21,J6=A+(t0<<2)|0,L3=+s[J6>>2],W6=I6-L3,G6=Q6+d6,s[r6>>2]=G6,e9=L3+I6,s[J6>>2]=e9,L6=W6*.9238795042037964,U6=x6*.3826834261417389,D6=L6+U6,z6=W6*.3826834261417389,y6=x6*.9238795042037964,F6=z6-y6,J=r9|2,F3=A+(J<<2)|0,M6=+s[F3>>2],W=r9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],f9=M6-A9,e0=r9|3,u9=A+(e0<<2)|0,d9=+s[u9>>2],H=r9|19,a9=A+(H<<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+f9,N9=i9*.7071067690849304,E4=T9-f9,o4=E4*.7071067690849304,h4=+s[p5>>2],X=r9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=r9|1,E9=A+(Z<<2)|0,H6=+s[E9>>2],V=r9|17,n9=A+(V<<2)|0,m4=+s[n9>>2],A4=H6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+H6,s[n9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,T4=D4+x4,j4=A4*.9238795042037964,C4=b9*.3826834261417389,N4=j4-C4,U9=N4-C6,a4=T4-p6,L4=T4+p6,f4=N4+C6,Ce=a4+U9,H9=U9-a4,m9=+s[k5>>2],Be=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,U4=Ne+N9,P4=m9+o4,X4=+s[h3>>2],be=X4-D6,e8=+s[K5>>2],Z9=e8-F6,ae=X4+D6,u4=e8+F6,_6=be-Z9,O4=Z9+be,L9=+s[h5>>2],_4=L9-t3,$e=+s[j2>>2],W9=$e-b3,le=t3+L9,ce=b3+$e,B4=_4+Be,ee=_4-Be,F4=_6+Ce,ge=F4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ge+B4,s[e6>>2]=l4,pe=B4-ge,s[a6>>2]=pe,p4=O4-H9,c4=p4*.7071067690849304,P6=W9-Xe,De=c4+ee,s[p5>>2]=De,_e=ee-c4,s[F3>>2]=_e,t8=O4+H9,g4=t8*.7071067690849304,f8=W9+Xe,Y3=P6+Ue,s[u9>>2]=Y3,w9=P6-Ue,s[E9>>2]=w9,B9=f8+g4,s[q3>>2]=B9,M4=f8-g4,s[V6>>2]=M4,te=le+U4,$t=le-U4,Re=L4+ae,lt=ae-L4,wt=te+Re,s[h5>>2]=wt,gt=te-Re,s[h3>>2]=gt,F8=u4-f4,M8=ce-P4,T8=$t+F8,s[P3>>2]=T8,N8=$t-F8,s[c3>>2]=N8,Z8=u4+f4,W8=ce+P4,kt=M8+lt,s[k5>>2]=kt,G8=M8-lt,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[K5>>2]=k8,v8=+s[g3>>2],u8=b4-v8,O8=+s[Q3>>2],H8=y9-O8,j8=O8+y9,X8=v8+b4,d8=H8+u8,Pe=u8-H8,xe=+s[a9>>2],S8=+s[U5>>2],k9=xe-S8,ht=+s[a3>>2],Qe=+s[t9>>2],ft=ht-Qe,vt=Qe+ht,et=S8+xe,St=+s[E5>>2],ie=+s[r6>>2],tt=St-ie,b8=+s[r3>>2],n8=+s[J6>>2],H4=b8-n8,Le=ie+St,r8=n8+b8,I8=tt-H4,D8=H4+tt,he=+s[t5>>2],j9=+s[S3>>2],s8=he-j9,o8=+s[i5>>2],m8=+s[b6>>2],fe=o8-m8,ye=j9+he,Oe=m8+o8,He=s8+k9,X9=s8-k9,Fe=I8+d8,ue=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=ue+He,s[S3>>2]=C8,it=He-ue,s[r6>>2]=it,q4=D8-Pe,I3=q4*.7071067690849304,qe=fe-ft,B8=I3+X9,s[G9>>2]=B8,ne=X9-I3,s[t9>>2]=ne,q9=D8+Pe,re=q9*.7071067690849304,Ye=fe+ft,Y8=qe+Q4,s[a9>>2]=Y8,ut=qe-Q4,s[n9>>2]=ut,nt=Ye+re,s[b6>>2]=nt,rt=Ye-re,s[J6>>2]=rt,J8=ye+vt,st=ye-vt,K8=Le+j8,a8=Le-j8,$8=J8+K8,s[t5>>2]=$8,Y4=J8-K8,s[E5>>2]=Y4,ot=r8-X8,R8=Oe-et,Je=st+ot,s[Q3>>2]=Je,p9=st-ot,s[a3>>2]=p9,At=r8+X8,Ke=Oe+et,Nt=R8+a8,s[U5>>2]=Nt,qt=R8-a8,s[g3>>2]=qt,bt=Ke+At,s[i5>>2]=bt,Dt=Ke-At,s[r3>>2]=Dt,se=r9+32|0,Gt=(se|0)<(a|0),Gt;)r9=se}function gQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,w=a+(b<<2)|0,G=r+(t<<2)|0,r1=G,o1=A,z0=a,I1=w;$0=e[o1>>2]|0,c=$0+b|0,j=a+(c<<2)|0,S0=o1+4|0,D0=e[S0>>2]|0,f=D0+b|0,b0=a+(f<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=f+1|0,y=a+(I<<2)|0,D=+s[y>>2],Q=a1-D,_=+s[j>>2],L=+s[b0>>2],x=L+_,F=+s[r1>>2],M=x*F,T=r1+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,H=e0*.5,X=_-L,U=X*.5,Z=z+H,s[z0>>2]=Z,V=H-z,a0=I1+-8|0,s[a0>>2]=V,s0=J+U,i0=z0+4|0,s[i0>>2]=s0,n0=J-U,K=I1+-4|0,s[K>>2]=n0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,c0=a+(m<<2)|0,l0=o1+12|0,f0=e[l0>>2]|0,p=f0+b|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,u0=+s[k0>>2],B0=C0-u0,p0=+s[c0>>2],I0=+s[d0>>2],K0=I0+p0,_0=r1+8|0,Q0=+s[_0>>2],L0=K0*Q0,F0=r1+12|0,T0=+s[F0>>2],U0=T0*B0,y0=U0+L0,q0=T0*K0,x0=Q0*B0,M0=q0-x0,J0=u0+C0,Y0=J0*.5,P0=p0-I0,V0=P0*.5,N0=y0+Y0,O0=z0+8|0,s[O0>>2]=N0,n1=Y0-y0,s[W>>2]=n1,H0=M0+V0,e1=z0+12|0,s[e1>>2]=H0,i1=M0-V0,c1=I1+-12|0,s[c1>>2]=i1,$1=r1+16|0,f1=o1+16|0,g1=z0+16|0,l1=g1>>>0>>0,l1;)r1=$1,o1=f1,z0=g1,I1=W}function pS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,r=t+28|0,A=e[r>>2]|0,a=A+2868|0,c=r4(1,36)|0,f=t+4|0,E=e[f>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function QS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,!r&&I2(t)}function yS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function wS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,L=t+36|0,e[L>>2]=_,t2=+(_|0),j5=t2*8,f3=j5,l3=+Kn(+f3),A3=l3*1.4426950408889634,g3=+Pi(A3),R6=g3+-1,b6=~~R6,x=t+32|0,e[x>>2]=b6,W=+(c|0),n0=W*.25,k0=n0,T0=k0*.5,N0=+(a|0),l1=T0/N0,B1=+Kn(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=b6+1|0,F2=1<<$2,O2=+(F2|0),k2=O2*W1,_5=+(_|0),g2=k2-_5,$5=~~g2,x2=t+28|0,e[x2>>2]=$5,Q5=+(a|0),H5=Q5+.25,E5=H5*W,u3=E5,h3=u3*.5,J5=h3/N0,X5=+Kn(+J5),r3=X5*1.4426950216293335,m3=r3+-5.965784072875977,F5=O2*m3,K5=F5+.5,w3=~~K5,B3=1-$5|0,V3=B3+w3|0,N3=t+40|0,e[N3>>2]=V3,z5=a<<2,y3=S9(z5)|0,W5=t+16|0,e[W5>>2]=y3,i6=S9(z5)|0,R3=t+20|0,e[R3>>2]=i6,G3=S9(z5)|0,a3=t+24|0,e[a3>>2]=G3,c3=t+4|0,e[c3>>2]=r,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[q5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[q5>>2]=1.274999976158142)}while(!1);U3=N0*2,M5=+(c|0),o6=(a|0)>0,p3=o6,z6=0,j6=0;e:for(;;){for(p=p3^1,y6=z6;;){if(Q3=y6+1|0,n6=+(Q3|0),W3=n6*.08664337545633316,P3=W3+2.7488713472395148,V5=+Gr(+P3),v3=U3*V5,O3=v3/M5,l6=+Pi(O3),d3=~~l6,m=(d3|0)<=(j6|0),V6=m|p,!V6){E=Q3,I=d3,F6=y6;break}if(k6=(Q3|0)<87,k6)y6=Q3;else{A9=j6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],c6=j3-S6,p6=I-j6|0,Y6=+(p6|0),C6=c6/Y6,S3=j6-I|0,X3=j6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,e3=j6-T9|0,x6=S6,f9=j6;u6=x6+100,H3=y3+(f9<<2)|0,s[H3>>2]=u6,b3=x6+C6,q3=f9+1|0,G6=(q3|0)==(e3|0),!G6;)x6=b3,f9=q3;if(x3=(e3|0)<(a|0),f6=(E|0)<87,f6)p3=x3,z6=E,j6=e3;else{A9=e3;break}}if(k3=(A9|0)<(a|0),k3)for(u9=A9;N6=u9+-1|0,r6=y3+(N6<<2)|0,Q6=e[r6>>2]|0,F=y3+(u9<<2)|0,e[F>>2]=Q6,M=u9+1|0,W6=(M|0)==(a|0),!W6;)u9=M;if(z3=(a|0)>0,z3){for(A6=a<<1,t3=(c|0)/(A6|0)&-1,O6=r+120|0,s3=e[O6>>2]|0,a6=r+124|0,d6=r+116|0,D3=r+112|0,L6=1,F3=0,d9=-99;;){Y=n5(t3,F3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Ks(+e0),X=H*13.100000381469727,U=n5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,V=Z,a0=+Ks(+V),s0=a0*2.240000009536743,i0=s0+X,K=t0*9999999747378752e-20,h0=K,o0=i0+h0,c0=o0,j=s3+d9|0,l0=(j|0)<(F3|0);e:do if(l0)for(f0=+s[D3>>2],d0=c0-f0,w0=d0,$9=d9;;){if(C0=n5($9,t3)|0,u0=+(C0|0),B0=u0*.0007399999885819852,p0=B0,I0=+Ks(+p0),S0=I0*13.100000381469727,K0=n5(C0,C0)|0,_0=+(K0|0),Q0=_0*18499999754340024e-24,L0=Q0,F0=+Ks(+L0),U0=F0*2.240000009536743,y0=u0*9999999747378752e-20,q0=y0,x0=S0+q0,D0=x0+U0,M0=D0(a|0);e:do if(J0)U6=L6;else for(Y0=e[a6>>2]|0,P0=Y0+F3|0,D6=L6;;){if(H0=(D6|0)<(P0|0),!H0&&(e1=n5(D6,t3)|0,b0=+(e1|0),i1=b0*.0007399999885819852,c1=i1,$1=+Ks(+c1),f1=$1*13.100000381469727,g1=n5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,r1=a1,o1=+Ks(+r1),z0=o1*2.240000009536743,I1=b0*9999999747378752e-20,h1=I1,m1=f1+h1,d1=m1+z0,E1=+s[d6>>2],p1=E1+c0,Q1=p1,R1=d1>2]=F1,k1=F3+1|0,L3=(k1|0)==(a|0),L3)break;L6=U6,F3=k1,d9=a9}if(z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),f2=r+36|0,s2=w/N0,E2=s2,o2=r+24|0,V1=+s[o2>>2],h2=r+28|0,a2=+s[h2>>2],i2=SS(f2,E2,a,V1,a2)|0,A2=t+8|0,e[A2>>2]=i2,X1=S9(12)|0,r2=t+12|0,e[r2>>2]=X1,u2=S9(z5)|0,e[X1>>2]=u2,e2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=v2,!!z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,D=e[v>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,V2=d2/U3,G2=+Kn(+V2),q2=G2*2.885390043258667,M2=q2+-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,u5=+s[Z2>>2],v5=u5,P5=v5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],r5=m5*X2,R2=r5,_2=R2+P5,B2=_2,C5=b+(t9<<2)|0,s[C5>>2]=B2,L5=(C2+200|0)+(o5<<2)|0,d5=+s[L5>>2],D5=d5,G5=D5*e5,H2=(C2+200|0)+(b5<<2)|0,I5=+s[H2>>2],A5=I5*X2,c5=A5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,f5=J2+p5,i5=f5,R5=D+(t9<<2)|0,s[R5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function hQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0;if(N0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,K0=(l0|0)==0,K0||I2(l0),x0=t+24|0,D0=e[x0>>2]|0,M0=(D0|0)==0,M0||I2(D0),c=t+8|0,f=e[c>>2]|0,E=(f|0)==0,!E){for(m=f,Y0=0;I=m+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,b=v+(Y0<<2)|0,w=e[b>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[c>>2]|0,L=_+(Y0<<2)|0,x=e[L>>2]|0,F=x+8|0,M=e[F>>2]|0,I2(M),T=e[c>>2]|0,N=T+(Y0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(Y0<<2)|0,W=e[J>>2]|0,e0=W+16|0,H=e[e0>>2]|0,I2(H),X=e[c>>2]|0,U=X+(Y0<<2)|0,$0=e[U>>2]|0,V=$0+20|0,a0=e[V>>2]|0,I2(a0),s0=e[c>>2]|0,i0=s0+(Y0<<2)|0,n0=e[i0>>2]|0,K=n0+24|0,h0=e[K>>2]|0,I2(h0),o0=e[c>>2]|0,c0=o0+(Y0<<2)|0,j=e[c0>>2]|0,f0=j+28|0,d0=e[f0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(Y0<<2)|0,k0=e[C0>>2]|0,I2(k0),u0=Y0+1|0,J0=(u0|0)==17,!J0;)r=e[c>>2]|0,m=r,Y0=u0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,L0=Q0+4|0,F0=e[L0>>2]|0,I2(F0),T0=e[p0>>2]|0,U0=T0+8|0,y0=e[U0>>2]|0,I2(y0),q0=e[p0>>2]|0,I2(q0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function fQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,f=I,L=C,C=C+((1*f|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,dQ(E,a0,r,A,140,-1),s0=(E|0)>0,s0)for(l0=0;i0=r+(l0<<2)|0,n0=+s[i0>>2],K=A+(l0<<2)|0,h0=+s[K>>2],m=n0-h0,p=L+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,c0=(B|0)==(E|0),!c0;)l0=B;if(v=e[J>>2]|0,b=t+4|0,w=e[b>>2]|0,y=w+128|0,D=e[y>>2]|0,dQ(E,v,L,A,0,D),s0)f0=0;else{C=C0;return}for(;_=r+(f0<<2)|0,x=+s[_>>2],F=L+(f0<<2)|0,M=+s[F>>2],T=x-M,s[F>>2]=T,N=f0+1|0,j=(N|0)==(E|0),!j;)f0=N;if(!s0){C=C0;return}for(Q=e[b>>2]|0,d0=0;G=A+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=L+(d0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,V=d0+1|0,o0=(V|0)==(E|0),!o0;)d0=V;C=C0}function uQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,C2=t2+4|0,o5=+s[C2>>2],l5=o5+c,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,c0=A5+1|0,I0=(c0|0)<(l1|0),I0;)A5=c0;if(x0=t2+8|0,e1=+s[x0>>2],c1=l50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],r1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=r1,z0=g5+1|0,H2=(z0|0)==(M|0),!H2;)g5=z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=t2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){S1=r+(c5<<2)|0,L1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=L1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,D1=e[N1>>2]|0,K1=(D1|0)==(G1|0),!K1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=r+(k1<<2)|0,H1=+s[O1>>2],q1=H1>s5,q1){S5=k1,s5=H1;continue e}else B5=k1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[R1>>2]|0,z1=G1>>c2,f2=(z1|0)>16,E=f2?16:z1,s2=(E|0)<0,f=s2?0:E,E2=h1+(f<<2)|0,o2=e[E2>>2]|0,V1=e[x1>>2]|0,h2=E1+h5,a2=h2,$2=a2+-30,i2=$2*.10000000149011612,A2=~~i2,X1=(A2|0)<0,r2=X1?0:A2,u2=(r2|0)>7,e2=u2?7:r2,y2=o2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[v2>>2],d2=~~N2,V2=(d2|0)<(D2|0),V2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=q2-M2|0,z2=+(P2|0),O2=V1>>1,T1=+(O2|0),X2=N2+-16,x5=+(V1|0),e5=X2*x5,b5=e5-T1,Z2=b5+z2,u5=~~Z2,I5=d2,H5=u5;v5=(H5|0)>0,v5&&(F=I5+2|0,P5=v2+(F<<2)|0,k2=+s[P5>>2],m5=k2+h5,r5=U1+(H5<<2)|0,R2=+s[r5>>2],_2=R2>2]=m5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),L5=I5+1|0,d5=(L5|0)<(D2|0),$5=d5&C5,$5;)I5=L5,H5=B2;if(v)c5=w;else{L=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),D5=e[L>>2]|0,bS(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,H=e[Y>>2]|0,X=e0-H|0,$0=e[W1>>2]|0,Z=$0+32|0,K=1,j=J,W2=0,x2=X;;){s0=U1+(x2<<2)|0,i0=+s[s0>>2],n0=t0+(K<<2)|0,h0=e[n0>>2]|0,o0=h0+j|0,l0=o0>>1,f0=l0-H|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(x2|0)<(f0|0);t:do if(C0)for(m=x2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(u0=p+1|0,B0=U1+(u0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(K0=p0=(G|0),T0=(j|0)>(L0|0),R5=F0|T0;t:do if(R5)g2=W2;else for(p5=W2;;){if(U0=A+(p5<<2)|0,y0=+s[U0>>2],q0=y0>2]=f5),D0=p5+1|0,M0=(D0|0)<(G|0),!M0){g2=D0;break t}if(D=t0+(D0<<2)|0,x=e[D>>2]|0,J0=(x|0)>(L0|0),J0){g2=D0;break}else p5=D0}while(!1);if(V=g2+1|0,a0=(V|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,K=V,j=_,W2=g2,x2=Q5}else a5=0;while(!1);if(Y0=e[T>>2]|0,P0=Y0+-1|0,V0=U1+(P0<<2)|0,N0=+s[V0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;n1=A+(t5<<2)|0,H0=+s[n1>>2],b0=H0>2]=N0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function j$(t,r,A,a,c,f,E){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,K=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,u0=e[k0>>2]|0,B=u0+(a<<2)|0,v=e[B>>2]|0,b=F+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,I0=0;_=r+(I0<<2)|0,L=+s[_>>2],x=v+(I0<<2)|0,M=+s[x>>2],T=M+L,N=+s[b>>2],G=T>N,S0=G?N:T,O=A+(I0<<2)|0,z=+s[O>>2],Y=z+K,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,H=+s[W>>2],X=S0-H,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(V=D*Z,a0=1-V,s0=a0,i0=s0<0,i0?B0=9999999747378752e-20:B0=s0):(n0=Q*Z,h0=1-n0,o0=h0,B0=o0),c0=f+(I0<<2)|0,j=+s[c0>>2],l0=j*B0,s[c0>>2]=l0),f0=I0+1|0,p0=(f0|0)==(m|0),!p0;)I0=f0}function kS(t,r){t=+t,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=r+4|0,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=r+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,F=(x|0)/2&-1,M=+(F|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),m=M/I,p=D+2936|0,B=+s[p>>2],v=B*m,b=v+t,w=b<-9999,A=w?-9999:b,+A}function vS(t,r,A,a,c,f,E,I,m){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0;if(G4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,V3=o5+500|0,C3=e[V3>>2]|0,f6=(C3|0)==0,f6?K5=16:(l6=o5+508|0,C6=e[l6>>2]|0,K5=C6),t3=e[o5>>2]|0,I6=((r+132|0)+(t3*60|0)|0)+(t<<2)|0,n0=e[I6>>2]|0,k0=(r+252|0)+(t<<2)|0,T0=e[k0>>2]|0,N0=1624+(T0<<3)|0,l1=+A1[N0>>3],B1=(r+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,t2=C,C=C+((1*v|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|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=n5(W1,K5)|0,x=F5,w3=C,C=C+((1*x|0)+15&-16)|0,e[t2>>2]=w3,w=F5,f3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=f3,y=F5,B3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=B3,D=F5,N3=C,C=C+((1*D|0)+15&-16)|0,e[k2>>2]=N3,z5=(m|0)>1,z5&&(y3=w3+(K5<<2)|0,W5=t2+4|0,e[W5>>2]=y3,i6=f3+(K5<<2)|0,R3=C2+4|0,e[R3>>2]=i6,G3=B3+(K5<<2)|0,a3=O2+4|0,e[a3>>2]=G3,l3=N3+(K5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,f9=(m|0)==2,!f9))for(k5=2;M=e[t2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=n5(k5,K5)|0,U3=M+(O5<<2)|0,M5=t2+(k5<<2)|0,e[M5>>2]=U3,o6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,x3=O2+(k5<<2)|0,e[x3>>2]=A3,p3=z+(O5<<2)|0,k3=k2+(k5<<2)|0,e[k3>>2]=p3,Q3=k5+1|0,j6=(Q3|0)==(m|0),!j6;)k5=Q3;if(q5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(n6=e[k2>>2]|0,W3=(m|0)>0,P3=s0^-1,V5=K5^-1,T6=0,I9=P3;;){if(O3=(I9|0)>(V5|0),j4=O3?I9:V5,d3=j4^-1,k6=s0-T6|0,v6=(K5|0)>(k6|0),p=v6?k6:K5,s4(_5|0,E|0,W1|0)|0,Ae(n6|0,0,F5|0)|0,W3)for(S6=(p|0)>0,B6=n0-T6|0,n9=0;;){if(S3=f+(n9<<2)|0,X3=e[S3>>2]|0,e6=X3+(T6<<2)|0,u6=_5+(n9<<2)|0,H3=e[u6>>2]|0,b3=(H3|0)==0,b3){if(S6)for(b6=O2+(n9<<2)|0,A6=e[b6>>2]|0,O6=t2+(n9<<2)|0,s3=e[O6>>2]|0,a6=C2+(n9<<2)|0,d6=e[a6>>2]|0,D3=k2+(n9<<2)|0,N6=e[D3>>2]|0,E9=0;M0=A6+(E9<<2)|0,s[M0>>2]=1000000013351432e-25,J0=s3+(E9<<2)|0,s[J0>>2]=0,Y0=d6+(E9<<2)|0,s[Y0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,V0=X3+(U<<2)|0,e[V0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(q3=O2+(n9<<2)|0,z3=e[q3>>2]|0,S6){for(z9=0;$0=z9+T6|0,r6=X3+($0<<2)|0,Q6=e[r6>>2]|0,x6=1768+(Q6<<2)|0,V6=e[x6>>2]|0,J6=z3+(z9<<2)|0,e[J6>>2]=V6,L3=z9+1|0,y6=(L3|0)==(d3|0),!y6;)z9=L3;if(W6=c+(n9<<2)|0,G6=e[W6>>2]|0,e9=k2+(n9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;L6=(G9|0)>=(B6|0),a0=L6?x4:l1,U6=a0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+zi(+z6),K=z3+(G9<<2)|0,h0=+s[K>>2],o0=d9/h0,c0=s9+(G9<<2)|0,y9=!(o0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=t2+(n9<<2)|0,f0=e[l0>>2]|0,d0=C2+(n9<<2)|0,w0=e[d0>>2]|0,b9=0;;)if(C0=b9+T6|0,u0=G6+(C0<<2)|0,B0=+s[u0>>2],p0=B0*B0,I0=f0+(b9<<2)|0,s[I0>>2]=p0,S0=w0+(b9<<2)|0,s[S0>>2]=p0,K0=+s[u0>>2],_0=K0<0,_0&&(Q0=+s[I0>>2],L0=-Q0,s[I0>>2]=L0),F0=z3+(b9<<2)|0,U0=+s[F0>>2],y0=U0*U0,s[F0>>2]=y0,q0=b9+1|0,F3=(q0|0)==(d3|0),F3){T=d0,D0=f0;break}else b9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(n9<<2)|0,Y=e[F>>2]|0,H=C2+(n9<<2)|0,T=H,D0=Y),x0=e[T>>2]|0,b4=e[i0>>2]|0,+IQ(b4,n0,D0,x0,z3,0,T6,p,e6)}if(n1=n9+1|0,t9=(n1|0)==(m|0),t9)break;n9=n1}if(j3=e[g2>>2]|0,c6=(j3|0)>0,c6)for(p6=(p|0)>0,R6=I-T6|0,Y6=n0-T6|0,m3=j3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,b0=(a+2184|0)+(C4<<2)|0,i1=e[b0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(T6<<2)|0,g1=f+(i1<<2)|0,s1=e[g1>>2]|0,a1=t2+(e1<<2)|0,r1=e[a1>>2]|0,o1=t2+(i1<<2)|0,z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=k2+(e1<<2)|0,w1=e[x1>>2]|0,S1=k2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(H6=0;;){K1=(H6|0)<(R6|0);do if(K1){if(O1=w1+(H6<<2)|0,H1=e[O1>>2]|0,q1=(H1|0)==0,Y1=L1+(H6<<2)|0,q1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(H6|0)<(Y6|0);do if(e5)b5=z0+(H6<<2)|0,Z2=+s[b5>>2],u5=r1+(H6<<2)|0,v5=+s[u5>>2],P5=v5+Z2,s[u5>>2]=P5,$9=+zi(+P5),l5=h1+(H6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=r1+(H6<<2)|0,r5=+s[m5>>2],R2=z0+(H6<<2)|0,_2=+s[R2>>2],B2=_2+r5,C5=B2<0,u9=+zi(+r5),a9=+zi(+_2),L5=a9+u9,d5=h1+(H6<<2)|0,s[d5>>2]=L5,C5){D5=-L5,s[m5>>2]=D5,N=R2;break}else{s[m5>>2]=L5,N=R2;break}while(!1);G5=d1+(H6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=H6+T6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}P1=r1+(H6<<2)|0,c2=+s[P1>>2],T9=+zi(+c2),z1=z0+(H6<<2)|0,f2=+s[z1>>2],E6=+zi(+f2),s2=E6+T9,s[P1>>2]=s2,E2=h1+(H6<<2)|0,o2=+s[E2>>2],V1=d1+(H6<<2)|0,h2=+s[V1>>2],a2=h2+o2,s[E2>>2]=a2,e[Y1>>2]=1,e[O1>>2]=1,V=H6+T6|0,$2=$1+(V<<2)|0,i2=e[$2>>2]|0,A2=s1+(V<<2)|0,X1=e[A2>>2]|0,E4=(i2|0)>-1,m4=0-i2|0,r2=E4?i2:m4,o4=(X1|0)>-1,A4=0-X1|0,u2=o4?X1:A4,e2=(r2|0)>(u2|0),e2?(y2=(i2|0)>0,v2=i2-X1|0,w2=X1-i2|0,F2=y2?v2:w2,e[A2>>2]=F2,J=e[$2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,V2=D2?N2:d2,e[A2>>2]=V2,e[$2>>2]=X1,t0=e[A2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,q2=h4?G2:S4,M2=q2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[A2>>2]=T1,X2=e[$2>>2]|0,x5=0-X2|0,e[$2>>2]=x5)}while(!1);if(I5=p1+(H6<<2)|0,A5=+s[I5>>2],c5=R1+(H6<<2)|0,B5=+s[c5>>2],M1=B5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=H6+1|0,A9=(S5|0)==(d3|0),A9)break;H6=S5}D4=e[i0>>2]|0,+IQ(D4,n0,r1,h1,p1,w1,T6,p,f1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{r3=W2;break}}else r3=j3;if(p5=T6+K5|0,t5=(s0|0)>(p5|0),N9=I9+K5|0,t5)T6=p5,I9=N9;else{v3=r3;break}}else v3=q5;if(g3=(v3|0)>0,g3)X5=v3,i9=0;else{C=G4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,f5=e[J2>>2]|0,i5=(f5|0)==0,R5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[R5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,H5=(Q5|0)==0,H5?J5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[R5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,J5=e0),u3=i9+1|0,h3=(u3|0)<(J5|0),h3;)X5=J5,i9=u3;C=G4}function SS(t,r,A,a,c){t=t|0,r=+r,A=A|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0;for(Ke=C,C=C+32480|0,Y3=Ke+32256|0,p9=Ke+1792|0,w9=Ke,x=A<<2,b=x,F=C,C=C+((1*b|0)+15&-16)|0,i2=S9(68)|0,Ae(p9|0,0,30464)|0,v3=a>0,o4=a<0,k9=0;;){for($e=k9<<2,ie=0;r5=ie+$e|0,I5=(r5|0)<88,I5?(t5=1272+(r5<<2)|0,H5=+s[t5>>2],q9=H5):q9=-30,w3=r5+1|0,a3=(w3|0)<88,a3?(L6=1272+(w3<<2)|0,U6=+s[L6>>2],z6=q9>U6,z6?re=U6:re=q9):(s9=q9>-30,s9?re=-30:re=q9),y6=r5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=re>t9,A9?D9=t9:D9=re):(F3=re>-30,F3?D9=-30:D9=re),j6=r5+3|0,f9=(j6|0)<88,f9?(a9=1272+(j6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(u9=D9>-30,u9?Ye=-30:Ye=D9),E6=Y3+(ie<<2)|0,s[E6>>2]=Ye,T6=ie+1|0,T8=(T6|0)==56,!T8;)ie=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,H=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(H|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,n1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(n1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,A2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,A2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,v3)for(n8=0;;){if(o4)for(E8=0;h4=16-E8|0,vt=(h4|0)>-1,rt=0-h4|0,G9=vt?h4:rt,z9=+(G9|0),b9=z9*c,E9=b9+a,H6=E9<0,I=H6?0:E9,n9=I>0,f=n9?0:I,m4=((p9+(k9*1792|0)|0)+(n8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+f,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,R6=et?g3:J8,b6=+(R6|0),x6=b6*c,D6=x6+a,d9=D6<0,m=d9?0:D6,i9=((p9+(k9*1792|0)|0)+(n8*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=n8+1|0,k8=(e3|0)==8,k8)break;n8=e3}else for(b8=0;;){if(o4)for(m8=0;j4=16-m8|0,St=(j4|0)>-1,st=0-j4|0,C4=St?j4:st,N4=+(C4|0),U9=N4*c,G4=U9+a,a4=G4>0,E=a4?0:G4,f4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[f4>>2],H9=Ce+E,s[f4>>2]=H9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,ft=(Be|0)>-1,nt=0-Be|0,Ne=ft?Be:nt,Xe=+(Ne|0),U4=Xe*c,Ge=U4+a,P4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[P4>>2],e8=be+Ge,s[P4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(ae=b8+1|0,W8=(ae|0)==8,W8)break;b8=ae}for(D4=t+(k9<<2)|0,x4=+s[D4>>2],T4=x4,H4=0;;){for(u4=(H4|0)<2,_6=+(H4|0),w=_6*10,y=70-w,O4=u4?50:y,L9=O4+T4,$4=L9,d8=0;_4=((p9+(k9*1792|0)|0)+(H4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],le=W9+$4,s[_4>>2]=le,ce=d8+1|0,M4=(ce|0)==56,!M4;)d8=ce;for(B4=w9+(H4*224|0)|0,s4(B4|0,Y3|0,224)|0,ee=+(H4|0),F4=ee*10,ge=70-F4,S8=0;;)if(C9=(w9+(H4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ge+g6,s[C9>>2]=Ue,pe=S8+1|0,lt=(pe|0)==56,lt){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(H4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(H4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,Re=(t8|0)==56,!Re;)i8=t8;if(g4=H4+1|0,kt=(g4|0)==8,kt){Le=1;break}else H4=g4}for(;;){for(k4=Le+-1|0,xe=0;;)if(f8=(w9+(k4*224|0)|0)+(xe<<2)|0,T=+s[f8>>2],N=(w9+(Le*224|0)|0)+(xe<<2)|0,G=+s[N>>2],O=T>2]=T),z=xe+1|0,$t=(z|0)==56,$t){Pe=0;break}else xe=z;for(;Y=(w9+(Le*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Le*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,te=(X|0)==56,!te;)Pe=X;if(U=Le+1|0,G8=(U|0)==8,G8)break;Le=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=r,L4=(A|0)>0,X4=A^-1,Qe=0;;){for(Z=S9(32)|0,V=i2+(Qe<<2)|0,e[V>>2]=Z,a0=+(Qe|0),s0=a0*.5,i0=a0*.34657350182533264,n0=i0+4.135165354540845,K=+Gr(+n0),o0=K/y9,c0=+zA(+o0),j=~~c0,l0=+(j|0),f0=l0*r,d0=f0+1,w0=d0,C0=+Kn(+w0),k0=C0*2.885390043258667,u0=k0+-11.931568145751953,p0=+$B(+u0),I0=~~p0,S0=j+1|0,K0=+(S0|0),_0=K0*r,Q0=_0,L0=+Kn(+Q0),F0=L0*2.885390043258667,T0=F0+-11.931568145751953,U0=+zA(+T0),q0=~~U0,x0=(I0|0)>(Qe|0),ht=x0?Qe:I0,D0=(ht|0)<0,B8=D0?0:ht,M0=(q0|0)>16,p=M0?16:q0,J0=(B8|0)>(p|0),Y0=Qe+1|0,P0=(Y0|0)<17,V0=s0+3.9657840728759766,ne=0;;){if(N0=S9(232)|0,O0=Z+(ne<<2)|0,e[O0>>2]=N0,L4)for(r8=0;H0=F+(r8<<2)|0,s[H0>>2]=999,e1=r8+1|0,B9=(e1|0)==(A|0),!B9;)r8=e1;if(!J0)for(fe=B8;;){for(b0=+(fe|0),i1=b0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,r1=s1+3.9032840728759766,o1=r1*.6931470036506653,z0=+Gr(+o1),I1=z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Gr(+d1),B1=E1/y9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,w1=(B|0)>(A|0),it=w1?A:B,S1=(it|0)<(ye|0),q4=S1?it:ye,L1=(R1|0)<0,j8=L1?0:R1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(q4|0)<(Y8|0),k1=(q4|0)<(A|0),K8=G1&k1,K8)for(U1=((p9+(fe*1792|0)|0)+(ne*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],D1=(ye|0)<(A|0),K1=D1?ye:A,O1=K1^-1,H1=(h1|0)>0,_=h1^-1,q1=H1?_:-1,Y1=(q1|0)<(O1|0),Y4=Y1?O1:q1,j1=Y4^-1,n2=(R1|0)>0,L=R1^-1,W1=n2?L:-1,P1=(W1|0)<(X4|0),ot=P1?X4:W1,z1=ot-Y4|0,f2=Y4+A|0,s2=f2^-1,E2=z1>>>0>s2>>>0,R8=E2?z1:s2,o2=j1-R8|0,X9=q4;;)if(V1=F+(X9<<2)|0,h2=+s[V1>>2],a2=h2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,u8=(t2|0)==(o2|0),u8){Oe=o2;break}else X9=t2;else Oe=q4;if($2=I8+1|0,O8=($2|0)==56,O8){He=Oe;break}else I8=$2,ye=Oe}if(c1=(He|0)<(A|0),c1)for($1=((p9+(fe*1792|0)|0)+(ne*224|0)|0)+220|0,f1=+s[$1>>2],Fe=He;X1=F+(Fe<<2)|0,r2=+s[X1>>2],u2=r2>f1,u2&&(s[X1>>2]=f1),e2=Fe+1|0,H8=(e2|0)==(A|0),!H8;)Fe=e2;if(y2=fe+1|0,v2=(fe|0)<(p|0),v2)fe=y2;else break}if(P0){for(D8=0,ue=0;;){if(G2=+(D8|0),q2=G2*.125,M2=q2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Gr(+z2),O2=o5/y9,T1=~~O2,x5=M2+4.028284072875977,e5=x5*.6931470036506653,b5=+Gr(+e5),Z2=b5/y9,u5=Z2+1,v5=~~u5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(A|0),I3=l5?A:v,k2=(I3|0)<(ue|0),qe=k2?I3:ue,m5=(v5|0)<0,X8=m5?0:v5,R2=(X8|0)>(A|0),ut=R2?A:X8,_2=(qe|0)<(ut|0),B2=(qe|0)<(A|0),a8=_2&B2,a8)for(C5=((p9+(Y0*1792|0)|0)+(ne*224|0)|0)+(D8<<2)|0,L5=+s[C5>>2],d5=(ue|0)<(A|0),D5=d5?ue:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,A5=(H2|0)<(G5|0),$8=A5?G5:H2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(X4|0),_8=S5?X4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=qe;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>L5,J2&&(s[s5>>2]=L5),f5=Q4+1|0,wt=(f5|0)==(p5|0),wt){A8=p5;break}else Q4=f5;else A8=qe;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,ue=A8}if(D2=(we|0)<(A|0),D2)for(d2=((p9+(Y0*1792|0)|0)+(ne*224|0)|0)+220|0,V2=+s[d2>>2],C8=we;R5=F+(C8<<2)|0,j2=+s[R5>>2],$5=j2>V2,$5&&(s[R5>>2]=V2),x2=C8+1|0,ct=(x2|0)==(A|0),!ct;)C8=x2}for(w2=Z+(ne<<2)|0,C2=Z+(ne<<2)|0,F2=Z+(ne<<2)|0,he=0;;){u3=+(he|0),h3=u3*.125,J5=V0+h3,X5=J5*.6931470036506653,r3=+Gr(+X5),m3=r3/y9,F5=~~m3,K5=(F5|0)<0;do if(K5)f3=he+2|0,B3=e[w2>>2]|0,V3=B3+(f3<<2)|0,s[V3>>2]=-999;else if(N3=(F5|0)<(A|0),N3){i6=F+(F5<<2)|0,R3=e[i6>>2]|0,G3=he+2|0,l3=e[C2>>2]|0,c3=l3+(G3<<2)|0,e[c3>>2]=R3;break}else{z5=he+2|0,y3=e[F2>>2]|0,W5=y3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=he+1|0,gt=(C3|0)==56,gt)break;he=C3}Q5=N0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(q5=N0+12|0,U5=+s[q5>>2],O5=U5>-200,O5)j9=1;else if(Q3=N0+16|0,n6=+s[Q3>>2],W3=n6>-200,W3)j9=2;else if(P3=N0+20|0,V5=+s[P3>>2],O3=V5>-200,O3)j9=3;else if(l6=N0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=N0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(j3=N0+32|0,c6=+s[j3>>2],p6=c6>-200,p6)j9=6;else if(Y6=N0+36|0,C6=+s[Y6>>2],S3=C6>-200,S3)j9=7;else if(X3=N0+40|0,e6=+s[X3>>2],u6=e6>-200,u6)j9=8;else if(H3=N0+44|0,b3=+s[H3>>2],q3=b3>-200,q3)j9=9;else if(z3=N0+48|0,A6=+s[z3>>2],t3=A6>-200,t3)j9=10;else if(O6=N0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=N0+56|0,D3=+s[d6>>2],N6=D3>-200,N6)j9=12;else if(r6=N0+60|0,Q6=+s[r6>>2],V6=Q6>-200,V6)j9=13;else{if(I6=N0+64|0,J6=+s[I6>>2],L3=J6>-200,L3){j9=14;break}if(W6=N0+68|0,G6=+s[W6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[N0>>2]=j9,q8=55;;){if(k5=q8+2|0,U3=N0+(k5<<2)|0,M5=+s[U3>>2],o6=M5>-200,o6){tt=q8;break}if(A3=q8+-1|0,x3=(A3|0)>17,x3)q8=A3;else{tt=A3;break}}if(f6=+(tt|0),p3=N0+4|0,s[p3>>2]=f6,k3=ne+1|0,F8=(k3|0)==8,F8)break;ne=k3}if(M8=(Y0|0)==17,M8)break;Qe=Y0}return C=Ke,i2|0}function dQ(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=+c,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,o2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,r3=C,C=C+((1*p|0)+15&-16)|0,B=w,W5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[A>>2],n6=k5+c,S6=n6<1,A4=S6?1:n6,u6=A4*A4,D=u6*.5,z=D*A4,s[y>>2]=D,s[o2>>2]=D,s[j2>>2]=0,s[r3>>2]=z,s[W5>>2]=0,V=(t|0)>1,V)for(F3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(F3<<2)|0,h1=+s[c1>>2],L1=h1+c,q1=L1<1,y9=q1?1:L1,V1=y9*y9,y2=V1+E6,M2=V1*E4,u5=M2+T6,L5=M2*E4,S5=L5+i9,J2=V1*y9,f5=J2+I9,i5=M2*y9,R5=i5+N9,$5=y+(F3<<2)|0,s[$5>>2]=y2,x2=o2+(F3<<2)|0,s[x2>>2]=u5,Q5=j2+(F3<<2)|0,s[Q5>>2]=S5,H5=r3+(F3<<2)|0,s[H5>>2]=f5,j5=W5+(F3<<2)|0,s[j5>>2]=R5,E5=F3+1|0,u3=E4+1,F6=(E5|0)==(t|0),!F6;)F3=E5,E6=y2,T6=u5,i9=S5,N9=R5,I9=f5,E4=u3;if(f0=e[r>>2]|0,_0=f0>>16,J0=(_0|0)>-1,J0)J5=f0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=f0,B3=_0,t9=0,h4=0;;)if(m3=F5&65535,K5=y+(m3<<2)|0,w3=+s[K5>>2],f3=0-B3|0,V3=y+(f3<<2)|0,N3=+s[V3>>2],z5=N3+w3,y3=o2+(m3<<2)|0,i6=+s[y3>>2],R3=o2+(f3<<2)|0,G3=+s[R3>>2],a3=i6-G3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(f3<<2)|0,q5=+s[C3>>2],U5=q5+c3,O5=r3+(m3<<2)|0,U3=+s[O5>>2],M5=r3+(f3<<2)|0,o6=+s[M5>>2],e3=o6+U3,A3=W5+(m3<<2)|0,x3=+s[A3>>2],f6=W5+(f3<<2)|0,p3=+s[f6>>2],k3=x3-p3,Q3=e3*U5,W3=k3*a3,P3=Q3-W3,V5=k3*z5,v3=e3*a3,g3=V5-v3,O3=U5*z5,l6=a3*a3,d3=O3-l6,k6=g3*h4,v6=k6+P3,B6=v6/d3,j3=B6<0,e9=j3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,R6=t9+1|0,Y6=h4+1,C6=r+(R6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){J5=S3,d6=P3,Q6=g3,J6=d3,M6=R6,o4=Y6;break}else F5=S3,B3=X3,t9=R6,h4=Y6;if(h3=J5&65535,X5=(h3|0)<(t|0),X5)for(v=J5,z3=h3,j6=M6,z9=o4;;)if(b3=v>>16,q3=y+(z3<<2)|0,b6=+s[q3>>2],A6=y+(b3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=o2+(z3<<2)|0,a6=+s[s3>>2],Q=o2+(b3<<2)|0,_=+s[Q>>2],L=a6-_,x=j2+(z3<<2)|0,F=+s[x>>2],M=j2+(b3<<2)|0,T=+s[M>>2],N=F-T,G=r3+(z3<<2)|0,O=+s[G>>2],Y=r3+(b3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(z3<<2)|0,e0=+s[W>>2],H=W5+(b3<<2)|0,X=+s[H>>2],U=e0-X,$0=J*N,Z=U*L,a0=$0-Z,s0=U*O6,i0=J*L,n0=s0-i0,K=N*O6,h0=L*L,o0=K-h0,c0=n0*z9,j=c0+a0,l0=j/o0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(j6<<2)|0,s[C0>>2]=w0,k0=j6+1|0,u0=z9+1,B0=r+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,z3=I0,j6=k0,z9=u0;else{D3=a0,x6=n0,L3=o0,A9=k0,G9=u0;break}else D3=d6,x6=Q6,L3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(f9=A9,b9=G9;K0=b9*x6,Q0=K0+D3,L0=Q0/L3,F0=L0<0,L6=F0?0:L0,T0=L6-c,U0=a+(f9<<2)|0,s[U0>>2]=T0,y0=f9+1|0,q0=b9+1,y6=(y0|0)==(t|0),!y6;)f9=y0,b9=q0;if(x0=(f|0)<1,x0){C=D4;return}if(D0=(f|0)/2&-1,M0=D0-f|0,Y0=(M0|0)>-1,Y0)N6=D3,V6=x6,W6=L3,u9=0,E9=0;else for(P0=f-D0|0,H0=D0,i1=M0,d9=0,H6=0;;)if(n1=y+(H0<<2)|0,e1=+s[n1>>2],b0=0-i1|0,$1=y+(b0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=o2+(H0<<2)|0,s1=+s[l1>>2],a1=o2+(b0<<2)|0,r1=+s[a1>>2],o1=s1-r1,z0=j2+(H0<<2)|0,I1=+s[z0>>2],m1=j2+(b0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=r3+(H0<<2)|0,p1=+s[B1>>2],Q1=r3+(b0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,w1=W5+(H0<<2)|0,S1=+s[w1>>2],F1=W5+(b0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=x1*E1,Z1=k1*o1,N1=U1-Z1,D1=k1*g1,K1=x1*o1,O1=D1-K1,H1=E1*g1,Y1=o1*o1,j1=H1-Y1,n2=O1*H6,W1=n2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,f2=+s[z1>>2],s2=c2>2]=c2),E2=d9+1|0,h2=H6+1,a2=D0+E2|0,t2=a2-f|0,z6=(E2|0)==(P0|0),z6){N6=N1,V6=O1,W6=j1,u9=P0,E9=h2;break}else H0=a2,i1=t2,d9=E2,H6=h2;if(V0=u9+D0|0,N0=(V0|0)<(t|0),N0)for(O0=t-D0|0,b=V0,$9=u9,m4=E9;;)if(i2=b-f|0,A2=y+(b<<2)|0,X1=+s[A2>>2],r2=y+(i2<<2)|0,u2=+s[r2>>2],e2=X1-u2,v2=o2+(b<<2)|0,w2=+s[v2>>2],C2=o2+(i2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],V2=j2+(i2<<2)|0,G2=+s[V2>>2],q2=d2-G2,P2=r3+(b<<2)|0,z2=+s[P2>>2],o5=r3+(i2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,x5=+s[X2>>2],e5=W5+(i2<<2)|0,b5=+s[e5>>2],Z2=x5-b5,v5=T1*q2,P5=Z2*D2,l5=v5-P5,k2=Z2*e2,m5=T1*D2,r5=k2-m5,R2=q2*e2,_2=D2*D2,B2=R2-_2,C5=r5*m4,d5=C5+l5,D5=d5/B2,G5=D5-c,_5=a+($9<<2)|0,H2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,B5=A5+D0|0,D6=(A5|0)==(O0|0),D6){r6=l5,I6=r5,G6=B2,a9=O0,n9=c5;break}else b=B5,$9=A5,m4=c5;else r6=N6,I6=V6,G6=W6,a9=u9,n9=E9;if($2=(a9|0)<(t|0),$2)T9=a9,S4=n9;else{C=D4;return}for(;M1=S4*I6,g5=M1+r6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function bS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0;if(c1=C,f=A<<2,a=f,E=C,C=C+((1*a|0)+15&-16)|0,c=f,_=C,C=C+((1*c|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,H0=P0;else{for(K0=t+(y0<<2)|0,_0=+s[K0>>2],V0=P0;;){if(B=V0+-1|0,v=_+(B<<2)|0,b=+s[v>>2],w=_0>2]|0,x=L+r|0,F=(y0|0)<(x|0),M=(V0|0)>1,D0=M&F,!D0){O0=V0,i1=12;break}if(T=V0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){O0=V0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+r|0,W=(y0|0)<(J|0),W)V0=B;else{O0=V0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(N0<<2)|0,e[y>>2]=y0,D=_+(N0<<2)|0,s[D>>2]=_0,H0=N0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,H=_+(O0<<2)|0,s[H>>2]=_0,H0=O0;break}}while(!1);if(n1=H0+1|0,X=y0+1|0,U0=(X|0)==(A|0),U0){e1=H0,b0=n1;break}else y0=X,P0=n1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=r+1|0,q0=0,M0=0;;){if(U=(q0|0)<(e1|0),U?($0=q0+1|0,Z=_+($0<<2)|0,V=+s[Z>>2],a0=_+(q0<<2)|0,i0=+s[a0>>2],n0=V>i0,n0?(K=E+($0<<2)|0,h0=e[K>>2]|0,L0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(q0<<2)|0,c0=e[o0>>2]|0,j=w0+c0|0,L0=j),l0=(L0|0)>(A|0),x0=l0?A:L0,f0=(M0|0)<(x0|0),f0)for(d0=_+(q0<<2)|0,C0=e[d0>>2]|0,k0=(L0|0)<(A|0),u0=k0?L0:A,Y0=M0;;)if(B0=t+(Y0<<2)|0,e[B0>>2]=C0,p0=Y0+1|0,F0=(p0|0)==(u0|0),F0){J0=u0;break}else Y0=p0;else J0=M0;if(I0=q0+1|0,T0=(I0|0)==(b0|0),T0)break;q0=I0,M0=J0}C=c1}function IQ(t,r,A,a,c,f,E,I,m){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=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,K=e[e0>>2]|0,u0=(K|0)==0,u0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(f|0)==0,N=(p1|0)<(I|0),G=N?p1: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,H=a+(O1<<2)|0,X=+s[H>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,V=A+(O1<<2)|0,a0=+s[V>>2],s0=a0<0,i0=Z,n0=+Tr(+i0),h0=+Pi(n0),s0){o0=-h0,c0=~~o0,j=m+(O1<<2)|0,e[j>>2]=c0;break}else{l0=~~h0,f0=m+(O1<<2)|0,e[f0>>2]=l0;break}while(!1);if(d0=O1+1|0,D1=(d0|0)==(G|0),D1){K1=G;break}else O1=d0}else K1=0;if(O=(K1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(f|0)!=0,Y=r-E|0,p=0,G1=0,H1=K1;;){z?(w0=f+(H1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(H1<<2)|0,p0=+s[B0>>2],I0=c+(H1<<2)|0,S0=+s[I0>>2],K0=p0/S0,_0=!(K0<.25),Q0=(H1|0)<(Y|0),j1=z&Q0,n2=_0|j1,n2){y0=A+(H1<<2)|0,q0=+s[y0>>2],x0=q0<0,D0=K0,M0=+Tr(+D0),J0=+Pi(M0),Y0=-J0,_=x0?Y0:J0,Q=~~_,P0=m+(H1<<2)|0,e[P0>>2]=Q,V0=n5(Q,Q)|0,N0=+(V0|0),n1=+s[I0>>2],H0=N0*n1,s[B0>>2]=H0,B=p,k1=G1;break}else{L0=K0+p,F0=G1+1|0,T0=F+(G1<<2)|0,e[T0>>2]=B0,B=L0,k1=F0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,H1=e1}if(b0=(U1|0)==0,b0||(Th(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,f1=+A1[$1>>3],b=v,q1=0;;)if(g1=F+(q1<<2)|0,l1=e[g1>>2]|0,a1=l1,r1=a1-c1|0,o1=r1>>2,z0=b,I1=!(z0>=f1),I1?(w=b,L=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,R1=b+-1,x1=c+(o1<<2)|0,w1=+s[x1>>2],w=R1,L=Q1,W1=w1),S1=m+(o1<<2)|0,e[S1>>2]=L,s[l1>>2]=W1,L1=q1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else b=w,q1=L1;return C=c2,+y}function DS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],c=e[r>>2]|0,f=+s[c>>2],E=af,p=m&1,B=I-p|0,B|0}function _S(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function RS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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?f=x:(I2(G),r=e[a>>2]|0,f=r),z=Y+1|0,c=(z|0)<(f|0),c;)x=f,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,b=v+(t0<<2)|0,w=e[b>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[B>>2]|0,I2(L),I2(t)}}function xS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(r,c,24),f=t+4|0,Q=e[f>>2]|0,U2(r,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(r,$0,24),Z=t+12|0,V=e[Z>>2]|0,a0=V+-1|0,U2(r,a0,6),s0=t+20|0,E=e[s0>>2]|0,U2(r,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,K=0;;){if(b=p+(K<<2)|0,w=e[b>>2]|0,y=Tt(w)|0,D=(y|0)>3,_=e[b>>2]|0,D?(U2(r,_,3),U2(r,1,1),L=e[b>>2]|0,x=L>>3,U2(r,x,5)):U2(r,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,c0=0;;)if(T=A&1,N=T+c0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,c0=N;if(z=o0+i0|0,t0=K+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,K=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,H=e[e0>>2]|0,U2(r,H,8),X=h0+1|0,n0=(X|0)==(a|0),!n0;)h0=X}}function LS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0;r1=C,E=r4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=W4(r,24)|0,e[E>>2]=J,i0=W4(r,24)|0,C0=E+4|0,e[C0>>2]=i0,F0=W4(r,24)|0,V0=F0+1|0,O0=E+8|0,e[O0>>2]=V0,n1=W4(r,6)|0,m=n1+1|0,p=E+12|0,e[p>>2]=m,B=W4(r,8)|0,v=E+20|0,e[v>>2]=B,b=(B|0)<0;e:do if(b)a1=26;else{if(w=(n1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=W4(r,3)|0,x=W4(r,1)|0,F=(x|0)<0,F){a1=26;break e}if(M=(x|0)==0,M)b0=_;else{if(T=W4(r,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,b0=O}if(z=y+(c1<<2)|0,e[z>>2]=b0,Y=(b0|0)==0,Y)l1=0;else for(a=b0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,H=(e0|0)==0,H){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{f=X;break}}if(D=(f|0)>0,D)for(Q=E+280|0,$1=0;;){if(V=W4(r,8)|0,a0=(V|0)<0,a0)break e;if(s0=Q+($1<<2)|0,e[s0>>2]=V,n0=$1+1|0,K=(n0|0)<(f|0),K)$1=n0;else{N0=D,H0=f;break}}else N0=0,H0=f}else N0=0,H0=0;if(h0=e[v>>2]|0,o0=L+24|0,c0=e[o0>>2]|0,j=(h0|0)<(c0|0),j){if(N0)for(l0=E+280|0,f1=0;;){if(w0=l0+(f1<<2)|0,k0=e[w0>>2]|0,u0=(k0|0)<(c0|0),!u0||(B0=(L+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,K0=(S0|0)==0,f0=f1+1|0,K0))break e;if(d0=(f0|0)<(H0|0),d0)f1=f0;else break}if(_0=(L+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,L0=Q0+4|0,T0=e[L0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(M0=n5(q0,g1)|0,J0=(M0|0)>(T0|0),J0)break e;if(x0=i1+-1|0,D0=(i1|0)>1,D0)i1=x0,g1=M0;else{c=M0;break}}return Y0=E+16|0,e[Y0>>2]=c,A=E,A|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(A=0,A|0):(I2(E),A=0,A|0)}function FS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,f=r4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[f>>2]=r,w0=r+12|0,L0=e[w0>>2]|0,P0=f+4|0,e[P0>>2]=L0,n1=s0+2848|0,H0=e[n1>>2]|0,I=f+12|0,e[I>>2]=H0,m=H0,p=r+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,b=f+16|0,e[b>>2]=v,w=e[v>>2]|0,y=r4(L0,4)|0,D=f+20|0,e[D>>2]=y,Q=(L0|0)>0,Q)for(L=r+24|0,x=r+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=r4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,b0=e1,o1=0;;)if(e0=1<>2]|0,$0=b0+1|0,Z=x+(b0<<2)|0,V=e[Z>>2]|0,a0=U+(V*56|0)|0,i0=e[W>>2]|0,n0=i0+(o1<<2)|0,e[n0>>2]=a0,i1=$0),K=o1+1|0,f1=(K|0)==(T|0),f1){c1=i1,m1=a;break}else b0=i1,o1=K;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(L0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(c0=f+24|0,e[c0>>2]=1,j=(w|0)>0,j){for(f0=1,s1=0;;)if(l0=n5(f0,L0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){A=l0;break}else f0=l0,s1=d0;e[c0>>2]=A,u0=A}else u0=1;if(C0=f+8|0,e[C0>>2]=I1,k0=u0<<2,B0=S9(k0)|0,p0=f+28|0,e[p0>>2]=B0,I0=(u0|0)>0,!I0)return f|0;if(S0=w<<2,!j){for(a1=0;Y0=S9(S0)|0,V0=B0+(a1<<2)|0,e[V0>>2]=Y0,N0=a1+1|0,O0=(N0|0)<(u0|0),O0;)a1=N0;return f|0}for(K0=e[p0>>2]|0,r1=0;;){for(D0=S9(S0)|0,M0=B0+(r1<<2)|0,e[M0>>2]=D0,J0=K0+(r1<<2)|0,q0=e[J0>>2]|0,c=u0,z0=0,E1=r1;d1=(c|0)/(L0|0)&-1,F0=(E1|0)/(d1|0)&-1,T0=n5(F0,d1)|0,U0=E1-T0|0,y0=q0+(z0<<2)|0,e[y0>>2]=F0,x0=z0+1|0,g1=(x0|0)==(w|0),!g1;)c=d1,z0=x0,E1=U0;if(_0=r1+1|0,Q0=(_0|0)<(u0|0),Q0)r1=_0;else break}return f|0}function MS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||EQ(t,r,A,x,2),0}function TS(t,r,A,a,c,f,E,I){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(f|0)>0,m)x=0,F=0;else return 0;for(;;)if(p=c+(x<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?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)==(f|0),L){T=M;break}else x=Q,F=M;return _=(T|0)==0,_||mQ(t,A,a,T,E),0}function NS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|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,k0=e[n0>>2]|0,T0=h1+1|0,J0=A+(h1<<2)|0,e[J0>>2]=k0,m1=T0),Y0=i1+1|0,O0=(Y0|0)==(c|0),O0){d1=m1;break}else i1=Y0,h1=m1;if(P0=(d1|0)==0,P0)return f=0,f|0;if(p=e[r>>2]|0,B=p+8|0,v=e[B>>2]|0,b=p+12|0,w=e[b>>2]|0,y=p+4|0,D=e[y>>2]|0,Q=e[p>>2]|0,_=D-Q|0,L=(_|0)/(v|0)&-1,F=d1<<2,M=Ht(t,F)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;H=Ht(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=H,Ae(H|0,0,z|0)|0,U=c1+1|0,b0=(U|0)==(d1|0),!b0;)c1=U;if(Y=(L|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=n5($1,v)|0,Z=e[p>>2]|0,V=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=A+(g1<<2)|0,s0=e[a0>>2]|0,N0=0,l1=0,o1=0;;)if(i0=V+l1|0,K=s0+(i0<<2)|0,h0=e[K>>2]|0,f1=(h0|0)>-1,z0=0-h0|0,o0=f1?h0:z0,c0=(o0|0)>(o1|0),E=c0?o0:o1,j=o0+N0|0,l0=l1+1|0,n1=(l0|0)==(v|0),n1){V0=j,r1=E;break}else N0=j,l1=l0,o1=E;else V0=0,r1=0;f0=+(V0|0),d0=f0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,u0=e[C0>>2]|0,B0=(r1|0)>(u0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,K0=(w0|0)<(I0|0),I1=S0|K0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(L0=M+(g1<<2)|0,F0=e[L0>>2]|0,U0=F0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(q0=$1+1|0,e1=(q0|0)==(L|0),e1)break;$1=q0}return x0=r+40|0,D0=e[x0>>2]|0,M0=D0+1|0,e[x0>>2]=M0,f=M,f|0}function GS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||EQ(t,r,A,x,3),0}function US(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0;if(z0=C,m=(c|0)>0,m)M0=0,r1=0;else return f=0,f|0;for(;;)if(p=a+(M0<<2)|0,F=e[p>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+r1|0,K=M0+1|0,q0=(K|0)==(c|0),q0){a1=s1;break}else M0=K,r1=s1;if(l1=(a1|0)==0,l1)return f=0,f|0;if(u0=e[r>>2]|0,K0=u0+8|0,_0=e[K0>>2]|0,Q0=u0+12|0,L0=e[Q0>>2]|0,B=u0+4|0,v=e[B>>2]|0,b=e[u0>>2]|0,w=v-b|0,y=(w|0)/(_0|0)&-1,D=Ht(t,4)|0,Q=y<<2,_=Ht(t,Q)|0,e[D>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[u0>>2]|0,M=(x|0)/(c|0)&-1,T=(_0|0)>0,N=L0+-1|0,G=(L0|0)>1,O=e[D>>2]|0,z=(c|0)>1,J0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,T0=0,V0=0,b0=H0,c1=0;;){if(t0=Y+(b0<<2)|0,J=e[t0>>2]|0,Y0=(J|0)>-1,$1=0-J|0,W=Y0?J:$1,H=(W|0)>(c1|0),I=H?W:c1,z)for(y0=T0,n1=1;;)if(X=A+(n1<<2)|0,U=e[X>>2]|0,$0=U+(b0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,f1=0-Z|0,V=P0?Z:f1,a0=(V|0)>(y0|0),E=a0?V:y0,s0=n1+1|0,x0=(s0|0)==(c|0),x0){U0=E;break}else y0=E,n1=s0;else U0=T0;if(i0=b0+1|0,n0=V0+c|0,h0=(n0|0)<(_0|0),h0)T0=U0,V0=n0,b0=i0,c1=I;else{F0=U0,e1=i0,i1=I;break}}else F0=0,e1=H0,i1=0;e:do if(G)for(O0=0;;){if(o0=(u0+2328|0)+(O0<<2)|0,c0=e[o0>>2]|0,j=(i1|0)>(c0|0),!j&&(l0=(u0+2584|0)+(O0<<2)|0,f0=e[l0>>2]|0,d0=(F0|0)>(f0|0),!d0)){N0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{N0=w0;break}}else N0=0;while(!1);if(k0=O+(J0<<2)|0,e[k0>>2]=N0,B0=J0+1|0,D0=(B0|0)==(y|0),D0)break;J0=B0,H0=e1}return p0=r+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,f=D,f|0}function PS(t,r,A,a,c,f,E,I){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0;if(s0=C,C=C+16|0,V=s0,m=r+36|0,p=e[m>>2]|0,F=(p|0)/2&-1,M=f<<2,T=n5(M,F)|0,N=Ht(r,T)|0,e[V>>2]=N,G=(f|0)>0,!G)return C=s0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,H=(v|0)!=0,b=H&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+f|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(f|0),t0){$0=U;break}else J=x,Z=U}return X=($0|0)==0,X?(C=s0,0):(mQ(t,A,V,1,E),C=s0,0)}function OS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[r>>2]|0,m=I+8|0,x=e[m>>2]|0,W=r+16|0,n0=e[W>>2]|0,k0=e[n0>>2]|0,T0=t+36|0,N0=e[T0>>2]|0,l1=n5(N0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),f=v?B:s1,b=e[I>>2]|0,w=f-b|0,y=(w|0)>0,!y)return 0;D=(w|0)/(x|0)&-1,Q=k0+-1|0,_=Q+D|0,L=(_|0)/(k0|0)&-1,F=L<<2,M=Ht(t,F)|0,T=(c|0)>0;e:do if(T)for(r1=0;;){if(N=a+(r1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=r1;break e}if(z=r1+1|0,Y=(z|0)<(c|0),Y)r1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=r+8|0,e0=e[J>>2]|0,H=(e0|0)>0,!H))return 0;X=(D|0)>0,U=t+4|0,$0=I+16|0,Z=r+28|0,V=(k0|0)>0,a0=r+20|0,g1=e0,B1=0;e:for(;;){if(X){for(s0=(B1|0)==0,i0=1<>2]|0,h0=jm(K,U)|0,o0=(h0|0)==-1,o0){p1=23;break e}if(c0=e[$0>>2]|0,j=(h0|0)<(c0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,f0=l0+(h0<<2)|0,d0=e[f0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(u0=(o1|0)<(D|0),E1=V&u0,E1)for(B0=M+(m1<<2)|0,I1=o1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,K0=(I+24|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0&i0,L0=(Q0|0)==0,!L0&&(F0=e[a0>>2]|0,U0=F0+(S0<<2)|0,y0=e[U0>>2]|0,q0=y0+(B1<<2)|0,x0=e[q0>>2]|0,D0=(x0|0)==0,!D0&&(M0=n5(I1,x)|0,J0=e[I>>2]|0,Y0=J0+M0|0,P0=Vv(x0,A,Y0,c,U,x)|0,V0=(P0|0)==-1,V0))){p1=23;break e}if(O0=h1+1|0,n1=I1+1|0,H0=(O0|0)<(k0|0),e1=(n1|0)<(D|0),d1=H0&e1,d1)I1=n1,h1=O0;else{z0=n1;break}}else z0=o1;if(b0=m1+1|0,i1=(z0|0)<(D|0),i1)o1=z0,m1=b0;else break}E=e[J>>2]|0,f1=E}else f1=g1;if(c1=B1+1|0,$1=(c1|0)<(f1|0),$1)g1=f1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function EQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=C,p=e[r>>2]|0,B=p+8|0,M=e[B>>2]|0,H=r+16|0,h0=e[H>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,n1=e[y0>>2]|0,a1=n1>>1,Q1=p+4|0,v=e[Q1>>2]|0,b=(v|0)<(a1|0),f=b?v:a1,w=e[p>>2]|0,y=f-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=B0+-1|0,T=F+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=Ht(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=$0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(O=r+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=r+28|0,X=(B0|0)>0,U=r+20|0,m=x^1,q1=0;e:for(;;){if(t0)for(a0=1<>2]|0,H0=jm(O0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(b0=e[W>>2]|0,i1=(H0|0)<(b0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=L+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=f1,r1=(f1|0)==0,V0=k1+1|0,r1){Y1=25;break e}if(N0=(V0|0)<(a|0),N0)k1=V0;else break}s0=(w1|0)<(Q|0),H1=X&s0;t:do if(H1){if(x)F1=w1,N1=0;else for(L1=w1,Z1=0;;)if(o1=Z1+1|0,z0=L1+1|0,I1=(o1|0)<(B0|0),h1=(z0|0)<(Q|0),K1=I1&h1,K1)L1=z0,Z1=o1;else{S1=z0;break t}for(;;){for(l0=n5(F1,M)|0,U1=0;;){if(c0=e[p>>2]|0,j=c0+l0|0,f0=L+(U1<<2)|0,d0=e[f0>>2]|0,w0=d0+(D1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,u0=e[k0>>2]|0,p0=(p+24|0)+(u0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,K0=(S0|0)==0,!K0&&(_0=e[U>>2]|0,Q0=_0+(u0<<2)|0,L0=e[Q0>>2]|0,F0=L0+(q1<<2)|0,T0=e[F0>>2]|0,U0=(T0|0)==0,!U0&&(q0=A+(U1<<2)|0,x0=e[q0>>2]|0,D0=x0+(j<<2)|0,M0=pB[c&3](T0,D0,J,M)|0,J0=(M0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,P0=(Y0|0)<(a|0),P0)U1=Y0;else break}if(i0=N1+1|0,n0=F1+1|0,K=(i0|0)<(B0|0),o0=(n0|0)<(Q|0),O1=K&o0,O1)F1=n0,N1=i0;else{S1=n0;break}}}else S1=w1;while(!1);if(m1=D1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,D1=m1;else break}if(E1=q1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)q1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function mQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=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[r>>2]|0,_=Q+8|0,a2=e[_>>2]|0,q2=Q+12|0,Z2=e[q2>>2]|0,C5=r+16|0,M1=e[C5>>2]|0,f5=e[M1>>2]|0,h3=Q+4|0,N3=e[h3>>2]|0,L=e[Q>>2]|0,J=N3-L|0,i0=(J|0)/(a2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=r+8|0,F0=e[C0>>2]|0,V0=(F0|0)>0,!V0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(f5|0)>1,n2=r+36|0,t2=(f5|0)>0,v2=r+20|0,w2=r+32|0,C2=0-f5|0,y2=F0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(V5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,I5=H2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(B5=Fh(H2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+B5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(k2=c+(S3<<2)|0,u5=e[k2>>2]|0,m5=u5+(V5<<2)|0,r5=e[m5>>2]|0,u6=1,r6=r5;;)if(X2=n5(r6,Z2)|0,x5=u6+V5|0,e5=(x5|0)<(i0|0),e5?(b5=u5+(x5<<2)|0,v5=e[b5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=u6+1|0,k3=(l5|0)==(f5|0),k3){x6=Q6;break}else u6=l5,r6=Q6;if(V2=e[C5>>2]|0,G2=V2+4|0,M2=e[G2>>2]|0,P2=(x6|0)<(M2|0),P2&&(z2=Fh(V2,x6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(R2=(V5|0)<(i0|0),b6=t2&R2,b6){for(_2=V5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,L5=0-N6|0,l6=V5,H3=0;;){if(W2=n5(l6,a2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(e6=0;;){if(t5=c+(e6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,R5=e[i5>>2]|0,j2=R5+a2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,x2=e[$5>>2]|0,Q5=x2&D2,H5=(Q5|0)==0,!H5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,u3=e[E5>>2]|0,J5=u3+(a6<<2)|0,X5=e[J5>>2]|0,r3=(X5|0)==0,!r3)){if(m3=A+(e6<<2)|0,F5=e[m3>>2]|0,K5=e[X5>>2]|0,w3=(a2|0)/(K5|0)&-1,f3=(w3|0)>0,f3){for(B3=X5+48|0,V3=X5+52|0,z5=X5+44|0,y3=X5+12|0,W5=X5+4|0,x=K5,k5=0,g3=0;;){i6=n5(g3,K5)|0,b=i6+p5|0,R3=F5+(b<<2)|0,G3=e[B3>>2]|0,a3=e[V3>>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){j3=0;break}for(G=l3+-1|0,d3=0,B6=0,q3=x;;)if(d0=q3+-1|0,D=b+d0|0,w0=F5+(D<<2)|0,k0=e[w0>>2]|0,u0=k0-G3|0,B0=(u0|0)<(c3|0),B0?(p0=c3-u0|0,I0=p0<<1,S0=I0+-1|0,L0=S0):(K0=u0-c3|0,_0=K0<<1,L0=_0),Q0=n5(B6,l3)|0,T0=(L0|0)<0,U0=(L0|0)>=(l3|0),y0=U0?G:L0,q0=T0?0:y0,x0=q0+Q0|0,D0=t3+(d0<<2)|0,e[D0>>2]=k0,M0=d3+1|0,W3=(M0|0)==(x|0),W3){j3=x0;break}else d3=M0,B6=x0,q3=d0}else{if(!F){j3=0;break}for(M=a3>>1,T=M-G3|0,N=l3+-1|0,v3=0,S6=0,b3=x;;)if(O=b3+-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?(H=c3-W|0,X=H<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),V=n5(S6,l3)|0,s0=(a0|0)<0,n0=(a0|0)>=(l3|0),K=n0?N:a0,h0=s0?0:K,o0=h0+V|0,c0=n5(W,a3)|0,j=c0+G3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,f0=v3+1|0,P3=(f0|0)==(x|0),P3){j3=o0;break}else v3=f0,S6=o0,b3=O}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,P0=e[Y0>>2]|0,N0=P0+j3|0,O0=d[N0>>0]|0,n1=O0<<24>>24<1;do if(n1){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=n5(H0,a3)|0,b0=e1+G3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)q5=-1,k6=0,c6=j3;else{R6=j3;break}for(;;){$1=P0+k6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(F)for(Y6=0,D3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=b+Y6|0,r1=F5+(w<<2)|0,o1=e[r1>>2]|0,z0=a1-o1|0,I1=n5(z0,z0)|0,h1=I1+D3|0,m1=Y6+1|0,n6=(m1|0)==(x|0),n6){d6=h1;break}else Y6=m1,D3=h1;else d6=0;if(d1=(q5|0)==-1,B1=(d6|0)<(q5|0),z3=d1|B1,!z3){U5=q5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=q5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(b0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,w1=M5+(R1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)<(b0|0),L1){E=w1,I=S1;break}else x1=w1,X3=R1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){R6=p6;break}else q5=U5,k6=N1,c6=p6}}else R6=j3;while(!1);if(D1=(R6|0)>-1,A6=F&D1,A6)for(f=R3,v6=0;K1=t3+(v6<<2)|0,O1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-O1|0,e[f>>2]=Y1,j1=v6+1|0,A3=(j1|0)==(x|0),!A3;)f=H1,v6=j1;if(W1=Fh(X5,R6,t)|0,P1=W1+k5|0,c2=g3+1|0,x3=(c2|0)==(w3|0),x3){m=P1;break}p=e[X5>>2]|0,x=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,f2=z1+O5|0,e[w2>>2]=f2,s2=E2+(l6<<2)|0,o2=e[s2>>2]|0,V1=O6+(o2<<2)|0,h2=e[V1>>2]|0,$2=h2+O5|0,e[V1>>2]=$2}if(i2=e6+1|0,f6=(i2|0)==(a|0),f6)break;e6=i2}if(A2=H3+1|0,X1=l6+1|0,p3=(A2|0)==(L5|0),p3)break;l6=X1,H3=A2}N2=V5-N6|0,O3=N2}else O3=V5;if(d2=(O3|0)<(i0|0),d2)V5=O3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(r2=a6+1|0,u2=(r2|0)<(e2|0),u2)y2=e2,a6=r2;else break}C=I6}function Tt(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;if(p=C,A=(t|0)==0,A)E=0;else for(r=t,I=0;;)if(a=r>>>1,c=I+1|0,f=(a|0)==0,f){E=c;break}else r=a,I=c;return E|0}function CQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,p=m?A:r,F=p<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,K=(r|0)>0;do if(K){u0=P1+4|0,U0=(A|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(b=P1+(B<<2)|0,w=e[b>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,c2=y|Q,!c2){V1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,L=P1+(B<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(H=w,X=L,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,$0=(K1|0)>1,!$0)break i;if(f=P1+(U<<2)|0,I=e[f>>2]|0,Z=P1+(U<<2)|0,V=I&1,a0=(V|0)==0,a0)H=I,X=Z,K1=U;else{c=Z,D1=U,V1=8;break}}else c=L,D1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,N=(D1|0)==1,N){G=e[u0>>2]|0,O=G+1|0,e[u0>>2]=O;break}else{z=D1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(L1=w,H1=B,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,n0=i0>>>1,h0=(n0|0)==(L1|0),!h0){E=1;break t}if(o0=P1+(H1<<2)|0,c0=e[o0>>2]|0,j=c0<<1,e[s0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)q1=j1,L1=i0,j1=O1,H1=q1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,f0=k1+1|0,d0=(f0|0)<(r|0),d0)p1=Q1,k1=f0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return I2(e0),a=0,C=h2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,V0=P1+(U1<<2)|0,N0=e[V0>>2]|0,n1=32-U1|0,H0=-1>>>n1,e1=N0&H0,b0=(e1|0)==0,Y0=U1+1|0,!!b0;)if(P0=(Y0|0)<33,P0)U1=Y0,V1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!K)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(f1=e0+(x1<<2)|0,g1=e[f1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,r1=g1>>>n2,o1=r1&1,z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=z0;else{f2=z0;break}else f2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=f2,E1=Z1+1|0,F1=(E1|0)==(r|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(J0=e0+(w1<<2)|0,T0=e[J0>>2]|0,M0=p0<<24>>24,W1=0,o2=0;;)if(L0=o2<<1,F0=T0>>>W1,y0=F0&1,q0=y0|L0,x0=W1+1|0,D0=(x0|0)<(M0|0),D0)W1=x0,o2=q0;else{s2=q0;break}else s2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(K0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=s2,S1=K0),Q0=N1+1|0,G1=(Q0|0)==(r|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function HS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0;if(H=C,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),L=_,x=+(D|0),F=1/x,M=F,T=+Rh(+L,+M),f=+zA(+T),E=~~f,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(B=n5(N,Y)|0,v=n5(G,b)|0,w=O+1|0,y=(w|0)<(D|0),y)N=B,G=v,O=w;else{r=B,A=v;break}if(I=(r|0)<=(c|0),m=(A|0)>(c|0),z=I&m,z){W=Y;break}p=(r|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function qS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return f=0,f|0;if(H0=t+16|0,r1=e[H0>>2]|0,R1=r1&2097151,D1=+(R1|0),z1=r1>>>21,A2=z1&1023,N2=(r1|0)<0,X2=-D1,a=N2?X2:D1,v=A2+-788|0,T=+tC(a,v),X=T,o0=t+20|0,p0=e[o0>>2]|0,q0=p0&2097151,V0=+(q0|0),N0=p0>>>21,O0=N0&1023,n1=(p0|0)<0,e1=-V0,c=n1?e1:V0,b0=O0+-788|0,i1=+tC(c,b0),c1=i1,$1=e[t>>2]|0,f1=n5($1,r)|0,g1=r4(f1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(p1|0),w1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+Rh(+w1,+F1),k1=+zA(+G1),U1=~~k1,$5=U1;;){for(f2=$5+1|0,r5=1,R2=1,I5=0;;)if(P1=n5(r5,$5)|0,c2=n5(R2,f2)|0,s2=I5+1|0,d5=(s2|0)==($1|0),d5){E=P1,I=c2;break}else r5=P1,R2=c2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),f5=N1&Z1,f5){x2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,R5=j2+$5|0,$5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(O1=(A|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if(a2=e[q1>>2]|0,t2=e[n2>>2]|0,$2=(t2|0)==0,i2=n5($1,_2)|0,$2)for(B5=1,W2=0;;)if(b5=(M1|0)/(B5|0)&-1,Z2=(b5|0)%(x2|0)&-1,u5=a2+(Z2<<2)|0,v5=e[u5>>2]|0,P5=+(v5|0),H2=+zi(+P5),l5=H2,k2=l5*Y1,m5=j1+k2,b=m5,w=i2+W2|0,y=g1+(w<<2)|0,s[y>>2]=b,D=n5(B5,x2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=D,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(L=(M1|0)/(A5|0)&-1,x=(L|0)%(x2|0)&-1,F=a2+(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=i2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=n5(A5,x2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)A5=H,g5=U,t5=J;else{Q5=21;break}else if(E2=e[H1>>2]|0,o2=E2+M1|0,V1=d[o2>>0]|0,h2=V1<<24>>24==0,h2)B2=_2;else for(X1=e[q1>>2]|0,r2=e[n2>>2]|0,u2=(r2|0)==0,e2=A+(_2<<2)|0,y2=e[e2>>2]|0,v2=n5(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=+zi(+d2),V2=_5,G2=V2*Y1,q2=s5,M2=q2+j1,P2=M2+G2,z2=P2,p5=u2?s5:z2,o5=v2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=n5(c5,x2)|0,x5=a5+1|0,e5=(x5|0)<($1|0),e5)c5=T1,a5=x5,s5=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),V=M1+1|0,a0=(V|0)<(p1|0),a0)_2=B2,M1=V;else{f=g1;break}}return f|0}else if((B|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,i0=s0+S5|0,n0=d[i0>>0]|0,K=n0<<24>>24==0,K?L5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,c0=e[d1>>2]|0,j=(c0|0)==0,l0=A+(C5<<2)|0,f0=n5($1,S5)|0,d0=n5($1,C5)|0,g2=0,J2=0;w0=f0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,u0=+(k0|0),D5=+zi(+u0),B0=D5,I0=B0*h1,S0=J2,K0=S0+m1,_0=K0+I0,Q0=_0,h5=j?J2:Q0,o1?(L0=e[l0>>2]|0,F0=n5(L0,$1)|0,T0=F0+g2|0,U0=g1+(T0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,x0=g1+(y0<<2)|0,s[x0>>2]=Q0),D0=g2+1|0,M0=(D0|0)<($1|0),M0;)g2=D0,J2=h5;J0=C5+1|0,L5=J0}if(Y0=S5+1|0,P0=(Y0|0)<(s1|0),P0)C5=L5,S5=Y0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function EB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,r=t+36|0,A=e[r>>2]|0,a=(A|0)==0,!a&&(c=t+32|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function YS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,r=t+16|0,A=e[r>>2]|0,m=(A|0)==0,m||I2(A),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),b=t+24|0,w=e[b>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||I2(a),f=t+32|0,E=e[f>>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 BQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0;N0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=r,I=r+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[r>>2]|0,e[t>>2]=C0,S0=r+8|0,K0=e[S0>>2]|0,_0=CQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[r>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),b=v,w=+(p|0),y=1/w,D=y,Q=+Rh(+b,+D),_=+zA(+Q),x=~~_,J0=x;;){for(O=J0+1|0,L0=1,F0=1,U0=0;;)if(N=n5(L0,J0)|0,G=n5(F0,O)|0,z=U0+1|0,T0=(z|0)==(p|0),T0){c=N,f=G;break}else L0=N,F0=G,U0=z;if(F=(c|0)<=(m|0),M=(f|0)>(m|0),y0=M&F,y0){Y0=J0;break}T=(c|0)>(m|0),M0=T?-1:1,D0=M0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=r+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-H,A=$0?Z:H,V=U+-788|0,a0=+tC(A,V),s0=a0,q0=+vQ(s0),n0=~~q0,K=t+48|0,e[K>>2]=n0,h0=r+20|0,o0=e[h0>>2]|0,c0=o0&2097151,j=+(c0|0),l0=o0>>>21,f0=l0&1023,d0=(o0|0)<0,w0=-j,a=d0?w0:j,k0=f0+-788|0,u0=+tC(a,k0),B0=u0,x0=+vQ(B0),p0=~~x0,I0=t+52|0,e[I0>>2]=p0,0}function JS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0;F3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=r+4|0,w=e[b>>2]|0,E2=(w|0)>0,E2)for(H2=r+8|0,p5=e[H2>>2]|0,H3=0,x6=0;;)if(Q5=p5+H3|0,K5=d[Q5>>0]|0,G3=K5<<24>>24>0,o6=G3&1,m=o6+x6|0,V5=H3+1|0,y=(V5|0)<(w|0),y)H3=V5,x6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,K0=e[r>>2]|0,e[t>>2]=K0,M0=(l0|0)>0,!M0)return a=0,C=F3,a|0;if(i1=r+8|0,I1=e[i1>>2]|0,S1=CQ(I1,w,l0)|0,H1=l0<<2,f=H1,o2=C,C=C+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),x5=t+24|0,e5=e[x5>>2]|0,b5=(e5|0)==0,b5||I2(e5),u5=t+28|0,v5=e[u5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=F3,a|0}else b3=0;for(;q2=S1+(b3<<2)|0,Z2=e[q2>>2]|0,C5=Z2>>>16,L5=Z2<<16,d5=C5|L5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,B5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,f5=s5<<1,i5=f5&-1431655766,R5=J2|i5,e[q2>>2]=R5,j2=o2+(b3<<2)|0,e[j2>>2]=q2,$5=b3+1|0,Y6=($5|0)==(l0|0),!Y6;)b3=$5;for(Th(o2,l0,4,10),E=H1,x2=C,C=C+((1*E|0)+15&-16)|0,H5=S9(H1)|0,j5=t+20|0,e[j5>>2]=H5,E5=S1,q3=0;;)if(u3=o2+(q3<<2)|0,h3=e[u3>>2]|0,J5=h3,X5=J5-E5|0,r3=X5>>2,m3=x2+(r3<<2)|0,e[m3>>2]=q3,F5=q3+1|0,R6=(F5|0)==(l0|0),R6){z3=0;break}else q3=F5;for(;w3=S1+(z3<<2)|0,f3=e[w3>>2]|0,B3=x2+(z3<<2)|0,V3=e[B3>>2]|0,N3=H5+(V3<<2)|0,e[N3>>2]=f3,z5=z3+1|0,p6=(z5|0)==(l0|0),!p6;)z3=z5;if(I2(S1),y3=qS(r,l0,x2)|0,W5=t+16|0,e[W5>>2]=y3,i6=S9(H1)|0,R3=t+24|0,e[R3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,b6=0,I6=0;;)if(c3=p+b6|0,C3=d[c3>>0]|0,q5=C3<<24>>24>0,q5?(U5=I6+1|0,O5=x2+(I6<<2)|0,k5=e[O5>>2]|0,U3=i6+(k5<<2)|0,e[U3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{V6=J6;break}else V6=0;if(A3=S9(V6)|0,x3=t+28|0,e[x3>>2]=A3,f6=t+40|0,e[f6>>2]=0,l3){for(B=e[i1>>2]|0,r5=0,k3=B,A6=0,W6=0;;)if(p3=k3+A6|0,Q3=d[p3>>0]|0,n6=Q3<<24>>24>0,n6?(W3=W6+1|0,P3=x2+(W6<<2)|0,v3=e[P3>>2]|0,g3=e[x3>>2]|0,O3=g3+v3|0,d[O3>>0]=Q3,l6=e[i1>>2]|0,d3=l6+A6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[f6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[f6>>2]=v6,R2=v6,_2=l6,G6=W3):(R2=S6,_2=l6,G6=W3)):(R2=r5,_2=k3,G6=W6),j3=A6+1|0,D=e[b>>2]|0,Q=(j3|0)<(D|0),Q)r5=R2,k3=_2,A6=j3,W6=G6;else{I=R2,e9=G6;break}if(_=(e9|0)==1,_){if(L=(I|0)==1,L)return x=t+36|0,e[x>>2]=1,F=r4(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=F3,a|0;L3=1}else L3=e9}else L3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)L6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else c=z,U6=Y;s9=D6+-3|0,L6=s9}if(J=t+36|0,W=(L6|0)<5,A=W?5:L6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,H=1<>2]=X,$0=(L3|0)>0,$0)for(n0=z6,t3=0;;){if(V=e[x3>>2]|0,a0=V+t3|0,s0=d[a0>>0]|0,i0=s0<<24>>24,K=(n0|0)<(i0|0),K)B2=n0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,c0=e[o0>>2]|0,j=c0>>>16,f0=c0<<16,d0=j|f0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,u0=k0&-16711936,B0=C0|u0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,L0=Q0>>>2,F0=L0&858993459,T0=Q0<<2,U0=T0&-858993460,y0=F0|U0,q0=y0>>>1,x0=q0&1431655765,D0=y0<<1,J0=D0&-1431655766,Y0=x0|J0,P0=n0-i0|0,V0=(P0|0)==31,V0)B2=n0;else for(N0=t3+1|0,n1=i0,s3=0;;)if(O0=s3<>2]=N0,b0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,w1=Q1<<8,L1=w1&-16711936,F1=x1|L1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,D1=N1>>>2,K1=D1&858993459,O1=N1<<2,q1=O1&-858993460,Y1=K1|q1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(d6=a6;;){if(V1=d6+1|0,h2=(V1|0)<(L3|0),!h2){D3=d6;break}if(a2=e[j5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>E1>>>0,i2){D3=d6;break}else d6=V1}A2=(L3|0)>(C6|0);e:do if(A2)for(X1=e[j5>>2]|0,X3=C6;;){if(r2=X1+(X3<<2)|0,u2=e[r2>>2]|0,y2=u2&z0,v2=E1>>>0>>0,v2){S3=X3;break e}if(w2=X3+1|0,C2=(L3|0)>(w2|0),C2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);F2=L3-S3|0,D2=D3>>>0>32767,N2=F2>>>0>32767,u6=N2?32767:F2,N6=D3<<15,r6=N6|-2147483648,d2=D2?-1073774592:r6,V2=d2|u6,e[z1>>2]=V2,e6=S3,Q6=D3}else e6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(H|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=e6,O6=G2,a6=Q6}return C=F3,a|0}function KS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[r>>2]|0,f=e[c>>2]|0,E=a>>>0>f>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function VS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0;if(K0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,H=e[M>>2]|0,i0=t+8|0,n0=e[i0>>2]|0,K=n0+4|0,h0=e[K>>2]|0,o0=(h0|0)>0,!!o0)){for(c0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,u0=1;;){v=c0-w0|0,b=n0+(v<<2)|0,w=e[b>>2]|0,y=(C0|0)/(w|0)&-1,D=(p|0)/(C0|0)&-1,Q=n5(D,y)|0,_=w+-1|0,L=n5(D,_)|0,x=d0-L|0,F=1-u0|0;do if((w|0)==2)if(Y=(F|0)==0,A=m+x|0,t0=H+(A<<2)|0,Y){wQ(D,y,r,H,t0),B0=0;break}else{wQ(D,y,H,r,t0),B0=F;break}else if((w|0)==4)if(T=x+D|0,N=(F|0)==0,a=m+x|0,G=H+(a<<2)|0,c=m+T|0,O=H+(c<<2)|0,f=m+D|0,E=f+T|0,z=H+(E<<2)|0,N){yQ(D,y,r,H,G,O,z),B0=0;break}else{yQ(D,y,H,r,G,O,z),B0=F;break}else if(J=(D|0)==1,k0=J?u0:F,W=(k0|0)==0,I=m+x|0,e0=H+(I<<2)|0,W){kQ(D,w,y,Q,r,r,r,H,H,e0),B0=1;break}else{kQ(D,w,y,Q,H,H,H,r,r,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=x,w0=X,C0=y,u0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)f0=0;else return;for(;Z=H+(f0<<2)|0,V=e[Z>>2]|0,a0=r+(f0<<2)|0,e[a0>>2]=V,s0=f0+1|0,j=(s0|0)==(p|0),!j;)f0=s0}}function pQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0;if(I1=C,e[t>>2]=r,E=r*3|0,I=r4(E,4)|0,L=t+4|0,e[L>>2]=I,J=r4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(r|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,f1=r,l1=0;e:for(;;)for(_0=H0+1|0,Q0=(_0|0)<4,Q0?(L0=25768+(_0<<2)|0,m=e[L0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=f1;;){if(J0=P0+1|0,v=(g1|0)/(s1|0)&-1,b=n5(v,s1)|0,w=(g1|0)==(b|0),!w){H0=_0,$1=P0,f1=g1,l1=s1;continue e}if(y=P0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(x0=1;x=J0-x0|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=x0+1|0,y0=(O|0)==(J0|0),!y0;)x0=O;e[K0>>2]=2}if(z=(v|0)==1,z){A=Q,Y0=J0,V0=P0;break e}else P0=J0,g1=v}if(e[J>>2]=r,Y=J+4|0,e[Y>>2]=Y0,t0=+(r|0),W=6.2831854820251465/t0,a=A^1,e0=(V0|0)>0,r1=e0&a,!!r1)for(H=r+1|0,N0=0,b0=0,i1=1;;){if(X=b0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=n5($0,i1)|0,V=(r|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(s0=(V|0)>2,n0=$0+-1|0,n1=N0,e1=0,c1=0;;){if(K=c1+i1|0,h0=+(K|0),o0=h0*W,s0)for(q0=0,D0=n1,M0=2;c0=q0+1,j=o0*c0,F0=+ZA(+j),c=D0+r|0,l0=I+(c<<2)|0,s[l0>>2]=F0,o1=+Nr(+j),f0=D0+2|0,f=H+D0|0,d0=I+(f<<2)|0,s[d0>>2]=o1,w0=M0+2|0,k0=(w0|0)<(V|0),k0;)q0=c0,D0=f0,M0=w0;if(u0=n1+V|0,B0=e1+1|0,T0=(B0|0)==(n0|0),T0)break;n1=u0,e1=B0,c1=K}p0=n5(V,n0)|0,I0=p0+N0|0,O0=I0}else O0=N0;if(S0=b0+1|0,U0=(S0|0)==(V0|0),U0)break;N0=O0,b0=S0,i1=Z}}}function QQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,r=(t|0)==0,!r&&(A=t+4|0,a=e[A>>2]|0,c=(a|0)==0,c||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 yQ(t,r,A,a,c,f,E){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0;if(u3=C,I=n5(r,t)|0,m=I<<1,m1=(r|0)>0,m1)for(F1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,g2=0,s5=I,f5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,u5=+s[M2>>2],L5=A+(f5<<2)|0,p=+s[L5>>2],F=p+u5,e0=A+(j2<<2)|0,K=+s[e0>>2],u0=A+($5<<2)|0,U0=+s[u0>>2],O0=U0+K,s1=O0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-F,E1=V1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[u0>>2],R1=p1-Q1,x1=I1+y2|0,w1=x1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=R1,L1=+s[L5>>2],G1=+s[M2>>2],k1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=f5+t|0,D1=j2+t|0,K1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(r|0),!g5;)g2=O1,s5=Z1,f5=N1,j2=D1,$5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,x2=j,H5=l0;P1=i5+2|0,c2=x2+2|0,z1=H5+-2|0,f2=P1+I|0,s2=W2+-2|0,E2=c+(s2<<2)|0,o2=+s[E2>>2],h2=f2+-1|0,a2=A+(h2<<2)|0,t2=+s[a2>>2],$2=t2*o2,i2=W2+-1|0,A2=c+(i2<<2)|0,X1=+s[A2>>2],r2=A+(f2<<2)|0,u2=+s[r2>>2],e2=u2*X1,v2=e2+$2,w2=u2*o2,C2=X1*t2,F2=w2-C2,D2=f2+I|0,N2=f+(s2<<2)|0,d2=+s[N2>>2],V2=D2+-1|0,G2=A+(V2<<2)|0,q2=+s[G2>>2],P2=q2*d2,z2=f+(i2<<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*q2,Z2=e5-b5,v5=D2+I|0,P5=E+(s2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=A+(k2<<2)|0,r5=+s[m5>>2],R2=r5*l5,_2=E+(i2<<2)|0,B2=+s[_2>>2],C5=A+(v5<<2)|0,d5=+s[C5>>2],D5=d5*B2,G5=D5+R2,_5=d5*l5,H2=B2*r5,I5=_5-H2,A5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=A+(P1<<2)|0,v=+s[B>>2],b=v+Z2,w=v-Z2,y=i5+1|0,D=A+(y<<2)|0,Q=+s[D>>2],_=Q+x5,L=Q-x5,x=A5+_,M=x2|1,T=a+(M<<2)|0,s[T>>2]=x,N=B5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=H5+-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,H=c2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(H<<2)|0,s[Z>>2]=$0,V=_-A5,a0=z1+j1|0,s0=a0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=V,n0=B5-b,h0=a+(a0<<2)|0,s[h0>>2]=n0,o0=W2+2|0,c0=(o0|0)<(t|0),c0;)W2=o0,i5=P1,x2=c2,H5=z1;if(n2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(r|0),a5)break;p5=W1,h5=n2}if(f0=t&1,d0=(f0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,R5=p0,Q5=t,j5=t;I0=A+(J2<<2)|0,S0=+s[I0>>2],K0=A+(R5<<2)|0,_0=+s[K0>>2],Q0=_0+S0,L0=Q0*-.7071067690849304,F0=S0-_0,T0=F0*.7071067690849304,y0=j5+-1|0,q0=A+(y0<<2)|0,x0=+s[q0>>2],D0=T0+x0,M0=Q5+-1|0,J0=a+(M0<<2)|0,s[J0>>2]=D0,Y0=+s[q0>>2],P0=Y0-T0,V0=Q5+B0|0,N0=V0+-1|0,n1=a+(N0<<2)|0,s[n1>>2]=P0,H0=J2+I|0,e1=A+(H0<<2)|0,b0=+s[e1>>2],i1=L0-b0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+L0,g1=a+(V0<<2)|0,s[g1>>2]=f1,l1=J2+t|0,a1=R5+t|0,r1=Q5+k0|0,o1=j5+t|0,z0=t5+1|0,S5=(z0|0)==(r|0),!S5;)t5=z0,J2=l1,R5=a1,Q5=r1,j5=o1}}function wQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,f=n5(r,t)|0,E=t<<1,_=(r|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=f;s0=A+(d1<<2)|0,w0=+s[s0>>2],L0=A+(p1<<2)|0,P0=+s[L0>>2],f1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,m=+s[s0>>2],p=+s[L0>>2],B=m-p,v=t0+s1|0,b=a+(v<<2)|0,s[b>>2]=B,w=d1+t|0,y=p1+t|0,D=I1+1|0,r1=(D|0)==(r|0),!r1;)I1=D,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=f;;){for(q0=E1<<1,x0=q0+E|0,z0=2,x1=Q1,S1=x0,L1=E1,F1=q0;T=x1+2|0,N=S1+-2|0,G=L1+2|0,O=F1+2|0,z=z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=A+(W<<2)|0,H=+s[e0>>2],X=H*J,U=z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],V=A+(T<<2)|0,a0=+s[V>>2],i0=a0*Z,n0=i0+X,K=a0*J,h0=Z*H,o0=K-h0,c0=A+(G<<2)|0,j=+s[c0>>2],l0=o0+j,f0=a+(O<<2)|0,s[f0>>2]=l0,d0=+s[c0>>2],C0=o0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,u0=L1+1|0,B0=A+(u0<<2)|0,p0=+s[B0>>2],I0=p0+n0,S0=F1|1,K0=a+(S0<<2)|0,s[K0>>2]=I0,_0=+s[B0>>2],Q0=_0-n0,F0=S1+-3|0,T0=a+(F0<<2)|0,s[T0>>2]=Q0,U0=z0+2|0,y0=(U0|0)<(t|0),y0;)z0=U0,x1=T,S1=N,L1=G,F1=O;if(x=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(r|0),o1)break;h1=M,E1=x,Q1=F}if(D0=(t|0)%2&-1,M0=(D0|0)==1,M0)return}if(J0=t+-1|0,!!_)for(Y0=f+J0|0,m1=0,B1=t,R1=Y0,w1=J0;V0=A+(R1<<2)|0,N0=+s[V0>>2],O0=-N0,n1=a+(B1<<2)|0,s[n1>>2]=O0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,b0=B1+-1|0,i1=a+(b0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(r|0),!a1;)m1=l1,B1=c1,R1=$1,w1=g1}}function kQ(t,r,A,a,c,f,E,I,m,p){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0;p8=C,b=+(r|0),w=6.2831854820251465/b,u8=+ZA(+w),Nt=+Nr(+w),E2=r+1|0,p3=E2>>1,U9=t+-1|0,U4=U9>>1,L9=n5(A,t)|0,C9=n5(r,t)|0,g4=(t|0)==1;e:do if(!g4){if(wt=(a|0)>0,wt)for(we=0;l0=E+(we<<2)|0,K0=e[l0>>2]|0,M0=m+(we<<2)|0,e[M0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(r|0)>1,O)for(Z=(A|0)>0,B8=1,qt=0;;){if(I1=qt+L9|0,Z)for(st=0,e4=I1;S1=f+(e4<<2)|0,H1=e[S1>>2]|0,o2=I+(e4<<2)|0,e[o2>>2]=H1,e2=e4+t|0,q2=st+1|0,j9=(q2|0)==(A|0),!j9;)st=q2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(r|0),s8)break;B8=Z2,qt=I1}if(C5=0-t|0,M1=(U4|0)>(A|0),M1){if(O)for(N3=(A|0)>0,q5=(t|0)>2,I3=C5,q9=1,Dt=0;;){if(k3=Dt+L9|0,k6=I3+t|0,N3)for(X3=k3-t|0,s3=k6+-1|0,a8=0,Rt=X3;;){if(L3=Rt+t|0,q5)for(o8=2,ue=s3,E7=L3;F3=ue+2|0,E6=E7+2|0,E9=ue+1|0,j4=p+(E9<<2)|0,N4=+s[j4>>2],G4=E7+1|0,a4=f+(G4<<2)|0,L4=+s[a4>>2],f4=L4*N4,Ce=p+(F3<<2)|0,H9=+s[Ce>>2],m9=f+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*H9,Xe=Ne+f4,Ge=I+(G4<<2)|0,s[Ge>>2]=Xe,P4=+s[j4>>2],X4=+s[m9>>2],be=X4*P4,e8=+s[Ce>>2],Z9=+s[a4>>2],ae=Z9*e8,u4=be-ae,_6=I+(E6<<2)|0,s[_6>>2]=u4,O4=o8+2|0,$4=(O4|0)<(t|0),$4;)o8=O4,ue=F3,E7=E6;if(_4=a8+1|0,r8=(_4|0)==(A|0),r8)break;a8=_4,Rt=L3}if($e=q9+1|0,I8=($e|0)==(r|0),I8)break;I3=k6,q9=$e,Dt=k3}}else if(O)for(f5=(t|0)>2,h3=(A|0)>0,qe=C5,re=1,Gt=0;;){if(W9=qe+t|0,le=Gt+L9|0,f5)for(ce=W9+-1|0,m8=2,A8=ce,i7=le;;){if(B4=A8+2|0,ee=i7+2|0,h3)for(F4=A8+1|0,ge=p+(F4<<2)|0,g6=p+(B4<<2)|0,$8=0,Vt=ee;Ue=+s[ge>>2],l4=Vt+-1|0,pe=f+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],De=f+(Vt<<2)|0,_e=+s[De>>2],t8=_e*P6,k4=t8+c4,f8=I+(l4<<2)|0,s[f8>>2]=k4,Y3=+s[ge>>2],w9=+s[De>>2],B9=w9*Y3,M4=+s[g6>>2],te=+s[pe>>2],$t=te*M4,Re=B9-$t,lt=I+(Vt<<2)|0,s[lt>>2]=Re,z8=Vt+t|0,ct=$8+1|0,D8=(ct|0)==(A|0),!D8;)$8=ct,Vt=z8;if(gt=m8+2|0,F8=(gt|0)<(t|0),F8)m8=gt,A8=B4,i7=ee;else break}if(M8=re+1|0,he=(M8|0)==(r|0),he)break;qe=W9,re=M8,Gt=le}if(T8=n5(L9,r)|0,N8=(U4|0)<(A|0),Z8=(p3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,kt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(B0=l8+L9|0,p0=U7-L9|0,W8)for(Y4=0,n7=B0,r7=p0;;){if(kt)for(ye=2,zt=n7,y7=r7;I0=zt+2|0,S0=y7+2|0,_0=zt+1|0,Q0=I+(_0<<2)|0,L0=+s[Q0>>2],F0=y7+1|0,T0=I+(F0<<2)|0,U0=+s[T0>>2],y0=U0+L0,q0=f+(_0<<2)|0,s[q0>>2]=y0,x0=I+(I0<<2)|0,D0=+s[x0>>2],J0=I+(S0<<2)|0,Y0=+s[J0>>2],P0=D0-Y0,V0=f+(F0<<2)|0,s[V0>>2]=P0,N0=+s[x0>>2],O0=+s[J0>>2],n1=O0+N0,H0=f+(I0<<2)|0,s[H0>>2]=n1,e1=+s[T0>>2],b0=+s[Q0>>2],c1=e1-b0,$1=f+(S0<<2)|0,s[$1>>2]=c1,f1=ye+2|0,g1=(f1|0)<(t|0),g1;)ye=f1,zt=I0,y7=S0;if(l1=n7+t|0,s1=r7+t|0,a1=Y4+1|0,H4=(a1|0)==(A|0),H4)break;Y4=a1,n7=l1,r7=s1}if(r1=Ye+1|0,Le=(r1|0)==(p3|0),Le)break e;Ye=r1,l8=B0,U7=p0}}if(Z8)for(D=(t|0)>2,Q=(A|0)>0,D9=1,Yt=0,G7=T8;;){if(_=Yt+L9|0,L=G7-L9|0,D)for(fe=2,m7=_,p7=L;;){if(x=m7+2|0,F=p7+2|0,Q)for(M=F-t|0,T=x-t|0,_8=0,K7=T,$i=M;N=K7+t|0,G=$i+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],H=e0+t0,X=f+(z<<2)|0,s[X>>2]=H,U=I+(N<<2)|0,$0=+s[U>>2],V=I+(G<<2)|0,a0=+s[V>>2],s0=$0-a0,i0=f+(J<<2)|0,s[i0>>2]=s0,n0=+s[U>>2],K=+s[V>>2],h0=K+n0,o0=f+(N<<2)|0,s[o0>>2]=h0,c0=+s[W>>2],j=+s[Y>>2],f0=c0-j,d0=f+(G<<2)|0,s[d0>>2]=f0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,K7=N,$i=G;if(C0=fe+2|0,k0=(C0|0)<(t|0),k0)fe=C0,m7=x,p7=F;else break}if(u0=D9+1|0,n8=(u0|0)==(p3|0),n8)break;D9=u0,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,q8=(m1|0)==(a|0),!q8;)Q4=m1;if(d1=n5(a,r)|0,E1=(p3|0)>1,E1){for(B1=(A|0)>0,Y8=1,x8=0,P7=d1;;){if(p1=x8+L9|0,Q1=P7-L9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,ot=0,si=x1,Ai=R1;w1=si+t|0,L1=Ai+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(L1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=f+(w1<<2)|0,s[N1>>2]=Z1,D1=+s[k1>>2],K1=+s[F1>>2],O1=D1-K1,q1=f+(L1<<2)|0,s[q1>>2]=O1,Y1=ot+1|0,ie=(Y1|0)==(A|0),!ie;)ot=Y1,si=w1,Ai=L1;if(j1=Y8+1|0,tt=(j1|0)==(p3|0),tt)break;Y8=j1,x8=p1,P7=Q1}if(n2=r+-1|0,W1=n5(n2,a)|0,E1){for(P1=(p3|0)>2,G8=0,P8=1,Ke=1,_t=0,d7=d1;;){if(c2=_t+a|0,z1=d7-a|0,f2=P8*u8,s2=G8*Nt,V1=f2-s2,h2=G8*u8,a2=P8*Nt,t2=a2+h2,y)for(C8=0,H7=c2,o7=z1,z7=W1,Wt=a;$2=E+(C8<<2)|0,i2=+s[$2>>2],A2=Wt+1|0,X1=E+(Wt<<2)|0,r2=+s[X1>>2],u2=r2*V1,y2=u2+i2,v2=H7+1|0,w2=m+(H7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*t2,d2=o7+1|0,V2=m+(o7<<2)|0,s[V2>>2]=N2,G2=C8+1|0,ft=(G2|0)==(a|0),!ft;)C8=G2,H7=v2,o7=d2,z7=C2,Wt=A2;if(P1)for(U8=t2,k8=V1,ut=2,q7=a,Ut=W1;;){if(M2=q7+a|0,P2=Ut-a|0,z2=k8*V1,o5=U8*t2,O2=z2-o5,T1=U8*V1,X2=k8*t2,x5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,xt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,u5=+s[b5>>2],v5=u5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,r5=xt+1|0,R2=E+(xt<<2)|0,_2=+s[R2>>2],B2=_2*x5,L5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+B2,s[d5>>2]=G5,_5=it+1|0,vt=(_5|0)==(a|0),!vt;)it=_5,w7=P5,S7=L5,b7=e5,xt=r5;if(H2=ut+1|0,et=(H2|0)==(p3|0),et)break;U8=x5,k8=O2,ut=H2,q7=M2,Ut=P2}if(I5=Ke+1|0,St=(I5|0)==(p3|0),St)break;G8=t2,P8=V1,Ke=I5,_t=c2,d7=z1}if(E1)for(nt=1,V8=0;;){if(A5=V8+a|0,y)for(q4=0,Jt=A5;c5=Jt+1|0,B5=E+(Jt<<2)|0,S5=+s[B5>>2],g5=m+(q4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=q4+1|0,ht=(g2|0)==(a|0),!ht;)q4=g2,Jt=c5;if(p5=nt+1|0,Qe=(p5|0)==(p3|0),Qe)break;nt=p5,V8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,He=0;;){if(i5)for(Je=0,de=He,Kt=He;J5=I+(de<<2)|0,X5=e[J5>>2]|0,r3=c+(Kt<<2)|0,e[r3>>2]=X5,m3=de+t|0,F5=Kt+C9|0,K5=Je+1|0,xe=(K5|0)==(A|0),!xe;)Je=K5,de=m3,Kt=F5;if(w3=He+1|0,i8=(w3|0)==(t|0),i8)break;He=w3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,R8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;R5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,x2=Y7+1|0,Q5=c+(Y7<<2)|0,e[Q5>>2]=$5,H5=Oe+1|0,S8=(H5|0)==(t|0),!S8;)Oe=H5,O7=R5,Y7=x2;if(j5=Me+t|0,E5=I7+C9|0,u3=R8+1|0,k9=(u3|0)==(A|0),k9)break;R8=u3,Me=j5,I7=E5}if(f3=t<<1,B3=n5(L9,r)|0,E1)for(V3=(A|0)>0,rt=1,bt=0,C7=0,J7=B3;;){if(z5=bt+f3|0,y3=C7+L9|0,W5=J7-L9|0,V3)for(p9=0,Zt=z5,k7=y3,W7=W5;i6=I+(k7<<2)|0,R3=e[i6>>2]|0,G3=Zt+-1|0,a3=c+(G3<<2)|0,e[a3>>2]=R3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=c+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=k7+t|0,k5=W7+t|0,U3=p9+1|0,d8=(U3|0)==(A|0),!d8;)p9=U3,Zt=U5,k7=O5,W7=k5;if(M5=rt+1|0,Pe=(M5|0)==(p3|0),Pe)break;rt=M5,bt=z5,C7=y3,J7=W5}if(!g4){if(o6=(U4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(B=(A|0)<1,v=(t|0)<3,v8=B|v,J8=1,at=e3,B7=0,s7=0,ai=B3;;){if(f6=at+f3|0,Q3=B7+f3|0,n6=s7+L9|0,W3=ai-L9|0,!v8)for(At=0,Z7=f6,A7=Q3,ke=n6,a7=W3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],j3=X9+a7|0,c6=j3+-1|0,p6=I+(c6<<2)|0,R6=+s[p6>>2],Y6=R6+B6,C6=X9+A7|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=Y6,u6=+s[S6>>2],H3=+s[p6>>2],b3=u6-H3,q3=l6+Z7|0,z3=q3+-1|0,b6=c+(z3<<2)|0,s[b6>>2]=b3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(j3<<2)|0,a6=+s[O6>>2],d6=a6+t3,D3=c+(C6<<2)|0,s[D3>>2]=d6,N6=+s[O6>>2],r6=+s[A6>>2],Q6=N6-r6,x6=c+(q3<<2)|0,s[x6>>2]=Q6,V6=X9+2|0,I6=(V6|0)<(t|0),I6;)X9=V6;if(P3=Z7+C9|0,V5=A7+C9|0,v3=ke+t|0,g3=a7+t|0,O3=At+1|0,j8=(O3|0)==(A|0),j8)break;At=O3,Z7=P3,A7=V5,ke=v3,a7=g3}if(J6=J8+1|0,X8=(J6|0)==(p3|0),X8)break;J8=J6,at=f6,B7=Q3,s7=n6,ai=W3}return}if(E1)for(A3=(t|0)>2,x3=(A|0)>0,ne=1,se=e3,oi=0,Q7=0,V7=B3;;){if(W6=se+f3|0,G6=oi+f3|0,e9=Q7+L9|0,s9=V7-L9|0,A3&&(L6=W6+t|0,x3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,T4=L6-Fe|0,K8=0,v7=T4,Pt=x4,D7=D4,r9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=r9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],j6=A9+F6,f9=Pt+-1|0,u9=c+(f9<<2)|0,s[u9>>2]=j6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=v7+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(r9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=c+(Pt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,H6=c+(v7<<2)|0,s[H6>>2]=b9,n9=v7+C9|0,m4=Pt+C9|0,S4=D7+t|0,A4=r9+t|0,y9=K8+1|0,O8=(y9|0)==(A|0),!O8;)K8=y9,v7=n9,Pt=m4,D7=S4,r9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=ne+1|0,H8=(C4|0)==(p3|0),H8)break;ne=C4,se=W6,oi=G6,Q7=e9,V7=s9}}}function zS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0,Xs=0,Ur=0,eo=0,Pr=0,to=0,io=0,Or=0,no=0,Zn=0,ro=0,so=0,oo=0,Hr=0,Ao=0,qr=0,Yr=0,ao=0,Wn=0,Jr=0,jn=0,Kr=0,Vr=0,$o=0,lo=0,co=0,Xn=0,zr=0,go=0,mn=0,er=0,ho=0,fo=0,tr=0,li=0,Zr=0,uo=0,Io=0,Wr=0,jr=0,Xr=0,Eo=0,ci=0,ir=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,nr=0,Cn=0,rr=0,bo=0,Wi=0,Do=0,ns=0,sr=0,rs=0,or=0,_o=0,ss=0,os=0,Ro=0,As=0,as=0,xo=0,Bn=0,$s=0,gi=0,Ar=0,pn=0,ji=0,Qn=0,Hi=0,yn=0,ls=0,qi=0,Qi=0,yi=0,j7=0,wi=0,wn=0,Xi=0,en=0,kn=0,hi=0,Lo=0,$7=0,tl=0,ar=0,$r=0,Nh=0,il=0,Fo=0,Gh=0,XA=0,nl=0,Uh=0,Ph=0,Oh=0,ea=0,rl=0,sl=0,ta=0,lr=0,ol=0,Hh=0,Mo=0,tn=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vn=0,ef=0,tf=0,al=0,nf=0,ia=0,To=0,na=0,rf=0,sf=0,ra=0,$l=0,ll=0,cl=0,sa=0,gl=0,No=0,of=0,Af=0,hl=0,af=0,$f=0,fl=0,lf=0,cf=0,ul=0,dl=0,Il=0,El=0,ml=0,cr=0,gf=0,Cl=0,hf=0,Bl=0,pl=0,ff=0,uf=0,df=0,oa=0,Ql=0,yl=0,cs=0,wl=0,Aa=0,If=0,kl=0,Ef=0,vl=0,mf=0,Cf=0,Sl=0,bl=0,Bf=0,Go=0,pf=0,aa=0,Dl=0,_l=0,Qf=0,yf=0,wf=0,kf=0,vf=0,Sf=0,Uo=0,Rl=0,xl=0,Ll=0,Po=0,bf=0,Fl=0,Df=0,Ml=0,_f=0,Rf=0,Tl=0,$a=0,xf=0,Lf=0,Oo=0,Ff=0,Ho=0,Mf=0,la=0,Tf=0,Nf=0,Gf=0,Nl=0,Uf=0,Pf=0,Of=0,Hf=0,Gl=0,Ul=0,nn=0,Pl=0,qo=0,ca=0,ga=0,gr=0,Ol=0,hr=0,qf=0,Hl=0,Yf=0,Jf=0,Kf=0,Vf=0,Yo=0,ha=0,Sn=0,zf=0,Zf=0,ql=0,fa=0,Yl=0,Jl=0,Wf=0,Kl=0,jf=0,ua=0,Xf=0,eu=0,P9=0,tu=0,Vl=0,iu=0,nu=0,da=0,ru=0,Ia=0,zl=0,su=0,ou=0,Zl=0,Wl=0,Au=0,Ea=0,ma=0,jl=0,Xl=0,au=0,ec=0,Ca=0,$u=0,tc=0,lu=0,cu=0,gu=0,hu=0,ic=0,nc=0,Ba=0,Jo=0,rc=0,fu=0,sc=0,oc=0,uu=0,du=0,Iu=0,Ac=0,Eu=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,ac=0,yu=0,$c=0,wu=0,fr=0,ku=0,lc=0,vu=0,gs=0,cc=0,pa=0,Su=0,Ko=0,Qa=0,bu=0,ya=0,gc=0,Du=0,_u=0,Ru=0,xu=0,Lu=0,hc=0,Fu=0,Mu=0,Tu=0,Vo=0,hs=0,wa=0,Nu=0,ka=0,Gu=0,Uu=0,Pu=0,fc=0,Ou=0,Hu=0,qu=0,Yu=0,Ju=0,zo=0,Ku=0,Vu=0,uc=0,zu=0,Zu=0,Wu=0,ju=0,fi=0,dc=0,ui=0,Ic=0,va=0,Xu=0,X7=0,fs=0,ed=0,td=0,id=0,nd=0,rd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,us=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Zo=0,gd=0,hd=0,Bc=0,pc=0,fd=0,ud=0,ur=0,dd=0,Id=0,dr=0,Ed=0,Qc=0,md=0,Cd=0,ds=0,yc=0,Bd=0,wc=0,pd=0,rn=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Is=0,Dd=0,Ir=0,_d=0,Rd=0,Da=0,xd=0,_a=0,Ra=0,Ld=0,Dc=0,_c=0,Fd=0,Rc=0,xc=0,Lc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,xa=0,Oc=0,Hc=0,qc=0,Yc=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,zd=0,Jc=0,La=0,Zd=0,Wd=0,jd=0,Kc=0,Vc=0,Xd=0,zc=0,Fa=0,Wo=0,Zc=0,eI=0,tI=0,iI=0,nI=0,Wc=0,jo=0,rI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,fI=0,uI=0,Xo=0,Xc=0,dI=0,II=0,Er=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,ng=0,rg=0,CI=0,BI=0,pI=0,QI=0,yI=0,eA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,bn=0,ag=0,$g=0,RI=0,lg=0,tA=0,xI=0,LI=0,FI=0,iA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,fg=0,ug=0,HI=0,qI=0,Es=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,KI=0,VI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,rA=0,XI=0,eE=0,tE=0,ms=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,ki=0,yg=0,sn=0,nE=0,rE=0,sE=0,oE=0,Ua=0,sA=0,wg=0,kg=0,AE=0,oA=0,Cs=0,aE=0,AA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,aA=0,Sg=0,gE=0,hE=0,fE=0,uE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,Ha=0,EE=0,Dn=0,Bs=0,mE=0,CE=0,Rg=0,qa=0,BE=0,xg=0,Lg=0,Fg=0,Ya=0,Ja=0,Mg=0,ps=0,Ka=0,Tg=0,pE=0,mr=0,QE=0,Ng=0,$A=0,yE=0,Gg=0,vi=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,Si=0,_E=0,RE=0,xE=0,Ug=0,di=0,lA=0,Va=0,Pg=0,Og=0,LE=0,Hg=0,qg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Kg=0,GE=0,Qs=0,cA=0,gA=0,UE=0,za=0,PE=0,OE=0,Vg=0,ys=0,HE=0,qE=0,Za=0,Wa=0,hA=0,ja=0,Xa=0,on=0,_n=0,Rn=0,e$=0,t$=0,ws=0,An=0,Cr=0,YE=0,an=0,Br=0,JE=0,_7=0,R7=0,x7=0,fA=0,uA=0,zg=0,Zg=0,dA=0,i$=0,L7=0,IA=0,xn=0,n$=0,KE=0,r$=0,VE=0,s$=0,Wg=0,EA=0,zE=0,ZE=0,mA=0,WE=0,CA=0,pr=0,Ve=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,BA=0,tm=0,im=0,nm=0,rm=0,eh=0,sm=0,om=0,Am=0,ti=0,pA=0,Qr=0,A$=0,ks=0,vs=0,Xt=0,Ss=0,th=0,ih=0,QA=0,bs=0,Ds=0,_s=0,am=0,Rs=0,$n=0,nh=0,Ln=0,ii=0,a$=0,$$=0,Yi=0,l$=0,c$=0,g$=0,Fn=0,$6=0,yA=0,Mn=0,rh=0,ve=0,h$=0,Q8=0,xs=0,yr=0,wr=0,F9=0,kr=0,Tn=0,J4=0,f$=0,wB=0,$m=0,rC=0,sC=0,kB=0,lm=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,HQ=0,qQ=0,YQ=0,JQ=0,KQ=0,VQ=0,vB=0,SB=0,zQ=0,ZQ=0,WQ=0,sh=0,oC=0,Ii=0,oh=0,Ah=0,ah=0,$h=0,cm=0,gm=0,hm=0,fm=0,um=0,dm=0,Im=0,Em=0,mm=0,Cm=0,AC=0,wA=0,ln=0,u$=0,lh=0,d$=0,bB=0,kA=0,Bm=0,I$=0,aC=0,$C=0,pm=0,lC=0,cC=0,gC=0,hC=0,fC=0,uC=0,dC=0,DB=0,_B=0,RB=0,xB=0,LB=0,vA=0,SA=0,bA=0,DA=0,jQ=0,cn=0,t4=0,yb=0,_A=0,IC=0;if(yb=C,c0=t+28|0,j=e[c0>>2]|0,X8=(j|0)==0,X8||(o7=j+3456|0,ls=e[o7>>2]|0,Rl=(ls|0)==0,r=Rl&1,gs=j+3496|0,Rc=+A1[gs>>3],hg=Rc>-80,hg?A1[gs>>3]=-80:(ME=Rc<-200,ME&&(A1[gs>>3]=-200)),l0=j+3512|0,Z2=+A1[l0>>3],s3=Z2>0,s3?A1[l0>>3]=0:(C4=Z2<-99999,C4&&(A1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,F4=(_6|0)==0,F4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,Re=j+3400|0,W8=+A1[Re>>3],d8=_6+24|0,St=e[d8>>2]|0,he=_6+28|0,Fe=e[he>>2]|0,ne=~~W8,K8=St+(ne<<2)|0,Nt=e[K8>>2]|0,V8=Fe+(ne<<2)|0,I7=e[V8>>2]|0,e[j>>2]=Nt,p7=j+4|0,e[p7>>2]=I7,Ut=(Nt|0)==(I7|0),Wt=_6+144|0,dt=e[Wt>>2]|0,io=(dt|0)>0,io){for(ao=_6+136|0,go=_6+140|0,jr=_6+148|0,Wi=W8,Sn=j,AC=0;;){if(Qo=~~Wi,as=e[ao>>2]|0,qi=e[go>>2]|0,$7=e[jr>>2]|0,Ph=$7+(AC<<2)|0,qh=e[Ph>>2]|0,vn=r4(1,1120)|0,$l=qh+(Qo<<2)|0,fl=e[$l>>2]|0,hf=qi+(fl*1120|0)|0,s4(vn|0,hf|0,1120)|0,Aa=e[vn>>2]|0,pf=(Aa|0)>0,pf){for(xl=vn+4|0,oC=0,dC=-1;;)if(Ca=xl+(oC<<2)|0,rc=e[Ca>>2]|0,Bu=(rc|0)>(dC|0),t0=Bu?rc:dC,cc=oC+1|0,KQ=(cc|0)==(Aa|0),KQ){J=t0;break}else oC=cc,dC=t0;if(xf=(J|0)<0,!xf){for(Uf=vn+256|0,gr=Sn+24|0,Xf=vn+192|0,su=vn+320|0,d$=0,gC=-1;;){if(vc=Uf+(d$<<2)|0,Ir=e[vc>>2]|0,xc=(Ir|0)>(gC|0),z=xc?Ir:gC,Uc=e[gr>>2]|0,qd=Uc+Ir|0,e[vc>>2]=qd,Kc=Xf+(d$<<2)|0,Wc=e[Kc>>2]|0,gI=(Wc|0)==31,gI)hC=z;else for(y9=Wc,lC=0,uC=z;;)if(Ma=(su+(d$<<5)|0)+(lC<<2)|0,eA=e[Ma>>2]|0,Ag=(eA|0)>(uC|0),Y=Ag?eA:uC,cg=(eA|0)>-1,cg?(fg=e[gr>>2]|0,VI=fg+eA|0,e[Ma>>2]=VI,e0=e[Kc>>2]|0,Pa=e0):Pa=y9,ms=lC+1|0,sE=1<>2]|0,Xu=e[Vu>>2]|0,mc=e[gr>>2]|0,hd=mc+1|0,e[gr>>2]=hd,md=(Sn+1824|0)+(mc<<2)|0,e[md>>2]=Xu,HQ=(fC|0)==0,!HQ))for(bB=0;Ja=bB+1|0,Z=e[$l>>2]|0,Gg=as+(Z<<2)|0,xE=e[Gg>>2]|0,Yg=xE+(Ja<<2)|0,PE=e[Yg>>2]|0,on=e[gr>>2]|0,JE=on+1|0,e[gr>>2]=JE,IA=(Sn+1824|0)+(on<<2)|0,e[IA>>2]=PE,OQ=(Ja|0)==(fC|0),!OQ;)bB=Ja}}if(mA=Sn+16|0,em=e[mA>>2]|0,pA=(Sn+800|0)+(em<<2)|0,e[pA>>2]=1,Ds=e[mA>>2]|0,l$=(Sn+1056|0)+(Ds<<2)|0,e[l$>>2]=vn,f0=e[mA>>2]|0,_0=f0+1|0,e[mA>>2]=_0,J0=AC+1|0,c1=e[Wt>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+A1[Re>>3],n0=e[c0>>2]|0,Wi=W,Sn=n0,AC=J0}h0=e[c0>>2]|0,z5=h0}else z5=j;L1=j+3520|0,q1=+A1[L1>>3],o2=_6+124|0,e2=e[o2>>2]|0,q2=_6+128|0,u5=e[q2>>2]|0,L5=~~q1,S5=+(L5|0),i5=q1-S5,J5=z5+2868|0,U5=u5+(L5<<3)|0,k3=+A1[U5>>3],k6=~~k3,X3=e2+(k6*492|0)|0,s4(J5|0,X3|0,492)|0,a6=+A1[U5>>3],W6=1-i5,M6=a6*W6,T6=L5+1|0,H6=u5+(T6<<3)|0,b4=+A1[H6>>3],D4=b4*i5,x4=D4+M6,T4=~~x4,j4=+(T4|0),N4=x4-j4,U9=N4==0,G4=(T4|0)>0,DB=G4&U9,I=DB?1:N4,a4=DB<<31>>31,F=a4+T4|0,L4=1-I,f4=F+1|0,Ce=(e2+(F*492|0)|0)+4|0,H9=+s[Ce>>2],m9=H9,Be=L4*m9,Xe=(e2+(f4*492|0)|0)+4|0,U4=+s[Xe>>2],Ge=U4,P4=I*Ge,X4=Be+P4,be=X4,e8=z5+2872|0,s[e8>>2]=be,Z9=(e2+(F*492|0)|0)+32|0,ae=+s[Z9>>2],u4=ae,O4=L4*u4,L9=(e2+(f4*492|0)|0)+32|0,$4=+s[L9>>2],_4=$4,$e=I*_4,W9=O4+$e,le=W9,ce=z5+2900|0,s[ce>>2]=le,B4=(e2+(F*492|0)|0)+8|0,ee=+s[B4>>2],ge=ee,C9=L4*ge,g6=(e2+(f4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=z5+2876|0,s[P6>>2]=c4,De=(e2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,k4=L4*g4,f8=(e2+(f4*492|0)|0)+36|0,Y3=+s[f8>>2],w9=Y3,B9=w9*I,M4=B9+k4,te=M4,$t=z5+2904|0,s[$t>>2]=te,lt=(e2+(F*492|0)|0)+12|0,wt=+s[lt>>2],z8=wt,ct=z8*L4,gt=(e2+(f4*492|0)|0)+12|0,F8=+s[gt>>2],M8=F8,T8=M8*I,N8=T8+ct,Z8=N8,kt=z5+2880|0,s[kt>>2]=Z8,G8=(e2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*L4,v8=(e2+(f4*492|0)|0)+40|0,u8=+s[v8>>2],O8=u8,H8=O8*I,j8=H8+k8,Pe=j8,xe=z5+2908|0,s[xe>>2]=Pe,i8=(e2+(F*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,ht=k9*L4,Qe=(e2+(f4*492|0)|0)+16|0,ft=+s[Qe>>2],vt=ft,et=vt*I,ie=et+ht,tt=ie,q8=z5+2884|0,s[q8>>2]=tt,b8=(e2+(F*492|0)|0)+44|0,n8=+s[b8>>2],H4=n8,Le=H4*L4,r8=(e2+(f4*492|0)|0)+44|0,I8=+s[r8>>2],D8=I8,j9=D8*I,s8=j9+Le,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,He=_6+132|0,X9=e[He>>2]|0,ue=j+3472|0,A8=+A1[ue>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,q4=it,I3=e[c0>>2]|0,qe=(X9|0)==0;e:do if(qe)B8=I3+4|0,q9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=q9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=q9,ut=I3+3304|0,e[ut>>2]=D9,nt=I3+3248|0,e[nt>>2]=q9,rt=I3+3308|0,e[rt>>2]=D9,J8=I3+3252|0,e[J8>>2]=q9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=q9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=q9,Y4=I3+3320|0,e[Y4>>2]=D9,ot=I3+3264|0,e[ot>>2]=q9,R8=I3+3324|0,e[R8>>2]=D9,Je=I3+3268|0,e[Je>>2]=q9,p9=I3+3328|0,e[p9>>2]=D9,At=I3+3272|0,e[At>>2]=q9,Ke=I3+3332|0,e[Ke>>2]=D9,qt=I3+3276|0,e[qt>>2]=q9,bt=I3+3336|0,e[bt>>2]=D9,at=I3+3280|0,e[at>>2]=q9,Dt=I3+3340|0,e[Dt>>2]=D9,se=I3+3284|0,e[se>>2]=q9,Gt=I3+3344|0,e[Gt>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=q9,l8=I3+3348|0,e[l8>>2]=D9,x8=I3+3292|0,e[x8>>2]=q9,_t=I3+3352|0,e[_t>>2]=D9,Me=I3+3296|0,e[Me>>2]=q9,de=I3+3356|0,e[de>>2]=D9;else{e4=I3+3120|0,Rt=X9+(Q4*240|0)|0,cn=e4,_A=Rt,IC=cn+60|0;do e[cn>>2]=e[_A>>2]|0,cn=cn+4|0,_A=_A+4|0;while((cn|0)<(IC|0));i7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,cn=i7,_A=G7,IC=cn+60|0;do e[cn>>2]=e[_A>>2]|0,cn=cn+4|0,_A=_A+4|0;while((cn|0)<(IC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-q4,Kt=Q4+1|0,E7=t+8|0,Vt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),ln=0;;){if(n7=((X9+(Q4*240|0)|0)+120|0)+(ln<<2)|0,si=+s[n7>>2],O7=si,C7=O7*Jt,B7=((X9+(Kt*240|0)|0)+120|0)+(ln<<2)|0,oi=+s[B7>>2],r7=oi,Ai=r7*q4,H7=Ai+C7,q7=H7,Y7=q7,J7=Y7*1e3,s7=J7/m7,Q7=e[I3>>2]|0,K7=+(Q7|0),zt=K7*s7,Zt=~~zt,ai=(I3+3e3|0)+(ln<<2)|0,e[ai>>2]=Zt,V7=e[Vt>>2]|0,$i=+(V7|0),y7=$i*s7,z7=~~y7,w7=(I3+3060|0)+(ln<<2)|0,e[w7>>2]=z7,k7=~~q7,Z7=(I3+2940|0)+(ln<<2)|0,e[Z7>>2]=k7,v7=((X9+(Q4*240|0)|0)+180|0)+(ln<<2)|0,S7=+s[v7>>2],W7=S7,A7=W7*Jt,Pt=((X9+(Kt*240|0)|0)+180|0)+(ln<<2)|0,b7=+s[Pt>>2],ke=b7,D7=ke*q4,xt=D7+A7,a7=xt,r9=a7,p8=r9*1e3,It=p8/m7,Lt=e[I3>>2]|0,zn=+(Lt|0),En=zn*It,Xs=~~En,Ur=(I3+3240|0)+(ln<<2)|0,e[Ur>>2]=Xs,eo=e[Vt>>2]|0,Pr=+(eo|0),to=Pr*It,Or=~~to,no=(I3+3300|0)+(ln<<2)|0,e[no>>2]=Or,Zn=ln+1|0,YQ=(Zn|0)==15,YQ)break e;ln=Zn}for(ro=(X9+(Q4*240|0)|0)+148|0,so=+s[ro>>2],oo=so,Hr=1-q4,Ao=oo*Hr,qr=Q4+1|0,Yr=(X9+(qr*240|0)|0)+148|0,Wn=+s[Yr>>2],Jr=Wn,jn=Jr*q4,Kr=jn+Ao,Vr=Kr,$o=Vr,lo=$o*1e3,co=t+8|0,Xn=I3+4|0,zr=~~Vr,$0=e[co>>2]|0,mn=+($0|0),er=lo/mn,lh=0;ho=e[I3>>2]|0,fo=+(ho|0),tr=fo*er,li=~~tr,Zr=(I3+3e3|0)+(lh<<2)|0,e[Zr>>2]=li,uo=e[Xn>>2]|0,Io=+(uo|0),Wr=Io*er,Xr=~~Wr,Eo=(I3+3060|0)+(lh<<2)|0,e[Eo>>2]=Xr,ci=(I3+2940|0)+(lh<<2)|0,e[ci>>2]=zr,ir=lh+1|0,VQ=(ir|0)==15,!VQ;)lh=ir;for(mo=(X9+(Q4*240|0)|0)+208|0,es=+s[mo>>2],Co=es,Bo=Co*Hr,po=(X9+(qr*240|0)|0)+208|0,ts=+s[po>>2],yo=ts,wo=yo*q4,ko=wo+Bo,is=ko,vo=is,So=vo*1e3,nr=So/mn,Bm=0;Cn=e[I3>>2]|0,rr=+(Cn|0),bo=rr*nr,Do=~~bo,ns=(I3+3240|0)+(Bm<<2)|0,e[ns>>2]=Do,sr=e[Xn>>2]|0,rs=+(sr|0),or=rs*nr,_o=~~or,ss=(I3+3300|0)+(Bm<<2)|0,e[ss>>2]=_o,os=Bm+1|0,qQ=(os|0)==15,!qQ;)Bm=os}while(!1);for(Ro=+A1[Re>>3],As=_6+92|0,xo=e[As>>2]|0,Bn=_6+100|0,$s=e[Bn>>2]|0,gi=_6+108|0,Ar=e[gi>>2]|0,pn=e[c0>>2]|0,ji=pn+2852|0,Qn=e[ji>>2]|0,Hi=~~Ro,yn=pn+28|0,Qi=e[yn>>2]|0,yi=(Qi|0)>0,yi||(e[yn>>2]=1),j7=(Qn|0)==0,j7?(wi=r4(1,520)|0,e[ji>>2]=wi,vA=wi):vA=Qn,s4(vA|0,25784,520)|0,e[vA>>2]=0,wn=pn+3460|0,Xi=e[wn>>2]|0,en=(Xi|0)==0,en||(kn=vA+500|0,e[kn>>2]=1,hi=xo+(Hi<<2)|0,Lo=e[hi>>2]|0,tl=vA+504|0,e[tl>>2]=Lo,ar=$s+(Hi<<2)|0,$r=e[ar>>2]|0,Nh=vA+508|0,e[Nh>>2]=$r,il=Ar+(Hi<<3)|0,Fo=+A1[il>>3],Gh=vA+512|0,A1[Gh>>3]=Fo),XA=+A1[Re>>3],nl=e[As>>2]|0,Uh=e[Bn>>2]|0,Oh=e[gi>>2]|0,ea=e[c0>>2]|0,rl=ea+2856|0,sl=e[rl>>2]|0,ta=~~XA,lr=ea+28|0,ol=e[lr>>2]|0,Hh=(ol|0)>1,Hh||(e[lr>>2]=2),Mo=(sl|0)==0,Mo?(tn=r4(1,520)|0,e[rl>>2]=tn,SA=tn):SA=sl,s4(SA|0,25784,520)|0,e[SA>>2]=0,Yh=ea+3460|0,Jh=e[Yh>>2]|0,Kh=(Jh|0)==0,Kh||(Vh=SA+500|0,e[Vh>>2]=1,zh=nl+(ta<<2)|0,Zh=e[zh>>2]|0,Wh=SA+504|0,e[Wh>>2]=Zh,jh=Uh+(ta<<2)|0,Xh=e[jh>>2]|0,Al=SA+508|0,e[Al>>2]=Xh,ef=Oh+(ta<<3)|0,tf=+A1[ef>>3],al=SA+512|0,A1[al>>3]=tf),Ut||(nf=+A1[Re>>3],ia=_6+96|0,To=e[ia>>2]|0,na=_6+104|0,rf=e[na>>2]|0,sf=e[gi>>2]|0,ra=e[c0>>2]|0,ll=ra+2860|0,cl=e[ll>>2]|0,sa=~~nf,gl=ra+28|0,No=e[gl>>2]|0,of=(No|0)>2,of||(e[gl>>2]=3),Af=(cl|0)==0,Af?(hl=r4(1,520)|0,e[ll>>2]=hl,bA=hl):bA=cl,s4(bA|0,25784,520)|0,e[bA>>2]=1,af=ra+3460|0,$f=e[af>>2]|0,lf=($f|0)==0,lf||(cf=bA+500|0,e[cf>>2]=1,ul=To+(sa<<2)|0,dl=e[ul>>2]|0,Il=bA+504|0,e[Il>>2]=dl,El=rf+(sa<<2)|0,ml=e[El>>2]|0,cr=bA+508|0,e[cr>>2]=ml,gf=sf+(sa<<3)|0,Cl=+A1[gf>>3],Bl=bA+512|0,A1[Bl>>3]=Cl),pl=+A1[Re>>3],ff=e[ia>>2]|0,uf=e[na>>2]|0,df=e[gi>>2]|0,oa=e[c0>>2]|0,Ql=oa+2864|0,yl=e[Ql>>2]|0,cs=~~pl,wl=oa+28|0,If=e[wl>>2]|0,kl=(If|0)>3,kl||(e[wl>>2]=4),Ef=(yl|0)==0,Ef?(vl=r4(1,520)|0,e[Ql>>2]=vl,DA=vl):DA=yl,s4(DA|0,25784,520)|0,e[DA>>2]=1,mf=oa+3460|0,Cf=e[mf>>2]|0,Sl=(Cf|0)==0,Sl||(bl=DA+500|0,e[bl>>2]=1,Bf=ff+(cs<<2)|0,Go=e[Bf>>2]|0,aa=DA+504|0,e[aa>>2]=Go,Dl=uf+(cs<<2)|0,_l=e[Dl>>2]|0,Qf=DA+508|0,e[Qf>>2]=_l,yf=df+(cs<<3)|0,wf=+A1[yf>>3],kf=DA+512|0,A1[kf>>3]=wf)),vf=(j+3528|0)+(r<<5)|0,Sf=+A1[vf>>3],Uo=_6+32|0,Ll=e[Uo>>2]|0,Po=_6+36|0,bf=e[Po>>2]|0,Fl=_6+44|0,Df=e[Fl>>2]|0,Xm(t,Sf,0,Ll,bf,Df),Ml=j+3560|0,_f=+A1[Ml>>3],Rf=e[Uo>>2]|0,Tl=e[Po>>2]|0,$a=_6+52|0,Lf=e[$a>>2]|0,Xm(t,_f,1,Rf,Tl,Lf),Ut||(Oo=j+3592|0,Ff=+A1[Oo>>3],Ho=e[Uo>>2]|0,Mf=e[Po>>2]|0,la=e[$a>>2]|0,Xm(t,Ff,2,Ho,Mf,la),Tf=j+3624|0,Nf=+A1[Tf>>3],Gf=e[Uo>>2]|0,Nl=e[Po>>2]|0,Pf=_6+48|0,Of=e[Pf>>2]|0,Xm(t,Nf,3,Gf,Nl,Of)),Hf=((j+3528|0)+(r<<5)|0)+24|0,Gl=+A1[Hf>>3],Ul=_6+80|0,nn=e[Ul>>2]|0,Pl=_6+84|0,qo=e[Pl>>2]|0,ca=~~Gl,ga=+(ca|0),Ol=Gl-ga,hr=e[c0>>2]|0,qf=hr+2852|0,Hl=e[qf>>2]|0,Yf=qo+(ca<<3)|0,Jf=+A1[Yf>>3],Kf=1-Ol,Vf=Jf*Kf,Yo=ca+1|0,ha=qo+(Yo<<3)|0,zf=+A1[ha>>3],Zf=zf*Ol,ql=Zf+Vf,fa=~~ql,Yl=+(fa|0),Jl=ql-Yl,Wf=Jl==0,Kl=(fa|0)>0,_B=Kl&Wf,a=_B?1:Jl,jf=_B<<31>>31,M=jf+fa|0,ua=1-a,eu=M+1|0,oh=0;P9=(nn+(M*160|0)|0)+(oh<<2)|0,tu=e[P9>>2]|0,Vl=+(tu|0),iu=Vl*ua,nu=(nn+(eu*160|0)|0)+(oh<<2)|0,da=e[nu>>2]|0,ru=+(da|0),Ia=ru*a,zl=Ia+iu,ou=zl,Zl=(Hl+336|0)+(oh<<2)|0,s[Zl>>2]=ou,Wl=oh+1|0,NQ=(Wl|0)==40,!NQ;)oh=Wl;for(Au=j+3584|0,Ea=+A1[Au>>3],ma=~~Ea,jl=+(ma|0),Xl=Ea-jl,au=hr+2856|0,ec=e[au>>2]|0,$u=qo+(ma<<3)|0,tc=+A1[$u>>3],lu=1-Xl,cu=tc*lu,gu=ma+1|0,hu=qo+(gu<<3)|0,ic=+A1[hu>>3],nc=ic*Xl,Ba=nc+cu,Jo=~~Ba,fu=+(Jo|0),sc=Ba-fu,oc=sc==0,uu=(Jo|0)>0,RB=uu&oc,c=RB?1:sc,du=RB<<31>>31,T=du+Jo|0,Iu=1-c,Ac=T+1|0,Ah=0;Eu=(nn+(T*160|0)|0)+(Ah<<2)|0,mu=e[Eu>>2]|0,Cu=+(mu|0),pu=Cu*Iu,Qu=(nn+(Ac*160|0)|0)+(Ah<<2)|0,ac=e[Qu>>2]|0,yu=+(ac|0),$c=yu*c,wu=$c+pu,fr=wu,ku=(ec+336|0)+(Ah<<2)|0,s[ku>>2]=fr,lc=Ah+1|0,GQ=(lc|0)==40,!GQ;)Ah=lc;if(!Ut){for(vu=j+3616|0,pa=+A1[vu>>3],Su=_6+88|0,Ko=e[Su>>2]|0,Qa=~~pa,bu=+(Qa|0),ya=pa-bu,gc=hr+2860|0,Du=e[gc>>2]|0,_u=Ko+(Qa<<3)|0,Ru=+A1[_u>>3],Lu=1-ya,hc=Ru*Lu,Fu=Qa+1|0,Mu=Ko+(Fu<<3)|0,Tu=+A1[Mu>>3],Vo=Tu*ya,hs=Vo+hc,wa=~~hs,Nu=+(wa|0),ka=hs-Nu,Uu=ka==0,Pu=(wa|0)>0,xB=Pu&Uu,f=xB?1:ka,fc=xB<<31>>31,N=fc+wa|0,Ou=1-f,Hu=N+1|0,ah=0;qu=(nn+(N*160|0)|0)+(ah<<2)|0,Yu=e[qu>>2]|0,Ju=+(Yu|0),zo=Ju*Ou,Ku=(nn+(Hu*160|0)|0)+(ah<<2)|0,uc=e[Ku>>2]|0,zu=+(uc|0),Zu=zu*f,Wu=Zu+zo,ju=Wu,fi=(Du+336|0)+(ah<<2)|0,s[fi>>2]=ju,dc=ah+1|0,UQ=(dc|0)==40,!UQ;)ah=dc;for(ui=j+3648|0,Ic=+A1[ui>>3],va=~~Ic,X7=+(va|0),fs=Ic-X7,ed=hr+2864|0,td=e[ed>>2]|0,id=Ko+(va<<3)|0,nd=+A1[id>>3],rd=1-fs,Ec=nd*rd,sd=va+1|0,od=Ko+(sd<<3)|0,Ad=+A1[od>>3],ad=Ad*fs,us=ad+Ec,Sa=~~us,$d=+(Sa|0),Cc=us-$d,ld=Cc==0,cd=(Sa|0)>0,LB=cd&ld,E=LB?1:Cc,Zo=LB<<31>>31,G=Zo+Sa|0,gd=1-E,Bc=G+1|0,$h=0;pc=(nn+(G*160|0)|0)+($h<<2)|0,fd=e[pc>>2]|0,ud=+(fd|0),ur=ud*gd,dd=(nn+(Bc*160|0)|0)+($h<<2)|0,Id=e[dd>>2]|0,dr=+(Id|0),Ed=dr*E,Qc=Ed+ur,Cd=Qc,ds=(td+336|0)+($h<<2)|0,s[ds>>2]=Cd,yc=$h+1|0,PQ=(yc|0)==40,!PQ;)$h=yc}for(Bd=((j+3528|0)+(r<<5)|0)+8|0,wc=+A1[Bd>>3],pd=_6+40|0,rn=e[pd>>2]|0,ba=~~wc,Qd=+(ba|0),kc=wc-Qd,yd=rn+(ba<<2)|0,wd=e[yd>>2]|0,Sc=+(wd|0),kd=1-kc,vd=Sc*kd,Sd=ba+1|0,bc=rn+(Sd<<2)|0,bd=e[bc>>2]|0,Is=+(bd|0),Dd=Is*kc,_d=Dd+vd,Rd=_d,Da=Hl+32|0,s[Da>>2]=Rd,xd=j+3568|0,_a=+A1[xd>>3],Ra=~~_a,Ld=+(Ra|0),Dc=_a-Ld,_c=rn+(Ra<<2)|0,Fd=e[_c>>2]|0,Lc=+(Fd|0),Md=1-Dc,Fc=Lc*Md,Mc=Ra+1|0,Td=rn+(Mc<<2)|0,Nd=e[Td>>2]|0,Tc=+(Nd|0),Nc=Tc*Dc,Gd=Nc+Fc,Gc=Gd,Ud=ec+32|0,s[Ud>>2]=Gc,Ut||(Pd=j+3600|0,Pc=+A1[Pd>>3],xa=~~Pc,Oc=+(xa|0),Hc=Pc-Oc,qc=hr+2860|0,Yc=e[qc>>2]|0,Od=rn+(xa<<2)|0,Hd=e[Od>>2]|0,Yd=+(Hd|0),Jd=1-Hc,Kd=Yd*Jd,Vd=xa+1|0,zd=rn+(Vd<<2)|0,Jc=e[zd>>2]|0,La=+(Jc|0),Zd=La*Hc,Wd=Zd+Kd,jd=Wd,Vc=Yc+32|0,s[Vc>>2]=jd,Xd=j+3632|0,zc=+A1[Xd>>3],Fa=~~zc,Wo=+(Fa|0),Zc=zc-Wo,eI=hr+2864|0,tI=e[eI>>2]|0,iI=rn+(Fa<<2)|0,nI=e[iI>>2]|0,jo=+(nI|0),rI=1-Zc,sI=jo*rI,oI=Fa+1|0,AI=rn+(oI<<2)|0,aI=e[AI>>2]|0,$I=+(aI|0),lI=$I*Zc,cI=lI+sI,jc=cI,hI=tI+32|0,s[hI>>2]=jc),fI=((j+3528|0)+(r<<5)|0)+16|0,uI=+A1[fI>>3],Xo=_6+76|0,Xc=e[Xo>>2]|0,dI=_6+60|0,II=e[dI>>2]|0,Er=_6+56|0,eg=e[Er>>2]|0,Rl?ig=0:(tg=j+3408|0,EI=+A1[tg>>3],ig=EI),eC(t,uI,0,Xc,II,eg,ig),mI=j+3576|0,ng=+A1[mI>>3],rg=e[Xo>>2]|0,CI=_6+64|0,BI=e[CI>>2]|0,pI=e[Er>>2]|0,eC(t,ng,1,rg,BI,pI,0),Ut?(Es=e[c0>>2]|0,YI=Es+2852|0,dg=e[YI>>2]|0,JI=Es+3496|0,Ga=+A1[JI>>3],Ig=Ga,KI=dg+4|0,s[KI>>2]=Ig,zI=Es+3504|0,ZI=+A1[zI>>3],Eg=ZI,WI=dg+8|0,s[WI>>2]=Eg,jI=Es+2856|0,mg=e[jI>>2]|0,rA=mg+4|0,s[rA>>2]=Ig,XI=mg+8|0,s[XI>>2]=Eg,sn=Es):(QI=j+3608|0,yI=+A1[QI>>3],Ta=e[Xo>>2]|0,wI=_6+68|0,kI=e[wI>>2]|0,vI=e[Er>>2]|0,eC(t,yI,2,Ta,kI,vI,0),SI=j+3640|0,sg=+A1[SI>>3],bI=e[Xo>>2]|0,og=_6+72|0,DI=e[og>>2]|0,_I=e[Er>>2]|0,eC(t,sg,3,bI,DI,_I,0),bn=e[c0>>2]|0,ag=bn+2852|0,$g=e[ag>>2]|0,RI=bn+3496|0,lg=+A1[RI>>3],tA=lg,xI=$g+4|0,s[xI>>2]=tA,LI=bn+3504|0,FI=+A1[LI>>3],iA=FI,MI=$g+8|0,s[MI>>2]=iA,TI=bn+2856|0,gg=e[TI>>2]|0,NI=gg+4|0,s[NI>>2]=tA,GI=gg+8|0,s[GI>>2]=iA,Na=bn+2860|0,nA=e[Na>>2]|0,UI=nA+4|0,s[UI>>2]=tA,PI=nA+8|0,s[PI>>2]=iA,OI=bn+2864|0,ug=e[OI>>2]|0,HI=ug+4|0,s[HI>>2]=tA,qI=ug+8|0,s[qI>>2]=iA,sn=bn),eE=+A1[Re>>3],tE=_6+152|0,Cg=e[tE>>2]|0,Bg=~~eE,iE=Cg+(Bg<<3)|0,pg=e[iE>>2]|0,Qg=(Cg+(Bg<<3)|0)+4|0,ki=e[Qg>>2]|0,yg=e[sn>>2]|0,nE=sn+4|0,rE=e[nE>>2]|0,oE=(yg|0)==(rE|0),A=oE?1:2,Ua=sn+8|0,sA=sn+12|0,wg=t+8|0,kg=t+4|0,Ii=0;;){if(AE=r4(1,3208)|0,oA=(sn+544|0)+(Ii<<2)|0,e[oA>>2]=AE,Cs=r4(1,16)|0,aE=(sn+32|0)+(Ii<<2)|0,e[aE>>2]=Cs,AA=26304+(Ii<<4)|0,e[Cs>>2]=e[AA>>2]|0,e[Cs+4>>2]=e[AA+4>>2]|0,e[Cs+8>>2]=e[AA+8>>2]|0,e[Cs+12>>2]=e[AA+12>>2]|0,$E=e[Ua>>2]|0,Oa=(Ii|0)<($E|0),Oa||(lE=Ii+1|0,e[Ua>>2]=lE),cE=(sn+288|0)+(Ii<<2)|0,e[cE>>2]=0,vg=e[oA>>2]|0,aA=pg+(Ii*3208|0)|0,s4(vg|0,aA|0,3208)|0,Sg=e[sA>>2]|0,gE=(Ii|0)<(Sg|0),gE||(hE=Ii+1|0,e[sA>>2]=hE),fE=e[aA>>2]|0,bg=(fE|0)>0,bg)for($C=0;;){dE=((pg+(Ii*3208|0)|0)+1092|0)+($C<<2)|0,jt=e[dE>>2]|0,y4=e[c0>>2]|0,ei=S9(2840)|0,IE=(y4+1568|0)+(jt<<2)|0,e[IE>>2]=ei,Dg=(ki+(jt<<5)|0)+12|0,_g=e[Dg>>2]|0,s4(ei|0,_g|0,2840)|0,Ha=y4+20|0,EE=e[Ha>>2]|0,Bs=(EE|0)>(jt|0),Bs||(mE=jt+1|0,e[Ha>>2]=mE),CE=(ki+(jt<<5)|0)+8|0,Rg=e[CE>>2]|0,qa=ei+8|0,e[qa>>2]=Rg,BE=ki+(jt<<5)|0,xg=e[BE>>2]|0,Lg=(y4+1312|0)+(jt<<2)|0,e[Lg>>2]=xg,Fg=y4+3420|0,Ya=e[Fg>>2]|0,Mg=(Ya|0)==0,ps=ei+12|0,Ka=e[ps>>2]|0,Tg=(Ka|0)>0;do if(Mg){if(Tg)for(Ng=(ki+(jt<<5)|0)+24|0,$A=e[Ng>>2]|0,yE=ei+24|0,kA=0;;)if(an=yE+(kA<<2)|0,Br=$A+(kA<<4)|0,_7=e[Br>>2]|0,R7=(_7|0)==0,R7||(x7=e[an>>2]|0,fA=x7|1,e[an>>2]=fA),uA=($A+(kA<<4)|0)+4|0,zg=e[uA>>2]|0,Zg=(zg|0)==0,Zg||(k2=e[an>>2]|0,m5=k2|2,e[an>>2]=m5),r5=($A+(kA<<4)|0)+8|0,R2=e[r5>>2]|0,_2=(R2|0)==0,_2||(B2=e[an>>2]|0,C5=B2|4,e[an>>2]=C5),d5=($A+(kA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[an>>2]|0,H2=_5|8,e[an>>2]=H2),I5=kA+1|0,A5=e[ps>>2]|0,c5=(I5|0)<(A5|0),c5)kA=I5;else{CA=A5;break}else CA=Ka;dA=(ki+(jt<<5)|0)+16|0,i$=e[dA>>2]|0,L7=y4+24|0,xn=e[L7>>2]|0,n$=(xn|0)>0,KE=i$;e:do if(n$)for(Cm=0;;){if(r$=(y4+1824|0)+(Cm<<2)|0,VE=e[r$>>2]|0,s$=(VE|0)==(i$|0),s$){x=Cm;break e}if(Wg=Cm+1|0,EA=(Wg|0)<(xn|0),EA)Cm=Wg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,zE=xn+1|0,e[L7>>2]=zE,x=xn),ZE=ei+20|0,e[ZE>>2]=x,WE=(y4+1824|0)+(x<<2)|0,e[WE>>2]=KE,pr=(CA|0)>0,!pr)break;for(Ve=(ki+(jt<<5)|0)+24|0,v4=ei+280|0,Tn=0,I$=0;;){if(jg=e[Ve>>2]|0,jE=jg+(I$<<4)|0,o$=e[jE>>2]|0,Xg=(o$|0)==0,XE=o$,Xg)ks=jg,$m=Tn;else{BA=e[L7>>2]|0,tm=(BA|0)>0;e:do if(tm)for(um=0;;){if(im=(y4+1824|0)+(um<<2)|0,nm=e[im>>2]|0,rm=(nm|0)==(o$|0),rm){L=um;break e}if(eh=um+1|0,sm=(eh|0)<(BA|0),sm)um=eh;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,om=BA+1|0,e[L7>>2]=om,L=BA),Am=Tn+1|0,ti=v4+(Tn<<2)|0,e[ti>>2]=L,Qr=(y4+1824|0)+(L<<2)|0,e[Qr>>2]=XE,s0=e[Ve>>2]|0,ks=s0,$m=Am}if(A$=(ks+(I$<<4)|0)+4|0,vs=e[A$>>2]|0,Xt=(vs|0)==0,Ss=vs,Xt)E2=ks,J4=$m;else{K1=e[L7>>2]|0,O1=(K1|0)>0;e:do if(O1)for(gm=0;;){if(H1=(y4+1824|0)+(gm<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(vs|0),j1){D=gm;break e}if(n2=gm+1|0,W1=(n2|0)<(K1|0),W1)gm=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=K1+1|0,e[L7>>2]=P1,D=K1),c2=$m+1|0,z1=v4+($m<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=Ss,i0=e[Ve>>2]|0,E2=i0,J4=c2}if(s2=(E2+(I$<<4)|0)+8|0,V1=e[s2>>2]|0,h2=(V1|0)==0,a2=V1,h2)D2=E2,f$=J4;else{t2=e[L7>>2]|0,$2=(t2|0)>0;e:do if($2)for(hm=0;;){if(i2=(y4+1824|0)+(hm<<2)|0,A2=e[i2>>2]|0,X1=(A2|0)==(V1|0),X1){Q=hm;break e}if(r2=hm+1|0,u2=(r2|0)<(t2|0),u2)hm=r2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[L7>>2]=y2,Q=t2),v2=J4+1|0,w2=v4+(J4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=a2,K=e[Ve>>2]|0,D2=K,f$=v2}if(F2=(D2+(I$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,V2=N2,d2)wB=f$;else{G2=e[L7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(fm=0;;){if(P2=(y4+1824|0)+(fm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=fm;break e}if(O2=fm+1|0,T1=(O2|0)<(G2|0),T1)fm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[L7>>2]=X2,_=G2),x5=f$+1|0,e5=v4+(f$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=V2,wB=x5}if(v5=I$+1|0,P5=e[ps>>2]|0,l5=(v5|0)<(P5|0),l5)Tn=wB,I$=v5;else break}}else{if(Tg)for(pE=(ki+(jt<<5)|0)+28|0,mr=e[pE>>2]|0,QE=ei+24|0,wA=0;;)if(vi=QE+(wA<<2)|0,wE=mr+(wA<<4)|0,kE=e[wE>>2]|0,vE=(kE|0)==0,vE||(SE=e[vi>>2]|0,bE=SE|1,e[vi>>2]=bE),DE=(mr+(wA<<4)|0)+4|0,Si=e[DE>>2]|0,_E=(Si|0)==0,_E||(o6=e[vi>>2]|0,e3=o6|2,e[vi>>2]=e3),A3=(mr+(wA<<4)|0)+8|0,x3=e[A3>>2]|0,f6=(x3|0)==0,f6||(p3=e[vi>>2]|0,Q3=p3|4,e[vi>>2]=Q3),n6=(mr+(wA<<4)|0)+12|0,W3=e[n6>>2]|0,P3=(W3|0)==0,P3||(V5=e[vi>>2]|0,v3=V5|8,e[vi>>2]=v3),g3=wA+1|0,O3=e[ps>>2]|0,l6=(g3|0)<(O3|0),l6)wA=g3;else{Kg=O3;break}else Kg=Ka;RE=(ki+(jt<<5)|0)+20|0,Ug=e[RE>>2]|0,di=y4+24|0,lA=e[di>>2]|0,Va=(lA|0)>0,Pg=Ug;e:do if(Va)for(cm=0;;){if(Og=(y4+1824|0)+(cm<<2)|0,LE=e[Og>>2]|0,Hg=(LE|0)==(Ug|0),Hg){B=cm;break e}if(qg=cm+1|0,FE=(qg|0)<(lA|0),FE)cm=qg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Jg=lA+1|0,e[di>>2]=Jg,B=lA),TE=ei+20|0,e[TE>>2]=B,NE=(y4+1824|0)+(B<<2)|0,e[NE>>2]=Pg,GE=(Kg|0)>0,!GE)break;for(Qs=(ki+(jt<<5)|0)+28|0,cA=ei+280|0,xs=0,u$=0;;){if(gA=e[Qs>>2]|0,UE=gA+(u$<<4)|0,za=e[UE>>2]|0,OE=(za|0)==0,Vg=za,OE)ws=gA,kr=xs;else{ys=e[di>>2]|0,HE=(ys|0)>0;e:do if(HE)for(mm=0;;){if(qE=(y4+1824|0)+(mm<<2)|0,Za=e[qE>>2]|0,Wa=(Za|0)==(za|0),Wa){y=mm;break e}if(hA=mm+1|0,ja=(hA|0)<(ys|0),ja)mm=hA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,Xa=ys+1|0,e[di>>2]=Xa,y=ys),_n=xs+1|0,Rn=cA+(xs<<2)|0,e[Rn>>2]=y,e$=(y4+1824|0)+(y<<2)|0,e[e$>>2]=Vg,H=e[Qs>>2]|0,ws=H,kr=_n}if(t$=(ws+(u$<<4)|0)+4|0,An=e[t$>>2]|0,Cr=(An|0)==0,YE=An,Cr)R5=ws,yr=kr;else{B5=e[di>>2]|0,M1=(B5|0)>0;e:do if(M1)for(dm=0;;){if(g5=(y4+1824|0)+(dm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(An|0),W2){v=dm;break e}if(g2=dm+1|0,p5=(g2|0)<(B5|0),p5)dm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[di>>2]=t5,v=B5),s5=kr+1|0,h5=cA+(kr<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=YE,V=e[Qs>>2]|0,R5=V,yr=s5}if(f5=(R5+(u$<<4)|0)+8|0,j2=e[f5>>2]|0,$5=(j2|0)==0,x2=j2,$5)f3=R5,wr=yr;else{Q5=e[di>>2]|0,H5=(Q5|0)>0;e:do if(H5)for(Im=0;;){if(j5=(y4+1824|0)+(Im<<2)|0,E5=e[j5>>2]|0,u3=(E5|0)==(j2|0),u3){b=Im;break e}if(h3=Im+1|0,X5=(h3|0)<(Q5|0),X5)Im=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,r3=Q5+1|0,e[di>>2]=r3,b=Q5),m3=yr+1|0,F5=cA+(yr<<2)|0,e[F5>>2]=b,K5=(y4+1824|0)+(b<<2)|0,e[K5>>2]=x2,a0=e[Qs>>2]|0,f3=a0,wr=m3}if(w3=(f3+(u$<<4)|0)+12|0,B3=e[w3>>2]|0,V3=(B3|0)==0,N3=B3,V3)F9=wr;else{y3=e[di>>2]|0,W5=(y3|0)>0;e:do if(W5)for(Em=0;;){if(i6=(y4+1824|0)+(Em<<2)|0,R3=e[i6>>2]|0,G3=(R3|0)==(B3|0),G3){w=Em;break e}if(a3=Em+1|0,l3=(a3|0)<(y3|0),l3)Em=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=y3+1|0,e[di>>2]=c3,w=y3),C3=wr+1|0,q5=cA+(wr<<2)|0,e[q5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=N3,F9=C3}if(k5=u$+1|0,U3=e[ps>>2]|0,M5=(k5|0)<(U3|0),M5)xs=F9,u$=k5;else break}}while(!1);th=y4+3480|0,ih=+A1[th>>3],QA=ih*1e3,bs=(y4+1056|0)+(Ii<<2)|0,_s=e[bs>>2]|0,am=e[wg>>2]|0,Rs=+(am|0),$n=Rs*.5,nh=y4+(Ii<<2)|0,Ln=e[nh>>2]|0,ii=Ln>>1,a$=QA>$n,vB=a$?$n:QA,$$=vB/$n,Yi=+(ii|0),c$=Yi*$$,g$=~~c$,Fn=_s+1116|0,e[Fn>>2]=g$,$6=(ki+(jt<<5)|0)+4|0,yA=e[$6>>2]|0;do if((yA|0)==2)sh=250;else if((yA|0)==1){if(Mn=e[Fg>>2]|0,rh=(Mn|0)==0,ve=y4+2996|0,h$=y4+2968|0,WQ=rh?h$:ve,ZQ=e[WQ>>2]|0,zQ=+(ZQ|0),SB=zQ*1e3,Q8=SB>$n,!Q8){sh=SB;break}sh=$n}else sh=vB;while(!1);d0=e[Lg>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,u0=(k0|0)>0,u0)for(aC=0;;){if(B0=(y4+544|0)+(aC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(pm=0;;){K0=(p0+1092|0)+(pm<<2)|0,Q0=e[K0>>2]|0,L0=(Q0|0)==(jt|0);do if(L0){if(F0=e[kg>>2]|0,T0=(F0|0)>0,T0)kB=0,cC=0;else{lm=0;break}for(;;)if(U0=(p0+4|0)+(cC<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)==(pm|0),x0=q0&1,O=x0+kB|0,D0=cC+1|0,TQ=(D0|0)==(F0|0),TQ){lm=O;break}else kB=O,cC=D0}else lm=0;while(!1);if(M0=pm+1|0,Y0=(M0|0)<(I0|0),P0=(lm|0)==0,V0=Y0&P0,V0)pm=M0;else{sC=lm;break}}else sC=0;if(N0=aC+1|0,O0=(N0|0)<(k0|0),n1=(sC|0)==0,H0=O0&n1,H0)aC=N0;else{rC=sC;break}}else rC=0;if(e1=sh/$n,b0=+(rC|0),i1=b0*Yi,$1=i1*e1,f1=e[qa>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,r1=n5(a1,f1)|0,o1=ei+4|0,e[o1>>2]=r1,z0=n5(rC,ii)|0,I1=(r1|0)>(z0|0),!I1){U=o1,Z1=r1,D1=f1;break}m1=(z0|0)%(f1|0)&-1,d1=z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,D1=f1}else{if(E1=sh/$n,B1=E1*Yi,p1=e[qa>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,w1=~~x1,S1=n5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,D1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),d3=$C+1|0,v6=e[aA>>2]|0,S6=(d3|0)<(v6|0),S6)$C=d3;else break}if(B6=Ii+1|0,j3=(B6|0)<(A|0),j3)Ii=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,R6=(p6|0)>0,R6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[c0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,u6=C6+3400|0,H3=+A1[u6>>3],b3=~~H3,q3=+(b3|0),z3=H3-q3,b6=e6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?p=-1:(O6=e[kg>>2]|0,d6=A6+(b3<<3)|0,D3=+A1[d6>>3],N6=1-z3,r6=D3*N6,Q6=b3+1|0,x6=A6+(Q6<<3)|0,V6=+A1[x6>>3],I6=V6*z3,J6=I6+r6,L3=+(O6|0),G6=J6*L3,jQ=~~G6,p=jQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,L6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=L6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?o0=0:(F3=j+3444|0,t9=e[F3>>2]|0,A9=+(t9|0),j6=+(p6|0),f9=A9/j6,u9=~~f9,o0=u9),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],n9=j+3376|0,A1[n9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function ZS(t,r,A,a){t=t|0,r=r|0,A=A|0,a=+a;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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)f=-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,p=WS(r,A,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return jS(t,r,A),b=Q+3420|0,e[b>>2]=0,w=Q+3464|0,e[w>>2]=1,y=zS(t)|0,D=(y|0)==0,D?(c=0,c|0):(uB(t),c=y,c|0);return uB(t),c=f,c|0}function Xm(t,r,A,a,c,f){t=t|0,r=+r,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~r,I=+(E|0),L=r-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,F0=e[C0>>2]|0,V0=a+(E*20|0)|0,g1=e[V0>>2]|0,h1=+(g1|0),m=1-L,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,b=e[v>>2]|0,w=+(b|0),y=w*L,D=y+p,Q=D,_=F0+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+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=F0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,H=e[e0>>2]|0,X=+(H|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,V=+(Z|0),a0=V*L,s0=a0+U,n0=s0,K=F0+20|0,s[K>>2]=n0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],c0=o0,j=c0*m,l0=(a+(B*20|0)|0)+12|0,f0=+s[l0>>2],d0=f0,w0=d0*L,k0=w0+j,u0=k0,B0=F0+24|0,s[B0>>2]=u0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,K0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],L0=Q0,T0=L0*L,U0=T0+K0,y0=U0,q0=F0+28|0,s[q0>>2]=y0,x0=c+(E<<2)|0,D0=e[x0>>2]|0,M0=+(D0|0),J0=M0*m,Y0=c+(B<<2)|0,P0=e[Y0>>2]|0,N0=+(P0|0),O0=N0*L,n1=O0+J0,H0=n1,e1=F0+496|0,s[e1>>2]=H0,d1=0;b0=(f+(E*68|0)|0)+(d1<<2)|0,i1=e[b0>>2]|0,c1=+(i1|0),$1=c1*m,f1=(f+(B*68|0)|0)+(d1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*L,r1=a1+$1,o1=r1,z0=(F0+36|0)+(d1<<2)|0,s[z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function eC(t,r,A,a,c,f,E){t=t|0,r=+r,A=A|0,a=a|0,c=c|0,f=f|0,E=+E;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~r,y=+(w|0),$0=r-y,j=t+28|0,S0=e[j>>2]|0,D0=(S0+2852|0)+(A<<2)|0,b0=e[D0>>2]|0,z0=a+(w<<2)|0,w1=e[z0>>2]|0,O1=+(w1|0),D=1-$0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,H=e0+z,X=H,U=b0+108|0,s[U>>2]=X,Z=f+(A*12|0)|0,V=e[Z>>2]|0,a0=b0+120|0,e[a0>>2]=V,s0=(f+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,n0=b0+124|0,e[n0>>2]=i0,K=(f+(A*12|0)|0)+8|0,h0=e[K>>2]|0,o0=b0+128|0,e[o0>>2]=h0,t2=0;;)if(c0=(c+(w*204|0)|0)+(t2<<2)|0,l0=e[c0>>2]|0,f0=+(l0|0),d0=f0*D,w0=(c+(Y*204|0)|0)+(t2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),u0=k0*$0,B0=u0+d0,p0=B0,I0=(b0+132|0)+(t2<<2)|0,s[I0>>2]=p0,K0=t2+1|0,V1=(K0|0)==17,V1){$2=0;break}else t2=K0;for(;;)if(x1=((c+(w*204|0)|0)+68|0)+($2<<2)|0,S1=e[x1>>2]|0,L1=+(S1|0),F1=L1*D,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,D1=N1,K1=(b0+200|0)+($2<<2)|0,s[K1>>2]=D1,H1=$2+1|0,h2=(H1|0)==17,h2){i2=0;break}else $2=H1;for(;q1=((c+(w*204|0)|0)+136|0)+(i2<<2)|0,Y1=e[q1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((c+(Y*204|0)|0)+136|0)+(i2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,f2=z1+n2,Q=f2,_=(b0+268|0)+(i2<<2)|0,s[_>>2]=Q,L=i2+1|0,a2=(L|0)==17,!a2;)i2=L;for(x=b0+132|0,F=+s[x>>2],y0=F+6,M=b0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,_0=1;I=(b0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(b0+132|0)+(_0<<2)|0,L0=B,F0=L0+E,T0=F0,U0=T0>2]=A2,q0=_0+1|0,s2=(q0|0)==17,!s2;)_0=q0;for(x0=b0+200|0,M0=+s[x0>>2],J0=M0+6,Y0=b0+200|0,P0=M0,V0=P0+E,N0=V0,O0=N0>2]=r2,n1=1;m=(b0+200|0)+(n1<<2)|0,v=+s[m>>2],H0=(b0+200|0)+(n1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,f1=n1+1|0,E2=(f1|0)==17,!E2;)n1=f1;for(g1=b0+268|0,l1=+s[g1>>2],s1=l1+6,a1=b0+268|0,r1=l1,o1=r1+E,I1=o1,h1=I1>2]=e2,m1=1;p=(b0+268|0)+(m1<<2)|0,b=+s[p>>2],d1=(b0+268|0)+(m1<<2)|0,E1=b,B1=E1+E,p1=B1,Q1=p1>2]=u2,R1=m1+1|0,o2=(R1|0)==17,!o2;)m1=R1}function WS(t,r,A,a,c){t=t|0,r=r|0,A=+A,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(H=26336,z0=0;;){if(e0=e[H>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,V=(U|0)==(t|0),d1=$0|V,d1&&(a0=e0+16|0,s0=e[a0>>2]|0,i0=(s0|0)>(r|0),!i0&&(n0=e0+20|0,K=e[n0>>2]|0,h0=(K|0)<(r|0),!h0&&(o0=e[e0>>2]|0,c0=e0+8|0,j=e[c0>>2]|0,f0=+A1[j>>3],d0=f0>A,!d0&&(k0=j+(o0<<3)|0,u0=+A1[k0>>3],B0=u0>2]|0,K0=Z+12|0,M0=e[K0>>2]|0,i1=(M0|0)==-1,s1=(M0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(r|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,x=(L|0)<(r|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=l0,p=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){f=0;break}else l0=J,I1=o1}return f|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),b=m1+1|0,!I0&&(_0=p+(b<<3)|0,Q0=+A1[_0>>3],L0=E>3],S0=v,m1=b}else h1=0;while(!1);return T0=(h1|0)==(I|0),T0?(U0=+(I|0),y0=U0+-.001,B1=y0):(q0=p+(h1<<3)|0,x0=+A1[q0>>3],D0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,P0=+A1[Y0>>3],V0=P0,N0=D0,O0=E-N0,n1=V0-D0,H0=n1,e1=O0/H0,b0=e1,c1=+(h1|0),$1=b0+c1,f1=$1,B1=f1),A1[c>>3]=B1,g1=e[m>>2]|0,f=g1,f|0}function jS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0;b0=C,I=t+28|0,m=e[I>>2]|0,x=m+3396|0,W=e[x>>2]|0,e[t>>2]=0,n0=t+4|0,e[n0>>2]=r,k0=t+8|0,e[k0>>2]=A,T0=m+3456|0,e[T0>>2]=1,N0=m+3460|0,e[N0>>2]=1,n1=m+3400|0,H0=+A1[n1>>3],p=~~H0,B=+(p|0),v=H0-B,b=m+3472|0,A1[b>>3]=H0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(p<<3)|0,F=+A1[L>>3],M=1-v,T=F*M,N=p+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,c=N,f=M):(a=1-v,E=p+1|0,c=E,f=a),J=W+112|0,e0=e[J>>2]|0,H=e0+(p<<2)|0,X=e[H>>2]|0,U=+(X|0),$0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,a0=+(V|0),s0=a0*v,i0=s0+$0,K=m+3496|0,A1[K>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,c0=o0+(p<<2)|0,j=e[c0>>2]|0,l0=+(j|0),f0=l0*f,d0=o0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),u0=C0*v,B0=u0+f0,p0=m+3504|0,A1[p0>>3]=B0,I0=m+3512|0,A1[I0>>3]=-6,S0=m+3520|0,A1[S0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,_0=m+3536|0,A1[_0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,L0=m+3552|0,A1[L0>>3]=H0,F0=m+3560|0,A1[F0>>3]=H0,U0=m+3568|0,A1[U0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,q0=m+3584|0,A1[q0>>3]=H0,x0=m+3592|0,A1[x0>>3]=H0,D0=m+3600|0,A1[D0>>3]=H0,M0=m+3608|0,A1[M0>>3]=H0,J0=m+3616|0,A1[J0>>3]=H0,Y0=m+3624|0,A1[Y0>>3]=H0,P0=m+3632|0,A1[P0>>3]=H0,V0=m+3640|0,A1[V0>>3]=H0,O0=m+3648|0,A1[O0>>3]=H0}function XS(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,x=I?f:0,W=r+(m<<2)|0,n0=e[W>>2]|0,k0=520336+(n0<<2)|0,S0=e[k0>>2]|0,K0=r+(x<<2)|0,_0=e[K0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=A+(c<<2)|0,v=e[B>>2]|0,b=A+(m<<2)|0,w=e[b>>2]|0,y=A+(x<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,F=(w|0)/2&-1,M=L+F|0,T=(v|0)/2&-1,N=T+Q|0,E=(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,F0=L):F0=0,e0=(F0|0)<(M|0),e0)for(H=Q+F|0,X=H-F0|0,U=X-_|0,T0=F0,q0=0;a0=S0+(q0<<2)|0,s0=+s[a0>>2],i0=t+(T0<<2)|0,K=+s[i0>>2],h0=K*s0,s[i0>>2]=h0,o0=T0+1|0,c0=q0+1|0,L0=(c0|0)==(U|0),!L0;)T0=o0,q0=c0;if($0=(D|0)>1,$0){for(Z=G+1|0,V=(z|0)>(Z|0),y0=G,D0=O;x0=D0+-1|0,d0=p+(x0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,u0=+s[C0>>2],B0=u0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,D0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(M0=t+(U0<<2)|0,l0=v-U0|0,f0=l0<<2,Ae(M0|0,0,f0|0)|0)}function eb(t,r,A){t=t|0,r=+r,A=+A;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0;if(K=C,C=C+64|0,i0=K+32|0,s0=K,a=S9(688)|0,c=a+408|0,hS(c),D=~~r,ZS(c,t,D,A)|0,z=a+440|0,lS(z),cS(z,553008,553016),X=a+456|0,Ov(X,c)|0,U=a+568|0,Uv(X,U)|0,$0=jp(0)|0,Ab($0),Z=ab()|0,_v(a,Z)|0,V=a+680|0,e[V>>2]=0,a0=a+684|0,e[a0>>2]=0,f=a+360|0,fS(X,z,f,i0,s0)|0,Wm(a,f)|0,Wm(a,i0)|0,Wm(a,s0)|0,E=a+392|0,I=eQ(a,E)|0,m=(I|0)==0,m)return C=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;b=e[a0>>2]|0,w=e[p>>2]|0,y=w+b|0,Q=e[B>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[V>>2]|0,T=Oi(M,_)|0,e[V>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[a0>>2]=H),x=eQ(a,E)|0,F=(x|0)==0,!F;);return C=K,a|0}function tb(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0;m=C,Rv(t)|0,r=t+568|0,Pv(r)|0,A=t+456|0,rQ(A),a=t+440|0,gS(a),c=t+408|0,uB(c),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function ib(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0;return f=C,A=t+456|0,a=sQ(A,r)|0,a|0}function nb(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0;if(K=C,A=t+456|0,Hv(A,r)|0,a=t+568|0,y=oQ(A,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,V=t+684|0,a0=t+396|0,s0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(Mv(a,0)|0,Gv(a)|0,m=nQ(A,$0)|0,p=(m|0)==0,!p)for(;;){if(Wm(t,$0)|0,b=tQ(t,Z)|0,w=(b|0)==0,!w)for(;D=e[V>>2]|0,Q=e[a0>>2]|0,_=Q+D|0,L=e[s0>>2]|0,x=_+L|0,F=(x|0)==0,F||(N=e[i0>>2]|0,G=Oi(N,x)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[V>>2]=W,e0=G+W|0,H=e[f>>2]|0,X=e[s0>>2]|0,s4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),M=tQ(t,Z)|0,T=(M|0)==0,!T;);if(B=nQ(A,$0)|0,v=(B|0)==0,v)break}if(E=oQ(A,a)|0,I=(E|0)==1,!I)break}}function rb(t){t=t|0;var r=0,A=0,a=0,c=0;return c=C,r=t+684|0,A=e[r>>2]|0,A|0}function sb(t){t=t|0;var r=0,A=0,a=0,c=0,f=0;return f=C,r=t+684|0,e[r>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function tC(t,r){t=+t,r=r|0;var A=0,a=0,c=0;return c=C,A=+ob(t,r),+A}function Th(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0;if(x3=C,C=C+688|0,e3=x3+424|0,J5=x3+192|0,W5=x3,X=n5(A,r)|0,U=(X|0)==0,U){C=x3;return}for(J=X-A|0,q1=W5+4|0,e[q1>>2]=A,e[W5>>2]=A,e2=A,u5=A,w3=2;o2=e2+A|0,M2=o2+u5|0,L5=W5+(w3<<2)|0,e[L5>>2]=M2,S5=M2>>>0>>0,i5=w3+1|0,S5;)y2=u5,u5=M2,w3=i5,e2=y2;if($0=0-A|0,j=t+J|0,S0=(J|0)>0,S0)for(D0=(A|0)==0,b0=j,w1=1,z2=0,F5=t,U5=1;;){z0=w1&3,K1=(z0|0)==3;do if(K1){e[J5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,z5=1;;){if(H1=Q+$0|0,Y1=B+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=Q+W|0,c2=u7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(f2=u7[a&15](P1,H1)|0,s2=(f2|0)>-1,s2)){f3=z5;break}if(E2=u7[a&15](W1,H1)|0,V1=(E2|0)>-1,h2=z5+1|0,a2=J5+(z5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,m=t2):(e[a2>>2]=H1,f=H1,m=Y1),$2=(m|0)>1,!$2){f3=h2;break}O=e[J5>>2]|0,B=m,Q=f,P1=O,z5=h2}if(i2=(f3|0)<2,!i2&&(A2=J5+(f3<<2)|0,e[A2>>2]=e3,!D0))for(y=A,G2=e3;;){for(d2=y>>>0>256,r2=d2?256:y,V2=e[J5>>2]|0,s4(G2|0,V2|0,r2|0)|0,D2=V2,V3=0;v2=J5+(V3<<2)|0,w2=V3+1|0,C2=J5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,r2|0)|0,N2=D2+r2|0,e[v2>>2]=N2,X5=(w2|0)==(f3|0),!X5;)D2=F2,V3=w2;if(X1=(y|0)==(r2|0),X1)break e;u2=y-r2|0,Y=e[A2>>2]|0,y=u2,G2=Y}}while(!1);q2=w1>>>2,P2=z2<<30,o5=q2|P2,O2=z2>>>2,T1=U5+2|0,n0=o5,D1=O2,O5=T1}else{if(X2=U5+-1|0,x5=W5+(X2<<2)|0,e5=e[x5>>2]|0,b5=F5,Z2=b0-b5|0,v5=e5>>>0>>0,v5){e[J5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,y3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=W5+(k2<<2)|0,r5=e[m5>>2]|0,o6=r5+A|0,e0=0-o6|0,R2=_+e0|0,B2=u7[a&15](_2,R2)|0,C5=(B2|0)>-1,C5&&(d5=u7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){B3=y3;break}if(G5=u7[a&15](R2,l5)|0,_5=(G5|0)>-1,H2=y3+1|0,I5=J5+(y3<<2)|0,_5?(e[I5>>2]=R2,A5=v+-1|0,E=R2,p=A5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){B3=H2;break}z=e[J5>>2]|0,v=p,_=E,_2=z,y3=H2}if(B5=(B3|0)<2,!B5&&(M1=J5+(B3<<2)|0,e[M1>>2]=e3,!D0))for(D=A,j2=e3;;){for(f5=D>>>0>256,a5=f5?256:D,R5=e[J5>>2]|0,s4(j2|0,R5|0,a5|0)|0,h5=R5,N3=0;g2=J5+(N3<<2)|0,p5=N3+1|0,t5=J5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,r3=(p5|0)==(B3|0),!r3;)h5=s5,N3=p5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else iC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){x2=z2<<1,Q5=w1>>>31,H5=Q5|x2,j5=w1<<1,n0=j5,D1=H5,O5=0;break}else{E5=X2>>>0>31,u3=U5+-33|0,c=E5?0:w1,L=E5?w1:z2,x=E5?u3:X2,h3=L<>>Z,a0=V|h3,s0=c<>>0>>0,h0)w1=i0,z2=D1,F5=K,U5=O5;else{T=D1,N=i0,m3=K,q5=O5;break}}else T=0,N=1,m3=t,q5=1;if(iC(m3,A,a,N,T,q5,0,W5),o0=(q5|0)==1,c0=(N|0)==1,C3=c0&o0,l0=(T|0)==0,c3=l0&C3,c3){C=x3;return}else w0=N,Q0=T,K5=m3,k5=q5;for(;;){if(f0=(k5|0)<2,!f0){O0=Q0<<2,n1=w0>>>30,H0=n1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=n1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,U3=a1+A|0,H=0-U3|0,r1=K5+H|0,o1=k5+-1|0,iC(r1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=n1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=K5+$0|0,iC(B1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,K5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)N0=32,A3=56;else{if(k0=d0&1,u0=(k0|0)==0,u0){for(b=d0,i6=0;;)if(B0=i6+1|0,p0=b>>>1,I0=p0&1,K0=(I0|0)==0,K0)b=p0,i6=B0;else{F=B0;break}_0=(F|0)==0,_0?A3=51:Y0=F}else A3=51;if((A3|0)==51){if(A3=0,L0=(Q0|0)==0,L0){N0=64,A3=56;break}if(F0=Q0&1,T0=(F0|0)==0,T0)w=Q0,R3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=R3+1|0,y0=w>>>1,q0=y0&1,x0=(q0|0)==0,x0)w=y0,R3=U0;else{M=U0,G3=R3;break}if(M0=G3+33|0,J0=(M|0)==0,J0){I=0,Q1=w0,S1=Q0,k1=0;break}else Y0=M0}P0=Y0>>>0>31,P0?(N0=Y0,A3=56):(I=Y0,Q1=w0,S1=Q0,k1=Y0)}while(!1);if((A3|0)==56&&(A3=0,V0=N0+-32|0,I=V0,Q1=Q0,S1=0,k1=N0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=k1+k5|0,G=K5+$0|0,U1=(G1|0)==1,Z1=(L1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=L1,Q0=F1,K5=G,k5=G1}C=x3}function iC(t,r,A,a,c,f,E,I){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0;B2=C,C=C+720|0,R2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-r|0,$0=(a|0)!=1,Q0=(c|0)!=0,Y0=Q0|$0;e:do if(Y0)if($1=I+(f<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,V1=u7[A&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,L=f,G=E,O2=1,_2=18;else for(w=t,T=f,O=E,I0=Y1,O0=c,b5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,u0=T+-2|0,B0=I+(u0<<2)|0,p0=e[B0>>2]|0,S0=u7[A&15](k0,I0)|0,K0=(S0|0)>-1,K0){v=w,x=T,X2=b5;break e}if(m5=p0+r|0,H=0-m5|0,_0=w+H|0,L0=u7[A&15](_0,I0)|0,F0=(L0|0)>-1,F0){v=w,x=T,X2=b5;break e}}T0=b5+1|0,U0=M2+(b5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,q0=(y0|0)==0;do if(q0)o1=32,_2=15;else{if(x0=y0&1,D0=(x0|0)==0,D0){for(Q=y0,u5=0;;)if(M0=u5+1|0,J0=Q>>>1,P0=J0&1,V0=(P0|0)==0,V0)Q=J0,u5=M0;else{z=M0;break}N0=(z|0)==0,N0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,n1=(O0|0)==0,n1){o1=64,_2=15;break}if(H0=O0&1,e1=(H0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,R1=0;break}for(;;)if(b0=v5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,v5=b0;else{Y=b0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(p=s1,I1=k2,E1=O0,R1=s1)}while(!1);if((_2|0)==15&&(_2=0,r1=o1+-32|0,p=r1,I1=O0,E1=0,R1=o1),z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=R1+T|0,x1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|x1,!S1){v=I0,x=Q1,X2=T0;break e}if(t0=e[M2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=u7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,L=Q1,G=0,O2=T0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,b5=T0,k2=B1,w=y}else B=t,L=f,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(D1=(G|0)==0,D1)v=B,x=L,X2=O2;else{C=B2;return}K1=(X2|0)<2;e:do if(!K1&&(O1=M2+(X2<<2)|0,e[O1>>2]=R2,H1=(r|0)==0,!H1))for(M=r,h2=R2;;){for(E2=M>>>0>256,j1=E2?256:M,o2=e[M2>>2]|0,s4(h2|0,o2|0,j1|0)|0,f2=o2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,o5=(P1|0)==(X2|0),!o5;)f2=z1,e5=P1;if(q1=(M|0)==(j1|0),q1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=v,a2=(x|0)>1;e:do if(a2){for(D=x,N=v,r2=v,Z2=1;;){if(t2=N+U|0,$2=D+-2|0,i2=I+($2<<2)|0,A2=e[i2>>2]|0,r5=A2+r|0,X=0-r5|0,X1=N+X|0,u2=u7[A&15](r2,X1)|0,e2=(u2|0)>-1,e2&&(v2=u7[A&15](r2,t2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=u7[A&15](X1,t2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=t2,m=t2,b=$2),V2=(b|0)>1,!V2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,r2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=R2;else if(q2=P2+(T1<<2)|0,e[q2>>2]=R2,V=(r|0)==0,V)C0=R2;else for(F=r,w0=R2;;){for(f0=F>>>0>256,s0=f0?256:F,d0=e[P2>>2]|0,s4(w0|0,d0|0,s0|0)|0,c0=d0,x5=0;n0=P2+(x5<<2)|0,K=x5+1|0,h0=P2+(K<<2)|0,o0=e[h0>>2]|0,s4(c0|0,o0|0,s0|0)|0,j=c0+s0|0,e[n0>>2]=j,z2=(K|0)==(T1|0),!z2;)c0=o0,x5=K;if(a0=(F|0)==(s0|0),a0){C0=R2;break e}i0=F-s0|0,W=e[q2>>2]|0,F=i0,w0=W}}else C0=R2;while(!1);C=B2}function Pi(t){t=+t;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,A1[p2>>3]=t,A=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,b=(p|0)==1126170624,w=b&v,y=B|w,y?(r=t,+r):(D=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,f=t+4503599627370496,E=f+-4503599627370496,_=D?c:E,I=_==0,I?(m=D?-0:0,r=m,+r):(r=_,+r))}function vQ(t){t=+t;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return y=C,A=(s[p2>>2]=t,e[p2>>2]|0),a=A&2130706432,c=a>>>0>1249902592,c?(r=t,+r):(f=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,b=f?I:p,B=b==0,B?(v=f?-0:0,r=v,+r):(r=b,+r))}function ob(t,r){t=+t,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,f=(r|0)>1023,f?(E=t*898846567431158e293,Q=r+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=r+-2046|0,F=(x|0)>1023,A=F?1023:x,a=A,G=L):(a=Q,G=E)):(M=(r|0)<-1022,M?(T=t*22250738585072014e-324,N=r+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=r+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=r,G=t)),v=a+1023|0,b=DQ(v|0,0,52)|0,w=q6,e[p2>>2]=b,e[p2+4>>2]=w,y=+A1[p2>>3],D=G*y,+D}function Ab(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0;I=C,r=t+-1|0,A=553040,a=A,e[a>>2]=r,c=A+4|0,f=c,e[f>>2]=0}function ab(){var t=0,r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,r=t,m=e[r>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,b=gb(m|0,v|0,1284865837,1481765933)|0,w=q6,y=zs(b|0,w|0,1,0)|0,D=q6,A=553040,a=A,e[a>>2]=y,c=A+4|0,f=c,e[f>>2]=D,E=Zs(y|0,D|0,33)|0,I=q6,E|0}function S9(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0,Xs=0,Ur=0,eo=0,Pr=0,to=0,io=0,Or=0,no=0,Zn=0,ro=0,so=0,oo=0,Hr=0,Ao=0,qr=0,Yr=0,ao=0,Wn=0,Jr=0,jn=0,Kr=0,Vr=0,$o=0,lo=0,co=0,Xn=0,zr=0,go=0,mn=0,er=0,ho=0,fo=0,tr=0,li=0,Zr=0,uo=0,Io=0,Wr=0,jr=0,Xr=0,Eo=0,ci=0,ir=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,nr=0,Cn=0,rr=0,bo=0,Wi=0,Do=0,ns=0,sr=0,rs=0,or=0,_o=0,ss=0,os=0,Ro=0,As=0,as=0,xo=0,Bn=0,$s=0,gi=0,Ar=0,pn=0,ji=0,Qn=0,Hi=0,yn=0,ls=0,qi=0,Qi=0,yi=0,j7=0,wi=0,wn=0,Xi=0,en=0,kn=0,hi=0,Lo=0,$7=0,tl=0,ar=0,$r=0,Nh=0,il=0,Fo=0,Gh=0,XA=0,nl=0,Uh=0,Ph=0,Oh=0,ea=0,rl=0,sl=0,ta=0,lr=0,ol=0,Hh=0,Mo=0,tn=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vn=0,ef=0,tf=0,al=0,nf=0,ia=0,To=0,na=0,rf=0,sf=0,ra=0,$l=0,ll=0,cl=0,sa=0,gl=0,No=0,of=0,Af=0,hl=0,af=0,$f=0,fl=0,lf=0,cf=0,ul=0,dl=0,Il=0,El=0,ml=0,cr=0,gf=0,Cl=0,hf=0,Bl=0,pl=0,ff=0,uf=0,df=0,oa=0,Ql=0,yl=0,cs=0,wl=0,Aa=0,If=0,kl=0,Ef=0,vl=0,mf=0,Cf=0,Sl=0,bl=0,Bf=0,Go=0,pf=0,aa=0,Dl=0,_l=0,Qf=0,yf=0,wf=0,kf=0,vf=0,Sf=0,Uo=0,Rl=0,xl=0,Ll=0,Po=0,bf=0,Fl=0,Df=0,Ml=0,_f=0,Rf=0,Tl=0,$a=0,xf=0,Lf=0,Oo=0,Ff=0,Ho=0,Mf=0,la=0,Tf=0,Nf=0,Gf=0,Nl=0,Uf=0,Pf=0,Of=0,Hf=0,Gl=0,Ul=0,nn=0,Pl=0,qo=0,ca=0,ga=0,gr=0,Ol=0,hr=0,qf=0,Hl=0,Yf=0,Jf=0,Kf=0,Vf=0,Yo=0,ha=0,Sn=0,zf=0,Zf=0,ql=0,fa=0,Yl=0,Jl=0,Wf=0,Kl=0,jf=0,ua=0,Xf=0,eu=0,P9=0,tu=0,Vl=0,iu=0,nu=0,da=0,ru=0,Ia=0,zl=0,su=0,ou=0,Zl=0,Wl=0,Au=0,Ea=0,ma=0,jl=0,Xl=0,au=0,ec=0,Ca=0,$u=0,tc=0,lu=0,cu=0,gu=0,hu=0,ic=0,nc=0,Ba=0,Jo=0,rc=0,fu=0,sc=0,oc=0,uu=0,du=0,Iu=0,Ac=0,Eu=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,ac=0,yu=0,$c=0,wu=0,fr=0,ku=0,lc=0,vu=0,gs=0,cc=0,pa=0,Su=0,Ko=0,Qa=0,bu=0,ya=0,gc=0,Du=0,_u=0,Ru=0,xu=0,Lu=0,hc=0,Fu=0,Mu=0,Tu=0,Vo=0,hs=0,wa=0,Nu=0,ka=0,Gu=0,Uu=0,Pu=0,fc=0,Ou=0,Hu=0,qu=0,Yu=0,Ju=0,zo=0,Ku=0,Vu=0,uc=0,zu=0,Zu=0,Wu=0,ju=0,fi=0,dc=0,ui=0,Ic=0,va=0,Xu=0,X7=0,fs=0,ed=0,td=0,id=0,nd=0,rd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,us=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Zo=0,gd=0,hd=0,Bc=0,pc=0,fd=0,ud=0,ur=0,dd=0,Id=0,dr=0,Ed=0,Qc=0,md=0,Cd=0,ds=0,yc=0,Bd=0,wc=0,pd=0,rn=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Is=0,Dd=0,Ir=0,_d=0,Rd=0,Da=0,xd=0,_a=0,Ra=0,Ld=0,Dc=0,_c=0,Fd=0,Rc=0,xc=0,Lc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,xa=0,Oc=0,Hc=0,qc=0,Yc=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,zd=0,Jc=0,La=0,Zd=0,Wd=0,jd=0,Kc=0,Vc=0,Xd=0,zc=0,Fa=0,Wo=0,Zc=0,eI=0,tI=0,iI=0,nI=0,Wc=0,jo=0,rI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,fI=0,uI=0,Xo=0,Xc=0,dI=0,II=0,Er=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,ng=0,rg=0,CI=0,BI=0,pI=0,QI=0,yI=0,eA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,bn=0,ag=0,$g=0,RI=0,lg=0,tA=0,xI=0,LI=0,FI=0,iA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,fg=0,ug=0,HI=0,qI=0,Es=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,KI=0,VI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,rA=0,XI=0,eE=0,tE=0,ms=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,ki=0,yg=0,sn=0,nE=0,rE=0,sE=0,oE=0,Ua=0,sA=0,wg=0,kg=0,AE=0,oA=0,Cs=0,aE=0,AA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,aA=0,Sg=0,gE=0,hE=0,fE=0,uE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,Ha=0,EE=0,Dn=0,Bs=0,mE=0,CE=0,Rg=0,qa=0,BE=0,xg=0,Lg=0,Fg=0,Ya=0,Ja=0,Mg=0,ps=0,Ka=0,Tg=0,pE=0,mr=0,QE=0,Ng=0,$A=0,yE=0,Gg=0,vi=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,Si=0,_E=0,RE=0,xE=0,Ug=0,di=0,lA=0,Va=0,Pg=0,Og=0,LE=0,Hg=0,qg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Kg=0,GE=0,Qs=0,cA=0,gA=0,UE=0,za=0,PE=0,OE=0,Vg=0,ys=0,HE=0,qE=0,Za=0,Wa=0,hA=0,ja=0,Xa=0,on=0,_n=0,Rn=0,e$=0,t$=0,ws=0,An=0,Cr=0,YE=0,an=0,Br=0,JE=0,_7=0,R7=0,x7=0,fA=0,uA=0,zg=0,Zg=0,dA=0,i$=0,L7=0,IA=0,xn=0,n$=0,KE=0,r$=0,VE=0,s$=0,Wg=0,EA=0,zE=0,ZE=0,mA=0,WE=0,CA=0,pr=0,Ve=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,BA=0,tm=0,im=0,nm=0,rm=0,eh=0,sm=0,om=0,Am=0,ti=0,pA=0,Qr=0,A$=0,ks=0,vs=0,Xt=0,Ss=0,th=0,ih=0,QA=0,bs=0,Ds=0,_s=0,am=0,Rs=0,$n=0,nh=0,Ln=0,ii=0,a$=0,$$=0,Yi=0,l$=0,c$=0,g$=0,Fn=0,$6=0,yA=0,Mn=0,rh=0,ve=0,h$=0,Q8=0,xs=0,yr=0,wr=0,F9=0,kr=0,Tn=0,J4=0,f$=0;f$=C,V1=t>>>0<245;do if(V1){if(h2=t>>>0<11,h4=t+11|0,H4=h4&-8,ke=h2?16:H4,Fo=ke>>>3,la=e[138262]|0,Vo=la>>>Fo,Hc=Vo&3,mg=(Hc|0)==0,!mg){a2=Vo&1,f3=a2^1,l3=f3+Fo|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,R6=553088+(w0<<2)|0,b6=e[R6>>2]|0,x6=b6+8|0,D6=e[x6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,le&&Q2(),p4=D6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(b6|0),M8){e[p4>>2]=g3,e[R6>>2]=D6;break}else Q2();while(!1);return u8=l3<<3,ht=u8|3,Le=b6+4|0,e[Le>>2]=ht,p0=u8|4,ye=b6+p0|0,q4=e[ye>>2]|0,nt=q4|1,e[ye>>2]=nt,Ve=x6,Ve|0}if(Je=e[138264]|0,Yt=ke>>>0>Je>>>0,Yt){if(U7=(Vo|0)==0,!U7){O7=Vo<>>12,nr=Co&16,ss=Zr>>>nr,ji=ss>>>5,Xi=ji&8,Gh=Xi|nr,ol=ss>>>Xi,Wh=ol>>>2,na=Wh&4,Af=Gh|na,ml=ol>>>na,Ql=ml>>>1,Sl=Ql&2,kf=Af|Sl,Ml=ml>>>Sl,Tf=Ml>>>1,Pl=Tf&1,Kf=kf|Pl,Wf=Ml>>>Pl,da=Kf+Wf|0,jl=da<<1,ic=553088+(jl<<2)|0,U1=jl+2|0,Ac=553088+(U1<<2)|0,fr=e[Ac>>2]|0,ya=fr+8|0,hs=e[ya>>2]|0,Yu=(ic|0)==(hs|0);do if(Yu)dc=1<>>0>>0,rn&&Q2(),bc=hs+12|0,Ld=e[bc>>2]|0,Nd=(Ld|0)==(fr|0),Nd){e[bc>>2]=ic,e[Ac>>2]=hs,y=e[138264]|0,nA=y;break}else Q2();while(!1);return qc=da<<3,La=qc-ke|0,eI=ke|3,$I=fr+4|0,e[$I>>2]=eI,II=fr+ke|0,BI=La|1,j1=ke|4,bI=fr+j1|0,e[bI>>2]=BI,xI=fr+qc|0,e[xI>>2]=La,dg=(nA|0)==0,dg||(rA=e[138267]|0,yg=nA>>>3,oA=yg<<1,Sg=553088+(oA<<2)|0,Dg=e[138262]|0,xg=1<>2]|0,C2=e[138266]|0,o5=t2>>>0>>0,o5?Q2():(G=Qs,hA=t2)),e[G>>2]=rA,l5=hA+12|0,e[l5>>2]=rA,G5=rA+8|0,e[G5>>2]=hA,W2=rA+12|0,e[W2>>2]=Sg),e[138264]=La,e[138267]=II,Ve=ya,Ve|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(K5=0-$5|0,w3=$5&K5,B3=w3+-1|0,V3=B3>>>12,N3=V3&16,z5=B3>>>N3,y3=z5>>>5,W5=y3&8,i6=W5|N3,R3=z5>>>W5,G3=R3>>>2,a3=G3&4,c3=i6|a3,C3=R3>>>a3,q5=C3>>>1,U5=q5&2,O5=c3|U5,k5=C3>>>U5,U3=k5>>>1,M5=U3&1,o6=O5|M5,e3=k5>>>M5,x3=o6+e3|0,f6=553352+(x3<<2)|0,p3=e[f6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,n6=Q3&-8,W3=n6-ke|0,pA=W3,$$=p3,h$=p3;;){if(P3=$$+16|0,V5=e[P3>>2]|0,v3=(V5|0)==0,v3)if(O3=$$+20|0,l6=e[O3>>2]|0,d3=(l6|0)==0,d3){Qr=pA,Q8=h$;break}else v6=l6;else v6=V5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,j3=B6-ke|0,c6=j3>>>0>>0,H=c6?j3:pA,o2=c6?v6:h$,pA=H,$$=v6,h$=o2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,S3=Q8>>>0>>0,S3||Q2(),X3=Q8+24|0,e6=e[X3>>2]|0,u6=Q8+12|0,H3=e[u6>>2]|0,b3=(H3|0)==(Q8|0);do if(b3){if(N6=Q8+20|0,r6=e[N6>>2]|0,Q6=(r6|0)==0,Q6)if(V6=Q8+16|0,I6=e[V6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else An=I6,fA=V6;else An=r6,fA=N6;for(;;){if(L3=An+20|0,W6=e[L3>>2]|0,G6=(W6|0)==0,!G6){An=W6,fA=L3;continue}if(e9=An+16|0,s9=e[e9>>2]|0,L6=(s9|0)==0,L6){an=An,Zg=fA;break}else An=s9,fA=e9}if(U6=Zg>>>0>>0,U6)Q2();else{e[Zg>>2]=0,_7=an;break}}else if(q3=Q8+8|0,z3=e[q3>>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,D3=(d6|0)==(Q8|0),D3){e[t3>>2]=H3,e[a6>>2]=z3,_7=H3;break}else Q2();while(!1);z6=(e6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,F3=553352+(F6<<2)|0,M6=e[F3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[F3>>2]=_7,zE=(_7|0)==0,zE){A9=1<>>0>>0,$9&&Q2(),T9=e6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=e6+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]=e6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(H6=b9>>>0>>0,H6)Q2();else{n9=_7+16|0,e[n9>>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,j4=A4+24|0,e[j4>>2]=_7;break}}while(!1);return C4=Qr>>>0<16,C4?(N4=Qr+ke|0,U9=N4|3,G4=Q8+4|0,e[G4>>2]=U9,Z1=N4+4|0,a4=Q8+Z1|0,L4=e[a4>>2]|0,f4=L4|1,e[a4>>2]=f4):(H9=ke|3,m9=Q8+4|0,e[m9>>2]=H9,Be=Qr|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,c0=Qr+ke|0,Xe=Q8+c0|0,e[Xe>>2]=Qr,U4=e[138264]|0,Ge=(U4|0)==0,Ge||(P4=e[138267]|0,X4=U4>>>3,be=X4<<1,Z9=553088+(be<<2)|0,ae=e[138262]|0,u4=1<>2]|0,$e=e[138266]|0,W9=_4>>>0<$e>>>0,W9?Q2():(T=$4,Wa=_4)),e[T>>2]=P4,ce=Wa+12|0,e[ce>>2]=P4,B4=P4+8|0,e[B4>>2]=Wa,ee=P4+12|0,e[ee>>2]=Z9),e[138264]=Qr,e[138267]=C6),F4=Q8+8|0,Ve=F4,Ve|0}}else v4=ke}else if(ge=t>>>0>4294967231,ge)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?pr=0:(De=g6>>>0>16777215,De?pr=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=Y3&4,M4=w9|g4,te=k4<>>16,lt=Re&2,wt=M4|lt,z8=14-wt|0,ct=te<>>15,F8=z8+gt|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,kt=W8|T8,pr=kt)),G8=553352+(pr<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)vs=pe,l$=0,wr=0,J4=86;else for(k8=(pr|0)==31,v8=pr>>>1,O8=25-v8|0,H8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,xe=Pe-g6|0,i8=xe>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){Ss=xe,Fn=Yi,Tn=Yi,J4=90;break e}else ks=xe,yr=Yi;else ks=A$,yr=xs;if(k9=Yi+20|0,Qe=e[k9>>2]|0,ft=QA>>>31,vt=(Yi+16|0)+(ft<<2)|0,et=e[vt>>2]|0,St=(Qe|0)==0,ie=(Qe|0)==(et|0),tm=St|ie,ih=tm?th:Qe,tt=(et|0)==0,q8=QA<<1,tt){vs=ks,l$=ih,wr=yr,J4=86;break}else A$=ks,th=ih,QA=q8,Yi=et,xs=yr}while(!1);if((J4|0)==86){if(b8=(l$|0)==0,n8=(wr|0)==0,XE=b8&n8,XE){if(r8=2<>>12,fe=m8&16,Oe=o8>>>fe,He=Oe>>>5,X9=He&8,Fe=X9|fe,ue=Oe>>>X9,A8=ue>>>2,we=A8&4,Q4=Fe|we,C8=ue>>>we,it=C8>>>1,I3=it&2,qe=Q4|I3,B8=C8>>>I3,ne=B8>>>1,q9=ne&1,re=qe|q9,D9=B8>>>q9,Ye=re+D9|0,Y8=553352+(Ye<<2)|0,ut=e[Y8>>2]|0,c$=ut,kr=0}else c$=l$,kr=wr;rt=(c$|0)==0,rt?(Xt=vs,F9=kr):(Ss=vs,Fn=c$,Tn=kr,J4=90)}if((J4|0)==90)for(;;){if(J4=0,J8=Fn+4|0,st=e[J8>>2]|0,K8=st&-8,a8=K8-g6|0,$8=a8>>>0>>0,X=$8?a8:Ss,g$=$8?Fn:Tn,_8=Fn+16|0,Y4=e[_8>>2]|0,ot=(Y4|0)==0,!ot){Ss=X,Fn=Y4,Tn=g$,J4=90;continue}if(R8=Fn+20|0,p9=e[R8>>2]|0,At=(p9|0)==0,At){Xt=X,F9=g$;break}else Ss=X,Fn=p9,Tn=g$,J4=90}if(Ke=(F9|0)==0,Ke)v4=g6;else if(Nt=e[138264]|0,qt=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,x8=e[l8>>2]|0,_t=F9+12|0,V8=e[_t>>2]|0,Me=(V8|0)==(F9|0);do if(Me){if(Kt=F9+20|0,E7=e[Kt>>2]|0,Vt=(E7|0)==0,Vt)if(m7=F9+16|0,n7=e[m7>>2]|0,si=(n7|0)==0,si){x7=0;break}else Br=n7,dA=m7;else Br=E7,dA=Kt;for(;;){if(C7=Br+20|0,B7=e[C7>>2]|0,oi=(B7|0)==0,!oi){Br=B7,dA=C7;continue}if(p7=Br+16|0,r7=e[p7>>2]|0,Ai=(r7|0)==0,Ai){JE=Br,i$=dA;break}else Br=r7,dA=p7}if(H7=i$>>>0>>0,H7)Q2();else{e[i$>>2]=0,x7=JE;break}}else if(de=F9+8|0,e4=e[de>>2]|0,Rt=e4>>>0>>0,Rt&&Q2(),i7=e4+12|0,G7=e[i7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=V8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[i7>>2]=V8,e[d7>>2]=e4,x7=V8;break}else Q2();while(!1);q7=(x8|0)==0;do if(!q7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,K7=e[Q7>>2]|0,zt=(F9|0)==(K7|0),zt){if(e[Q7>>2]=x7,mA=(x7|0)==0,mA){o7=1<>>0>>0,$i&&Q2(),y7=x8+16|0,w7=e[y7>>2]|0,k7=(w7|0)==(F9|0),k7?e[y7>>2]=x7:(Z7=x8+20|0,e[Z7>>2]=x7),v7=(x7|0)==0,v7)break;Wt=e[138266]|0,S7=x7>>>0>>0,S7&&Q2(),W7=x7+24|0,e[W7>>2]=x8,A7=F9+16|0,Pt=e[A7>>2]|0,b7=(Pt|0)==0;do if(!b7)if(xt=Pt>>>0>>0,xt)Q2();else{a7=x7+16|0,e[a7>>2]=Pt,r9=Pt+24|0,e[r9>>2]=x7;break}while(!1);if(dt=F9+20|0,p8=e[dt>>2]|0,It=(p8|0)==0,!It)if(Lt=e[138266]|0,zn=p8>>>0>>0,zn)Q2();else{En=x7+20|0,e[En>>2]=p8,Xs=p8+24|0,e[Xs>>2]=x7;break}}while(!1);eo=Xt>>>0<16;e:do if(eo)Pr=Xt+g6|0,to=Pr|3,io=F9+4|0,e[io>>2]=to,c1=Pr+4|0,Or=F9+c1|0,no=e[Or>>2]|0,Zn=no|1,e[Or>>2]=Zn;else{if(ro=g6|3,so=F9+4|0,e[so>>2]=ro,oo=Xt|1,n0=g6|4,Ao=F9+n0|0,e[Ao>>2]=oo,d0=Xt+g6|0,qr=F9+d0|0,e[qr>>2]=Xt,Yr=Xt>>>3,ao=Xt>>>0<256,ao){Wn=Yr<<1,Jr=553088+(Wn<<2)|0,jn=e[138262]|0,Kr=1<>2]|0,go=e[138266]|0,mn=zr>>>0>>0,mn?Q2():(M=Xn,Xa=zr)),e[M>>2]=se,er=Xa+12|0,e[er>>2]=se,O0=g6+8|0,ho=F9+O0|0,e[ho>>2]=Xa,H0=g6+12|0,fo=F9+H0|0,e[fo>>2]=Jr;break}if(tr=Xt>>>8,li=(tr|0)==0,li?_n=0:(uo=Xt>>>0>16777215,uo?_n=31:(Io=tr+1048320|0,Wr=Io>>>16,jr=Wr&8,Xr=tr<>>16,ir=ci&4,mo=ir|jr,es=Xr<>>16,ts=po&2,Qo=mo|ts,yo=14-Qo|0,wo=es<>>15,is=yo+ko|0,vo=is<<1,So=is+7|0,Cn=Xt>>>So,rr=Cn&1,bo=rr|vo,_n=bo)),Wi=553352+(_n<<2)|0,g1=g6+28|0,Do=F9+g1|0,e[Do>>2]=_n,x1=g6+16|0,ns=F9+x1|0,D1=g6+20|0,sr=F9+D1|0,e[sr>>2]=0,e[ns>>2]=0,rs=e[138263]|0,or=1<<_n,_o=rs&or,os=(_o|0)==0,os){Ro=rs|or,e[138263]=Ro,e[Wi>>2]=se,q1=g6+24|0,As=F9+q1|0,e[As>>2]=Wi,n2=g6+12|0,as=F9+n2|0,e[as>>2]=se,P1=g6+8|0,xo=F9+P1|0,e[xo>>2]=se;break}Bn=e[Wi>>2]|0,$s=Bn+4|0,gi=e[$s>>2]|0,Ar=gi&-8,pn=(Ar|0)==(Xt|0);t:do if(pn)L7=Bn;else{for(Qn=(_n|0)==31,Hi=_n>>>1,yn=25-Hi|0,ls=Qn?0:yn,qi=Xt<>>31,hi=(n$+16|0)+(kn<<2)|0,j7=e[hi>>2]|0,Lo=(j7|0)==0,Lo){w=hi,KE=n$;break}if(Qi=e$<<1,yi=j7+4|0,wi=e[yi>>2]|0,wn=wi&-8,en=(wn|0)==(Xt|0),en){L7=j7;break t}else e$=Qi,n$=j7}if($7=e[138266]|0,tl=w>>>0<$7>>>0,tl)Q2();else{e[w>>2]=se,u0=g6+24|0,ar=F9+u0|0,e[ar>>2]=KE,U0=g6+12|0,$r=F9+U0|0,e[$r>>2]=se,P0=g6+8|0,Nh=F9+P0|0,e[Nh>>2]=se;break e}}while(!1);if(il=L7+8|0,XA=e[il>>2]|0,nl=e[138266]|0,Uh=XA>>>0>=nl>>>0,jg=L7>>>0>=nl>>>0,Ph=Uh&jg,Ph){Oh=XA+12|0,e[Oh>>2]=se,e[il>>2]=se,c2=g6+8|0,ea=F9+c2|0,e[ea>>2]=XA,f2=g6+12|0,rl=F9+f2|0,e[rl>>2]=L7,C0=g6+24|0,sl=F9+C0|0,e[sl>>2]=0;break}else Q2()}while(!1);return ta=F9+8|0,Ve=ta,Ve|0}else v4=g6}while(!1);if(lr=e[138264]|0,Hh=lr>>>0>>0,!Hh)return Mo=lr-v4|0,tn=e[138267]|0,qh=Mo>>>0>15,qh?(Yh=tn+v4|0,e[138267]=Yh,e[138264]=Mo,Jh=Mo|1,f1=v4+4|0,Kh=tn+f1|0,e[Kh>>2]=Jh,Vh=tn+lr|0,e[Vh>>2]=Mo,zh=v4|3,Zh=tn+4|0,e[Zh>>2]=zh):(e[138264]=0,e[138267]=0,jh=lr|3,Xh=tn+4|0,e[Xh>>2]=jh,o0=lr+4|0,Al=tn+o0|0,vn=e[Al>>2]|0,ef=vn|1,e[Al>>2]=ef),tf=tn+8|0,Ve=tf,Ve|0;if(al=e[138265]|0,nf=al>>>0>v4>>>0,nf)return ia=al-v4|0,e[138265]=ia,To=e[138268]|0,rf=To+v4|0,e[138268]=rf,sf=ia|1,U=v4+4|0,ra=To+U|0,e[ra>>2]=sf,$l=v4|3,ll=To+4|0,e[ll>>2]=$l,cl=To+8|0,Ve=cl,Ve|0;sa=e[138380]|0,gl=(sa|0)==0;do if(gl)if(No=Bv(30)|0,of=No+-1|0,hl=of&No,af=(hl|0)==0,af){e[138382]=No,e[138381]=No,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,$f=jp(0)|0,fl=$f&-16,lf=fl^1431655768,e[138380]=lf;break}else Q2();while(!1);if(cf=v4+48|0,ul=e[138382]|0,dl=v4+47|0,Il=ul+dl|0,El=0-ul|0,cr=Il&El,gf=cr>>>0>v4>>>0,!gf||(Cl=e[138372]|0,hf=(Cl|0)==0,!hf&&(Bl=e[138370]|0,pl=Bl+cr|0,ff=pl>>>0<=Bl>>>0,uf=pl>>>0>Cl>>>0,BA=ff|uf,BA)))return Ve=0,Ve|0;df=e[138373]|0,oa=df&4,yl=(oa|0)==0;e:do if(yl){cs=e[138268]|0,wl=(cs|0)==0;t:do if(wl)J4=174;else{for(bs=553496;;){if(Aa=e[bs>>2]|0,If=Aa>>>0>cs>>>0,!If&&(kl=bs+4|0,Ef=e[kl>>2]|0,vl=Aa+Ef|0,mf=vl>>>0>cs>>>0,mf)){v=bs,b=kl;break}if(Cf=bs+8|0,bl=e[Cf>>2]|0,Bf=(bl|0)==0,Bf){J4=174;break t}else bs=bl}if(xf=e[138265]|0,Lf=Il-xf|0,Oo=Lf&El,Ff=Oo>>>0<2147483647,Ff)if(Ho=N7(Oo|0)|0,Mf=e[v>>2]|0,Nf=e[b>>2]|0,Gf=Mf+Nf|0,Nl=(Ho|0)==(Gf|0),r=Nl?Oo:0,Nl)if(Uf=(Ho|0)==-1,Uf)Mn=r;else{$6=Ho,ve=r,J4=194;break e}else EA=Ho,ii=Oo,yA=r,J4=184;else Mn=0}while(!1);do if((J4|0)==174)if(Go=N7(0)|0,pf=(Go|0)==-1,pf)Mn=0;else if(aa=Go,Dl=e[138381]|0,_l=Dl+-1|0,Qf=_l&aa,yf=(Qf|0)==0,yf?Ln=cr:(wf=_l+aa|0,vf=0-Dl|0,Sf=wf&vf,Uo=cr-aa|0,Rl=Uo+Sf|0,Ln=Rl),xl=e[138370]|0,Ll=xl+Ln|0,Po=Ln>>>0>v4>>>0,bf=Ln>>>0<2147483647,em=Po&bf,em){if(Fl=e[138372]|0,Df=(Fl|0)==0,!Df&&(_f=Ll>>>0<=xl>>>0,Rf=Ll>>>0>Fl>>>0,im=_f|Rf,im)){Mn=0;break}if(Tl=N7(Ln|0)|0,$a=(Tl|0)==(Go|0),nh=$a?Ln:0,$a){$6=Go,ve=nh,J4=194;break e}else EA=Tl,ii=Ln,yA=nh,J4=184}else Mn=0;while(!1);t:do if((J4|0)==184){Pf=0-ii|0,Of=(EA|0)!=-1,Hf=ii>>>0<2147483647,rm=Hf&Of,Gl=cf>>>0>ii>>>0,sm=Gl&rm;do if(sm)if(Ul=e[138382]|0,nn=dl-ii|0,qo=nn+Ul|0,ca=0-Ul|0,ga=qo&ca,gr=ga>>>0<2147483647,gr)if(Ol=N7(ga|0)|0,hr=(Ol|0)==-1,hr){N7(Pf|0)|0,Mn=yA;break t}else{qf=ga+ii|0,a$=qf;break}else a$=ii;else a$=ii;while(!1);if(Hl=(EA|0)==-1,Hl)Mn=yA;else{$6=EA,ve=a$,J4=194;break e}}while(!1);Yf=e[138373]|0,Jf=Yf|4,e[138373]=Jf,rh=Mn,J4=191}else rh=0,J4=191;while(!1);if((J4|0)==191&&(Vf=cr>>>0<2147483647,Vf&&(Yo=N7(cr|0)|0,ha=N7(0)|0,Sn=(Yo|0)!=-1,zf=(ha|0)!=-1,nm=Sn&zf,Zf=Yo>>>0>>0,om=Zf&nm,om&&(ql=ha,fa=Yo,Yl=ql-fa|0,Jl=v4+40|0,Kl=Yl>>>0>Jl>>>0,E2=Kl?Yl:rh,Kl&&($6=Yo,ve=E2,J4=194)))),(J4|0)==194){jf=e[138370]|0,ua=jf+ve|0,e[138370]=ua,Xf=e[138371]|0,eu=ua>>>0>Xf>>>0,eu&&(e[138371]=ua),P9=e[138268]|0,tu=(P9|0)==0;e:do if(tu){for(Vl=e[138266]|0,iu=(Vl|0)==0,nu=$6>>>0>>0,Am=iu|nu,Am&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,ru=e[138380]|0,e[138271]=ru,e[138270]=-1,CA=0;Ia=CA<<1,zl=553088+(Ia<<2)|0,$0=Ia+3|0,su=553088+($0<<2)|0,e[su>>2]=zl,j=Ia+2|0,ou=553088+(j<<2)|0,e[ou>>2]=zl,Zl=CA+1|0,WE=(Zl|0)==32,!WE;)CA=Zl;Wl=ve+-40|0,Au=$6+8|0,Ea=Au,ma=Ea&7,Xl=(ma|0)==0,au=0-Ea|0,ec=au&7,Ca=Xl?0:ec,$u=$6+Ca|0,tc=Wl-Ca|0,e[138268]=$u,e[138265]=tc,lu=tc|1,V=Ca+4|0,cu=$6+V|0,e[cu>>2]=lu,l1=ve+-36|0,gu=$6+l1|0,e[gu>>2]=40,hu=e[138384]|0,e[138269]=hu}else{for(_s=553496;;){if(nc=e[_s>>2]|0,Ba=_s+4|0,Jo=e[Ba>>2]|0,rc=nc+Jo|0,fu=($6|0)==(rc|0),fu){m=nc,p=Ba,B=Jo,am=_s,J4=204;break}if(sc=_s+8|0,oc=e[sc>>2]|0,uu=(oc|0)==0,uu)break;_s=oc}if((J4|0)==204&&(du=am+12|0,Iu=e[du>>2]|0,Eu=Iu&8,mu=(Eu|0)==0,mu&&(Cu=P9>>>0>=m>>>0,Bu=P9>>>0<$6>>>0,eh=Bu&Cu,eh))){pu=B+ve|0,e[p>>2]=pu,Qu=e[138265]|0,ac=Qu+ve|0,yu=P9+8|0,$c=yu,wu=$c&7,ku=(wu|0)==0,lc=0-$c|0,vu=lc&7,gs=ku?0:vu,cc=P9+gs|0,pa=ac-gs|0,e[138268]=cc,e[138265]=pa,Su=pa|1,s0=gs+4|0,Ko=P9+s0|0,e[Ko>>2]=Su,r1=ac+4|0,Qa=P9+r1|0,e[Qa>>2]=40,bu=e[138384]|0,e[138269]=bu;break}for(gc=e[138266]|0,Du=$6>>>0>>0,Du?(e[138266]=$6,ds=$6):ds=gc,_u=$6+ve|0,Rs=553496;;){if(Ru=e[Rs>>2]|0,xu=(Ru|0)==(_u|0),xu){I=Rs,$n=Rs,J4=212;break}if(Lu=Rs+8|0,hc=e[Lu>>2]|0,Fu=(hc|0)==0,Fu){Ds=553496;break}else Rs=hc}if((J4|0)==212)if(Mu=$n+12|0,Tu=e[Mu>>2]|0,wa=Tu&8,Nu=(wa|0)==0,Nu){e[I>>2]=$6,ka=$n+4|0,Gu=e[ka>>2]|0,Uu=Gu+ve|0,e[ka>>2]=Uu,Pu=$6+8|0,fc=Pu,Ou=fc&7,Hu=(Ou|0)==0,qu=0-fc|0,Ju=qu&7,zo=Hu?0:Ju,Ku=$6+zo|0,I0=ve+8|0,Vu=$6+I0|0,uc=Vu,zu=uc&7,Zu=(zu|0)==0,Wu=0-uc|0,ju=Wu&7,fi=Zu?0:ju,S0=fi+ve|0,ui=$6+S0|0,Ic=ui,va=Ku,Xu=Ic-va|0,i0=zo+v4|0,X7=$6+i0|0,fs=Xu-v4|0,ed=v4|3,f0=zo+4|0,td=$6+f0|0,e[td>>2]=ed,id=(ui|0)==(P9|0);t:do if(id)nd=e[138265]|0,Ec=nd+fs|0,e[138265]=Ec,e[138268]=X7,sd=Ec|1,H1=i0+4|0,od=$6+H1|0,e[od>>2]=sd;else{if(mc=e[138267]|0,Ad=(ui|0)==(mc|0),Ad){ad=e[138264]|0,us=ad+fs|0,e[138264]=us,e[138267]=X7,Sa=us|1,K1=i0+4|0,$d=$6+K1|0,e[$d>>2]=Sa,O1=us+i0|0,Cc=$6+O1|0,e[Cc>>2]=us;break}if(o1=ve+4|0,K0=o1+fi|0,cd=$6+K0|0,Zo=e[cd>>2]|0,gd=Zo&3,hd=(gd|0)==1,hd){Bc=Zo&-8,pc=Zo>>>3,fd=Zo>>>0<256;i:do if(fd){G1=fi|8,J0=G1+ve|0,ud=$6+J0|0,ur=e[ud>>2]|0,k1=ve+12|0,Y0=k1+fi|0,dd=$6+Y0|0,dr=e[dd>>2]|0,Ed=pc<<1,Qc=553088+(Ed<<2)|0,md=(ur|0)==(Qc|0);do if(!md){if(Cd=ur>>>0>>0,Cd&&Q2(),yc=ur+12|0,Bd=e[yc>>2]|0,wc=(Bd|0)==(ui|0),wc)break;Q2()}while(!1);if(pd=(dr|0)==(ur|0),pd){ba=1<>>0>>0,wd&&Q2(),Sc=dr+8|0,kd=e[Sc>>2]|0,vd=(kd|0)==(ui|0),vd){N=Sc;break}Q2()}while(!1);Sd=ur+12|0,e[Sd>>2]=dr,e[N>>2]=ur}else{L1=fi|24,_0=L1+ve|0,bd=$6+_0|0,Is=e[bd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,Dd=$6+Q0|0,Ir=e[Dd>>2]|0,_d=(Ir|0)==(ui|0);do if(_d){if(W1=fi|16,D0=o1+W1|0,xc=$6+D0|0,Lc=e[xc>>2]|0,Md=(Lc|0)==0,Md)if(M0=W1+ve|0,Fc=$6+M0|0,Mc=e[Fc>>2]|0,Td=(Mc|0)==0,Td){R7=0;break}else Cr=Mc,uA=Fc;else Cr=Lc,uA=xc;for(;;){if(Tc=Cr+20|0,Nc=e[Tc>>2]|0,Gd=(Nc|0)==0,!Gd){Cr=Nc,uA=Tc;continue}if(Gc=Cr+16|0,Uc=e[Gc>>2]|0,Ud=(Uc|0)==0,Ud){YE=Cr,zg=uA;break}else Cr=Uc,uA=Gc}if(Pd=zg>>>0>>0,Pd)Q2();else{e[zg>>2]=0,R7=YE;break}}else if(F1=fi|8,L0=F1+ve|0,Rd=$6+L0|0,Da=e[Rd>>2]|0,xd=Da>>>0>>0,xd&&Q2(),_a=Da+12|0,Ra=e[_a>>2]|0,Dc=(Ra|0)==(ui|0),Dc||Q2(),_c=Ir+8|0,Fd=e[_c>>2]|0,Rc=(Fd|0)==(ui|0),Rc){e[_a>>2]=Ir,e[_c>>2]=Da,R7=Ir;break}else Q2();while(!1);if(Pc=(Is|0)==0,Pc)break;w1=ve+28|0,F0=w1+fi|0,xa=$6+F0|0,Oc=e[xa>>2]|0,Yc=553352+(Oc<<2)|0,Od=e[Yc>>2]|0,Hd=(ui|0)==(Od|0);do if(Hd){if(e[Yc>>2]=R7,ZE=(R7|0)==0,!ZE)break;qd=1<>>0>>0,zd&&Q2(),Jc=Is+16|0,Zd=e[Jc>>2]|0,Wd=(Zd|0)==(ui|0),Wd?e[Jc>>2]=R7:(jd=Is+20|0,e[jd>>2]=R7),Kc=(R7|0)==0,Kc)break i;while(!1);Vc=e[138266]|0,Xd=R7>>>0>>0,Xd&&Q2(),zc=R7+24|0,e[zc>>2]=Is,S1=fi|16,T0=S1+ve|0,Fa=$6+T0|0,Wo=e[Fa>>2]|0,Zc=(Wo|0)==0;do if(!Zc)if(tI=Wo>>>0>>0,tI)Q2();else{iI=R7+16|0,e[iI>>2]=Wo,nI=Wo+24|0,e[nI>>2]=R7;break}while(!1);if(q0=o1+S1|0,Wc=$6+q0|0,jo=e[Wc>>2]|0,rI=(jo|0)==0,rI)break;if(sI=e[138266]|0,oI=jo>>>0>>0,oI)Q2();else{AI=R7+20|0,e[AI>>2]=jo,aI=jo+24|0,e[aI>>2]=R7;break}}while(!1);s2=Bc|fi,x0=s2+ve|0,lI=$6+x0|0,cI=Bc+fs|0,Xg=lI,ti=cI}else Xg=ui,ti=fs;if(jc=Xg+4|0,gI=e[jc>>2]|0,hI=gI&-2,e[jc>>2]=hI,fI=ti|1,k0=i0+4|0,uI=$6+k0|0,e[uI>>2]=fI,B0=ti+i0|0,Xo=$6+B0|0,e[Xo>>2]=ti,Xc=ti>>>3,dI=ti>>>0<256,dI){Er=Xc<<1,eg=553088+(Er<<2)|0,tg=e[138262]|0,Ma=1<>2]|0,CI=e[138266]|0,pI=rg>>>0>>0,!pI){F=ng,ja=rg;break}Q2()}while(!1);e[F>>2]=X7,QI=ja+12|0,e[QI>>2]=X7,B1=i0+8|0,yI=$6+B1|0,e[yI>>2]=ja,p1=i0+12|0,eA=$6+p1|0,e[eA>>2]=eg;break}Ta=ti>>>8,wI=(Ta|0)==0;do if(wI)Rn=0;else{if(kI=ti>>>0>16777215,kI){Rn=31;break}vI=Ta+1048320|0,SI=vI>>>16,sg=SI&8,og=Ta<>>16,Ag=_I&4,bn=Ag|sg,ag=og<>>16,lg=RI&2,tA=bn|lg,LI=14-tA|0,FI=ag<>>15,cg=LI+iA|0,MI=cg<<1,TI=cg+7|0,gg=ti>>>TI,NI=gg&1,GI=NI|MI,Rn=GI}while(!1);if(Na=553352+(Rn<<2)|0,y0=i0+28|0,UI=$6+y0|0,e[UI>>2]=Rn,V0=i0+16|0,PI=$6+V0|0,N0=i0+20|0,OI=$6+N0|0,e[OI>>2]=0,e[PI>>2]=0,hg=e[138263]|0,fg=1<>2]=X7,n1=i0+24|0,Es=$6+n1|0,e[Es>>2]=Na,e1=i0+12|0,YI=$6+e1|0,e[YI>>2]=X7,i1=i0+8|0,JI=$6+i1|0,e[JI>>2]=X7;break}Ga=e[Na>>2]|0,Ig=Ga+4|0,KI=e[Ig>>2]|0,VI=KI&-8,zI=(VI|0)==(ti|0);i:do if(zI)xn=Ga;else{for(ZI=(Rn|0)==31,Eg=Rn>>>1,WI=25-Eg|0,jI=ZI?0:WI,XI=ti<>>31,Qg=(r$+16|0)+(pg<<2)|0,ms=e[Qg>>2]|0,ki=(ms|0)==0,ki){A=Qg,VE=r$;break}if(eE=ws<<1,tE=ms+4|0,Cg=e[tE>>2]|0,Bg=Cg&-8,iE=(Bg|0)==(ti|0),iE){xn=ms;break i}else ws=eE,r$=ms}if(sn=e[138266]|0,nE=A>>>0>>0,nE)Q2();else{e[A>>2]=X7,m1=i0+24|0,rE=$6+m1|0,e[rE>>2]=VE,d1=i0+12|0,sE=$6+d1|0,e[sE>>2]=X7,E1=i0+8|0,oE=$6+E1|0,e[oE>>2]=X7;break t}}while(!1);if(Ua=xn+8|0,sA=e[Ua>>2]|0,wg=e[138266]|0,kg=sA>>>0>=wg>>>0,o$=xn>>>0>=wg>>>0,AE=kg&o$,AE){Cs=sA+12|0,e[Cs>>2]=X7,e[Ua>>2]=X7,z0=i0+8|0,aE=$6+z0|0,e[aE>>2]=sA,I1=i0+12|0,AA=$6+I1|0,e[AA>>2]=xn,h1=i0+24|0,Pa=$6+h1|0,e[Pa>>2]=0;break}else Q2()}while(!1);return $1=zo|8,$E=$6+$1|0,Ve=$E,Ve|0}else Ds=553496;for(;;){if(Oa=e[Ds>>2]|0,lE=Oa>>>0>P9>>>0,!lE&&(cE=Ds+4|0,vg=e[cE>>2]|0,aA=Oa+vg|0,gE=aA>>>0>P9>>>0,gE)){c=Oa,f=vg,E=aA;break}hE=Ds+8|0,fE=e[hE>>2]|0,Ds=fE}if(a0=f+-47|0,l0=f+-39|0,uE=c+l0|0,bg=uE,dE=bg&7,jt=(dE|0)==0,y4=0-bg|0,ei=y4&7,IE=jt?0:ei,a1=a0+IE|0,_g=c+a1|0,Ha=P9+16|0,EE=_g>>>0>>0,Dn=EE?P9:_g,Bs=Dn+8|0,mE=ve+-40|0,CE=$6+8|0,Rg=CE,qa=Rg&7,BE=(qa|0)==0,Lg=0-Rg|0,Fg=Lg&7,Ya=BE?0:Fg,Ja=$6+Ya|0,Mg=mE-Ya|0,e[138268]=Ja,e[138265]=Mg,ps=Mg|1,Z=Ya+4|0,Ka=$6+Z|0,e[Ka>>2]=ps,s1=ve+-36|0,Tg=$6+s1|0,e[Tg>>2]=40,pE=e[138384]|0,e[138269]=pE,mr=Dn+4|0,e[mr>>2]=27,e[Bs>>2]=e[138374]|0,e[Bs+4>>2]=e[138375]|0,e[Bs+8>>2]=e[138376]|0,e[Bs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=Bs,Ng=Dn+28|0,e[Ng>>2]=7,$A=Dn+32|0,yE=$A>>>0>>0,yE)for(vi=Ng;Gg=vi+4|0,e[Gg>>2]=7,wE=vi+8|0,kE=wE>>>0>>0,kE;)vi=Gg;if(vE=(Dn|0)==(P9|0),!vE){if(SE=Dn,bE=P9,Si=SE-bE|0,_E=e[mr>>2]|0,RE=_E&-2,e[mr>>2]=RE,xE=Si|1,Ug=P9+4|0,e[Ug>>2]=xE,e[Dn>>2]=Si,di=Si>>>3,lA=Si>>>0<256,lA){Va=di<<1,Pg=553088+(Va<<2)|0,Og=e[138262]|0,Hg=1<>2]|0,TE=e[138266]|0,NE=Jg>>>0>>0,NE?Q2():(x=Yg,Za=Jg)),e[x>>2]=P9,Kg=Za+12|0,e[Kg>>2]=P9,GE=P9+8|0,e[GE>>2]=Za,cA=P9+12|0,e[cA>>2]=Pg;break}if(gA=Si>>>8,UE=(gA|0)==0,UE?on=0:(za=Si>>>0>16777215,za?on=31:(PE=gA+1048320|0,OE=PE>>>16,Vg=OE&8,ys=gA<>>16,$2=qE&4,i2=$2|Vg,A2=ys<<$2,X1=A2+245760|0,r2=X1>>>16,u2=r2&2,e2=i2|u2,y2=14-e2|0,v2=A2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=Si>>>N2,V2=d2&1,G2=V2|D2,on=G2)),q2=553352+(on<<2)|0,M2=P9+28|0,e[M2>>2]=on,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]=q2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}u5=e[q2>>2]|0,v5=u5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(Si|0);t:do if(m5)IA=u5;else{for(r5=(on|0)==31,R2=on>>>1,_2=25-R2|0,B2=r5?0:_2,C5=Si<>>31,c5=(s$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,B5=(D5|0)==0,B5){a=c5,Wg=s$;break}if(L5=t$<<1,d5=D5+4|0,_5=e[d5>>2]|0,H2=_5&-8,I5=(H2|0)==(Si|0),I5){IA=D5;break t}else t$=L5,s$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Wg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=IA+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,jE=IA>>>0>=s5>>>0,J2=h5&jE,J2){f5=t5+12|0,e[f5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,R5=P9+12|0,e[R5>>2]=IA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(x2=e[138265]|0,Q5=x2>>>0>v4>>>0,Q5)return H5=x2-v4|0,e[138265]=H5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,u3=H5|1,K=v4+4|0,h3=j5+K|0,e[h3>>2]=u3,J5=v4|3,X5=j5+4|0,e[X5>>2]=J5,r3=j5+8|0,Ve=r3,Ve|0}return F5=Wp()|0,e[F5>>2]=12,Ve=0,Ve|0}function I2(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0;if(Re=C,X=(t|0)==0,!X){U=t+-8|0,V2=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(),H9=$9&-8,p=H9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-S0|0,b0=t+Q|0,z0=S0+H9|0,w1=b0>>>0>>0,w1&&Q2(),O1=e[138267]|0,s2=(b0|0)==(O1|0),s2){if(z=H9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,n0=i0&3,K=(n0|0)==3,!K){Y3=b0,w9=z0;break}e[138264]=z0,h0=i0&-2,e[s0>>2]=h0,o0=z0|1,_=Q+4|0,c0=t+_|0,e[c0>>2]=o0,e[Z9>>2]=z0;return}if(r2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,B2=e[b5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,u3=r2<<1,V3=553088+(u3<<2)|0,C3=(B2|0)==(V3|0),C3||(f6=B2>>>0>>0,f6&&Q2(),l6=B2+12|0,S3=e[l6>>2]|0,O6=(S3|0)==(b0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,F3=(F6|0)==(b0|0),F3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,Y3=b0,w9=z0;break}L=Q+24|0,t9=t+L|0,A9=e[t9>>2]|0,x=Q+12|0,j6=t+x|0,f9=e[j6>>2]|0,u9=(f9|0)==(b0|0);do if(u9){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,H6=(E9|0)==0,H6){C9=0;break}else F4=E9,pe=b9;else F4=h4,pe=o4;for(;;){if(n9=F4+20|0,m4=e[n9>>2]|0,S4=(m4|0)==0,!S4){F4=m4,pe=n9;continue}if(A4=F4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){ge=F4,p4=pe;break}else F4=y9,pe=A4}if(D4=p4>>>0>>0,D4)Q2();else{e[p4>>2]=0,C9=ge;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(b0|0),i9||Q2(),N9=f9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(b0|0),E4){e[E6>>2]=f9,e[N9>>2]=a9,C9=f9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)Y3=b0,w9=z0;else{if(T=Q+28|0,j4=t+T|0,C4=e[j4>>2]|0,N4=553352+(C4<<2)|0,U9=e[N4>>2]|0,G4=(b0|0)==(U9|0),G4){if(e[N4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,U4=(Xe|0)==(b0|0),U4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),P4=(C9|0)==0,P4){Y3=b0,w9=z0;break}X4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,ae=t+N|0,u4=e[ae>>2]|0,_6=(u4|0)==0;do if(!_6)if(O4=u4>>>0>>0,O4)Q2();else{L9=C9+16|0,e[L9>>2]=u4,$4=u4+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)Y3=b0,w9=z0;else if(le=e[138266]|0,Z=$e>>>0>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=$e,a0=$e+24|0,e[a0>>2]=C9,Y3=b0,w9=z0;break}}}else Y3=U,w9=H9;while(!1);if(l0=Y3>>>0>>0,l0||Q2(),D=H9+-4|0,f0=t+D|0,d0=e[f0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,u0=(k0|0)==0,u0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,K0=I0+w9|0,e[138265]=K0,e[138268]=Y3,_0=K0|1,Q0=Y3+4|0,e[Q0>>2]=_0,L0=e[138267]|0,F0=(Y3|0)==(L0|0),!F0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,U0=(Z9|0)==(T0|0),U0){y0=e[138264]|0,q0=y0+w9|0,e[138264]=q0,e[138267]=Y3,x0=q0|1,M0=Y3+4|0,e[M0>>2]=x0,J0=Y3+q0|0,e[J0>>2]=q0;return}Y0=d0&-8,P0=Y0+w9|0,V0=d0>>>3,N0=d0>>>0<256;do if(N0){if(O0=t+H9|0,n1=e[O0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=V0<<1,c1=553088+(i1<<2)|0,$1=(n1|0)==(c1|0),$1||(f1=e[138266]|0,g1=n1>>>0>>0,g1&&Q2(),l1=n1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),r1=(e1|0)==(n1|0),r1){o1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,R1=(Q1|0)==(Z9|0),R1?a=p1:Q2()),x1=n1+12|0,e[x1>>2]=e1,e[a>>2]=n1}else{J=H9+16|0,S1=t+J|0,L1=e[S1>>2]|0,W=H9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(H=H9+12|0,W1=t+H|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){l4=0;break}else g6=f2,c4=z1;else g6=P1,c4=W1;for(;;){if(o2=g6+20|0,V1=e[o2>>2]|0,h2=(V1|0)==0,!h2){g6=V1,c4=o2;continue}if(a2=g6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ue=g6,P6=c4;break}else g6=t2,c4=a2}if(i2=e[138266]|0,A2=P6>>>0>>0,A2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+H9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,D1=Z1>>>0>>0,D1&&Q2(),K1=Z1+12|0,H1=e[K1>>2]|0,q1=(H1|0)==(Z9|0),q1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[K1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(L1|0)==0,!X1){if(v=H9+20|0,u2=t+v|0,e2=e[u2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,q2&&Q2(),M2=L1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=L1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),x5=l4+24|0,e[x5>>2]=L1,b=H9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,u5=(Z2|0)==0;do if(!u5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=H9+12|0,k2=t+w|0,m5=e[k2>>2]|0,r5=(m5|0)==0,!r5)if(R2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,L5=m5+24|0,e[L5>>2]=l4;break}}}while(!1);if(d5=P0|1,D5=Y3+4|0,e[D5>>2]=d5,G5=Y3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,H2=(Y3|0)==(_5|0),H2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[f0>>2]=I5,A5=w9|1,c5=Y3+4|0,e[c5>>2]=A5,M1=Y3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,R5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(f=f5,ce=i5)),e[f>>2]=Y3,$5=ce+12|0,e[$5>>2]=Y3,x2=Y3+8|0,e[x2>>2]=ce,Q5=Y3+12|0,e[Q5>>2]=W2;return}H5=B9>>>8,j5=(H5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=H5+1048320|0,J5=h3>>>16,X5=J5&8,r3=H5<>>16,K5=F5&4,w3=K5|X5,f3=r3<>>16,z5=N3&2,y3=w3|z5,W5=14-y3|0,i6=f3<>>15,G3=W5+R3|0,a3=G3<<1,l3=G3+7|0,c3=B9>>>l3,q5=c3&1,U5=q5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=Y3+28|0,e[k5>>2]=B4,U3=Y3+16|0,M5=Y3+20|0,e[M5>>2]=0,e[U3>>2]=0,o6=e[138263]|0,e3=1<>2]=Y3,k3=Y3+24|0,e[k3>>2]=O5,Q3=Y3+12|0,e[Q3>>2]=Y3,n6=Y3+8|0,e[n6>>2]=Y3;else{W3=e[O5>>2]|0,P3=W3+4|0,V5=e[P3>>2]|0,v3=V5&-8,g3=(v3|0)==(B9|0);t:do if(g3)De=W3;else{for(O3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=O3?0:k6,S6=B9<>>31,e6=(_e+16|0)+(X3<<2)|0,c6=e[e6>>2]|0,u6=(c6|0)==0,u6){r=e6,t8=_e;break}if(B6=ee<<1,j3=c6+4|0,p6=e[j3>>2]|0,R6=p6&-8,Y6=(R6|0)==(B9|0),Y6){De=c6;break t}else ee=B6,_e=c6}if(H3=e[138266]|0,b3=r>>>0

>>0,b3)Q2();else{e[r>>2]=Y3,q3=Y3+24|0,e[q3>>2]=t8,z3=Y3+12|0,e[z3>>2]=Y3,b6=Y3+8|0,e[b6>>2]=Y3;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){D3=t3+12|0,e[D3>>2]=Y3,e[A6>>2]=Y3,N6=Y3+8|0,e[N6>>2]=t3,r6=Y3+12|0,e[r6>>2]=De,Q6=Y3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(x6=e[138270]|0,V6=x6+-1|0,e[138270]=V6,I6=(V6|0)==0,I6)te=553504;else return;for(;M4=e[te>>2]|0,L3=(M4|0)==0,W6=M4+8|0,!L3;)te=W6;e[138270]=-1}}function r4(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(c=n5(r,t)|0,I=r|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(r|0),A=B?c:-1,D=A):D=c),v=S9(D)|0,b=(v|0)==0,b||(w=v+-4|0,y=e[w>>2]|0,f=y&3,E=(f|0)==0,E)||Ae(v|0,0,D|0)|0,v|0}function Oi(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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(r)|0,O=a,O|0):(y=r>>>0>4294967231,y?(L=Wp()|0,e[L>>2]=12,O=0,O|0):(x=r>>>0<11,F=r+11|0,M=F&-8,T=x?16:M,N=t+-8|0,G=$b(N,T)|0,c=(G|0)==0,c?(E=S9(r)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,v=p&3,b=(v|0)==0,w=b?8:4,D=B-w|0,Q=D>>>0>>0,_=Q?D:r,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(f=G+8|0,O=f,O|0)))}function $b(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0;if(K5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,n2=t+k1|0,a2=e[138266]|0,w2=G&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,J5=h3&u3,z2=t>>>0>>0,X5=J5&z2,X5||Q2(),_=k1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return l0=r>>>0<256,l0?(E5=0,E5|0):(K0=r+4|0,M0=k1>>>0>>0,!M0&&(i1=k1-r|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-r|0,Z1=U1>>>0>15,Z1?(N1=t+r|0,D1=G&1,K1=D1|r,O1=K1|2,e[N>>2]=O1,Q=r+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,SQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,f2=z1>>>0>r>>>0,f2?(s2=z1-r|0,E2=t+r|0,o2=G&1,V1=o2|r,h2=V1|2,e[N>>2]=h2,D=r+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(i2=e[138267]|0,A2=(n2|0)==(i2|0),A2)return X1=e[138264]|0,r2=X1+k1|0,u2=r2>>>0>>0,u2?(E5=0,E5|0):(e2=r2-r|0,y2=e2>>>0>15,y2?(v2=t+r|0,C2=t+r2|0,F2=G&1,D2=F2|r,N2=D2|2,e[N>>2]=N2,b=r+4|0,d2=t+b|0,V2=e2|1,e[d2>>2]=V2,e[C2>>2]=e2,y=r2+4|0,G2=t+y|0,q2=e[G2>>2]|0,M2=q2&-2,e[G2>>2]=M2,r3=v2,m3=e2):(P2=G&1,o5=P2|r2,O2=o5|2,e[N>>2]=O2,v=r2+4|0,T1=t+v|0,X2=e[T1>>2]|0,x5=X2|1,e[T1>>2]=x5,r3=0,m3=0),e[138264]=m3,e[138267]=r3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,u5=Z2+k1|0,v5=u5>>>0>>0,v5))return E5=0,E5|0;l5=u5-r|0,k2=D5>>>3,m5=D5>>>0<256;do if(m5){if(p=k1+8|0,r5=t+p|0,R2=e[r5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,L5=553088+(C5<<2)|0,d5=(R2|0)==(L5|0),d5||(G5=R2>>>0>>0,G5&&Q2(),_5=R2+12|0,H2=e[_5>>2]|0,I5=(H2|0)==(n2|0),I5||Q2()),A5=(B2|0)==(R2|0),A5){c5=1<>>0>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(n2|0),t5?a=g2:Q2()),s5=R2+12|0,e[s5>>2]=B2,e[a>>2]=R2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,f5=t+w|0,i5=e[f5>>2]|0,R5=(i5|0)==(n2|0);do if(R5){if(x=k1+20|0,$0=t+x|0,V=e[$0>>2]|0,a0=(V|0)==0,a0)if(L=k1+16|0,s0=t+L|0,i0=e[s0>>2]|0,n0=(i0|0)==0,n0){x2=0;break}else j2=i0,Q5=s0;else j2=V,Q5=$0;for(;;){if(K=j2+20|0,h0=e[K>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=K;continue}if(c0=j2+16|0,j=e[c0>>2]|0,f0=(j|0)==0,f0){$5=j2,H5=Q5;break}else j2=j,Q5=c0}if(d0=H5>>>0>>0,d0)Q2();else{e[H5>>2]=0,x2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),H=i5+8|0,X=e[H>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[H>>2]=Y,x2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(f=k1+28|0,C0=t+f|0,k0=e[C0>>2]|0,u0=553352+(k0<<2)|0,B0=e[u0>>2]|0,p0=(n2|0)==(B0|0),p0){if(e[u0>>2]=x2,j5=(x2|0)==0,j5){I0=1<>>0>>0,F0&&Q2(),T0=J2+16|0,U0=e[T0>>2]|0,y0=(U0|0)==(n2|0),y0?e[T0>>2]=x2:(q0=J2+20|0,e[q0>>2]=x2),x0=(x2|0)==0,x0)break;D0=e[138266]|0,J0=x2>>>0>>0,J0&&Q2(),Y0=x2+24|0,e[Y0>>2]=J2,E=k1+16|0,P0=t+E|0,V0=e[P0>>2]|0,N0=(V0|0)==0;do if(!N0)if(O0=V0>>>0>>0,O0)Q2();else{n1=x2+16|0,e[n1>>2]=V0,H0=V0+24|0,e[H0>>2]=x2;break}while(!1);if(I=k1+20|0,e1=t+I|0,b0=e[e1>>2]|0,c1=(b0|0)==0,!c1)if($1=e[138266]|0,f1=b0>>>0<$1>>>0,f1)Q2();else{g1=x2+20|0,e[g1>>2]=b0,l1=b0+24|0,e[l1>>2]=x2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,r1=u5|a1,o1=r1|2,e[N>>2]=o1,T=u5|4,z0=t+T|0,h1=e[z0>>2]|0,m1=h1|1,e[z0>>2]=m1,E5=t,E5|0):(d1=t+r|0,E1=G&1,B1=E1|r,p1=B1|2,e[N>>2]=p1,F=r+4|0,Q1=t+F|0,R1=l5|3,e[Q1>>2]=R1,M=u5|4,x1=t+M|0,w1=e[x1>>2]|0,L1=w1|1,e[x1>>2]=L1,SQ(d1,l5),E5=t,E5|0)}function SQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,V=t+r|0,a0=t+4|0,P2=e[a0>>2]|0,u6=P2&1,J6=(u6|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+r|0,w0=e[138266]|0,L0=m9>>>0>>0,L0&&Q2(),P0=e[138267]|0,f1=(m9|0)==(P0|0),f1){if(w=r+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,n0=i0&3,K=(n0|0)==3,!K){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,x=4-F6|0,c0=t+x|0,e[c0>>2]=o0,e[V>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),r3=h2+12|0,W5=e[r3>>2]|0,k5=(W5|0)==(m9|0),k5||Q2()),n6=(z2|0)==(h2|0),n6){S6=1<>>0>>0,N6&&Q2(),r6=z2+8|0,Q6=e[r6>>2]|0,x6=(Q6|0)==(m9|0),x6?m=r6:Q2()),V6=h2+12|0,e[V6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}F=24-F6|0,I6=t+F|0,L3=e[I6>>2]|0,M=12-F6|0,W6=t+M|0,G6=e[W6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,j6=e[A9>>2]|0,f9=(j6|0)==0,f9)if(u9=t+T|0,d9=e[u9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else O4=d9,le=u9;else O4=j6,le=A9;for(;;){if($9=O4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){O4=E6,le=$9;continue}if(i9=O4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){L9=O4,ce=le;break}else O4=N9,le=i9}if(E4=ce>>>0>>0,E4)Q2();else{e[ce>>2]=0,$4=L9;break}}else if(t0=8-F6|0,s9=t+t0|0,L6=e[s9>>2]|0,U6=L6>>>0>>0,U6&&Q2(),D6=L6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),F3=G6+8|0,M6=e[F3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[F3>>2]=L6,$4=G6;break}else Q2();while(!1);if(o4=(L3|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,H6=(m9|0)==(E9|0),H6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){n9=1<>>0>>0,b4&&Q2(),D4=L3+16|0,x4=e[D4>>2]|0,j4=(x4|0)==(m9|0),j4?e[D4>>2]=$4:(C4=L3+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]=L3,z=16-F6|0,L4=t+z|0,f4=e[L4>>2]|0,Ce=(f4|0)==0;do if(!Ce)if(H9=f4>>>0>>0,H9)Q2();else{Be=$4+16|0,e[Be>>2]=f4,Ne=f4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,U4=e[Xe>>2]|0,Ge=(U4|0)==0,Ge)A=m9,a=s0;else if(P4=e[138266]|0,X4=U4>>>0>>0,X4)Q2();else{be=$4+20|0,e[be>>2]=U4,e8=U4+24|0,e[e8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=r;while(!1);if(j=e[138266]|0,l0=V>>>0>>0,l0&&Q2(),y=r+4|0,f0=t+y|0,d0=e[f0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(u0=e[138268]|0,B0=(V|0)==(u0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=A,S0=I0|1,K0=A+4|0,e[K0>>2]=S0,_0=e[138267]|0,Q0=(A|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(F0=e[138267]|0,T0=(V|0)==(F0|0),T0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=A,q0=y0|1,x0=A+4|0,e[x0>>2]=q0,D0=A+y0|0,e[D0>>2]=y0;return}M0=d0&-8,J0=M0+a|0,Y0=d0>>>3,V0=d0>>>0<256;do if(V0){if(_=r+8|0,N0=t+_|0,O0=e[N0>>2]|0,L=r+12|0,n1=t+L|0,H0=e[n1>>2]|0,e1=Y0<<1,b0=553088+(e1<<2)|0,i1=(O0|0)==(b0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(V|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=H0,e[I>>2]=O0}else{G=r+24|0,Q1=t+G|0,R1=e[Q1>>2]|0,e0=r+12|0,x1=t+e0|0,w1=e[x1>>2]|0,S1=(w1|0)==(V|0);do if(S1){if(X=r+20|0,H1=t+X|0,q1=e[H1>>2]|0,Y1=(q1|0)==0,Y1)if(H=r+16|0,n2=t+H|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=n2;else _4=q1,B4=H1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=c2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,o2=(E2|0)==0,o2){$e=_4,ee=B4;break}else _4=E2,B4=s2}if(V1=ee>>>0>>0,V1)Q2();else{e[ee>>2]=0,W9=$e;break}}else if(Q=r+8|0,L1=t+Q|0,F1=e[L1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(V|0),N1||Q2(),D1=w1+8|0,K1=e[D1>>2]|0,O1=(K1|0)==(V|0),O1){e[U1>>2]=w1,e[D1>>2]=F1,W9=w1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if($0=r+28|0,t2=t+$0|0,$2=e[t2>>2]|0,i2=553352+($2<<2)|0,A2=e[i2>>2]|0,X1=(V|0)==(A2|0),X1){if(e[i2>>2]=W9,Ue=(W9|0)==0,Ue){r2=1<<$2,u2=r2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,C2=R1>>>0>>0,C2&&Q2(),F2=R1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(V|0),N2?e[F2>>2]=W9:(d2=R1+20|0,e[d2>>2]=W9),V2=(W9|0)==0,V2)break;G2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),M2=W9+24|0,e[M2>>2]=R1,Z=r+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=r+20|0,b5=t+D|0,Z2=e[b5>>2]|0,u5=(Z2|0)==0,!u5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(r5=J0|1,R2=A+4|0,e[R2>>2]=r5,_2=A+J0|0,e[_2>>2]=J0,B2=e[138267]|0,C5=(A|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else L5=d0&-2,e[f0>>2]=L5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,I5=c>>>0<256,I5){A5=H2<<1,c5=553088+(A5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,ae=p5)),e[p>>2]=A,h5=ae+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=ae,f5=A+12|0,e[f5>>2]=c5;return}if(i5=c>>>8,R5=(i5|0)==0,R5?u4=0:($5=c>>>0>16777215,$5?u4=31:(x2=i5+1048320|0,Q5=x2>>>16,H5=Q5&8,j5=i5<>>16,h3=u3&4,J5=h3|H5,X5=j5<>>16,K5=F5&2,w3=J5|K5,f3=14-w3|0,B3=X5<>>15,N3=f3+V3|0,z5=N3<<1,y3=N3+7|0,i6=c>>>y3,R3=i6&1,G3=R3|z5,u4=G3)),a3=553352+(u4<<2)|0,l3=A+28|0,e[l3>>2]=u4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,q5=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}x3=e[a3>>2]|0,f6=x3+4|0,p3=e[f6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)F4=x3;else{for(W3=(u4|0)==31,P3=u4>>>1,V5=25-P3|0,v3=W3?0:V5,g3=c<>>31,c6=(ge+16|0)+(j3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){f=c6,C9=ge;break}if(O3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){F4=d3;break e}else _6=O3,ge=d3}R6=e[138266]|0,Y6=f>>>0>>0,Y6&&Q2(),e[f>>2]=A,C6=A+24|0,e[C6>>2]=C9,S3=A+12|0,e[S3>>2]=A,X3=A+8|0,e[X3>>2]=A;return}while(!1);e6=F4+8|0,b3=e[e6>>2]|0,q3=e[138266]|0,z3=b3>>>0>=q3>>>0,l4=F4>>>0>=q3>>>0,b6=z3&l4,b6||Q2(),A6=b3+12|0,e[A6>>2]=A,e[e6>>2]=A,t3=A+8|0,e[t3>>2]=b3,O6=A+12|0,e[O6>>2]=F4,s3=A+24|0,e[s3>>2]=0}function lb(){e[6410]=O9}function Ae(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0;if(a=t+A|0,(A|0)>=20){if(r=r&255,E=t&3,c=r|r<<8|r<<16|r<<24,f=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=r,t=t+1|0;for(;(t|0)<(f|0);)e[t>>2]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=r,t=t+1|0;return t-A|0}function X$(t){t=t|0;var r=0;for(r=t;d[r>>0]|0;)r=r+1|0;return r-t|0}function bQ(t,r){t=t|0,r=r|0;var A=0,a=0;a=t+(X$(t)|0)|0;do d[a+A>>0]=d[r+A>>0],A=A+1|0;while(d[r+(A-1)>>0]|0);return t|0}function DQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,f=r+a+(c>>>0>>0|0)>>>0,q6=f,c|0|0}function Zs(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(r&a)<<32-A):(q6=0,r>>>A-32|0)}function s4(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;if((A|0)>=4096)return Cv(t|0,r|0,A|0)|0;if(a=t|0,(t&3)==(r&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[r>>0]|0,t=t+1|0,r=r+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[r>>2]|0,t=t+4|0,r=r+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[r>>0]|0,t=t+1|0,r=r+1|0,A=A-1|0;return a|0}function jA(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;if((r|0)<(t|0)&(t|0)<(r+A|0)){for(a=t,r=r+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,r=r-1|0,A=A-1|0,d[t>>0]=d[r>>0]|0;t=a}else s4(t,r,A)|0;return t|0}function mB(t,r){t=t|0,r=r|0;var A=0;do d[(t+A|0)>>0]=d[(r+A|0)>>0],A=A+1|0;while(d[r+(A-1)>>0]|0);return t|0}function Ws(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0;return c=t-A>>>0,f=r-a>>>0,f=r-a-(A>>>0>t>>>0|0)>>>0,q6=f,c|0|0}function GD(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(r&a)<<32-A):(q6=(r|0)<0?-1:0,r>>A-32|0)}function _Q(t){t=t|0;var r=0;return r=d[R9+(t&255)>>0]|0,(r|0)<8?r|0:(r=d[R9+(t>>8&255)>>0]|0,(r|0)<8?r+8|0:(r=d[R9+(t>>16&255)>>0]|0,(r|0)<8?r+16|0:(d[R9+(t>>>24)>>0]|0)+24|0))}function cb(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0;return A=t&65535,a=r&65535,c=n5(a,A)|0,f=t>>>16,E=(c>>>16)+(n5(a,f)|0)|0,I=r>>>16,m=n5(I,A)|0,q6=((E>>>16)+(n5(I,f)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function UD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return c=r>>31|((r|0)<0?-1:0)<<1,f=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=Ws(c^t,f^r,c,f)|0,p=q6,B=Ws(E^A,I^a,E,I)|0,v=E^c,b=I^f,w=nC(m,p,B,q6,0)|0,y=Ws(w^v,q6^b,v,b)|0,y|0}function PD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,f=r>>31|((r|0)<0?-1:0)<<1,E=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Ws(f^t,E^r,f,E)|0,B=q6,v=Ws(I^A,m^a,I,m)|0,nC(p,B,v,q6,c)|0,b=Ws(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=q6,C=y,q6=w,b|0}function gb(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0;return c=t,f=A,E=cb(c,f)|0,I=q6,m=n5(r,f)|0,q6=((n5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function OD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0;return c=nC(t,r,A,a,0)|0,c|0}function HD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0;return f=C,C=C+8|0,c=f|0,nC(t,r,A,a,c)|0,C=f,q6=e[c+4>>2]|0,e[c>>2]|0|0}function nC(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,D0=0;if(f=t,E=r,I=E,m=A,p=a,B=p,!(I|0))return v=(c|0)!=0,B|0?v?(e[c>>2]=t&-1,e[c+4>>2]=r&0,D0=0,x0=0,q6=D0,x0|0):(D0=0,x0=0,q6=D0,x0|0):(v&&(e[c>>2]=(f>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,x0=(f>>>0)/(m>>>0)>>>0,q6=D0,x0|0);b=(B|0)==0;do if(m|0){if(!b){if(Y=Vs(B|0)|0,t0=Y-(Vs(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|r&0,D0=0,x0=0,q6=D0,x0|0):(D0=0,x0=0,q6=D0,x0|0)}if(L=m-1|0,L&m|0){F=(Vs(m|0)|0)+33|0,M=F-(Vs(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=f<>>(O>>>0))&G|f<>31;break}return c|0&&(e[c>>2]=L&f,e[c+4>>2]=0),(m|0)==1?(D0=E|r&0,x0=0|t&-1,q6=D0,x0|0):(x=_Q(m|0)|0,D0=0|I>>>(x>>>0),x0=I<<32-x|f>>>(x>>>0)|0,q6=D0,x0|0)}else{if(b)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,x0=(I>>>0)/(m>>>0)>>>0,q6=D0,x0|0;if(!(f|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),D0=0,x0=(I>>>0)/(B>>>0)>>>0,q6=D0,x0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|r&0),D0=0,x0=I>>>((_Q(B|0)|0)>>>0),q6=D0,x0|0;if(y=Vs(B|0)|0,D=y-(Vs(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,$0=I<<_|f>>>(Q>>>0),U=I>>>(Q>>>0),X=0,H=f<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|r&0,D0=0,x0=0,q6=D0,x0|0):(D0=0,x0=0,q6=D0,x0|0)}while(!1);if(!(Z|0))T0=H,F0=X,L0=U,Q0=$0,_0=0,K0=0;else{for(V=0|A&-1,a0=p|a&0,s0=zs(V|0,a0|0,-1,-1)|0,i0=q6,j=H,c0=X,o0=U,h0=$0,K=Z,n0=0;l0=c0>>>31|j<<1,f0=n0|c0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,Ws(s0,i0,d0,w0)|0,C0=q6,k0=C0>>31|((C0|0)<0?-1:0)<<1,u0=k0&1,B0=Ws(d0,w0,k0&V,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=q6,S0=K-1|0,S0|0;)j=l0,c0=f0,o0=I0,h0=p0,K=S0,n0=u0;T0=l0,F0=f0,L0=I0,Q0=p0,_0=0,K0=u0}return U0=F0,y0=0,q0=T0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=L0|0),D0=(0|U0)>>>31|q0<<1|(y0<<1|U0>>>31)&0|_0,x0=(U0<<1|0)&-2|K0,q6=D0,x0|0}function hb(t,r,A,a,c){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,pB[t&3](r|0,A|0,a|0,c|0)|0}function fb(t,r){t=t|0,r=r|0,js[t&7](r|0)}function ub(t,r,A){t=t|0,r=r|0,A=A|0,QB[t&3](r|0,A|0)}function db(t,r){return t=t|0,r=r|0,LQ[t&1](r|0)|0}function Ib(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0,FQ[t&1](r|0,A|0,a|0)}function Eb(t,r,A,a,c,f,E,I,m){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,MQ[t&3](r|0,A|0,a|0,c|0,f|0,E|0,I|0,m|0)|0}function mb(t,r,A){return t=t|0,r=r|0,A=A|0,u7[t&15](r|0,A|0)|0}function Cb(t,r,A,a,c,f){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,yB[t&7](r|0,A|0,a|0,c|0,f|0)|0}function Bb(t,r,A,a){return t=t|0,r=r|0,A=A|0,a=a|0,Vn(0),0}function CB(t){t=t|0,Vn(1)}function RQ(t,r){t=t|0,r=r|0,Vn(2)}function pb(t){return t=t|0,Vn(3),0}function Qb(t,r,A){t=t|0,r=r|0,A=A|0,Vn(4)}function xQ(t,r,A,a,c,f,E,I){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,Vn(5),0}function el(t,r){return t=t|0,r=r|0,Vn(6),0}function BB(t,r,A,a,c){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,Vn(7),0}var pB=[Bb,aS,Jv,Kv],js=[CB,sS,oS,ES,_S,RS,CB,CB],QB=[RQ,iS,xS,RQ],LQ=[pb,mS],FQ=[Qb,dS],MQ=[xQ,TS,PS,xQ],u7=[el,nS,rS,AS,IS,CS,LS,FS,$S,DS,KS,el,el,el,el,el],yB=[BB,MS,NS,GS,US,OS,BB,BB];return{_memmove:jA,_strlen:X$,_strcat:bQ,_free:I2,_i64Add:zs,_encoder_clear:tb,_encoder_transfer_data:sb,_encoder_data_len:rb,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:eb,_encoder_process:nb,_bitshift64Lshr:Zs,_bitshift64Shl:DQ,_strcpy:mB,_encoder_analysis_buffer:ib,runPostSets:lb,stackAlloc:Qv,stackSave:yv,stackRestore:wv,establishStackSpace:kv,setThrew:vv,setTempRet0:Sv,getTempRet0:bv,dynCall_iiiii:hb,dynCall_vi:fb,dynCall_vii:ub,dynCall_ii:db,dynCall_viii:Ib,dynCall_iiiiiiiii:Eb,dynCall_iii:mb,dynCall_iiiiii:Cb}}(o.asmGlobalArg,o.asmLibraryArg,Fi),fD=o.runPostSets=K9.runPostSets,rv=o._strlen=K9._strlen,sv=o._strcat=K9._strcat,AB=o._free=K9._free,uD=o._encoder_init=K9._encoder_init,ov=o._i64Add=K9._i64Add,Av=o._memmove=K9._memmove,dD=o._encoder_transfer_data=K9._encoder_transfer_data,ID=o._encoder_process=K9._encoder_process,ED=o._encoder_data_len=K9._encoder_data_len,av=o._memset=K9._memset,_h=o._malloc=K9._malloc,$v=o._memcpy=K9._memcpy,mD=o._encoder_clear=K9._encoder_clear,lv=o._bitshift64Lshr=K9._bitshift64Lshr,CD=o._encoder_analysis_buffer=K9._encoder_analysis_buffer,cv=o._strcpy=K9._strcpy,gv=o._bitshift64Shl=K9._bitshift64Shl,BD=o.dynCall_iiiii=K9.dynCall_iiiii,pD=o.dynCall_vi=K9.dynCall_vi,QD=o.dynCall_vii=K9.dynCall_vii,yD=o.dynCall_ii=K9.dynCall_ii,wD=o.dynCall_viii=K9.dynCall_viii,kD=o.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,vD=o.dynCall_iii=K9.dynCall_iii,SD=o.dynCall_iiiiii=K9.dynCall_iiiiii;R.stackAlloc=K9.stackAlloc,R.stackSave=K9.stackSave,R.stackRestore=K9.stackRestore,R.establishStackSpace=K9.establishStackSpace,R.setTempRet0=K9.setTempRet0,R.getTempRet0=K9.getTempRet0;var bD=function(){var i={math:{}};i.math.Long=function(q,v0){this.low_=q|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var v0=i.math.Long.IntCache_[q];if(v0)return v0}var j0=new i.math.Long(q|0,q<0?-1:0);return-128<=q&&q<128&&(i.math.Long.IntCache_[q]=j0),j0},i.math.Long.fromNumber=function(q){return isNaN(q)||!isFinite(q)?i.math.Long.ZERO:q<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:q+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:q<0?i.math.Long.fromNumber(-q).negate():new i.math.Long(q%i.math.Long.TWO_PWR_32_DBL_|0,q/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(q,v0){return new i.math.Long(q,v0)},i.math.Long.fromString=function(q,v0){if(q.length==0)throw Error("number format error: empty string");var j0=v0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+q);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 q=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(q&1<0},i.math.Long.prototype.greaterThanOrEqual=function(q){return this.compare(q)>=0},i.math.Long.prototype.compare=function(q){if(this.equals(q))return 0;var v0=this.isNegative(),j0=q.isNegative();return v0&&!j0?-1:!v0&&j0?1:this.subtract(q).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(q){var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,Z6=q.low_>>>16,M9=q.low_&65535,x9=0,Z4=0,t7=0,Zi=0;return Zi+=Z5+M9,t7+=Zi>>>16,Zi&=65535,t7+=m2+Z6,Z4+=t7>>>16,t7&=65535,Z4+=j0+_3,x9+=Z4>>>16,Z4&=65535,x9+=v0+N5,x9&=65535,i.math.Long.fromBits(t7<<16|Zi,x9<<16|Z4)},i.math.Long.prototype.subtract=function(q){return this.add(q.negate())},i.math.Long.prototype.multiply=function(q){if(this.isZero())return i.math.Long.ZERO;if(q.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return q.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(q.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return q.isNegative()?this.negate().multiply(q.negate()):this.negate().multiply(q).negate();if(q.isNegative())return this.multiply(q.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&q.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*q.toNumber());var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,Z6=q.low_>>>16,M9=q.low_&65535,x9=0,Z4=0,t7=0,Zi=0;return Zi+=Z5*M9,t7+=Zi>>>16,Zi&=65535,t7+=m2*M9,Z4+=t7>>>16,t7&=65535,t7+=Z5*Z6,Z4+=t7>>>16,t7&=65535,Z4+=j0*M9,x9+=Z4>>>16,Z4&=65535,Z4+=m2*Z6,x9+=Z4>>>16,Z4&=65535,Z4+=Z5*_3,x9+=Z4>>>16,Z4&=65535,x9+=v0*M9+j0*Z6+m2*_3+Z5*N5,x9&=65535,i.math.Long.fromBits(t7<<16|Zi,x9<<16|Z4)},i.math.Long.prototype.div=function(q){if(q.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(q.equals(i.math.Long.ONE)||q.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(q.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),j0=v0.div(q).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return q.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(q.multiply(j0)),m2=j0.add(N5.div(q));return m2}else if(q.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return q.isNegative()?this.negate().div(q.negate()):this.negate().div(q).negate();if(q.isNegative())return this.div(q.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(q);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/q.toNumber())),_3=Math.ceil(Math.log(j0)/Math.LN2),Z6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(x9)}return Z5},i.math.Long.prototype.modulo=function(q){return this.subtract(this.div(q).multiply(q))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(q){return i.math.Long.fromBits(this.low_&q.low_,this.high_&q.high_)},i.math.Long.prototype.or=function(q){return i.math.Long.fromBits(this.low_|q.low_,this.high_|q.high_)},i.math.Long.prototype.xor=function(q){return i.math.Long.fromBits(this.low_^q.low_,this.high_^q.high_)},i.math.Long.prototype.shiftLeft=function(q){if(q&=63,q==0)return this;var v0=this.low_;if(q<32){var j0=this.high_;return i.math.Long.fromBits(v0<>>32-q)}else return i.math.Long.fromBits(0,v0<>>q|v0<<32-q,v0>>q)}else return i.math.Long.fromBits(v0>>q-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var v0=this.high_;if(q<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>q|v0<<32-q,v0>>>q)}else return q==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>q-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(q,v0,j0){q!=null&&(typeof q=="number"?this.fromNumber(q,v0,j0):v0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,v0))}function W0(){return new e(null)}function t1(q,v0,j0,m2,Z5,N5){for(;--N5>=0;){var _3=v0*this[q++]+j0[m2]+Z5;Z5=Math.floor(_3/67108864),j0[m2++]=_3&67108863}return Z5}function b2(q,v0,j0,m2,Z5,N5){for(var _3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,Z4=Z6*M9+x9*_3;M9=_3*M9+((Z4&32767)<<15)+j0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(Z4>>>15)+Z6*x9+(Z5>>>30),j0[m2++]=M9&1073741823}return Z5}function s(q,v0,j0,m2,Z5,N5){for(var _3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,Z4=Z6*M9+x9*_3;M9=_3*M9+((Z4&16383)<<14)+j0[m2]+Z5,Z5=(M9>>28)+(Z4>>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;--v0)q[v0]=this[v0];q.t=this.t,q.s=this.s}function w8(q){this.t=1,this.s=q<0?-1:0,q>0?this[0]=q:q<-1?this[0]=q+DV:this.t=0}function V9(q){var v0=W0();return v0.fromInt(q),v0}function h8(q,v0){var j0;if(v0==16)j0=4;else if(v0==8)j0=3;else if(v0==256)j0=8;else if(v0==2)j0=1;else if(v0==32)j0=5;else if(v0==4)j0=2;else{this.fromRadix(q,v0);return}this.t=0,this.s=0;for(var m2=q.length,Z5=!1,N5=0;--m2>=0;){var _3=j0==8?q[m2]&255:O9(q,m2);if(_3<0){q.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=_3:N5+j0>this.DB?(this[this.t-1]|=(_3&(1<>this.DB-N5):this[this.t-1]|=_3<=this.DB&&(N5-=this.DB)}j0==8&&q[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==q;)--this.t}function Gi(q){if(this.s<0)return"-"+this.negate().toString(q);var v0;if(q==16)v0=4;else if(q==8)v0=3;else if(q==2)v0=1;else if(q==32)v0=5;else if(q==4)v0=2;else return this.toRadix(q);var j0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=R9(m2));_3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[_3]>>(Z6-=v0)&j0,Z6<=0&&(Z6+=this.DB,--_3)),m2>0&&(Z5=!0),Z5&&(N5+=R9(m2));return Z5?N5:"0"}function Ui(){var q=W0();return e.ZERO.subTo(this,q),q}function In(){return this.s<0?this.negate():this}function Z$(q){var v0=this.s-q.s;if(v0!=0)return v0;var j0=this.t;if(v0=j0-q.t,v0!=0)return this.s<0?-v0:v0;for(;--j0>=0;)if((v0=this[j0]-q[j0])!=0)return v0;return 0}function zm(q){var v0=1,j0;return(j0=q>>>16)!=0&&(q=j0,v0+=16),(j0=q>>8)!=0&&(q=j0,v0+=8),(j0=q>>4)!=0&&(q=j0,v0+=4),(j0=q>>2)!=0&&(q=j0,v0+=2),(j0=q>>1)!=0&&(q=j0,v0+=1),v0}function Dp(){return this.t<=0?0:this.DB*(this.t-1)+zm(this[this.t-1]^this.s&this.DM)}function _p(q,v0){var j0;for(j0=this.t-1;j0>=0;--j0)v0[j0+q]=this[j0];for(j0=q-1;j0>=0;--j0)v0[j0]=0;v0.t=this.t+q,v0.s=this.s}function Rp(q,v0){for(var j0=q;j0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|_3,_3=(this[Z6]&Z5)<=0;--Z6)v0[Z6]=0;v0[N5]=_3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function Lp(q,v0){v0.s=this.s;var j0=Math.floor(q/this.DB);if(j0>=this.t){v0.t=0;return}var m2=q%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var _3=j0+1;_3>m2;m2>0&&(v0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(q.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=q.s}v0.s=m2<0?-1:0,m2<-1?v0[j0++]=this.DV+m2:m2>0&&(v0[j0++]=m2),v0.t=j0,v0.clamp()}function Fp(q,v0){var j0=this.abs(),m2=q.abs(),Z5=j0.t;for(v0.t=Z5+m2.t;--Z5>=0;)v0[Z5]=0;for(Z5=0;Z5=0;)q[j0]=0;for(j0=0;j0=v0.DV&&(q[j0+v0.t]-=v0.DV,q[j0+v0.t+1]=1)}q.t>0&&(q[q.t-1]+=v0.am(j0,v0[j0],q,2*j0,0,1)),q.s=0,q.clamp()}function Tp(q,v0,j0){var m2=q.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,Z4=N5[x9-1];if(Z4!=0){var t7=Z4*(1<1?N5[x9-2]>>this.F2:0),Zi=this.FV/t7,zp=(1<=0&&(j0[j0.t++]=1,j0.subTo(N7,j0)),e.ONE.dlShiftTo(x9,N7),N7.subTo(N5,N5);N5.t=0;){var Zm=j0[--WA]==Z4?this.DM:Math.floor(j0[WA]*Zi+(j0[WA-1]+Zp)*zp);if((j0[WA]+=N5.am(0,Zm,j0,xh,0,x9))0&&j0.rShiftTo(M9,j0),_3<0&&e.ZERO.subTo(j0,j0)}}}function Np(q){var v0=W0();return this.abs().divRemTo(q,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&q.subTo(v0,v0),v0}function VA(q){this.m=q}function Gp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function Up(q){return q}function Pp(q){q.divRemTo(this.m,null,q)}function Op(q,v0,j0){q.multiplyTo(v0,j0),this.reduce(j0)}function zA(q,v0){q.squareTo(v0),this.reduce(v0)}VA.prototype.convert=Gp,VA.prototype.revert=Up,VA.prototype.reduce=Pp,VA.prototype.mulTo=Op,VA.prototype.sqrTo=zA;function zi(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var v0=q&3;return v0=v0*(2-(q&15)*v0)&15,v0=v0*(2-(q&255)*v0)&255,v0=v0*(2-((q&65535)*v0&65535))&65535,v0=v0*(2-q*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Tr(q){this.m=q,this.mp=q.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function ZA(q){var v0=W0();return q.copyTo(v0),this.reduce(v0),v0}function Nr(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&q.DM;for(j0=v0+this.m.t,q[j0]+=this.m.am(0,m2,q,v0,0,this.m.t);q[j0]>=q.DV;)q[j0]-=q.DV,q[++j0]++}q.clamp(),q.drShiftTo(this.m.t,q),q.compareTo(this.m)>=0&&q.subTo(this.m,q)}function Hp(q,v0){q.squareTo(v0),this.reduce(v0)}function qp(q,v0,j0){q.multiplyTo(v0,j0),this.reduce(j0)}Tr.prototype.convert=Rh,Tr.prototype.revert=ZA,Tr.prototype.reduce=Nr,Tr.prototype.mulTo=qp,Tr.prototype.sqrTo=Hp;function Yp(){return(this.t>0?this[0]&1:this.s)==0}function Ks(q,v0){if(q>4294967295||q<1)return e.ONE;var j0=W0(),m2=W0(),Z5=v0.convert(this),N5=zm(q)-1;for(Z5.copyTo(j0);--N5>=0;)if(v0.sqrTo(j0,m2),(q&1<0)v0.mulTo(m2,Z5,j0);else{var _3=j0;j0=m2,m2=_3}return v0.revert(j0)}function Jp(q,v0){var j0;return q<256||v0.isEven()?j0=new VA(v0):j0=new Tr(v0),this.exp(q,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=z4,e.prototype.dlShiftTo=_p,e.prototype.drShiftTo=Rp,e.prototype.lShiftTo=xp,e.prototype.rShiftTo=Lp,e.prototype.subTo=q6,e.prototype.multiplyTo=Fp,e.prototype.squareTo=Mp,e.prototype.divRemTo=Tp,e.prototype.invDigit=zi,e.prototype.isEven=Yp,e.prototype.exp=Ks,e.prototype.toString=Gi,e.prototype.negate=Ui,e.prototype.abs=In,e.prototype.compareTo=Z$,e.prototype.bitLength=Dp,e.prototype.mod=Np,e.prototype.modPowInt=Jp,e.ZERO=V9(0),e.ONE=V9(1);function Gr(q,v0){this.fromInt(0),v0==null&&(v0=10);for(var j0=this.chunkSize(v0),m2=Math.pow(v0,j0),Z5=!1,N5=0,_3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(_3,0),N5=0,_3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(_3,0)),Z5&&e.ZERO.subTo(this,this)}function Kn(q){return Math.floor(Math.LN2*this.DB/Math.log(q))}function $B(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function n5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Kp(q,v0){if(q!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=q;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function Vs(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var v0=this.chunkSize(q),j0=Math.pow(q,v0),m2=V9(j0),Z5=W0(),N5=W0(),_3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)_3=(j0+N5.intValue()).toString(q).substr(1)+_3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(q)+_3}function Vn(){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(q.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=q.s}v0.s=m2<0?-1:0,m2>0?v0[j0++]=m2:m2<-1&&(v0[j0++]=this.DV+m2),v0.t=j0,v0.clamp()}e.prototype.fromRadix=Gr,e.prototype.chunkSize=Kn,e.prototype.signum=$B,e.prototype.dMultiply=n5,e.prototype.dAddOffset=Kp,e.prototype.toRadix=Vs,e.prototype.intValue=Vn,e.prototype.addTo=Vp;var ri={abs:function(q,v0){var j0=new i.math.Long(q,v0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){ri.ensuredTemps||(ri.ensuredTemps=!0,ri.two32=new e,ri.two32.fromString("4294967296",10),ri.two64=new e,ri.two64.fromString("18446744073709551616",10),ri.temp1=new e,ri.temp2=new e)},lh2bignum:function(q,v0){var j0=new e;j0.fromString(v0.toString(),10);var m2=new e;j0.multiplyTo(ri.two32,m2);var Z5=new e;Z5.fromString(q.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(q,v0,j0){var m2=new i.math.Long(q,v0).toString();if(j0&&m2[0]=="-"){ri.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,ri.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(q,v0,j0,m2,Z5){ri.ensureTemps();var N5=new e;N5.fromString(q,v0);var _3=new e;_3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(ri.two64,M9),N5=M9}var x9=!1;N5.compareTo(_3)<0?(N5=_3,x9=!0):N5.compareTo(Z6)>0&&(N5=Z6,x9=!0);var Z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=Z4.low_,_9[y8+4>>2]=Z4.high_,x9)throw"range error"}};return ri}();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 kp,Vm=null,hv=!1;Ti=function i(){o.calledRun||aB(),o.calledRun||(Ti=i)},o.callMain=o.callMain=function($){V4(Bt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),V4(Om.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Os();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Jn(o.thisProgram),"i8",qA)];d();for(var e=0;e0||(bh(),Bt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!G0&&(Os(),Ip(),g&&Vm!==null&&o.printErr("pre-main prep time: "+(Date.now()-Vm)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&bp&&o.callMain(i),H$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=aB;function vp(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(G0=!0,b1=i,Bi=kp,Hm(),o.onExit&&o.onExit(i)),u?(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=vp;var Sp=[];function Js(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",G0=!0,b1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Gm()+$;throw Sp&&Sp.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Js,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var bp=!0;o.noInitialRun&&(bp=!1),aB();var fv=o._encoder_init,uv=o._encoder_clear,dv=o._encoder_analysis_buffer,Iv=o._encoder_process,Ev=o._encoder_data_len,mv=o._encoder_transfer_data,pi=o.HEAPU8,K$=o.HEAPU32,V$=o.HEAPF32,z$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=fv(this.numChannels,i,h)};z$.prototype.encode=function(i){for(var $=i[0].length,h=dv(this.encoder,$)>>2,d=0;d>2);this.process($)},z$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},z$.prototype.cancel=z$.prototype.cleanup=function(){uv(this.encoder),delete this.encoder,delete this.oggBuffers},z$.prototype.process=function(i){Iv(this.encoder,i);var $=Ev(this.encoder);if($>0){var h=mv(this.encoder);this.oggBuffers.push(new Uint8Array(pi.subarray(h,h+$)))}},ZC.OggVorbisEncoder=z$}};typeof window<"u"&&window===self&&ZC.init();function pk(o,n,l,g){let u=new ZC.OggVorbisEncoder(l,n,g);u.encode(o);let S=u.finish(),r0=S.reduce((g0,u1)=>g0+u1.length,0),E0=new Uint8Array(r0),m0=0;for(let g0 of S)E0.set(g0,m0),m0+=g0.length;return E0}var WC=class{constructor(n,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),g.classList.add("hidden");let S=u.dataTransfer.files[0];if(!S)return;let r0=S.name,E0=await S.arrayBuffer(),m0=E0.slice(0,4),g0=new TextDecoder;if(g0.decode(m0)==="RIFF"){let u1=E0.slice(8,12);if(g0.decode(u1)==="RMID"){n({buf:E0,name:r0});return}l(E0);return}n({buf:E0,name:r0})})}};document.body.classList.add("load");var Qk=!1,Rr=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)"];constructor(n,l,g){this.localeManager=g,this.context=n,this.isExporting=!1,this.compressionFunc=pk;let u;this.ready=new Promise(S=>u=S),this.initializeContext(n,l).then(()=>{u()})}saveBlob(n,l){let g=URL.createObjectURL(n),u=document.createElement("a");u.href=g,u.download=l,u.click(),Y5(u)}sfError;async initializeContext(n,l){if(!n.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let R of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(R,"innerText",R.getAttribute("translate-path"));for(let R of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(R,"innerText",R.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(R,"title",R.getAttribute("translate-path-title")+".description");let u=Qk?"synthetizer/worklet_system/worklet_processor.js":qC;Qk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),n.audioWorklet&&await n.audioWorklet.addModule(new URL("../../spessasynth_lib/"+u,import.meta.url)),this.soundFont=l;let S=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),E0=await(await fetch(S)).arrayBuffer();this.impulseResponse=await n.decodeAudioData(E0),this.audioDelay=new DelayNode(n,{delayTime:0}),this.audioDelay.connect(n.destination),this.synth=new ch(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",R=>{this.sfError&&this.sfError(R)}),await this.synth.isReady,this.midHandler=new FC,this.wml=new MC(this.synth),this.keyboard=new wm(this.channelColors,this.synth);let m0=document.getElementById("note_canvas");m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,m0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let g0=!1,u1=()=>{if(m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),Sr){if(window.innerWidth/window.innerHeight>1){if(!g0){let R=document.getElementById("title_wrapper"),Z0=document.getElementById("settings_div");g0=!0,R.parentElement.insertBefore(Z0,R)}}else if(g0){let R=document.getElementById("title_wrapper"),Z0=document.getElementById("settings_div");g0=!1,R.parentElement.insertBefore(R,Z0)}}this.renderer.render(!1,!0)};u1(),window.addEventListener("resize",u1.bind(this)),window.addEventListener("orientationchange",u1.bind(this)),Sr&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Pn(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new OC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ls(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ci(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new WC(R=>{this.play([{binary:R.buf,altName:R.name}]),R.name.length>20&&(R.name=R.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=R.name},R=>{this.reloadSf(R)}),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let Z0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),Z0===null)return;m0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${Z0}")`,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 G0=window.prompt(`Video mode! +`));if(!$)return null;i.input=Jn($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Ns(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Ns(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(L2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[L2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(L2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(L2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var Z0=Math.min(i.node.usedBytes-P,d);if(V4(Z0>=0),Z0>8&&e.subarray)$.set(e.subarray(P,P+Z0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var Z0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([pt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(pt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?pt.loadRemoteEntry(A1,w5,function(p2,T5){if(p2)return C(p2);pt.storeLocalEntry(w5,T5,C)}):pt.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);pt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?pt.removeLocalEntry(w5,C):pt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return V4(u),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Qt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Qt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(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(L2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Qt.mkdirSync(e,P.mode):Qt.writeFileSync(e,"",{mode:P.mode})}catch(Z0){throw Z0.code?new k.ErrnoError(L2[Z0.code]):Z0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Qt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Qt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Qt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Qt.readlinkSync($),$=wp.relative(wp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Qt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Qt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(L2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),Z0;try{Z0=Qt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(L2[b2.code])}if(Z0>0)for(var t1=0;t18)throw new k.ErrnoError(L2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,Z0="/",t1=0;t140)throw new k.ErrnoError(L2.ELOOP)}}return{path:Z0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var Z0=new k.FSNode(i,$,h,d);return k.hashAddNode(Z0),Z0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?L2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:L2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return L2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return L2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return L2.EBUSY}else if(k.isDir(d.mode))return L2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?L2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?L2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):L2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(L2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(Z0){this.node=Z0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(L2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!d&&!P){var Z0=k.lookupPath(h,{follow_mount:!1});if(h=Z0.path,e=Z0.node,k.isMountpoint(e))throw new k.ErrnoError(L2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(L2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(L2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(Z0){for(var t1=k.nameTable[Z0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);V4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(L2.EINVAL);var Z0=k.mayCreate(P,e);if(Z0)throw new k.ErrnoError(Z0);if(!P.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),Z0,t1,b2;try{Z0=k.lookupPath(i,{parent:!0}),t1=Z0.node,Z0=k.lookupPath($,{parent:!0}),b2=Z0.node}catch{throw new k.ErrnoError(L2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(L2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(L2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(L2.EBUSY);if(b2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(L2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===L2.EISDIR&&(e=L2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(L2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(L2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(L2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(L2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(L2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(L2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(L2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var Z0=k.lookupPath(i,{follow:!($&131072)});e=Z0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(L2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(L2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(L2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(L2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var Z0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=Z0),Z0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(L2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var Z0=!0;if(typeof P>"u")P=i.position,Z0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);Z0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(L2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(L2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,Z0){if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(L2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,Z0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(L2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,Z0=new Uint8Array(e);return k.read(d,Z0,0,e,0),$.encoding==="utf8"?h=Ns(Z0,0):$.encoding==="binary"&&(h=Z0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Gs($)+1),e=xr($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(L2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,Z0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Mr.register(k.makedev(5,0),Mr.default_tty_ops),Mr.register(k.makedev(6,0),Mr.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 u?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[_k>>2]=k.getPtrForStream(i),V4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Rk>>2]=k.getPtrForStream($),V4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[xk>>2]=k.getPtrForStream(h),V4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in L2)if(L2[P]===d){this.code=P;break}},this.setErrno($),this.message=Dk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[L2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){V4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,R9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;R9||(O9=p2);var I4=function(V9,h8){if(V9>h8)throw new Error("invalid range ("+V9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var z4=new XMLHttpRequest;if(z4.open("GET",h,!1),p2!==O9&&z4.setRequestHeader("Range","bytes="+V9+"-"+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||[]):Jn(z4.responseText||"",!0)},w8=this;w8.setDataGetter(function(V9){var h8=V9*O9,z4=(V9+1)*O9-1;if(z4=Math.min(z4,p2-1),typeof w8.chunks[V9]>"u"&&(w8.chunks[V9]=I4(h8,z4)),typeof w8.chunks[V9]>"u")throw new Error("doXHR failed!");return w8.chunks[V9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!S)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var Z0=new e;Object.defineProperty(Z0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(Z0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:Z0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,R9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,R9);if(V4(w8>=0),I4.slice)for(var V9=0;V9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),Z0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?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,Qp(h,0,!1,J1.mainLoop.arg,!0),Jm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,Z0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(Z0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(Z0)}))}catch(p2){R.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){V4(w5.complete,"Image "+Z0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var R9=T5.getContext("2d");R9.drawImage(w5,0,0),o.preloadedImages[Z0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,Z0,t1,b2){var s=!1;function A1(R9){s||(s=!0,o.preloadedAudios[Z0]=R9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[Z0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(Z0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+Z0+", trying slower base64 approach");function I4(w8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",z4="",Gi=0,Ui=0,In=0;In=6;){var Z$=Gi>>Ui-6&63;Ui-=6,z4+=V9[Z$]}return Ui==2?(z4+=V9[(Gi&3)<<4],z4+=h8+h8):Ui==4&&(z4+=V9[(Gi&15)<<2],z4+=h8),z4}T5.src="data:audio/x-"+Z0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=p2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var Z0={antialias:!1,alpha:!1};if(d)for(var t1 in d)Z0[t1]=d[t1];e=GL.createContext(i,Z0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||V4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var Z0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===Z0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(Z0.parentNode.insertBefore(d,Z0),Z0.parentNode.removeChild(Z0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!F0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){F0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var Z0=i.touch;if(Z0===void 0)return;var t1=Z0.pageX-(P+$.left),b2=Z0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[Z0.identifier]=s,J1.touches[Z0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[Z0.identifier];A1||(A1=s),J1.lastTouches[Z0.identifier]=A1,J1.touches[Z0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){V4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||un("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Fr("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=K$[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=K$[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 Vk(){o.printErr("missing function: floor0_exportbundle"),Js(-1)}if(qs=R.staticAlloc(4),_9[qs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),P$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),kh.push(function(){k.ignorePermissions=!1}),O$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,P$.unshift(function(){Mr.init()}),O$.push(function(){Mr.shutdown()}),u)var Qt=void 0,wp=void 0;wh=Bi=R.alignMemory(qn),T$=!0,N$=wh+Pm,G$=Li=R.alignMemory(N$),V4(G$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function ND(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Sv(t){t=t|0,q6=t}function bv(){return q6|0}function lB(t){t=t|0;var r=0,A=0,a=0,c=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,r=S9(256)|0,A=t+8|0,e[A>>2]=r,a=t+12|0,e[a>>2]=r,d[r>>0]=0,c=t+16|0,e[c>>2]=256}function Dv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,A=r>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(b=A<<3,w=r-b|0,y=t+8|0,D=e[y>>2]|0,Q=D+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,c=8+(w<<2)|0,f=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&f,p=m&255,d[Q>>0]=p)}function U2(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0;O0=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,c=e[a>>2]|0,w0)N=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(P0=t+8|0,V0=e[P0>>2]|0,I=t0+256|0,m=Oi(V0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,b=e[t>>2]|0,w=m+b|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,D=e[y>>2]|0,Q=D&r,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,H=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=H,$0=(F|0)>15,$0&&(Z=e[L>>2]|0,V=16-Z|0,a0=Q>>>V,i0=a0&255,n0=e[a>>2]|0,K=n0+2|0,d[K>>0]=i0,h0=(F|0)>23,h0&&(o0=e[L>>2]|0,c0=24-o0|0,j=Q>>>c0,l0=j&255,f0=e[a>>2]|0,d0=f0+3|0,d[d0>>0]=l0,C0=(F|0)>31,C0))))if(k0=e[L>>2]|0,u0=(k0|0)==0,u0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,K0=S0+4|0,d[K0>>0]=I0;break}while(!1);M0=(F|0)/8&-1,N0=e[t>>2]|0,U0=N0+M0|0,e[t>>2]=U0,y0=e[a>>2]|0,q0=y0+M0|0,e[a>>2]=q0,x0=F&7,e[L>>2]=x0;return}while(!1);D0=t+8|0,T0=e[D0>>2]|0,J0=(T0|0)==0,J0||I2(T0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function cB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0;f=C,r=t+8|0,A=e[r>>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 f7(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,r=t+12|0,A=e[r>>2]|0,a=(A|0)==0,!a&&(c=t+8|0,f=e[c>>2]|0,e[r>>2]=f,E=f,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function gB(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=r>>>0>32,a)return A=-1,A|0;if(c=8+(r<<2)|0,D=e[c>>2]|0,z=t+4|0,V=e[z>>2]|0,f0=V+r|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,u0=k0+-4|0,f=(w0|0)<(u0|0),!f){if(E=f0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return A=-1,A|0;if(B=(f0|0)==0,B)return A=0,A|0}return v=t+12|0,b=e[v>>2]|0,w=d[b>>0]|0,y=w&255,Q=y>>>V,_=(f0|0)>8,_?(L=b+1|0,x=d[L>>0]|0,F=x&255,M=8-V|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=b+3|0,U=d[X>>0]|0,$0=U&255,Z=24-V|0,a0=$0<>0]|0,o0=h0&255,c0=32-V|0,j=o0<>2]|0,v=a+r|0,b=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=v+7|0,Q=D>>3,_=y-Q|0,L=(b|0)>(_|0),L){B=t+12|0,e[B>>2]=0,e[t>>2]=y,x=1,e[A>>2]=x;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,m=b+c|0,e[t>>2]=m,p=v&7,x=p,e[A>>2]=x;return}}function W4(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0;D0=C,m=r>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,Q0=c;else{if(p=8+(r<<2)|0,F=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,u0=K+r|0,L0=e[t>>2]|0,M0=t+16|0,N0=e[M0>>2]|0,U0=N0+-4|0,B=(L0|0)<(U0|0),!B){if(v=u0+7|0,b=v>>3,w=N0-b|0,y=(L0|0)>(w|0),y){f=t,E=e0,Q0=N0;break}if(D=(u0|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>>>K,T=(u0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-K|0,Y=O<16,J?(W=_+2|0,H=d[W>>0]|0,X=H&255,U=16-K|0,$0=X<24,V?(a0=_+3|0,s0=d[a0>>0]|0,i0=s0&255,n0=24-K|0,h0=i0<>0]|0,d0=f0&255,w0=32-K|0,C0=d0<>2]=I0,S0=L0+p0|0,e[t>>2]=S0,K0=u0&7,e[e0>>2]=K0,A=B0,A|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[f>>2]=Q0,e[E>>2]=1,A=-1,A|0}function yt(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,r=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,c=a+7|0,f=(c|0)/8&-1,E=f+r|0,E|0}function Xp(t){t=t|0;var r=0,A=0,a=0,c=0;return c=C,r=t+8|0,A=e[r>>2]|0,A|0}function _v(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,c=(t|0)==0,c)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,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 v=t+336|0,e[v>>2]=r,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),Ae(t|0,0,360)|0,A=-1,A|0}function Rv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,r=(t|0)==0,r||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),c=t+16|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),Ae(t|0,0,360)|0),0}function xv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0;if(N0=C,r=(t|0)==0,!r){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,u0=e[t>>2]|0,B0=u0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,b=S0>>>24,y=f+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^b,L=144+(_<<2)|0,x=e[L>>2]|0,F=x^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=F,Q0=M;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,L0=0;;)if(N=_0<<8,O=_0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^N,X=L0+1|0,U=(X|0)<(I|0),U)_0=H,L0=X;else{K0=H;break}else K0=I0;Z=K0&255,V=e[t>>2]|0,a0=V+22|0,d[a0>>0]=Z,s0=K0>>>8,i0=s0&255,n0=e[t>>2]|0,K=n0+23|0,d[K>>0]=i0,h0=K0>>>16,o0=h0&255,c0=e[t>>2]|0,l0=c0+24|0,d[l0>>0]=o0,f0=K0>>>24,d0=f0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function Lv(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,D0=(S0|0)==0,D0))return I=-1,I|0;if(b0=(r|0)==0,b0)return I=0,I|0;z0=(A|0)>0;e:do if(z0){for(u2=0,y2=0;;){if(w1=(r+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,s2=(O1|0)<0,y=2147483647-O1|0,O=(u2|0)>(y|0),F2=s2|O,F2){I=-1;break}if(Z=O1+u2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)u2=Z,y2=s0;else{r2=Z;break e}}return I|0}else r2=0;while(!1);n0=(r2|0)/255&-1,K=n0+1|0,h0=t+12|0,o0=e[h0>>2]|0,c0=(o0|0)==0,w=t+8|0,c0||(l0=e[w>>2]|0,f0=l0-o0|0,e[w>>2]=f0,d0=(l0|0)==(o0|0),d0||(w0=S0+o0|0,jA(S0|0,w0|0,f0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,u0=k0-r2|0,B0=e[w>>2]|0,p0=(u0|0)>(B0|0);do if(!p0){if(I0=2147483647-r2|0,K0=(k0|0)>(I0|0),K0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=t+16|0,M0=e[L0>>2]|0,N0=(M0|0)==0,N0||I2(M0),U0=t+20|0,y0=e[U0>>2]|0,q0=(y0|0)==0,q0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(x0=k0+r2|0,T0=(x0|0)<2147482623,J0=x0+1024|0,E=T0?J0:x0,Y0=e[t>>2]|0,P0=Oi(Y0,E)|0,V0=(P0|0)==0,!V0){e[C0>>2]=E,e[t>>2]=P0;break}return G0=e[t>>2]|0,O0=(G0|0)==0,O0||I2(G0),n1=t+16|0,H0=e[n1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Fv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=r+(v2<<3)|0,R1=e[Q1>>2]|0,x1=(r+(v2<<3)|0)+4|0,S1=e[x1>>2]|0,s4(B1|0,R1|0,S1|0)|0,L1=e[x1>>2]|0,F1=e[w>>2]|0,G1=F1+L1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(A|0),!e2;)p1=G1,v2=k1;if(l1=(r2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,r1=t+16|0,o1=e[r1>>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,D1=N1,K1=e[D1>>2]|0,H1=N1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=K1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,f2=(z1|0)<(n0|0),f2;)C2=z1;D2=d1?n0:1,B=I1,a2=m1,w2=D2}else m=t+20|0,v=e[m>>2]|0,b=t+352|0,B=b,a2=v,w2=0;return E2=(r2|0)%255&-1,o2=a1+w2|0,V1=o1+(o2<<2)|0,e[V1>>2]=E2,h2=a2+(o2<<3)|0,t2=h2,$2=t2,e[$2>>2]=c,i2=t2+4|0,A2=i2,e[A2>>2]=f,X1=B,D=X1,e[D>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=f,L=o1+(a1<<2)|0,x=e[L>>2]|0,F=x|256,e[L>>2]=F,M=a1+K|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=zs(z|0,J|0,1,0)|0,e0=q6,H=T,X=H,e[X>>2]=W,U=H+4|0,$0=U,e[$0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Wm(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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[r>>2]|0,e[Q>>2]=A,a=r+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=r+12|0,v=e[B>>2]|0,b=r+16|0,w=b,y=w,D=e[y>>2]|0,c=w+4|0,f=c,E=e[f>>2]|0,I=Lv(t,Q,1,v,D,E)|0,C=L,I|0}function eQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0;return c=C,A=iQ(t,r,1,4096)|0,A|0}function tQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?D=0:(v=t+332|0,b=e[v>>2]|0,w=(b|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=iQ(t,r,D,4096)|0,A=y,A|0)}function Fv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0;return l0=C,c=t+24|0,f=e[c>>2]|0,Q=f-r|0,Y=t+28|0,a0=e[Y>>2]|0,n0=(Q|0)>(a0|0),n0?(a=0,a|0):(K=2147483647-r|0,h0=(f|0)>(K|0),h0?(o0=e[t>>2]|0,c0=(o0|0)==0,c0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),Ae(t|0,0,360)|0,a=-1,a|0):(b=f+r|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=Oi(_,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,H=Oi(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[D>>2]|0,V=(Z|0)==0,V||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]=H,e[c>>2]=A,a=0,a|0))))}function iQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(L1=e[t>>2]|0,q1=(L1|0)==0,o2=(c|0)==0,y3=o2|q1,y3))return f=0,f|0;e2=t+332|0,q2=e[e2>>2]|0,Z2=(q2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(M0=(l3|0)<(c|0),!M0){I=A,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,q5=l3,O5=14;break e}if(V0=e[C0>>2]|0,H0=V0+(l3<<2)|0,e1=e[H0>>2]|0,b0=e1&255,i1=(b0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,q5=$1,O5=14;break}}else if(L=(c|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,W5=0,R3=0,C3=0;;){if(f1=(C5|0)>(a|0),g1=(W5|0)>3,N3=f1&g1,N3){E=1,G5=S5,_5=g5,H2=a5,I5=W2,A5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,r1=a1&255,o1=r1+C5|0,z0=(r1|0)==255,z0?(h5=S5,J2=g5,f5=a5,i5=W2,R5=g2,j2=p5,$5=t5,x2=s5,i6=0,G3=R3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,w1=B1&255,S1=Zs(B1|0,R1|0,8)|0,F1=q6,G1=S1&255,k1=Zs(B1|0,R1|0,16)|0,U1=q6,Z1=k1&255,N1=Zs(B1|0,R1|0,24)|0,D1=q6,K1=N1&255,O1=R1&255,H1=Zs(B1|0,R1|0,40)|0,Y1=q6,j1=H1&255,n2=Zs(B1|0,R1|0,48)|0,W1=q6,P1=n2&255,c2=Zs(B1|0,R1|0,56)|0,z1=q6,f2=c2&255,h5=w1,J2=Z1,f5=K1,i5=O1,R5=j1,j2=P1,$5=f2,x2=G1,i6=x1,G3=x1),s2=C3+1|0,E2=(s2|0)<(c|0),E2)C5=o1,S5=h5,g5=J2,a5=f5,W2=i5,g2=R5,p5=j2,t5=$5,s5=x2,W5=i6,R3=G3,C3=s2;else{E=A,G5=h5,_5=J2,H2=f5,I5=i5,A5=R5,c5=j2,B5=$5,M1=x2,c3=s2;break}}V1=(c3|0)==255,V1?(r3=G5,m3=_5,F5=H2,K5=I5,w3=A5,f3=c5,B3=B5,V3=M1,U5=255):(I=E,Q5=G5,H5=_5,j5=H2,E5=I5,u3=A5,h3=c5,J5=B5,X5=M1,q5=c3,O5=14)}else I=A,Q5=-1,H5=-1,j5=-1,E5=-1,u3=-1,h3=-1,J5=-1,X5=-1,q5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return f=0,f|0;r3=Q5,m3=H5,F5=j5,K5=E5,w3=u3,f3=h3,B3=J5,V3=X5,U5=q5}if(a2=t+40|0,d[a2>>0]=79,d[a2+1>>0]=103,d[a2+2>>0]=103,d[a2+3>>0]=83,t2=t+44|0,d[t2>>0]=0,$2=t+45|0,d[$2>>0]=0,i2=t+16|0,A2=e[i2>>2]|0,X1=e[A2>>2]|0,r2=X1>>>8,v=r2&1,u2=v^1,y2=u2|2,m=Z2?y2:u2,a3=m&255,d[$2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(p=Z2?y2:u2,D2=p|4,N2=D2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=r3,V2=t+47|0,d[V2>>0]=V3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=K5,z2=t+51|0,d[z2>>0]=w3,o5=t+52|0,d[o5>>0]=f3,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,u5=b5&255,v5=t+55|0,d[v5>>0]=u5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,r5=m5&255,R2=t+57|0,d[R2>>0]=r5,_2=t+340|0,B2=e[_2>>2]|0,x=(B2|0)==-1,x?(e[_2>>2]=0,M=0):M=B2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,H=e0&255,X=t+61|0,d[X>>0]=H,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,V=(U5|0)>0,V){if(a0=e[A2>>2]|0,s0=a0&255,n0=t+67|0,d[n0>>0]=s0,K=a0&255,D5=(U5|0)==1,D5)B=K;else for(o0=1,k0=K;;)if(b=e[i2>>2]|0,h0=b+(o0<<2)|0,c0=e[h0>>2]|0,j=c0&255,l0=o0+27|0,f0=(t+40|0)+l0|0,d[f0>>0]=j,d0=c0&255,w0=d0+k0|0,u0=o0+1|0,d5=(u0|0)==(U5|0),d5){B=w0;break}else o0=u0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,Q0=w,y0=y,x0=D,L5=B}else Q0=L1,y0=_,x0=A2,L5=0;return e[r>>2]=a2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=r+4|0,e[I0>>2]=B0,S0=t+12|0,K0=e[S0>>2]|0,_0=Q0+K0|0,L0=r+8|0,e[L0>>2]=_0,N0=r+12|0,e[N0>>2]=L5,U0=y0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,D0=U0<<2,jA(x0|0,q0|0,D0|0)|0,T0=t+20|0,J0=e[T0>>2]|0,Y0=J0+(U5<<3)|0,P0=e[Q>>2]|0,G0=P0<<3,jA(J0|0,Y0|0,G0|0)|0,O0=e[S0>>2]|0,n1=O0+L5|0,e[S0>>2]=n1,xv(r),f=1,f|0}function Mv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0;return H0=C,a=t+104|0,c=e[a>>2]|0,D=t+88|0,z=c+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,V=e[z>>2]|0,f7(V),f0=c+16|0,_0=e[f0>>2]|0,f7(_0),J0=c+20|0,G0=e[J0>>2]|0,f7(G0),O0=c+24|0,f=e[O0>>2]|0,f7(f),E=c+28|0,I=e[E>>2]|0,f7(I),m=c+32|0,p=e[m>>2]|0,f7(p),B=c+36|0,v=e[B>>2]|0,f7(v),b=c+40|0,w=e[b>>2]|0,f7(w),y=c+44|0,Q=e[y>>2]|0,f7(Q),_=c+48|0,L=e[_>>2]|0,f7(L),x=c+52|0,F=e[x>>2]|0,f7(F),M=c+56|0,T=e[M>>2]|0,f7(T),N=c+60|0,G=e[N>>2]|0,f7(G),O=c+64|0,Y=e[O>>2]|0,f7(Y),t0=c+68|0,J=e[t0>>2]|0,f7(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=LQ[H&1](t)|0,U=(X|0)==0,U?($0=(r|0)==0,$0?(A=0,A|0):(Z=Lh(t)|0,a0=(Z|0)==0,a0?(s0=t+4|0,i0=Xp(s0)|0,e[r>>2]=i0,n0=yt(s0)|0,K=r+4|0,e[K>>2]=n0,h0=r+8|0,e[h0>>2]=0,o0=t+44|0,c0=e[o0>>2]|0,j=r+12|0,e[j>>2]=c0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,u0=k0,B0=e[u0>>2]|0,p0=r+16|0,I0=p0,S0=I0,e[S0>>2]=C0,K0=I0+4|0,Q0=K0,e[Q0>>2]=B0,L0=t+56|0,M0=L0,N0=M0,U0=e[N0>>2]|0,y0=M0+4|0,q0=y0,x0=e[q0>>2]|0,D0=r+24|0,T0=D0,Y0=T0,e[Y0>>2]=U0,P0=T0+4|0,V0=P0,e[V0>>2]=x0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Tv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0;C0=C,A=t+28|0,a=e[A>>2]|0,d0=r,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,c0=e[o0>>2]|0,j=e[a>>2]|0,l0=j>>1,f0=a+4|0,c=e[f0>>2]|0,f=(c|0)/(j|0)&-1,E=r+24|0,e[E>>2]=f,e[r>>2]=1,I=a+3360|0,m=e[I>>2]|0,p=+(m|0),B=+(l0|0),v=p*B,b=+(c0|0),w=v/b,D=+Pi(w),Q=~~D,_=r+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,F=+(x|0),M=F*B,T=M/b,N=+Pi(T),G=~~N,z=r+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/b,H=+Pi(e0),X=~~H,U=r+20|0,e[U>>2]=X,$0=r+32|0,A1[$0>>3]=7,V=+(O|0),a0=a+3376|0,s0=+A1[a0>>3],i0=V*s0,n0=~~i0,K=r+8|0,e[K>>2]=n0,h0=r+4|0,e[h0>>2]=n0)}function Nv(t){t=t|0;var r=0,A=0,a=0,c=0;a=C,r=t,c=r+48|0;do e[r>>2]=0,r=r+4|0;while((r|0)<(c|0))}function Lh(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,A=t+64|0,a=e[A>>2]|0,c=a+104|0,f=e[c>>2]|0,E=f+80|0,I=e[E>>2]|0,m=(I|0)!=0,r=m&1,r|0}function Gv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0;if(b6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,x2=k2+4|0,F5=e[x2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=g2+112|0,T=+A1[v>>3],X=+Pi(T),o0=~~X,p0=(B+12|0)+(o0<<2)|0,q0=e[p0>>2]|0,H0=yt(q0)|0,r1=H0<<3,R1=t+28|0,D1=e[R1>>2]|0,f2=(D1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,f2?(x5=g2+100|0,b5=e[x5>>2]|0,U=d2,k0=x5,I0=b5):(Z2=g2+104|0,u5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=n5(u5,d2)|0,m5=n5(u5,P5)|0,U=l5,k0=v5,I0=m5),r5=M5+(D1<<2)|0,R2=e[r5>>2]|0,_2=R2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=L5*D5,H2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){f2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=n5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],f5=15/J2,i5=g2+84|0,R5=e[i5>>2]|0,j2=r1-$5|0,Q5=R5+j2|0,H5=(Q5|0)>(H2|0);e:do if(H5)if(j5=(o0|0)>0,E5=(r1|0)>($5|0),S6=E5&j5,S6)if(u3=r1-$5|0,h3=u3+R5|0,J5=(h3|0)>(H2|0),J5)for(P3=o0;;){if(X5=P3+-1|0,r3=(B+12|0)+(X5<<2)|0,m3=e[r3>>2]|0,K5=yt(m3)|0,w3=K5<<3,f3=(P3|0)>1,B3=(w3|0)>($5|0),v6=B3&f3,!v6){V5=X5;break e}if(I=e[i5>>2]|0,V3=w3-$5|0,N3=V3+I|0,z5=(N3|0)>(H2|0),z5)P3=X5;else{V5=X5;break}}else V5=o0;else V5=o0;else if(y3=(Q5|0)<(H2|0),y3)if(W5=o0+1|0,i6=(W5|0)<15,G3=(r1|0)<($5|0),j3=G3&i6,j3)if(a3=r1-$5|0,l3=a3+R5|0,c3=(l3|0)<(H2|0),c3)for(q5=W5;;){if(C3=(B+12|0)+(q5<<2)|0,U5=e[C3>>2]|0,O5=yt(U5)|0,k5=O5<<3,U3=q5+1|0,o6=(U3|0)<15,e3=(k5|0)<($5|0),B6=e3&o6,!B6){V5=q5;break e}if(E=e[i5>>2]|0,A3=k5-$5|0,x3=A3+E|0,f6=(x3|0)<(H2|0),f6)q5=U3;else{V5=q5;break}}else V5=o0;else V5=o0;else V5=o0;while(!1);p3=+(V5|0),k3=+A1[v>>3],Q3=p3-k3,n6=+Pi(Q3),W3=+(_2|0),b=n6/W3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*b,_=-f5,L=Q<_,C6=L?_:Q,x=C6>f5,S3=x?f5:C6,F=S3/D,M=F*W3,N=M+k3,A1[v>>3]=N,G=+Pi(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=yt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,v3=O,X3=J}else W=d2,v3=o0,X3=r1;e0=(W|0)>0,H=(X3|0)<(U|0),c6=H&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,V=X3-U|0,a0=V+Z|0,s0=(a0|0)<0,s0)for(g3=v3,e6=X3;;){if(i0=g3+1|0,n0=(g3|0)>13,n0){O3=i0,u6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,h0=e[K>>2]|0,c0=yt(h0)|0,j=c0<<3,l0=e[$0>>2]|0,f0=j-U|0,d0=f0+l0|0,w0=(d0|0)<0,w0)g3=i0,e6=j;else{O3=i0,u6=j;break}}else O3=v3,u6=X3;else O3=v3,u6=X3;while(!1);C0=e[k0>>2]|0,u0=(C0|0)>0,B0=(u6|0)>(I0|0),p6=B0&u0;e:do if(p6)if(S0=g2+88|0,K0=e[S0>>2]|0,_0=u6-I0|0,Q0=_0+K0|0,L0=e[B2>>2]|0,M0=(Q0|0)>(L0|0),M0)for(l6=O3,H3=u6;;){if(N0=l6+-1|0,U0=(l6|0)<1,U0){d3=N0,b3=H3;break e}if(y0=(B+12|0)+(N0<<2)|0,x0=e[y0>>2]|0,D0=yt(x0)|0,T0=D0<<3,J0=e[S0>>2]|0,Y0=T0-I0|0,P0=Y0+J0|0,V0=e[B2>>2]|0,G0=(P0|0)>(V0|0),G0)l6=N0,H3=T0;else{d3=N0,b3=T0;break}}else d3=O3,b3=u6;else d3=O3,b3=u6;while(!1);if(O0=(d3|0)<0,O0)n1=e[B2>>2]|0,e1=g2+88|0,b0=e[e1>>2]|0,i1=n1+I0|0,c1=i1-b0|0,$1=(c1|0)/8&-1,f1=g2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=yt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,z0=$1<<3,Dv(o1,z0),I1=e[g1>>2]|0,h1=yt(I1)|0,m1=h1<<3,q3=m1):q3=b3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=yt(L1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),K1=(k6|0)>1,O1=e[S1>>2]|0,K1)N1=O1,k6=Z1;else{f=O1;break}else f=U1;H1=yt(f)|0,q1=H1<<3,q3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?z3=37:(n2=e[k0>>2]|0,W1=(n2|0)>0,W1&&(z3=37));do if((z3|0)==37){if(P1=(I0|0)>0,c2=(q3|0)>(I0|0),R6=P1&c2,R6){s2=q3-I0|0,E2=g2+88|0,o2=e[E2>>2]|0,V1=s2+o2|0,e[E2>>2]=V1;break}if(h2=(U|0)>0,a2=(q3|0)<(U|0),Y6=h2&a2,Y6){t2=q3-U|0,$2=g2+88|0,i2=e[$2>>2]|0,A2=t2+i2|0,e[$2>>2]=A2;break}if(r2=g2+88|0,u2=e[r2>>2]|0,e2=(u2|0)>(H2|0),e2)if(P1){y2=q3-I0|0,v2=u2+y2|0,w2=(v2|0)<(H2|0),r=w2?H2:v2,e[r2>>2]=r;break}else{e[r2>>2]=H2;break}else if(h2){C2=q3-U|0,F2=u2+C2|0,D2=(F2|0)>(H2|0),a=D2?H2:F2,e[r2>>2]=a;break}else{e[r2>>2]=H2;break}}while(!1);return N2=e[g5>>2]|0,V2=(N2|0)>0,V2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=n5(P2,N2)|0,O2=z2),o5=q3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function nQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,D=c+120|0,z=e[D>>2]|0,V=(z|0)==0,V?(A=0,A|0):(f0=(r|0)==0,f0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,f=k0+104|0,E=e[f>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?u0=7:(p=c+124|0,B=e[p>>2]|0,u0=B),v=(w0+12|0)+(u0<<2)|0,b=e[v>>2]|0,w=Xp(b)|0,e[r>>2]=w,y=e[v>>2]|0,Q=yt(y)|0,_=r+4|0,e[_>>2]=Q,L=r+8|0,e[L>>2]=0,x=z+44|0,F=e[x>>2]|0,M=r+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=r+16|0,e0=W,H=e0,e[H>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,s0=e[a0>>2]|0,i0=Z+4|0,n0=i0,K=e[n0>>2]|0,h0=r+24|0,o0=h0,c0=o0,e[c0>>2]=s0,j=o0+4|0,l0=j,e[l0>>2]=K),e[D>>2]=0,A=1,A|0)}function Uv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=r,T=x+112|0;do e[x>>2]=0,x=x+4|0;while((x|0)<(T|0));if(A=r+64|0,e[A>>2]=t,a=r+76|0,e[a>>2]=0,p=r+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(b=r4(1,72)|0,w=r+104|0,e[w>>2]=b,y=b+4|0,s[y>>2]=-9999,D=r+4|0,Q=b+12|0,c=b+40|0,L=0;;)if(f=(L|0)==7,f){e[c>>2]=D,lB(D),L=8;continue}else{if(E=r4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,lB(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function Ht(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=r+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?(c=(O|0)==0,c||(f=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+x|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,b=E+4|0,e[b>>2]=v,e[E>>2]=f,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function Pv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,f=e[W>>2]|0,E=(f|0)==0,r=t+68|0,A=e[r>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,p=m+f|0,B=Oi(A,p)|0,e[r>>2]=B,v=e[W>>2]|0,b=e[I>>2]|0,w=b+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(c|0)==0,L){U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}else H=0;for(;;){if(x=(c+12|0)+(H<<2)|0,F=e[x>>2]|0,cB(F),M=(H|0)==7,M){H=8;continue}if(T=e[x>>2]|0,I2(T),N=H+1|0,e0=(N|0)==15,e0)break;H=N}I2(c),U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}function Ov(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=qv(t,r,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=pS(r)|0,v=p+60|0,e[v>>2]=B,b=r4(1,180)|0,e[p>>2]=b,zv(b,r),w=p+80|0,Tv(r,w),y=t+64|0,D=y,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 rQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,q0=(p0|0)!=0,q0?(H0=p0+28|0,r1=e[H0>>2]|0,y0=r1):y0=0,R1=t+104|0,D1=e[R1>>2]|0,z1=(D1|0)!=0,z1){if(A2=e[D1>>2]|0,b=(A2|0)==0,b||(Zv(A2),N=e[D1>>2]|0,I2(N)),U=D1+12|0,c0=e[U>>2]|0,d0=(c0|0)==0,d0||(w0=e[c0>>2]|0,IB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),u0=e[U>>2]|0,I2(u0)),B0=D1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(K0=e[I0>>2]|0,IB(K0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),L0=e[B0>>2]|0,I2(L0)),M0=D1+48|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0){if(x0=(y0|0)==0,x0)d1=N0;else if(D0=y0+16|0,T0=e[D0>>2]|0,J0=(T0|0)>0,J0){if(Y0=y0+800|0,P0=e[Y0>>2]|0,V0=25640+(P0<<2)|0,G0=e[V0>>2]|0,O0=G0+16|0,n1=e[O0>>2]|0,e1=e[N0>>2]|0,js[n1&7](e1),b0=e[D0>>2]|0,i1=(b0|0)>1,i1)for($1=1;r=e[M0>>2]|0,c1=Y0+($1<<2)|0,f1=e[c1>>2]|0,g1=25640+(f1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=r+($1<<2)|0,z0=e[o1>>2]|0,js[a1&7](z0),I1=$1+1|0,h1=e[D0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[M0>>2]|0,d1=A}else d1=N0;I2(d1)}if(E1=D1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)V1=B1;else if(x1=y0+20|0,w1=e[x1>>2]|0,S1=(w1|0)>0,S1){if(L1=y0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,js[Z1&7](N1),K1=e[x1>>2]|0,O1=(K1|0)>1,O1)for(q1=1;a=e[E1>>2]|0,H1=L1+(q1<<2)|0,Y1=e[H1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(q1<<2)|0,f2=e[c2>>2]|0,js[P1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,o2=(s2|0)<(E2|0),o2;)q1=s2;c=e[E1>>2]|0,V1=c}else V1=B1;I2(V1)}if(h2=D1+56|0,a2=e[h2>>2]|0,t2=(a2|0)==0,!t2){if($2=(y0|0)==0,$2)D2=a2;else if(i2=y0+28|0,X1=e[i2>>2]|0,r2=(X1|0)>0,r2){if(hQ(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(v2=1;f=e[h2>>2]|0,y2=f+(v2*52|0)|0,hQ(y2),w2=v2+1|0,C2=e[i2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,D2=E}else D2=a2;I2(D2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||QS(y),Q=D1+80|0,Nv(Q),_=D1+20|0,QQ(_),L=D1+32|0,QQ(L)}if(x=t+8|0,F=e[x>>2]|0,M=(F|0)==0,!M){if(q0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,f0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=f0:(I2(t0),m=e[T>>2]|0,H=m),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[x>>2]|0,Y=I,f0=H,N2=W;p=e[x>>2]|0,X=p}else X=F;else X=F;I2(X),$0=t+12|0,Z=e[$0>>2]|0,V=(Z|0)==0,V||I2(Z)}z1&&(a0=D1+64|0,s0=e[a0>>2]|0,i0=(s0|0)==0,i0||I2(s0),n0=D1+68|0,K=e[n0>>2]|0,h0=(K|0)==0,h0||I2(K),o0=D1+72|0,j=e[o0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(D1)),d2=t,q2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(q2|0))}}function sQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0;if(q0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,n0=W+64|0,k0=e[n0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[n0>>2]=0,L0=W+68|0,M0=e[L0>>2]|0,N0=(M0|0)==0,N0||I2(M0),e[L0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,b=t+20|0,w=e[b>>2]|0,y=w+r|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,f=e[A>>2]|0,X=f,y0=11;else if(L=r<<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=Oi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,a0=e[G>>2]|0,s0=a0+(i0<<2)|0,K=e[s0>>2]|0,h0=a<<2,o0=Oi(K,h0)|0,c0=e[G>>2]|0,j=c0+(i0<<2)|0,e[j>>2]=o0,l0=i0+1|0,f0=e[M>>2]|0,d0=(l0|0)<(f0|0),d0)i0=l0;else{X=f0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[b>>2]|0,V=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,u0=e[C0>>2]|0,B0=u0+(Z<<2)|0,p0=e[V>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,K0=(S0|0)<(X|0),K0)U0=S0;else{c=V;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function Hv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,n0=(r|0)<1,!n0)return w0=t+20|0,C0=e[w0>>2]|0,u0=C0+r|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(u0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=u0,S0=t+28|0,K0=e[S0>>2]|0,_0=(K0|0)==0,!_0||(Q0=t+48|0,L0=e[Q0>>2]|0,M0=u0-L0|0,U0=W+4|0,y0=e[U0>>2]|0,q0=(M0|0)>(y0|0),!q0)?(a=0,C=P0,a|0):(AQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,N0=t+28|0,x0=e[N0>>2]|0,D0=(x0|0)==0,D0&&AQ(t),T0=W+4|0,p=e[T0>>2]|0,B=p*3|0,sQ(t,B)|0,v=t+20|0,b=e[v>>2]|0,w=t+32|0,e[w>>2]=b,y=e[T0>>2]|0,D=y*3|0,Q=b+D|0,e[v>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=P0,a|0;for(M=t+8|0,T=b,J0=0;;){if(N=(T|0)>64,N?(G=e[T0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=T-A|0,J=t0+(f<<2)|0,+aQ(J,k0,A,32),e0=e[M>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,a0=V-U|0,$Q(k0,Z,32,$0,a0)):(s0=e[M>>2]|0,i0=s0+(J0<<2)|0,K=e[i0>>2]|0,h0=K+(T<<2)|0,o0=e[v>>2]|0,c0=o0-T|0,j=c0<<2,Ae(h0|0,0,j|0)|0),l0=J0+1|0,f0=e[_>>2]|0,d0=(l0|0)<(f0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,J0=l0}return C=P0,a|0}function oQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,v=t+4|0,b=e[v>>2]|0,s2=b+28|0,k5=e[s2>>2]|0,n6=t+104|0,S6=e[n6>>2]|0,u6=S6+60|0,d6=e[u6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,D0=t9-S0|0,b0=r+104|0,z0=e[b0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;B2=Wv(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[u2>>2]|0,u3=(J2|0)==0,u3)return a=0,a|0;V3=t+44|0,e[V3>>2]=0,f=V3,P3=0;break}else if(C3=e[k5>>2]|0,U3=k5+4|0,M5=e[U3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,f=e3,P3=0;break}else{e[e3>>2]=B2,f=e3,P3=B2;break}while(!1);if(A3=e[G6>>2]|0,x3=e[w>>2]|0,f6=k5+(x3<<2)|0,p3=e[f6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+A3|0,W3=k5+(P3<<2)|0,V5=e[W3>>2]|0,v3=(V5|0)/4&-1,g3=Q3+v3|0,O3=(V5|0)/2&-1,l6=g3+O3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=r+84|0,j3=e[B6>>2]|0,c6=(j3|0)==0,!c6)for(I9=j3;p6=I9+4|0,R6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(R6|0)==0,!C6;)I9=R6;S3=r+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(H3=r+68|0,b3=e[H3>>2]|0,q3=r+76|0,z3=e[q3>>2]|0,b6=z3+X3|0,A6=Oi(b3,b6)|0,e[H3>>2]=A6,t3=e[S3>>2]|0,O6=e[q3>>2]|0,s3=O6+t3|0,e[q3>>2]=s3,e[S3>>2]=0),a6=r+72|0,e[a6>>2]=0,e[B6>>2]=0,D3=t+36|0,N6=e[D3>>2]|0,r6=r+24|0,e[r6>>2]=N6,Q6=e[w>>2]|0,x6=r+28|0,e[x6>>2]=Q6,V6=e[f>>2]|0,I6=r+32|0,e[I6>>2]=V6,J6=(Q6|0)==0;do if(J6)if(s9=jv(t)|0,L6=(s9|0)==0,U6=z0+8|0,L6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(L3=(N6|0)==0,W6=(V6|0)==0,N9=L3|W6,e9=z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=r+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,F3=e[F6>>2]|0,M6=y6+4|0,A9=M6,j6=e[A9>>2]|0,f9=zs(F3|0,j6|0,1,0)|0,u9=q6,d9=z6,a9=d9,e[a9>>2]=f9,$9=d9+4|0,T9=$9,e[T9>>2]=u9,E6=r+56|0,T6=E6,y=T6,e[y>>2]=F3,D=T6+4|0,Q=D,e[Q>>2]=j6,_=t+56|0,L=_,x=L,F=e[x>>2]|0,M=L+4|0,T=M,N=e[T>>2]|0,O=r+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=k5+(W<<2)|0,H=e[e0>>2]|0,X=r+36|0,e[X>>2]=H,U=z0+4|0,Z=+s[U>>2],V=+s[d6>>2],a0=Z>V,a0?(s[d6>>2]=Z,s0=Z):s0=V,i0=+kS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,n0=b+4|0,K=e[n0>>2]|0,h0=K<<2,o0=h0+7|0,c0=o0&-8,l0=e[a6>>2]|0,f0=c0+l0|0,d0=r+76|0,w0=e[d0>>2]|0,C0=(f0|0)>(w0|0),k0=r+68|0,u0=e[k0>>2]|0,C0?(B0=(u0|0)==0,B0||(p0=u0,I0=S9(8)|0,K0=e[S3>>2]|0,_0=K0+l0|0,e[S3>>2]=_0,Q0=e[B6>>2]|0,L0=I0+4|0,e[L0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=c0,M0=S9(c0)|0,e[k0>>2]=M0,e[a6>>2]=0,c=e[n0>>2]|0,U0=M0,y0=0,T0=c,G0=c0):(U0=u0,y0=l0,T0=K,G0=w0),N0=U0+y0|0,q0=y0+c0|0,e[a6>>2]=q0,e[r>>2]=N0,x0=T0<<2,J0=x0+7|0,Y0=J0&-8,P0=Y0+q0|0,V0=(P0|0)>(G0|0),V0?(O0=(U0|0)==0,O0||(n1=U0,H0=S9(8)|0,e1=e[S3>>2]|0,i1=e1+q0|0,e[S3>>2]=i1,c1=e[B6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=n1,e[B6>>2]=H0),e[d0>>2]=Y0,f1=S9(Y0)|0,e[k0>>2]=f1,e[a6>>2]=0,E=e[n0>>2]|0,l1=f1,s1=0,r1=E,O5=Y0):(l1=U0,s1=q0,r1=T0,O5=G0),g1=l1+s1|0,a1=s1+Y0|0,e[a6>>2]=a1,e[z0>>2]=g1,o1=(r1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,x1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+D0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,k1=e[S3>>2]|0,U1=k1+Q1|0,e[S3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,D1=S9(B1)|0,e[k0>>2]=D1,e[a6>>2]=0,H1=D1,q1=0):(H1=S1,q1=Q1),K1=H1+q1|0,Y1=q1+B1|0,e[a6>>2]=Y1,j1=e[z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=K1,W1=e[z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,f2=z1+(i9<<2)|0,o2=e[f2>>2]|0,s4(c2|0,o2|0,d1|0)|0,V1=e[z0>>2]|0,h2=V1+(i9<<2)|0,a2=e[h2>>2]|0,t2=a2+(D0<<2)|0,$2=e[r>>2]|0,i2=$2+(i9<<2)|0,e[i2>>2]=t2,A2=i9+1|0,X1=e[n0>>2]|0,r2=(A2|0)<(X1|0),!r2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,x1=m,S1=p,i9=A2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[u2>>2]=-1,C2=r+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,V2=(d2|0)>0,!V2)return a=1,a|0;if(q2=e[S6>>2]|0,Xv(q2,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,jA(X2|0,x5|0,e5|0)|0,Z2=e[n0>>2]|0,u5=(Z2|0)>1,u5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,r5=B<<2,jA(k2|0,m5|0,r5|0)|0,R2=l5+1|0,_2=e[n0>>2]|0,C5=(R2|0)<(_2|0),C5;)l5=R2;return L5=e[w>>2]|0,e[D3>>2]=L5,d5=e[f>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[u2>>2]|0,G5=(D5|0)==0,G5?(f3=(d2|0)<0,B3=f3<<31>>31,N3=_,z5=N3,y3=e[z5>>2]|0,W5=N3+4|0,i6=W5,R3=e[i6>>2]|0,G3=zs(y3|0,R3|0,d2|0,B3|0)|0,a3=q6,l3=_,c3=l3,e[c3>>2]=G3,q5=l3+4|0,U5=q5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,H2=(_5|0)<1,A=H2?-1:_5,e[u2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,x2=$5<<31>>31,Q5=_,H5=Q5,j5=e[H5>>2]|0,E5=Q5+4|0,h3=E5,J5=e[h3>>2]|0,X5=zs(j5|0,J5|0,d2|0,x2|0)|0,r3=q6,m3=_,F5=m3,e[F5>>2]=X5,K5=m3+4|0,w3=K5,e[w3>>2]=r3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=zs(W2|0,t5|0,c5|0,S5|0)|0,h5=q6,f5=_,i5=f5,e[i5>>2]=s5,R5=f5+4|0,j2=R5,e[j2>>2]=h5,a=1,a|0))}function qv(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0;if(i5=C,p=r+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,$2=(P1|0)<1,$2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,R5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(R5|0));o0=r4(1,136)|0,p0=t+104|0,e[p0>>2]=o0,q0=t+4|0,e[q0>>2]=r,H0=e[Z1>>2]|0,r1=H0+-1|0,E1=Tt(r1)|0,B1=o0+44|0,e[B1>>2]=E1,Q1=r4(1,4)|0,R1=o0+12|0,e[R1>>2]=Q1,x1=r4(1,4)|0,w1=o0+16|0,e[w1>>2]=x1,S1=r4(1,20)|0,e[Q1>>2]=S1,L1=r4(1,20)|0,e[x1>>2]=L1,F1=e[B>>2]|0,G1=F1>>X,dB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,D1=N1>>X,dB(U1,D1),K1=e[B>>2]|0,O1=Tt(K1)|0,H1=O1+-7|0,q1=o0+4|0,e[q1>>2]=H1,Y1=e[k2>>2]|0,j1=Tt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(d5=B+24|0,D5=e[d5>>2]|0,G5=r4(D5,56)|0,e[B2>>2]=G5,H2=e[d5>>2]|0,I5=(H2|0)>0,I5)){for(m1=H2,p5=0;;){if(A5=(B+1824|0)+(p5<<2)|0,c5=e[A5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=JS(a5,c5)|0,b=(W2|0)==0,!b){f5=20;break}if(w=e[A5>>2]|0,EB(w),e[A5>>2]=0,y=p5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,p5=y;else break e}if((f5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(EB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),z0=h5+1|0,I1=(z0|0)<(h1|0),I1;)d1=h1,h5=z0;return rQ(t),a=-1,a|0}}else{if(z1=o0+20|0,f2=e[B>>2]|0,pQ(z1,f2),s2=o0+32|0,E2=e[k2>>2]|0,pQ(s2,E2),o2=B+2848|0,V1=e[o2>>2]|0,h2=(V1|0)==0,h2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=r4(t2,56)|0,e[o2>>2]=i2,A2=e[a2>>2]|0,X1=(A2|0)>0,X1&&(r2=B+1824|0,u2=e[r2>>2]|0,BQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[o2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,BQ(v2,D2)|0,N2=w2+1|0,d2=e[a2>>2]|0,V2=(N2|0)<(d2|0),V2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,M2=r4(q2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=B+2868|0,X2=r+8|0,e5=M2,g2=0;;){if(x5=e5+(g2*52|0)|0,b5=(B+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,u5=e[Z2>>2]|0,v5=B+(u5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,wS(x5,Z2,T1,l5,m5),r5=g2+1|0,R2=e[G2>>2]|0,_2=(r5|0)<(R2|0),!_2)break t;f=e[P2>>2]|0,e5=f,g2=r5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,L=t+16|0,e[L>>2]=_,x=r+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=r4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(H=1;E=e[G>>2]|0,W=r4(_,4)|0,e0=E+(H<<2)|0,e[e0>>2]=W,U=H+1|0,$0=(U|0)<(F|0),$0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,a0=e[k2>>2]|0,s0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,n0=t+20|0,e[n0>>2]=s0,K=B+16|0,h0=e[K>>2]|0,c0=r4(h0,4)|0,j=o0+48|0,e[j>>2]=c0,l0=B+20|0,f0=e[l0>>2]|0,d0=r4(f0,4)|0,w0=o0+52|0,e[w0>>2]=d0,C0=e[K>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,K0=25640+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0+8|0,L0=e[Q0>>2]|0,M0=(B+1056|0)+(t5<<2)|0,N0=e[M0>>2]|0,U0=u7[L0&15](t,N0)|0,y0=e[j>>2]|0,x0=y0+(t5<<2)|0,e[x0>>2]=U0,D0=t5+1|0,T0=e[K>>2]|0,J0=(D0|0)<(T0|0),J0;)t5=D0;if(u0=e[l0>>2]|0,B0=(u0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(s5<<2)|0,P0=e[Y0>>2]|0,V0=25648+(P0<<2)|0,G0=e[V0>>2]|0,O0=G0+8|0,n1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,b0=e[e1>>2]|0,i1=u7[n1&15](t,b0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,f1=s5+1|0,g1=e[l0>>2]|0,l1=(f1|0)<(g1|0),l1)s5=f1;else{a=0;break}return a|0}function AQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,C=C+64|0,c=_0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,r=Y,a0=C,C=C+((1*r|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,u0=Q-k0|0,B0=(u0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,b=Q,p0=0;;){if(w=(b|0)>0,w)for(y=e[v>>2]|0,D=y+(p0<<2)|0,_=e[D>>2]|0,I0=0;L=I0^-1,x=b+L|0,F=_+(x<<2)|0,M=e[F>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(b|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=b-O|0,+aQ(a0,c,z,16),t0=e[f>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=a0+(A<<2)|0,a=A+-16|0,e0=a0+(a<<2)|0,$Q(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;V=a0+(S0<<2)|0,s0=e[V>>2]|0,i0=S0^-1,n0=H+i0|0,K=Z+(n0<<2)|0,e[K>>2]=s0,h0=S0+1|0,o0=(H|0)>(h0|0),o0;)S0=h0;if(c0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,f0=e[l0>>2]|0,w0=(c0|0)<(f0|0),w0)b=H,p0=c0;else break}C=_0}function Yv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0;A2=C,U2(r,5653314,24),E=e[t>>2]|0,U2(r,E,16),I=t+4|0,G=e[I>>2]|0,U2(r,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,D0=e[S0>>2]|0,c=d[D0>>0]|0,b0=c,P1=1;;){if(z0=b0<<24>>24==0,z0){W1=P1;break e}if(w1=D0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)b0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==($0|0);e:do if(L){if(U2(r,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(r,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,H1=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,H=d[e0>>0]|0,X=J<<24>>24>H<<24>>24,X)for(U=H<<24>>24,Z=J<<24>>24,s0=y,q1=H1,a2=U;;)if(V=z1-q1|0,a0=s0-q1|0,i0=Tt(a0)|0,U2(r,V,i0),n0=a2+1|0,n2=(n0|0)==(Z|0),f=e[I>>2]|0,n2){o0=f,Y1=z1;break}else s0=f,q1=z1,a2=n0;else o0=y,Y1=H1;if(K=z1+1|0,h0=(K|0)<(o0|0),h0)y=o0,H1=Y1,z1=K;else{a=o0,O1=Y1,c2=K;break}}else a=O,O1=0,c2=1;c0=c2-O1|0,l0=a-O1|0,f0=Tt(l0)|0,U2(r,c0,f0)}else{U2(r,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,s2=0;;){if(u0=k0+s2|0,B0=d[u0>>0]|0,p0=B0<<24>>24==0,p0){f2=s2;break t}if(I0=s2+1|0,K0=(I0|0)<(d0|0),K0)s2=I0;else{f2=I0;break}}else f2=0;while(!1);if(_0=(f2|0)==(d0|0),_0){if(U2(r,0,1),Q0=e[I>>2]|0,L0=(Q0|0)>0,!L0)break;for(M0=t+8|0,E2=0;;)if(N0=e[M0>>2]|0,U0=N0+E2|0,y0=d[U0>>0]|0,q0=y0<<24>>24,x0=q0+-1|0,U2(r,x0,5),T0=E2+1|0,J0=e[I>>2]|0,Y0=(T0|0)<(J0|0),Y0)E2=T0;else break e}if(U2(r,1,1),P0=e[I>>2]|0,V0=(P0|0)>0,V0)for(G0=t+8|0,o2=0;O0=e[G0>>2]|0,n1=O0+o2|0,H0=d[n1>>0]|0,e1=H0<<24>>24==0,e1?U2(r,0,1):(U2(r,1,1),i1=e[G0>>2]|0,c1=i1+o2|0,$1=d[c1>>0]|0,f1=$1<<24>>24,g1=f1+-1|0,U2(r,g1,5)),l1=o2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)o2=l1}while(!1);if(r1=t+12|0,o1=e[r1>>2]|0,U2(r,o1,4),I1=e[r1>>2]|0,(I1|0)==2|(I1|0)==1)i2=28;else if(I1|0)return A=-1,A|0;do if((i2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(r,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(r,Q1,32),R1=t+24|0,x1=e[R1>>2]|0,S1=x1+-1|0,U2(r,S1,4),L1=t+28|0,F1=e[L1>>2]|0,U2(r,F1,1),G1=e[r1>>2]|0,(G1|0)==1)k1=HS(t)|0,$2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=n5(Z1,U1)|0,$2=N1;else break;if(D1=($2|0)>0,D1)for(V1=0;K1=e[h1>>2]|0,p=K1+(V1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,t2=0-B|0,v=h2?B:t2,b=e[R1>>2]|0,U2(r,v,b),w=V1+1|0,j1=(w|0)==($2|0),!j1;)V1=w}while(!1);return A=0,A|0}function Fh(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,c=(r|0)<0,c||(f=t+12|0,Q=e[f>>2]|0,L=Q+4|0,x=e[L>>2]|0,F=(x|0)>(r|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(r<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+r|0,p=d[m>>0]|0,B=p<<24>>24,U2(A,G,B),v=e[f>>2]|0,b=v+8|0,w=e[b>>2]|0,y=w+r|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function jm(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=Mh(t,r)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,A=v,A|0)}function Jv(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,F=(p|0)>0,!F)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,$0=C,C=C+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,n0=0;;){if(N=Mh(t,A)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[V>>2]|0,z=e[t>>2]|0,Y=n5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(n0<<2)|0,e[J>>2]=t0,W=n0+1|0,H=(W|0)<(X|0),H)n0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,s0=E|I,s0)return c=0,C=j,c|0;for(K=0,o0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],_=h0+o0|0,L=r+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=K+1|0,v=o0+X|0,b=(B|0)<(a0|0),b)K=B,o0=v;else{c=0;break}}return C=j,c|0}function Kv(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,c0=(t0|0)>0,!c0)return c=0,c|0;if(I0=e[t>>2]|0,x0=(I0|0)>8,x0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(K1=t+16|0,X1=0;;){if(Z=Mh(t,A)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(a0=e[K1>>2]|0,s0=e[t>>2]|0,i0=n5(s0,Z)|0,n0=(s0|0)>0,n0){for(K=(s0|0)>1,O2=K?s0:1,u2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=a0+(z<<2)|0,j=+s[o0>>2],l0=u2+1|0,f0=r+(u2<<2)|0,d0=+s[f0>>2],w0=d0+j,s[f0>>2]=w0,C0=(h0|0)<(s0|0),C0;)u2=l0,d2=h0;f2=X1+O2|0,r2=f2}else r2=X1;if(J=(r2|0)<(a|0),J)X1=r2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,o1=(a|0)>0,o1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(H=Mh(t,A)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=H,Q=U,T1=19;break t}case 3:{v=H,_=U,T1=21;break t}case 7:{I=H,w=U,T1=13;break t}case 6:{m=H,y=U,T1=15;break t}case 8:{f=U,E=H,T1=12;break t}case 5:{p=H,D=U,T1=17;break t}case 1:{V1=H,a2=U,N2=e2,o5=0;break t}case 2:{b=H,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,u0=f+(k0<<2)|0,B0=+s[u0>>2],p0=e2+1|0,S0=r+(e2<<2)|0,K0=+s[S0>>2],_0=K0+B0,s[S0>>2]=_0,M0=k0,U0=f,y2=p0,V2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,M0=Q0,U0=w,y2=e2,V2=0,T1=14):(T1|0)==15?(T1=0,Y0=m*6|0,V0=Y0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=D,w2=e2,q2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=L,D2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,L0=V2+1|0,O=V2+M0|0,N0=U0+(O<<2)|0,y0=+s[N0>>2],q0=y2+1|0,D0=r+(y2<<2)|0,T0=+s[D0>>2],J0=T0+y0,s[D0>>2]=J0,V0=M0,O0=U0,v2=q0,G2=L0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+V0|0,G0=O0+(G<<2)|0,n1=+s[G0>>2],H0=v2+1|0,b0=r+(v2<<2)|0,i1=+s[b0>>2],c1=i1+n1,s[b0>>2]=c1,g1=V0,s1=O0,w2=H0,q2=P0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,N=q2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],r1=w2+1|0,z0=r+(w2<<2)|0,I1=+s[z0>>2],h1=I1+a1,s[z0>>2]=h1,E1=g1,p1=s1,C2=r1,M2=f1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],R1=C2+1|0,w1=r+(C2<<2)|0,S1=+s[w1>>2],L1=S1+Q1,s[w1>>2]=L1,k1=E1,Z1=p1,F2=R1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],D1=F2+1|0,O1=r+(F2<<2)|0,H1=+s[O1>>2],q1=H1+N1,s[O1>>2]=q1,n2=k1,P1=Z1,D2=D1,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,s2=r+(D2<<2)|0,E2=+s[s2>>2],o2=E2+c2,s[s2>>2]=o2,V1=n2,a2=P1,N2=z1,o5=j1),x=o5+V1|0,h2=a2+(x<<2)|0,t2=+s[h2>>2],$2=N2+1|0,i2=r+(N2<<2)|0,A2=+s[i2>>2],W=A2+t2,s[i2>>2]=W,e0=($2|0)<(a|0),e0)e2=$2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function Vv(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0;if(c0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=f+A|0,H=(e0|0)/(a|0)&-1,X=(W|0)<(H|0),!X))return I=0,I|0;for(U=t+16|0,V=0,i0=W;;){if(Z=Mh(t,c)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=n5(y,Z)|0,Q=(y|0)>0,Q)for(s0=V,K=i0,h0=0;;)if(p=h0+D|0,_=w+(p<<2)|0,L=+s[_>>2],x=s0+1|0,F=r+(s0<<2)|0,M=e[F>>2]|0,N=M+(K<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+K|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)s0=E,K=m,h0=t0;else{a0=E,n0=m;break}else a0=V,n0=i0;if($0=(n0|0)<(H|0),$0)V=a0,i0=n0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Mh(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0;h1=C,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=gB(r,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,Y0=e[Q0>>2]|0,c1=Y0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,b=B-v|0,f1=b,l1=m;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,L=d[_>>0]|0,x=L<<24>>24,hB(r,x),A=w,A|0}else F=t+8|0,M=e[F>>2]|0,f1=M,l1=0;while(!1);if(T=gB(r,f)|0,N=(T|0)<0,G=(f|0)>1,O=N&G,O)for(z0=f;;)if(z=z0+-1|0,t0=gB(r,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)z0=z;else{a=J,r1=t0,o1=z;break}else a=N,r1=T,o1=f;if(a)return A=-1,A|0;if(H=r1>>>16,X=r1<<16,U=H|X,$0=U>>>8,Z=$0&16711935,V=U<<8,s0=V&-16711936,i0=Z|s0,n0=i0>>>4,K=n0&252645135,h0=i0<<4,o0=h0&-252645136,c0=K|o0,j=c0>>>2,l0=j&858993459,f0=c0<<2,w0=f0&-858993460,C0=l0|w0,k0=C0>>>1,u0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=u0|p0,S0=f1-l1|0,K0=(S0|0)>1,K0)for(_0=t+20|0,L0=e[_0>>2]|0,N0=S0,g1=f1,a1=l1;;)if(M0=N0>>1,U0=M0+a1|0,y0=L0+(U0<<2)|0,q0=e[y0>>2]|0,x0=q0>>>0>I0>>>0,D0=x0?0:M0,T0=D0+a1|0,J0=x0?M0:0,P0=g1-J0|0,V0=P0-T0|0,G0=(V0|0)>1,G0)N0=V0,g1=P0,a1=T0;else{s1=T0;break}else s1=l1;return O0=t+28|0,n1=e[O0>>2]|0,H0=n1+s1|0,e1=d[H0>>0]|0,b0=e1<<24>>24,i1=(b0|0)>(o1|0),i1?(hB(r,o1),A=-1,A|0):(hB(r,b0),A=s1,A|0)}function zv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0;for(c1=C,p=r+28|0,B=e[p>>2]|0,M=r+4|0,H=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,Y0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=Y0,e[t>>2]=H,V0=t+164|0,e[V0>>2]=128,v=B+4|0,b=e[v>>2]|0,w=(b|0)/2&-1,y=t+176|0,e[y>>2]=w,D=r4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,dB(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),F=x*.024736950028266088,T=+Nr(+F),N=T,G=L+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,n1=(z|0)==128,!n1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,a0=t+120|0,e[a0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,n0=t+140|0,e[n0>>2]=8,o0=4,b0=0;;){if(K=o0<<2,c0=S9(K)|0,j=((t+40|0)+(b0<<4)|0)+8|0,e[j>>2]=c0,l0=(o0|0)>0,l0){for(f0=+(o0|0),d0=((t+40|0)+(b0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/f0,u0=k0*3.141592653589793,p0=+Nr(+u0),I0=p0,S0=c0+(e1<<2)|0,s[S0>>2]=I0,K0=_0+I0,Q0=e1+1|0,G0=(Q0|0)==(o0|0),G0){A=K0;break}else _0=K0,e1=Q0;s[d0>>2]=A,E=d0,M0=A}else c=((t+40|0)+(b0<<4)|0)+12|0,I=+s[c>>2],E=c,M0=I;if(L0=1/M0,s[E>>2]=L0,N0=b0+1|0,O0=(N0|0)==7,O0)break;a=((t+40|0)+(N0<<4)|0)+4|0,f=e[a>>2]|0,o0=f,b0=N0}U0=H*7|0,q0=r4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,D0=e[V0>>2]|0,T0=r4(D0,4)|0,J0=t+160|0,e[J0>>2]=T0}function Zv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,r=t+16|0,IB(r),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),c=t+128|0,f=e[c>>2]|0,I2(f),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),b=t+160|0,y=e[b>>2]|0,I2(y),Ae(t|0,0,180)|0}function Wv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=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,K=e0+2868|0,u0=t+104|0,U0=e[u0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,b=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(v|0)&-1,Q=D+-4|0,_=(b|0)<0,r=_?0:b,L=D+2|0,x=O0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=O0+160|0,G=e[N>>2]|0,O=L<<2,z=Oi(G,O)|0,e[N>>2]=z),Y=(r|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,H=O0+40|0,X=O0+152|0,D1=r;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,V=e[O0>>2]|0,a0=(V|0)>0,a0){for(N1=0,q1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,c0=e[o0>>2]|0,j=e[I>>2]|0,l0=n5(j,D1)|0,f0=c0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=eS(O0,K,f0,H,C0)|0,B0=k0|q1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,q1=B0;else{c=B0;break}K0=D1+2|0,_0=e[J>>2]|0,Q0=_0+(K0<<2)|0,e[Q0>>2]=0,L0=c&1,M0=(L0|0)==0,M0||(N0=_0+(D1<<2)|0,e[N0>>2]=1,y0=D1+1|0,q0=_0+(y0<<2)|0,e[q0>>2]=1),x0=c&2,D0=(x0|0)==0,D0||(T0=_0+(D1<<2)|0,e[T0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,P0=_0+(Y0<<2)|0,e[P0>>2]=1)),V0=c&4,G0=(V0|0)==0,G0||(e[t0>>2]=-1)}else s0=D1+2|0,i0=e[J>>2]|0,n0=i0+(s0<<2)|0,e[n0>>2]=0;if(n1=D1+1|0,Z1=(n1|0)==(Q|0),Z1)break;D1=n1}if(H0=e[I>>2]|0,e1=n5(H0,Q)|0,e[s1>>2]=e1,b0=t+48|0,i1=e[b0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,f1=e0+($1<<2)|0,g1=e[f1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,r1=e0+4|0,o1=e[r1>>2]|0,z0=(o1|0)/2&-1,I1=a1+z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return A=-1,A|0;for(x1=O0+160|0,K1=B1;;){if(L1=(K1|0)<(d1|0),!L1){A=1,Y1=22;break}if(e[E1>>2]=K1,F1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&m,w1=H0+K1|0,H1){O1=K1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)K1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function jv(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0;if(B0=C,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,o0=a0+28|0,c0=e[o0>>2]|0,j=t+48|0,l0=e[j>>2]|0,f0=t+40|0,E=e[f0>>2]|0,I=c0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,v=p+l0|0,b=(E|0)==0,b?(G=e[c0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,D=c0+(y<<2)|0,_=e[D>>2]|0,L=(_|0)/4&-1,x=t+44|0,F=e[x>>2]|0,M=c0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=L),d0=B-a|0,w0=v+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return r=1,r|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(d0|0)/(H|0)&-1,U=(w0|0)/(H|0)&-1,$0=(X|0)<(U|0),!$0)return r=0,r|0;for(Z=Q+160|0,V=e[Z>>2]|0,C0=X;;){if(n0=V+(C0<<2)|0,K=e[n0>>2]|0,h0=(K|0)==0,s0=C0+1|0,!h0){r=1,u0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{r=0,u0=9;break}}return(u0|0)==9?r|0:0}function Xv(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=(r|0)/(Q|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(x<<2)|0,c=L-x|0,f=c<<2,jA(M|0,T|0,f|0)|0,E=e[A>>2]|0,I=E-r|0,e[A>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){b=t+176|0,w=e[b>>2]|0,D=w-r|0,e[b>>2]=D;return}v=p-r|0,e[m>>2]=v,b=t+176|0,w=e[b>>2]|0,D=w-r|0,e[b>>2]=D}function eS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,F2=+s[$2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,x2=(g2|0)>5,F5=(g2|0)/2&-1,f=x2?F5:2,J=r+60|0,i0=+s[J>>2],C0=F5+-2|0,M0=+(C0|0),V0=i0-M0,g1=V0<0,f6=g1?0:V0,E1=f6>i0,p3=E1?i0:f6,k1=(t0|0)>0,k1)for(n2=t+36|0,a2=e[n2>>2]|0,O5=0;i2=A+(O5<<2)|0,A2=+s[i2>>2],X1=a2+(O5<<2)|0,r2=+s[X1>>2],u2=r2*A2,e2=k2+(O5<<2)|0,s[e2>>2]=u2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,lQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,D2=C2,N2=k2+4|0,d2=+s[N2>>2],V2=d2,G2=V2*V2,q2=G2*.7,M2=q2+D2,P2=k2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,x5=M2+X2,e5=x5,b5=c+140|0,Z2=e[b5>>2]|0,u5=(Z2|0)==0,u5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,H2=l5):(r5=c+132|0,R2=+s[r5>>2],_2=R2+e5,s[r5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],L5=C5+e5,s[B2>>2]=L5,T=r5,H2=_2),d5=(c+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=H2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=H2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,f5=J2,L=f5,L0=w2,k5=0;;){if(Q0=L0*L0,N0=k5|1,U0=k2+(N0<<2)|0,y0=+s[U0>>2],q0=y0*y0,x0=q0+Q0,D0=(s[p2>>2]=x0,e[p2>>2]|0),T0=D0&2147483647,J0=+(T0>>>0),Y0=J0*35885571492144663e-23,P0=Y0+-382.30810546875,G0=P0>1,H0=k2+(n1<<2)|0,s[H0>>2]=z,e1=k5+2|0,b0=(e1|0)<(B5|0),!b0)break e;i1=L+-8,F=k2+(e1<<2)|0,M=+s[F>>2],L=i1,L0=M,k5=e1}while(!1);if(i5=(f|0)>0,i5)A3=0,P3=0;else{for(e3=0,W3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,r1=e[a1>>2]|0,a3=0,U3=0;;)if(o1=s1+U3|0,z0=k2+(o1<<2)|0,I1=+s[z0>>2],h1=r1+(U3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=U3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,U3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(e3<<4)|0)+12|0,x1=+s[R1>>2],w1=x1*R3,S1=(c+(e3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=D1?U1:w1,K1=v+-99999,O1=N1+99999,H1=(c+(e3*144|0)|0)+(L1<<2)|0,s[H1>>2]=w1,q1=e[S1>>2]|0,Y1=q1+1|0,j1=(q1|0)>15,D=j1?0:Y1,e[S1>>2]=D,W1=(r+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+p3,z1=O1>c2,f2=W3|5,V5=z1?f2:W3,s2=(r+32|0)+(e3<<2)|0,E2=+s[s2>>2],o2=E2-p3,V1=K1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,k0=(a+(A3<<4)|0)+8|0,o0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=s0+M5|0,n0=k2+(a0<<2)|0,K=+s[n0>>2],h0=o0+(M5<<2)|0,c0=+s[h0>>2],j=c0*K,l0=j+l3,f0=M5+1|0,d0=(f0|0)<(j2|0),d0)l3=l0,M5=f0;else{G3=l0;break}else G3=0;for(u0=(a+(A3<<4)|0)+12|0,B0=+s[u0>>2],h3=B0*G3,X5=(c+(A3*144|0)|0)+68|0,u3=e[X5>>2]|0,p0=(u3|0)<1,B=p0?16:-1,m=B+u3|0,I0=(c+(A3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],K0=h3S0,b=_0?S0:h3,o6=0,x3=m,k3=-99999,Q3=99999;;)if(e0=(x3|0)<1,y=e0?16:-1,w=y+x3|0,H=(c+(A3*144|0)|0)+(w<<2)|0,X=+s[H>>2],U=k3X,N=Z?X:Q3,V=o6+1|0,q5=(V|0)==(f|0),q5){x=$0,G=N;break}else o6=V,x3=w,k3=$0,Q3=N;if(Q5=b-G,H5=j5-x,E5=(c+(A3*144|0)|0)+(u3<<2)|0,s[E5>>2]=h3,J5=e[X5>>2]|0,r3=J5+1|0,m3=(J5|0)>15,Q=m3?0:r3,e[X5>>2]=Q,K5=(r+4|0)+(A3<<2)|0,w3=+s[K5>>2],f3=w3+p3,B3=H5>f3,V3=P3|5,v3=B3?V3:P3,N3=(r+32|0)+(A3<<2)|0,z5=+s[N3>>2],y3=z5-p3,W5=Q5>2]|0,C2=r+1288|0,j3=e[C2>>2]|0,F3=r+1284|0,E6=e[F3>>2]|0,E9=(E6|0)>0,E9){for(f8=0;j4=p4+(f8<<2)|0,e[j4>>2]=-200,Be=f8+1|0,pe=(Be|0)==(E6|0),!pe;)f8=Be;if(E9){for(Y3=0;u4=c4+(Y3<<2)|0,e[u4>>2]=-200,W=Y3+1|0,l4=(W|0)==(E6|0),!l4;)Y3=W;if(E9){for(n0=E6<<2,Ae(M8|0,0,n0|0)|0,w9=0;k0=De+(w9<<2)|0,e[k0>>2]=1,N0=w9+1|0,Ue=(N0|0)==(E6|0),!Ue;)w9=N0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return ie=0,C=e4,ie|0;for(U1=j3+-1|0,W1=J+1112|0,t2=E6+-1|0,M=e[r>>2]|0,C4=M,B9=0,Qe=0;;){b4=B9+1|0,D4=r+(b4<<2)|0,x4=e[D4>>2]|0,T4=P6+(B9*56|0)|0,Me=T4,Rt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Rt|0));if(e[T4>>2]=C4,N4=(P6+(B9*56|0)|0)+4|0,e[N4>>2]=x4,U9=(x4|0)<(j3|0),tt=U9?x4:U1,G4=(tt|0)<(C4|0),G4)k8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,q9=0,K8=0,R8=0,qt=0,Yt=0;else for(k4=C4,u8=0,Pe=0,H4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,p9=0,at=0,x8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],L4=O*7.314285755157471,f4=L4+1023.5,Ce=~~f4,H9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=H9?1023:E,Ne=(v|0)==0;do if(Ne)H8=u8,i8=Pe,r8=H4,E8=j9,He=ye,Q4=A8,B8=I3,Y8=D9,Y4=$8,Ke=p9,se=at,V8=x8;else if(Xe=A+(k4<<2)|0,U4=+s[Xe>>2],Ge=+s[W1>>2],P4=Ge+U4,X4=!(P4>=O),X4){$e=k4+A8|0,W9=v+x8|0,le=n5(k4,k4)|0,ce=le+j9|0,B4=n5(v,v)|0,e0=B4+p9|0,H=n5(v,k4)|0,X=H+D9|0,U=Pe+1|0,H8=u8,i8=U,r8=H4,E8=ce,He=ye,Q4=$e,B8=I3,Y8=X,Y4=$8,Ke=e0,se=at,V8=W9;break}else{be=k4+ye|0,e8=v+at|0,Z9=n5(k4,k4)|0,ae=Z9+H4|0,_6=n5(v,v)|0,O4=_6+$8|0,L9=n5(v,k4)|0,$4=L9+I3|0,_4=u8+1|0,H8=_4,i8=Pe,r8=ae,E8=j9,He=be,Q4=A8,B8=$4,Y8=D9,Y4=O4,Ke=p9,se=e8,V8=x8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(tt|0),Z)k4=$0,u8=H8,Pe=i8,H4=r8,j9=E8,ye=He,A8=Q4,I3=B8,D9=Y8,$8=Y4,p9=Ke,at=se,x8=V8;else{k8=H8,X8=i8,b8=r8,D8=E8,m8=He,Fe=Q4,it=B8,q9=Y8,K8=Y4,R8=Ke,qt=se,Yt=V8;break}}if(V=(P6+(B9*56|0)|0)+8|0,e[V>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=qt,s0=(P6+(B9*56|0)|0)+16|0,e[s0>>2]=b8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=K8,K=(P6+(B9*56|0)|0)+24|0,e[K>>2]=it,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,o0=(P6+(B9*56|0)|0)+32|0,e[o0>>2]=Fe,c0=(P6+(B9*56|0)|0)+36|0,e[c0>>2]=Yt,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=D8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=R8,f0=(P6+(B9*56|0)|0)+48|0,e[f0>>2]=q9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(b4|0)==(t2|0),g6){ft=w0;break}else C4=x4,B9=b4,Qe=w0}}else de=9}else de=9}else de=9}else de=9;if((de|0)==9){if(G0=(E6|0)==0,!G0)return ie=0,C=e4,ie|0;F2=P6+4|0,Me=P6,Rt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Rt|0));if(e[F2>>2]=j3,O2=(j3|0)<1,O2)P8=0,j8=0,q8=0,I8=0,o8=0,X9=0,C8=0,ne=0,st=0,ot=0,Nt=0,Gt=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,n8=0,he=0,fe=0,ue=0,q4=0,re=0,a8=0,Je=0,bt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,x2=g2+1023.5,F5=~~x2,R3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,B=R3?1023:f,P3=(B|0)==0;do if(P3)O8=v8,xe=d8,Le=n8,s8=he,Oe=fe,we=ue,qe=q4,Ye=re,_8=a8,At=Je,Dt=bt,_t=l8;else if(c6=A+(g4<<2)|0,q3=+s[c6>>2],r6=+s[k2>>2],s9=r6+q3,L6=!(s9>=G),L6){f9=g4+ue|0,u9=B+l8|0,d9=n5(g4,g4)|0,a9=d9+he|0,$9=n5(B,B)|0,T9=$9+Je|0,T6=n5(B,g4)|0,i9=T6+re|0,N9=d8+1|0,O8=v8,xe=N9,Le=n8,s8=a9,Oe=fe,we=f9,qe=q4,Ye=i9,_8=a8,At=T9,Dt=bt,_t=u9;break}else{U6=g4+fe|0,D6=B+bt|0,z6=n5(g4,g4)|0,y6=z6+n8|0,F6=n5(B,B)|0,M6=F6+a8|0,t9=n5(B,g4)|0,A9=t9+q4|0,j6=v8+1|0,O8=j6,xe=d8,Le=y6,s8=he,Oe=U6,we=ue,qe=A9,Ye=re,_8=M6,At=Je,Dt=D6,_t=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(j3|0),C9){P8=O8,j8=xe,q8=Le,I8=s8,o8=Oe,X9=we,C8=qe,ne=Ye,st=_8,ot=At,Nt=Dt,Gt=_t;break}else g4=I9,v8=O8,d8=xe,n8=Le,he=s8,fe=Oe,ue=we,q4=qe,re=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]=q8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,H6=P6+32|0,e[H6>>2]=X9,n9=P6+36|0,e[n9>>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]=ne,y9=P6+52|0,e[y9>>2]=j8,ft=P8}if(C0=(ft|0)==0,C0)return ie=0,C=e4,ie|0;e[rt>>2]=-200,e[J8>>2]=-200,u0=E6+-1|0,fB(P6,u0,rt,J8,J)|0,B0=e[rt>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,K0=(E6|0)>2;do if(K0){_0=J+1112|0,Q0=J+1096|0,L0=J+1100|0,M0=J+1104|0,M4=2;e:for(;;){U0=(r+520|0)+(M4<<2)|0,y0=e[U0>>2]|0,q0=M8+(y0<<2)|0,x0=e[q0>>2]|0,D0=De+(y0<<2)|0,T0=e[D0>>2]|0,J0=Z8+(x0<<2)|0,Y0=e[J0>>2]|0,P0=(Y0|0)==(T0|0);t:do if(!P0){if(V0=(r+520|0)+(x0<<2)|0,O0=e[V0>>2]|0,n1=(r+520|0)+(T0<<2)|0,H0=e[n1>>2]|0,e[J0>>2]=T0,e1=(J+836|0)+(x0<<2)|0,b0=e[e1>>2]|0,i1=(J+836|0)+(T0<<2)|0,c1=e[i1>>2]|0,$1=p4+(x0<<2)|0,f1=e[$1>>2]|0,g1=(f1|0)<0,s1=c4+(x0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(r1=(a1|0)<0,r1?y=f1:(o1=a1+f1|0,z0=o1>>1,y=z0)),I1=p4+(T0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(T0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,w1=(Q|0)==-1,vt=x1|w1,vt){de=38;break e}S1=Q-y|0,L1=c1-b0|0,Re=(S1|0)>-1,k9=0-S1|0,F1=Re?S1:k9,G1=(S1|0)/(L1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(b0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,K1=D1+1023.5,O1=~~K1,H1=(O1|0)>1023,q1=(O1|0)<0,I=q1?0:O1,b=H1?1023:I,Y1=n5(G1,L1)|0,lt=(Y1|0)>-1,ht=0-Y1|0,j1=lt?Y1:ht,n2=F1-j1|0,P1=y-b|0,c2=n5(P1,P1)|0,z1=A+(b0<<2)|0,f2=+s[z1>>2],s2=+s[_0>>2],E2=s2+f2,o2=!(E2>=Y),o2?de=42:(V1=+(y|0),h2=+s[Q0>>2],a2=h2+V1,$2=+(b|0),i2=a2<$2,i2||(A2=+s[L0>>2],X1=V1-A2,r2=X1>$2,r2||(de=42)));i:do if((de|0)==42){if(de=0,u2=b0+1|0,e2=(u2|0)<(c1|0),e2)for(d2=u2,ee=0,kt=c2,U8=1,ut=y;;){if(y2=ee+n2|0,v2=(y2|0)<(L1|0),w2=v2?0:Z1,D2=v2?0:L1,F4=y2-D2|0,F=ut+G1|0,nt=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],V2=z*7.314285755157471,G2=V2+1023.5,q2=~~G2,M2=(q2|0)>1023,P2=(q2|0)<0,m=P2?0:q2,D=M2?1023:m,z2=nt-D|0,o5=n5(z2,z2)|0,T1=o5+kt|0,X2=U8+1|0,x5=A+(d2<<2)|0,e5=+s[x5>>2],b5=e5+s2,Z2=b5>=z,u5=(D|0)!=0,et=Z2&u5,et&&(v5=+(nt|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(D|0),r5=l5>2],_2=v5-R2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,ee=F4,kt=T1,U8=X2,ut=nt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),H2=D5/G5,I5=+s[M0>>2],A5=H2>I5,!A5&&(c5=+s[L0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(M4<<2)|0,e[l3>>2]=-200,c3=c4+(M4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=fB(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,f5=fB(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,R5=e[_e>>2]|0,e[N8>>2]=R5),j2=(f5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(M4<<2)|0,e[Q5>>2]=-200,H5=c4+(M4<<2)|0,e[H5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(x0|0)==0,E5&&(e[p4>>2]=j5),u3=e[N8>>2]|0,h3=p4+(M4<<2)|0,e[h3>>2]=u3,J5=e[_e>>2]|0,X5=c4+(M4<<2)|0,e[X5>>2]=J5,r3=e[t8>>2]|0,e[I1>>2]=r3,m3=(T0|0)==1,m3&&(e[I0>>2]=r3),K5=J5&u3,w3=(K5|0)>-1,w3){f3=(y0|0)>0;i:do if(f3)for(z8=y0;;){if(wt=z8+-1|0,V3=De+(wt<<2)|0,N3=e[V3>>2]|0,z5=(N3|0)==(T0|0),!z5)break i;if(e[V3>>2]=M4,y3=(z8|0)>1,y3)z8=wt;else break}while(!1);if(gt=y0+1|0,B3=(gt|0)<(E6|0),B3)for(F8=gt;;){if(W5=M8+(F8<<2)|0,i6=e[W5>>2]|0,G3=(i6|0)==(x0|0),!G3)break t;if(e[W5>>2]=M4,ct=F8+1|0,a3=(ct|0)<(E6|0),a3)F8=ct;else break}}}while(!1);if(C3=M4+1|0,q5=(C3|0)<(E6|0),q5)M4=C3;else{de=68;break}}if((de|0)==38)pv(1);else if((de|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,o6=N;break}}else k5=B0,o6=B0;while(!1);if(U5=E6<<2,O5=Ht(t,U5)|0,U3=(k5|0)<0,U3?w=o6:(e3=(o6|0)<0,e3?w=k5:(A3=o6+k5|0,x3=A3>>1,w=x3)),e[O5>>2]=w,f6=e[S0>>2]|0,p3=(f6|0)<0,k3=e[I0>>2]|0,p3?L=k3:(Q3=(k3|0)<0,Q3?L=f6:(n6=k3+f6|0,W3=n6>>1,L=W3)),V5=O5+4|0,e[V5>>2]=L,K0)te=2;else return ie=O5,C=e4,ie|0;for(;;)if(v3=te+-2|0,g3=(r+1032|0)+(v3<<2)|0,O3=e[g3>>2]|0,l6=(r+780|0)+(v3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(O3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(O3<<2)|0,R6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,S3=(J+836|0)+(te<<2)|0,X3=e[S3>>2]|0,e6=R6&32767,u6=C6&32767,H3=u6-e6|0,b3=B6-v6|0,$t=(H3|0)>-1,S8=0-H3|0,z3=$t?H3:S8,b6=X3-v6|0,A6=n5(z3,b6)|0,t3=(A6|0)/(b3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+e6|0,a6=p4+(te<<2)|0,d6=e[a6>>2]|0,D3=(d6|0)<0,N6=c4+(te<<2)|0,Q6=e[N6>>2]|0,D3?p=Q6:(x6=(Q6|0)<0,x6?p=d6:(V6=Q6+d6|0,I6=V6>>1,p=I6)),J6=(p|0)<0,L3=(_|0)==(p|0),St=J6|L3,W6=_|32768,c=St?W6:p,G6=O5+(te<<2)|0,e[G6>>2]=c,e9=te+1|0,ge=(e9|0)==(E6|0),ge){ie=O5;break}else te=e9;return C=e4,ie|0}function L8(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;if(a0=C,f=r+1284|0,E=e[f>>2]|0,_=(A|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=Ht(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=A+(U<<2)|0,H=e[e0>>2]|0,I=H&32767,m=n5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,b=n5(v,c)|0,w=m+32768|0,y=w+b|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,L=e[e0>>2]|0,x=L&32768,F=(x|0)==0,F||(M=e[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function tS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0;if(M6=C,C=C+336|0,L6=M6+64|0,g3=M6+32|0,L3=M6,D=A+1296|0,Q=e[D>>2]|0,h2=A+1284|0,R2=e[h2>>2]|0,A5=r+64|0,s5=e[A5>>2]|0,j5=s5+4|0,f3=e[j5>>2]|0,l3=f3+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=r+36|0,e5=e[x5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,Ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(R2|0)>0,w0)for(L0=Q+832|0,u6=0;P0=a+(u6<<2)|0,f1=e[P0>>2]|0,d1=f1&32767,G1=e[L0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?(a2=d1>>>3,U6=a2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,u5=f1&32768,v5=u5|U6,e[P0>>2]=v5,P5=u6+1|0,C6=(P5|0)==(R2|0),!C6;)u6=P5;if(l5=e[a>>2]|0,e[L6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,r5=L6+4|0,e[r5>>2]=m5,_2=(R2|0)>2,B2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,L5=(A+1032|0)+(C5<<2)|0,d5=e[L5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,H2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-H2|0,q3=(t5|0)>-1,W6=0-t5|0,J2=q3?t5:W6,f5=W2-H2|0,i5=n5(J2,f5)|0,R5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-R5|0,m=j2?$5:R5,I=m+g2|0,x2=a+(H3<<2)|0,Q5=e[x2>>2]|0,H5=Q5&32768,E5=(H5|0)!=0,u3=(Q5|0)==(I|0),s9=E5|u3,s9)h3=I|32768,e[x2>>2]=h3,J5=L6+(H3<<2)|0,e[J5>>2]=0;else{X5=e[B2>>2]|0,r3=X5-I|0,m3=(r3|0)<(I|0),f=m3?r3:I,F5=Q5-I|0,K5=(F5|0)<0;do if(K5)if(w3=0-f|0,B3=(F5|0)<(w3|0),B3){V3=F5^-1,N3=f+V3|0,D6=N3;break}else{z5=F5<<1,y3=z5^-1,D6=y3;break}else if(W5=(f|0)>(F5|0),W5){R3=F5<<1,D6=R3;break}else{i6=f+F5|0,D6=i6;break}while(!1);G3=L6+(H3<<2)|0,e[G3>>2]=D6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(R2|0),Y6)break;H3=C3}v=e[L6>>2]|0,b=e[r5>>2]|0,n6=v,v3=b}else n6=l5,v3=m5;if(U2(t,1,1),q5=A+1308|0,U5=e[q5>>2]|0,O5=U5+1|0,e[q5>>2]=O5,k5=e[B2>>2]|0,U3=k5+-1|0,M5=Tt(U3)|0,o6=M5<<1,e3=A+1304|0,x3=e[e3>>2]|0,f6=x3+o6|0,e[e3>>2]=f6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=Tt(k3)|0,U2(t,n6,Q3),W3=e[B2>>2]|0,P3=W3+-1|0,V5=Tt(P3)|0,U2(t,v3,V5),L=e[Q>>2]|0,x=(L|0)>0,x)for(F=A+1300|0,b3=0,A6=2;;){if(M=(Q+4|0)+(b3<<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[L3>>2]=0,e[L3+4>>2]=0,e[L3+8>>2]=0,e[L3+12>>2]=0,e[L3+16>>2]=0,e[L3+20>>2]=0,e[L3+24>>2]=0,e[L3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,f0=e[l0>>2]|0,d0=(f0|0)<0,d0?y=1:(C0=(A3+1824|0)+(f0<<2)|0,k0=e[C0>>2]|0,u0=k0+4|0,B0=e[u0>>2]|0,y=B0),p0=L3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,k6=0,a6=0;;)if(K0=g3+(a6<<2)|0,_0=e[K0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(H=L3+(N6<<2)|0,X=e[H>>2]|0,$0=(U|0)<(X|0),$0){r6=N6,F3=31;break}if(Z=N6+1|0,V=(Z|0)<(Y|0),V)N6=Z;else{F3=33;break}}if((F3|0)==31?(F3=0,a0=g3+(d6<<2)|0,e[a0>>2]=r6,n0=r6):(F3|0)==33&&(F3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,n0=w),i0=n0<>2]|0,x0=t0+(q0*56|0)|0,D0=Fh(x0,d3,t)|0,T0=e[F>>2]|0,J0=T0+D0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(D3=0;V0=g3+(D3<<2)|0,G0=e[V0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(G0<<2)|0,n1=e[O0>>2]|0,H0=(n1|0)>-1,H0&&(e1=D3+A6|0,b0=L6+(e1<<2)|0,i1=e[b0>>2]|0,c1=(t0+(n1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(n1*56|0)|0,s1=Fh(l1,i1,t)|0,a1=e[e3>>2]|0,r1=a1+s1|0,e[e3>>2]=r1)),o1=D3+1|0,p6=(o1|0)==(G|0),!p6;)D3=o1;if(z0=G+A6|0,I1=b3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)b3=I1,A6=z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=n5(p1,E1)|0,R1=r+28|0,x1=e[R1>>2]|0,w1=A3+(x1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(X3=0,t3=1,Q6=0,I6=Q1;;){if(K1=(A+260|0)+(t3<<2)|0,O1=e[K1>>2]|0,H1=a+(O1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,n2=(Y1|0)==(q1|0),n2)if(W1=e[B1>>2]|0,P1=n5(W1,q1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,f2=P1-I6|0,s2=z1-Q6|0,z3=(f2|0)>-1,G6=0-f2|0,E2=z3?f2:G6,o2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=n5(o2,s2)|0,b6=($2|0)>-1,e9=0-$2|0,i2=b6?$2:e9,A2=E2-i2|0,X1=(L1|0)>(z1|0),z6=X1?z1:L1,r2=(z6|0)>(Q6|0),r2&&(u2=c+(Q6<<2)|0,e[u2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+A2|0,C2=(v2|0)<(s2|0),F2=C2?0:t2,D2=C2?0:s2,B6=v2-D2|0,B=y6+o2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,V2=d2+1|0,c6=(V2|0)==(z6|0),c6){e6=z1,x6=z1,J6=P1;break}else d2=V2,S6=B6,y6=F6;else e6=z1,x6=z1,J6=P1;else e6=X3,x6=Q6,J6=I6;if(G2=t3+1|0,q2=e[h2>>2]|0,M2=(G2|0)<(q2|0),M2)X3=e6,t3=G2,Q6=x6,I6=J6;else{S3=e6,V6=J6;break}}else S3=0,V6=Q1;if(U1=r+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(S3|0)<(N1|0),D1)O6=S3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=V6,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 fB(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,p=e[t>>2]|0,B=r+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,M0=(r|0)>0,M0)for(V0=c+1108|0,g1=+s[V0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,v=e[n2>>2]|0,T=v+k1|0,H=+(T|0),X=H*g1,U=v+1|0,$0=+(U|0),Z=X/$0,V=Z,a0=V+1,s0=(t+(X1*56|0)|0)+32|0,n0=e[s0>>2]|0,K=+(n0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,c0=+(o0|0),j=c0*a0,l0=K+w2,f0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),u0=(t+(X1*56|0)|0)+12|0,B0=e[u0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+q2,K0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,L0=+(Q0|0),N0=(t+(X1*56|0)|0)+16|0,U0=e[N0>>2]|0,y0=+(U0|0),q0=y0*a0,x0=L0+u2,D0=x0+q0,T0=(t+(X1*56|0)|0)+48|0,J0=e[T0>>2]|0,Y0=+(J0|0),P0=(t+(X1*56|0)|0)+24|0,G0=e[P0>>2]|0,O0=+(G0|0),n1=O0*a0,H0=Y0+N2,e1=H0+n1,b0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=b0+t2,f1=$1+c1,l1=X1+1|0,A2=(l1|0)==(r|0),A2){a2=f1,r2=D0,v2=f0,D2=e1,G2=K0;break}else t2=f1,X1=l1,u2=D0,w2=f0,N2=e1,q2=K0;else a2=0,r2=0,v2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(r1=+(p|0),o1=v2+r1,z0=+(s1|0),I1=z0+G2,h1=n5(p,p)|0,m1=+(h1|0),d1=r2+m1,B1=n5(s1,p)|0,p1=+(B1|0),Q1=p1+D2,R1=a2+1,$2=R1,e2=d1,C2=o1,d2=Q1,M2=I1):($2=a2,e2=r2,C2=v2,d2=D2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(S1=+(C0|0),L1=C2+S1,F1=+(x1|0),G1=F1+M2,U1=n5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,D1=n5(x1,C0)|0,K1=+(D1|0),O1=K1+d2,H1=$2+1,i2=H1,y2=N1,F2=L1,V2=O1,P2=G1):(i2=$2,y2=e2,F2=C2,V2=d2,P2=M2),q1=y2*i2,Y1=F2*F2,j1=q1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*V2,z1=P1-c2,f2=z1/j1,s2=V2*i2,E2=F2*P2,o2=s2-E2,V1=o2/j1,h2=+(p|0),b=V1*h2,w=b+f2,y=+Pi(w),D=~~y,e[A>>2]=D,Q=+(C0|0),_=V1*Q,L=_+f2,x=+Pi(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,f=0,f|0):(f=0,f|0)):(e[A>>2]=0,e[a>>2]=0,f=1,f|0)}function iS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0;if(b0=C,E=t+836|0,I=t+840|0,L=e[I>>2]|0,J=e[t>>2]|0,U2(r,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(M0=t+4|0,J0=0,H0=-1;;)if(B=M0+(J0<<2)|0,v=e[B>>2]|0,U2(r,v,4),b=e[B>>2]|0,w=(H0|0)<(b|0),A=w?b:H0,y=J0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)J0=y,H0=A;else{a=A;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,q0=t+192|0,m=t+256|0,p=t+320|0,Y0=0;;){if(_=y0+(Y0<<2)|0,x=e[_>>2]|0,F=x+-1|0,U2(r,F,3),M=q0+(Y0<<2)|0,T=e[M>>2]|0,U2(r,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(V0=0,e1=8):(O=m+(Y0<<2)|0,z=e[O>>2]|0,U2(r,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(V0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(V0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(r,e0,8),H=V0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=a0+-1|0,U2(r,s0,2),n0=L+-1|0,K=Tt(n0)|0,U2(r,K,4),h0=Tt(n0)|0,o0=e[t>>2]|0,c0=(o0|0)>0,!!c0)for(j=t+4|0,l0=t+128|0,N0=o0,x0=0,P0=0,G0=0;;){if(f0=j+(P0<<2)|0,d0=e[f0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,u0=k0+x0|0,B0=(G0|0)<(u0|0),B0){for(n1=G0;p0=n1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(r,S0,h0),K0=n1+1|0,D0=(K0|0)==(u0|0),!D0;)n1=K0;f=e[t>>2]|0,L0=f,O0=u0}else L0=N0,O0=G0;if(_0=P0+1|0,Q0=(_0|0)<(L0|0),Q0)N0=L0,x0=u0,P0=_0,G0=O0;else break}}function nS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=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=r4(1,1120)|0,a0=W4(r,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(x=W4(r,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=x,M=(x|0)<0,M)break e;if(T=(n2|0)<(x|0),c=T?x:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=W4(r,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=W4(r,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,H=(W|0)<0,H||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=W4(r,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),V=(Z|0)<0,V)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(n0=e[e0>>2]|0,K=(n0|0)==31,!K)for(H1=0;;){if(l0=W4(r,8)|0,f0=l0+-1|0,w0=(L+(N1<<5)|0)+(H1<<2)|0,e[w0>>2]=f0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,u0=(l0|0)>(k0|0),c0=H1+1|0,u0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=S0,_0=W4(r,4)|0,L0=(_0|0)<0,!L0)){if(M0=e[Y>>2]|0,N0=(M0|0)>0,N0)for(U0=Y+4|0,y0=Y+128|0,q0=Y+836|0,x0=1<<_0,G1=M0,U1=0,D1=0,q1=0;;){if(D0=U0+(D1<<2)|0,T0=e[D0>>2]|0,J0=y0+(T0<<2)|0,P0=e[J0>>2]|0,V0=P0+U1|0,G0=(V0|0)>63,G0)break e;if(O0=(q1|0)<(V0|0),O0){for(j1=q1;;){if(n1=W4(r,_0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=n1,b0=(n1|0)>-1,i1=(n1|0)<(x0|0),W1=b0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(V0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=V0,D1=g1,q1=Y1;else{m=q0,p=x0,k1=V0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,r1=k1+2|0,o1=(k1|0)>-2,o1)for(K1=0;z0=m+(K1<<2)|0,I1=P1+(K1<<2)|0,e[I1>>2]=z0,h1=K1+1|0,d1=(h1|0)<(r1|0),d1;)K1=h1;Th(P1,r1,4,8),E1=(r1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,b=e[v>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(w1|0)==(x1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(r1|0),p1)w1=x1,O1=B1;else break t;if(L1=(Y|0)==0,L1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function rS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0;if(L1=C,C=C+272|0,w1=L1,a=r4(1,1312)|0,c=a+1296|0,e[c>>2]=r,D=r+836|0,z=r+840|0,V=e[z>>2]|0,f0=a+1288|0,e[f0>>2]=V,_0=e[r>>2]|0,J0=(_0|0)>0,J0){for(H0=r+4|0,f=r+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=f+(I<<2)|0,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,b=(v|0)<(_0|0),b)g1=v,Q1=B;else{A=B;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,p1=A,S1=7):(Th(w1,w,4,8),B1=A)}else n1=a+1284|0,e[n1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,F=(x|0)<(M|0),F;)l1=x;for(Th(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,H=N+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,s0=O+(a0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,n0=(i0|0)<(M|0),n0;)a1=i0;for($0=a+260|0,r1=0;;)if(K=$0+(r1<<2)|0,h0=e[K>>2]|0,o0=D+(h0<<2)|0,c0=e[o0>>2]|0,j=a+(r1<<2)|0,e[j>>2]=c0,l0=r1+1|0,d0=(l0|0)<(M|0),d0)r1=l0;else{B1=p1;break}}if(w0=r+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(u0=a+1292|0,e[u0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=L1,a|0;for(S0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,L0=D+(Q0<<2)|0,M0=e[L0>>2]|0,N0=e[f0>>2]|0,b0=1,$1=N0,z0=0,I1=0,d1=0;;)if(U0=D+(z0<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)>(d1|0),x0=(y0|0)<(M0|0),R1=q0&x0,h1=R1?z0:I1,E1=R1?y0:d1,D0=(y0|0)<($1|0),T0=(y0|0)>(M0|0),x1=D0&T0,i1=x1?z0:b0,f1=x1?y0:$1,Y0=z0+1|0,P0=(Y0|0)<(Q0|0),P0)b0=i1,$1=f1,z0=Y0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(V0=S0+(o1<<2)|0,e[V0>>2]=m1,G0=K0+(o1<<2)|0,e[G0>>2]=c1,O0=o1+1|0,e1=(O0|0)==(B1|0),e1)break;o1=O0}return C=L1,a|0}function sS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function oS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function AS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,f=r+1296|0,E=e[f>>2]|0,n0=t+64|0,k0=e[n0>>2]|0,N0=k0+4|0,G0=e[N0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=W4(I,1)|0,J=(L|0)==1,!J)return A=0,A|0;U=r+1284|0,$0=e[U>>2]|0,Z=$0<<2,V=Ht(t,Z)|0,a0=r+1292|0,s0=e[a0>>2]|0,i0=s0+-1|0,K=Tt(i0)|0,h0=W4(I,K)|0,e[V>>2]=h0,o0=e[a0>>2]|0,c0=o0+-1|0,j=Tt(c0)|0,l0=W4(I,j)|0,f0=V+4|0,e[f0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){i2=0,r2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,S0=e[I0>>2]|0,K0=(E+128|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,L0=e[Q0>>2]|0,M0=1<>2]|0,x0=W1+(q0*56|0)|0,D0=jm(x0,I)|0,T0=(D0|0)==-1,T0){A=0,v2=25;break}else t2=D0;if(J0=(_0|0)>0,J0)for(Y0=M0+-1|0,$2=t2,u2=0;;){if(P0=$2&Y0,V0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[V0>>2]|0,n1=$2>>L0,H0=(O0|0)>-1,H0){if(e1=W1+(O0*56|0)|0,b0=jm(e1,I)|0,i1=u2+r2|0,c1=V+(i1<<2)|0,e[c1>>2]=b0,$1=(b0|0)==-1,$1){A=0,v2=25;break t}}else f1=u2+r2|0,g1=V+(f1<<2)|0,e[g1>>2]=0;if(s1=u2+1|0,a1=(s1|0)<(_0|0),a1)$2=n1,u2=s1;else break}if(r1=_0+r2|0,o1=i2+1|0,z0=e[E>>2]|0,I1=(o1|0)<(z0|0),I1)i2=o1,r2=r1;else break e}if((v2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,u0=(C0|0)>2,!u0)return A=V,A|0;for(B0=r+1032|0,p0=r+780|0,A2=2;;){if(h1=A2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,w1=e[x1>>2]|0,S1=V+(d1<<2)|0,L1=e[S1>>2]|0,F1=V+(R1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(A2<<2)|0,Z1=e[k1>>2]|0,N1=L1&32767,D1=G1&32767,K1=D1-N1|0,O1=w1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=n5(H1,q1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(K1|0)<0,P1=0-j1|0,c=n2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,f2=V+(A2<<2)|0,s2=e[f2>>2]|0,E2=(s2|0)==0,E2)W=a|32768,e[f2>>2]=W;else{o2=(z1|0)<(a|0),V1=o2?z1:a,h2=V1<<1,a2=(s2|0)<(h2|0);do if(a2)if(b=s2&1,w=(b|0)==0,w){_=s2>>1,y2=_;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);x=y2+a|0,F=x&32767,e[f2>>2]=F,M=e[m1>>2]|0,T=V+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=V+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=A2+1|0,H=e[U>>2]|0,X=(e0|0)<(H|0),X)A2=e0;else{A=V;break}}return A|0}function aS(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,E=r+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,M0=C0+28|0,V0=e[M0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,m=V0+(f1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(A|0)==0,v)return c1=B<<2,Ae(a|0,0,c1|0)|0,c=0,c|0;if(b=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,D=n5(y,b)|0,Q=(D|0)<0,_=(D|0)>255,x=_?255:D,F=Q?0:x,M=r+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=r+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,H=e[e0>>2]|0,X=H&32767,U=(X|0)==(H|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,V=n5(y,H)|0,a0=(V|0)<0,s0=(V|0)>255,n0=s0?255:V,K=a0?0:n0,h0=K-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,c0=I1?h0:x1,j=(h0|0)/(o0|0)&-1,l0=h0>>31,f0=l0|1,d0=n5(j,o0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=c0-w0|0,u0=(B|0)>(Z|0),S1=u0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,K0=+s[S0>>2],_0=K0*I0,s[S0>>2]=_0),Q0=E1+1|0,L0=(Q0|0)<(S1|0),L0)for(J0=Q0,g1=0,L1=Q1;;)if(N0=g1+k0|0,U0=(N0|0)<(o0|0),y0=U0?0:f0,q0=U0?0:o0,l1=N0-q0|0,f=L1+j|0,F1=f+y0|0,x0=1768+(F1<<2)|0,D0=+s[x0>>2],T0=a+(J0<<2)|0,Y0=+s[T0>>2],P0=Y0*D0,s[T0>>2]=P0,G0=J0+1|0,a1=(G0|0)==(S1|0),a1){z0=Z,B1=Z,R1=K;break}else J0=G0,g1=l1,L1=F1;else z0=Z,B1=Z,R1=K;else z0=o1,B1=E1,R1=Q1;if(O0=m1+1|0,n1=(O0|0)<(T|0),n1)o1=z0,m1=O0,E1=B1,Q1=R1;else{r1=z0,p1=R1;break}}else r1=0,p1=F;if(O=(r1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=r1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],b0=e1*Y,s[H0>>2]=b0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function $S(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[r>>2]|0,f=e[c>>2]|0,E=a-f|0,E|0}function lS(t){t=t|0;var r=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function cS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;a0=C,c=X$(r|0)|0,f=X$(A|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,mB(J|0,r|0)|0,Z=X$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,bQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,H=e[e0>>2]|0,X=H<<2,U=X+8|0,E=Oi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,b=Oi(m,v)|0,e[I>>2]=b,w=X$(J|0)|0,y=e[e0>>2]|0,D=b+(y<<2)|0,e[D>>2]=w,_=w+1|0,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,mB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function gS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,F=(x|0)>0,F){for(_=x,T=f,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;)r=e[t>>2]|0,_=m,T=r,O=E;a=e[t>>2]|0,p=a}else p=f;I2(p)}B=t+4|0,v=e[B>>2]|0,b=(v|0)==0,b||I2(v),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function hS(t){t=t|0;var r=0,A=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,r=r4(1,3664)|0,A=t+28|0,e[A>>2]=r}function uB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=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;r1=(E+32|0)+(o1<<2)|0,I=e[r1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),r=e[t0>>2]|0,v=r),p=o1+1|0,B=(p|0)<(v|0),B;)g1=v,o1=p;if(L0=E+12|0,P0=e[L0>>2]|0,f1=(P0|0)>0,f1)for(l1=P0,z0=0;D=(E+544|0)+(z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(z0<<2)|0,F=e[x>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,js[G&7](Q),A=e[L0>>2]|0,Y=A),O=z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,z0=O;if(b=E+16|0,w=e[b>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;H=(E+1056|0)+(I1<<2)|0,X=e[H>>2]|0,U=(X|0)==0,U?o0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,V=25640+(Z<<2)|0,a0=e[V>>2]|0,i0=a0+12|0,n0=e[i0>>2]|0,js[n0&7](X),a=e[b>>2]|0,o0=a),K=I1+1|0,h0=(K|0)<(o0|0),h0;)s1=o0,I1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?M0=a1:(u0=(E+1312|0)+(h1<<2)|0,B0=e[u0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,K0=e[S0>>2]|0,js[K0&7](C0),c=e[J>>2]|0,M0=c),_0=h1+1|0,Q0=(_0|0)<(M0|0),Q0;)a1=M0,h1=_0;if(c0=E+24|0,j=e[c0>>2]|0,l0=(j|0)>0,f0=E+2848|0,l0)for(m1=0;N0=(E+1824|0)+(m1<<2)|0,U0=e[N0>>2]|0,y0=(U0|0)==0,y0||EB(U0),q0=e[f0>>2]|0,x0=(q0|0)==0,x0||(D0=q0+(m1*56|0)|0,YS(D0)),T0=m1+1|0,J0=e[c0>>2]|0,Y0=(T0|0)<(J0|0),Y0;)m1=T0;if(V0=e[f0>>2]|0,G0=(V0|0)==0,G0||I2(V0),O0=E+28|0,n1=e[O0>>2]|0,H0=(n1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,b0=e[e1>>2]|0,yS(b0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function fS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,f=-129,C=W2,f|0;if(c2=p+4|0,i2=e[c2>>2]|0,D2=(i2|0)<1,D2)S5=-129,a5=27;else if(lB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,H=(M|0)<64,H)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),n1=e[c2>>2]|0,U2(M1,n1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,r1=e[s1>>2]|0,U2(M1,r1,32),o1=p+16|0,z0=e[o1>>2]|0,U2(M1,z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Tt(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,R1=Tt(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,S1=(w1|0)==0,S1||I2(w1),L1=yt(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=yt(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[x1>>2]|0,e[A>>2]=Z1,D1=yt(M1)|0,K1=A+4|0,e[K1>>2]=D1,O1=A+8|0,e[O1>>2]=1,H1=A+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,f7(M1),uS(M1,r),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=yt(M1)|0,W1=S9(n2)|0,e[q1>>2]=W1,P1=e[G1>>2]|0,z1=yt(M1)|0,s4(W1|0,P1|0,z1|0)|0,f2=e[q1>>2]|0,e[a>>2]=f2,s2=yt(M1)|0,E2=a+4|0,e[E2>>2]=s2,o2=a+8|0,V1=a+24|0,e[o2>>2]=0,e[o2+4>>2]=0,e[o2+8>>2]=0,e[o2+12>>2]=0,h2=V1,a2=h2,e[a2>>2]=1,t2=h2+4|0,$2=t2,e[$2>>2]=0,f7(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),r2=A2+24|0,u2=e[r2>>2]|0,e2=u2+-1|0,U2(M1,e2,8),y2=e[r2>>2]|0,v2=(y2|0)>0,v2)for(H2=0;;){if(N2=(A2+1824|0)+(H2<<2)|0,d2=e[N2>>2]|0,V2=Yv(d2,M1)|0,G2=(V2|0)==0,C2=H2+1|0,!G2)break e;if(w2=e[r2>>2]|0,F2=(C2|0)<(w2|0),F2)H2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=A2+16|0,M2=e[q2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[q2>>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,u5=(Z2|0)==0,u5)break e;if(v5=(A2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,QB[Z2&3](P5,M1),l5=I5+1|0,k2=e[q2>>2]|0,r5=(l5|0)<(k2|0),r5)I5=l5;else break}if(R2=A2+20|0,_2=e[R2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[R2>>2]|0,L5=(C5|0)>0,L5)for(A5=0;d5=(A2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,b=e[v>>2]|0,w=(A2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,QB[b&3](y,M1),D=A5+1|0,Q=e[R2>>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,FQ[J&1](p,e0,M1),X=c5+1|0,U=e[L>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=A2+8|0,V=e[Z>>2]|0,a0=V+-1|0,U2(M1,a0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(B5=0;n0=(A2+32|0)+(B5<<2)|0,K=e[n0>>2]|0,o0=e[K>>2]|0,U2(M1,o0,1),c0=e[n0>>2]|0,j=c0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),f0=e[n0>>2]|0,d0=f0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[n0>>2]|0,k0=C0+12|0,u0=e[k0>>2]|0,U2(M1,u0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),K0=Q1+72|0,_0=e[K0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=yt(M1)|0,M0=S9(L0)|0,e[K0>>2]=M0,N0=e[G1>>2]|0,U0=yt(M1)|0,s4(M0|0,N0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=yt(M1)|0,D0=c+4|0,e[D0>>2]=x0,T0=c+8|0,J0=c+24|0,e[T0>>2]=0,e[T0+4>>2]=0,e[T0+8>>2]=0,e[T0+12>>2]=0,Y0=J0,P0=Y0,e[P0>>2]=2,V0=Y0+4|0,G0=V0,e[G0>>2]=0,cB(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[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=x1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),cB(M1),O0=e[I>>2]|0,H0=(O0|0)==0,H0||I2(O0),e1=Q1+68|0,b0=e[e1>>2]|0,i1=(b0|0)==0,i1||I2(b0),c1=Q1+72|0,$1=e[c1>>2]|0,f1=($1|0)==0,f1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=g5,C=W2,f|0}function uS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,c=44;E=c+-1|0,I=A+1|0,L=d[A>>0]|0,J=L<<24>>24,U2(t,J,8),H=(E|0)==0,!H;)A=I,c=E;if(X=r+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(V=r+4|0,a0=0;;){if(m=e[r>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(b=e[V>>2]|0,w=b+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(a0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(F=e[r>>2]|0,M=F+(a0<<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=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function aQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,F=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=C,C=C+((1*f|0)+15&-16)|0,u0=(m|0)==0,u0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(A|0),O0)for(m1=0,L1=U0;;)if(s1=t+(L1<<2)|0,I1=+s[s1>>2],B=I1,v=L1-U0|0,b=t+(v<<2)|0,w=+s[b>>2],y=w,D=y*B,Q=D+m1,_=L1+1|0,S1=(_|0)==(A|0),S1){h1=Q;break}else m1=Q,L1=_;else h1=0;if(L=F+(U0<<3)|0,A1[L>>3]=h1,x=U0+-1|0,M=(U0|0)==0,M)break;U0=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(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=K+(U1<<3)|0,s0=+A1[a0>>3],i0=F1-U1|0,n0=F+(i0<<3)|0,h0=+A1[n0>>3],o0=h0*s0,c0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=c0;break}else U1=j,O1=c0;if(l0=E/E1,f0=K+(F1<<3)|0,A1[f0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=K+(N1<<3)|0,p0=+A1[B0>>3],I0=C0-N1|0,S0=K+(I0<<3)|0,K0=+A1[S0>>3],_0=K0*l0,Q0=_0+p0,A1[B0>>3]=Q0,L0=p0*l0,M0=+A1[S0>>3],N0=M0+L0,A1[S0>>3]=N0,y0=N1+1|0,q0=(y0|0)<(d0|0),q0;)N1=y0;H1=k0?d0:1,P0=l0,Z1=H1}else P0=l0,Z1=0}else Z=U/E1,V=K+(F1<<3)|0,A1[V>>3]=Z,P0=Z,Z1=0;if(x0=F1&1,D0=(x0|0)==0,D0||(T0=K+(Z1<<3)|0,J0=+A1[T0>>3],Y0=J0*P0,V0=Y0+J0,A1[T0>>3]=V0),G0=P0*P0,n1=1-G0,H0=n1*E1,e1=(k1|0)<(a|0),e1)E1=H0,F1=k1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,D1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;b0=K+(D1<<3)|0,i1=+A1[b0>>3],c1=i1*d1,A1[b0>>3]=c1,$1=d1*.99,f1=D1+1|0,x1=(f1|0)==(a|0),!x1;)d1=$1,D1=f1;if(z)K1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;;)if(g1=K+(K1<<3)|0,l1=+A1[g1>>3],a1=l1,r1=r+(K1<<2)|0,s[r1>>2]=a1,o1=K1+1|0,R1=(o1|0)==(a|0),R1){Q1=p1;break}else K1=o1;return z0=Q1,C=Y1,+z0}function $Q(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(V=C,I=c+A|0,m=I<<2,f=m,x=C,C=C+((1*f|0)+15&-16)|0,M=(r|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,r|0,N|0)|0),O=(c|0)>0,!O){C=V;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=c<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=V;return}for(;;){for(X=W,U=A,$0=0;;)if(b=X+1|0,w=x+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],L=_*y,F=$0-L,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,$0=F;if(p=x+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,H=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=H}C=V}function dS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[r>>2]|0,f=(c|0)>1,f?(U2(A,1,1),Q=e[r>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),a0=r+1156|0,f0=e[a0>>2]|0,d0=(f0|0)>0,d0){if(U2(A,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(A,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=r+1160|0,m=t+4|0,p=r+2184|0,u0=0;B=I+(u0<<2)|0,v=e[B>>2]|0,b=e[m>>2]|0,w=b+-1|0,y=Tt(w)|0,U2(A,v,y),D=p+(u0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,F=Tt(x)|0,U2(A,_,F),M=u0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)u0=M}else U2(A,0,1);if(U2(A,0,2),G=e[r>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=r+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(A,Z,4),V=B0+1|0,s0=e[z>>2]|0,i0=(V|0)<(s0|0),i0;)B0=V;a=e[r>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(H=(e0|0)>0,!H)))for(X=r+1028|0,U=r+1092|0,p0=0;U2(A,0,8),n0=X+(p0<<2)|0,K=e[n0>>2]|0,U2(A,K,8),h0=U+(p0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),c0=p0+1|0,j=e[r>>2]|0,l0=(c0|0)<(j|0),l0;)p0=c0}function IS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0;r1=C,c=r4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,Ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=W4(r,1)|0,Y0=(Q0|0)<0,Y0)a1=24;else{if(H0=(Q0|0)==0,H0)e[c>>2]=1;else if(e1=W4(r,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=W4(r,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=W4(r,8)|0,b=v+1|0,w=c+1156|0,e[w>>2]=b,y=(v|0)<0,y)break;for(D=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,b0=0;;){if(M=T+-1|0,N=Tt(M)|0,G=W4(r,N)|0,O=D+(b0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Tt(t0)|0,W=W4(r,J)|0,e0=_+(b0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),V=(W|0)<($0|0),f1=Z&V,x=b0+1|0,!f1))break e;if(L=e[w>>2]|0,F=(x|0)<(L|0),F)T=$0,b0=x;else break}}if(s0=W4(r,2)|0,i0=(s0|0)==0,i0){if(n0=e[c>>2]|0,K=(n0|0)>1,K){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(c0=c+4|0,i1=0;;){if(I0=W4(r,4)|0,S0=c0+(i1<<2)|0,e[S0>>2]=I0,K0=e[c>>2]|0,_0=(I0|0)>=(K0|0),L0=(I0|0)<0,g1=L0|_0,B0=i1+1|0,g1)break e;if(u0=e[Y>>2]|0,p0=(B0|0)<(u0|0),p0)i1=B0;else{j=K0,a1=17;break}}}else j=n0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return A=c,A|0;for(f0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(W4(r,8)|0,y0=W4(r,8)|0,q0=f0+(c1<<2)|0,e[q0>>2]=y0,x0=e[w0>>2]|0,D0=(y0|0)>=(x0|0),T0=(y0|0)<0,l1=T0|D0,l1||(J0=W4(r,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=J0,V0=e[k0>>2]|0,G0=(J0|0)>=(V0|0),O0=(J0|0)<0,s1=O0|G0,N0=c1+1|0,s1))break e;if(M0=e[c>>2]|0,U0=(N0|0)<(M0|0),U0)c1=N0;else{A=c;break}}return A|0}}}while(!1);return(a1|0)==24&&(n1=(c|0)==0,n1)?(A=0,A|0):(I2(c),A=0,A|0)}function ES(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function mS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0,Xs=0,Ur=0,eo=0,Pr=0,to=0,io=0,Or=0,no=0,Zn=0,ro=0,so=0,oo=0,Hr=0,Ao=0,qr=0,Yr=0,ao=0,Wn=0,Jr=0,jn=0,Kr=0,Vr=0,$o=0,lo=0,co=0,Xn=0,zr=0,go=0,mn=0,er=0,ho=0,fo=0,tr=0,li=0,Zr=0,uo=0,Io=0,Wr=0,jr=0,Xr=0,Eo=0,ci=0,ir=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,nr=0,Cn=0,rr=0,bo=0,Wi=0,Do=0,ns=0,sr=0,rs=0,or=0,_o=0,ss=0,os=0,Ro=0,As=0,as=0,xo=0,Bn=0,$s=0,gi=0,Ar=0,pn=0,ji=0,Qn=0,Hi=0,yn=0,ls=0,qi=0,Qi=0,yi=0,j7=0,wi=0,wn=0,Xi=0,en=0,kn=0,hi=0,Lo=0,$7=0,tl=0,ar=0,$r=0;if(ar=C,_=t+64|0,L=e[_>>2]|0,t2=L+4|0,P3=e[t2>>2]|0,_4=P3+28|0,Y4=e[_4>>2]|0,ho=L+104|0,ci=e[ho>>2]|0,ko=t+104|0,sr=e[ko>>2]|0,x=t+36|0,W=e[x>>2]|0,n0=P3+4|0,k0=e[n0>>2]|0,N0=k0<<2,a=N0,G0=C,C=C+((1*a|0)+15&-16)|0,l1=Ht(t,N0)|0,B1=e[n0>>2]|0,U1=B1<<2,W1=Ht(t,U1)|0,$2=e[n0>>2]|0,F2=$2<<2,O2=Ht(t,F2)|0,k2=sr+4|0,_5=+s[k2>>2],g2=e[n0>>2]|0,x2=g2<<2,c=x2,F5=C,C=C+((1*c|0)+15&-16)|0,R3=sr+8|0,M5=e[R3>>2]|0,V5=t+28|0,c6=e[V5>>2]|0,q3=(Y4+544|0)+(c6<<2)|0,r6=e[q3>>2]|0,L6=ci+56|0,f9=e[L6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=f9+(D*52|0)|0,P4=t+40|0,e[P4>>2]=c6,$e=(g2|0)>0,$e)for(l4=+(W|0),Y3=4/l4,gt=(s[p2>>2]=Y3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,b8=gt&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,se=ot+.345,i7=se,n7=ci+4|0,Y7=t+24|0,$i=t+32|0,Pt=i7+-764.6162109375,zn=W+-1|0,ro=(zn|0)>1,Kr=i7+-382.30810546875,yn=_5,qi=0;;){if(fo=e[t>>2]|0,tr=fo+(qi<<2)|0,li=e[tr>>2]|0,Zr=Ht(t,S8)|0,uo=W1+(qi<<2)|0,e[uo>>2]=Zr,Io=Ht(t,S8)|0,Wr=l1+(qi<<2)|0,e[Wr>>2]=Io,jr=e[Y7>>2]|0,Xr=e[V5>>2]|0,Eo=e[$i>>2]|0,XS(li,n7,Y4,jr,Xr,Eo),ir=e[V5>>2]|0,mo=(ci+12|0)+(ir<<2)|0,es=e[mo>>2]|0,Co=e[es>>2]|0,Bo=e[Wr>>2]|0,lQ(Co,li,Bo),po=e[V5>>2]|0,ts=(ci+20|0)+(po*12|0)|0,VS(ts,li),Qo=e[li>>2]|0,yo=Qo&2147483647,wo=+(yo>>>0),is=wo*7177114298428933e-22,vo=Pt+is,So=vo,nr=So+.345,Cn=nr,s[li>>2]=Cn,rr=F5+(qi<<2)|0,s[rr>>2]=Cn,ro)for(O=Cn,wn=1;;)if(bo=li+(wn<<2)|0,Wi=+s[bo>>2],Do=Wi*Wi,ns=wn+1|0,rs=li+(ns<<2)|0,or=+s[rs>>2],_o=or*or,ss=_o+Do,os=(s[p2>>2]=ss,e[p2>>2]|0),Ro=os&2147483647,As=+(Ro>>>0),as=As*35885571492144663e-23,xo=Kr+as,Bn=xo,F=Bn+.345,M=F,T=ns>>1,N=li+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[rr>>2]=M,mn=M):mn=O,z=wn+2|0,Y=(z|0)<(zn|0),Y)O=mn,wn=z;else{J=mn;break}else J=Cn;if(t0=J>0,t0?(s[rr>>2]=0,H=0):H=J,e0=H>yn,ls=e0?H:yn,X=qi+1|0,U=e[n0>>2]|0,$0=(X|0)<(U|0),$0)yn=ls,qi=X;else{p=S8,v=k8,Hi=ls;break}}else b=(W|0)/2&-1,w=b<<2,p=w,v=b,Hi=_5;Z=Ht(t,p)|0,V=Ht(t,p)|0,a0=e[n0>>2]|0,s0=(a0|0)>0;e:do if(s0){if(i0=(W|0)>1,K=ci+48|0,i0)yi=0;else{for(Qi=0;;){e6=(r6+4|0)+(Qi<<2)|0,u6=e[e6>>2]|0,H3=l1+(Qi<<2)|0,b3=e[H3>>2]|0,z3=e[t>>2]|0,b6=z3+(Qi<<2)|0,A6=e[b6>>2]|0,t3=A6+(v<<2)|0,e[P4>>2]=c6,O6=Ht(t,60)|0,s3=O2+(Qi<<2)|0,e[s3>>2]=O6,$7=O6,$r=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<($r|0));if(fQ(a4,t3,Z),a6=F5+(Qi<<2)|0,d6=+s[a6>>2],uQ(a4,A6,V,Hi,d6),j$(a4,Z,V,1,A6,b3,t3),D3=(r6+1028|0)+(u6<<2)|0,N6=e[D3>>2]|0,Q6=(Y4+800|0)+(N6<<2)|0,x6=e[Q6>>2]|0,V6=(x6|0)==1,!V6){A=-1;break}if(I6=e[K>>2]|0,J6=I6+(N6<<2)|0,L3=e[J6>>2]|0,W6=W$(t,L3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=W6,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||(j$(a4,Z,V,2,A6,b3,t3),F3=e[D3>>2]|0,M6=e[K>>2]|0,t9=M6+(F3<<2)|0,A9=e[t9>>2]|0,j6=W$(t,A9,t3,A6)|0,u9=e[s3>>2]|0,d9=u9+56|0,e[d9>>2]=j6,j$(a4,Z,V,0,A6,b3,t3),a9=e[D3>>2]|0,$9=e[K>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=W$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[D3>>2]|0,I9=e[K>>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,H6=L8(t,h4,z9,E9,9362)|0,n9=e[s3>>2]|0,m4=n9+4|0,e[m4>>2]=H6,S4=e[D3>>2]|0,y9=e[K>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,T4=e[x4>>2]|0,j4=x4+28|0,C4=e[j4>>2]|0,N4=L8(t,D4,T4,C4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,L4=e[D3>>2]|0,f4=e[K>>2]|0,Ce=f4+(L4<<2)|0,H9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,U4=L8(t,H9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,X4=Ge+12|0,e[X4>>2]=U4,be=e[D3>>2]|0,e8=e[K>>2]|0,Z9=e8+(be<<2)|0,ae=e[Z9>>2]|0,u4=e[s3>>2]|0,_6=e[u4>>2]|0,O4=u4+28|0,L9=e[O4>>2]|0,$4=L8(t,ae,_6,L9,37449)|0,W9=e[s3>>2]|0,le=W9+16|0,e[le>>2]=$4,ce=e[D3>>2]|0,B4=e[K>>2]|0,ee=B4+(ce<<2)|0,F4=e[ee>>2]|0,ge=e[s3>>2]|0,C9=e[ge>>2]|0,g6=ge+28|0,Ue=e[g6>>2]|0,pe=L8(t,F4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[D3>>2]|0,De=e[K>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,f8=g4+28|0,w9=e[f8>>2]|0,B9=L8(t,t8,k4,w9,56173)|0,M4=e[s3>>2]|0,te=M4+24|0,e[te>>2]=B9,$t=e[D3>>2]|0,Re=e[K>>2]|0,lt=Re+($t<<2)|0,wt=e[lt>>2]|0,z8=e[s3>>2]|0,ct=z8+28|0,F8=e[ct>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=L8(t,wt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,kt=e[D3>>2]|0,G8=e[K>>2]|0,U8=G8+(kt<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,u8=v8+28|0,O8=e[u8>>2]|0,H8=v8+56|0,j8=e[H8>>2]|0,X8=L8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,xe=e[D3>>2]|0,i8=e[K>>2]|0,k9=i8+(xe<<2)|0,ht=e[k9>>2]|0,Qe=e[s3>>2]|0,ft=Qe+28|0,vt=e[ft>>2]|0,et=Qe+56|0,St=e[et>>2]|0,ie=L8(t,ht,vt,St,28086)|0,tt=e[s3>>2]|0,q8=tt+40|0,e[q8>>2]=ie,n8=e[D3>>2]|0,H4=e[K>>2]|0,Le=H4+(n8<<2)|0,r8=e[Le>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,he=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=L8(t,r8,he,s8,37449)|0,m8=e[s3>>2]|0,fe=m8+44|0,e[fe>>2]=E8,ye=e[D3>>2]|0,Oe=e[K>>2]|0,He=Oe+(ye<<2)|0,X9=e[He>>2]|0,Fe=e[s3>>2]|0,ue=Fe+28|0,A8=e[ue>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=L8(t,X9,A8,C8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=it,qe=e[D3>>2]|0,B8=e[K>>2]|0,ne=B8+(qe<<2)|0,q9=e[ne>>2]|0,re=e[s3>>2]|0,D9=re+28|0,Y8=e[D9>>2]|0,ut=re+56|0,nt=e[ut>>2]|0,rt=L8(t,q9,Y8,nt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=rt)),K8=Qi+1|0,a8=e[n0>>2]|0,$8=(K8|0)<(a8|0),$8)Qi=K8;else{B=K,R8=a8;break e}}return C=ar,A|0}for(;;){R6=(r6+4|0)+(yi<<2)|0,d0=e[R6>>2]|0,Y6=l1+(yi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,S3=C6+(yi<<2)|0,j=e[S3>>2]|0,h0=j+(v<<2)|0,e[P4>>2]=c6,X3=Ht(t,60)|0,Q0=O2+(yi<<2)|0,e[Q0>>2]=X3,$7=X3,$r=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<($r|0));for(Xi=0;W3=l0+(Xi<<2)|0,v3=e[W3>>2]|0,g3=v3&2147483647,O3=+(g3>>>0),l6=O3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=Xi+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,j3=Xi+1|0,p6=(j3|0)<(v|0),p6;)Xi=j3;if(fQ(a4,h0,Z),o0=F5+(yi<<2)|0,c0=+s[o0>>2],uQ(a4,j,V,Hi,c0),j$(a4,Z,V,1,j,l0,h0),f0=(r6+1028|0)+(d0<<2)|0,w0=e[f0>>2]|0,C0=(Y4+800|0)+(w0<<2)|0,u0=e[C0>>2]|0,B0=(u0|0)==1,!B0){A=-1;break}if(p0=e[K>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,K0=W$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,L0=_0+28|0,e[L0>>2]=K0,M0=Lh(t)|0,U0=(M0|0)==0,U0||(y0=e[Q0>>2]|0,q0=y0+28|0,x0=e[q0>>2]|0,D0=(x0|0)==0,D0||(j$(a4,Z,V,2,j,l0,h0),T0=e[f0>>2]|0,J0=e[K>>2]|0,Y0=J0+(T0<<2)|0,P0=e[Y0>>2]|0,V0=W$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,n1=O0+56|0,e[n1>>2]=V0,j$(a4,Z,V,0,j,l0,h0),H0=e[f0>>2]|0,e1=e[K>>2]|0,b0=e1+(H0<<2)|0,i1=e[b0>>2]|0,c1=W$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,f1=e[f0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,r1=e[Q0>>2]|0,o1=e[r1>>2]|0,z0=r1+28|0,I1=e[z0>>2]|0,h1=L8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[f0>>2]|0,p1=e[K>>2]|0,Q1=p1+(E1<<2)|0,R1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=L8(t,R1,w1,L1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[f0>>2]|0,N1=e[K>>2]|0,D1=N1+(Z1<<2)|0,K1=e[D1>>2]|0,O1=e[Q0>>2]|0,H1=e[O1>>2]|0,q1=O1+28|0,Y1=e[q1>>2]|0,j1=L8(t,K1,H1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[f0>>2]|0,z1=e[K>>2]|0,f2=z1+(c2<<2)|0,s2=e[f2>>2]|0,E2=e[Q0>>2]|0,o2=e[E2>>2]|0,V1=E2+28|0,h2=e[V1>>2]|0,a2=L8(t,s2,o2,h2,37449)|0,i2=e[Q0>>2]|0,A2=i2+16|0,e[A2>>2]=a2,X1=e[f0>>2]|0,r2=e[K>>2]|0,u2=r2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=L8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,V2=e[f0>>2]|0,G2=e[K>>2]|0,q2=G2+(V2<<2)|0,M2=e[q2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=L8(t,M2,z2,T1,56173)|0,x5=e[Q0>>2]|0,e5=x5+24|0,e[e5>>2]=X2,b5=e[f0>>2]|0,Z2=e[K>>2]|0,u5=Z2+(b5<<2)|0,v5=e[u5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,r5=P5+56|0,R2=e[r5>>2]|0,_2=L8(t,v5,m5,R2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,L5=e[f0>>2]|0,d5=e[K>>2]|0,D5=d5+(L5<<2)|0,G5=e[D5>>2]|0,H2=e[Q0>>2]|0,I5=H2+28|0,A5=e[I5>>2]|0,c5=H2+56|0,B5=e[c5>>2]|0,M1=L8(t,G5,A5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[f0>>2]|0,W2=e[K>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,f5=s5+56|0,i5=e[f5>>2]|0,R5=L8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=R5,Q5=e[f0>>2]|0,H5=e[K>>2]|0,j5=H5+(Q5<<2)|0,E5=e[j5>>2]|0,u3=e[Q0>>2]|0,h3=u3+28|0,J5=e[h3>>2]|0,X5=u3+56|0,r3=e[X5>>2]|0,m3=L8(t,E5,J5,r3,37449)|0,K5=e[Q0>>2]|0,w3=K5+44|0,e[w3>>2]=m3,f3=e[f0>>2]|0,B3=e[K>>2]|0,V3=B3+(f3<<2)|0,N3=e[V3>>2]|0,z5=e[Q0>>2]|0,y3=z5+28|0,W5=e[y3>>2]|0,i6=z5+56|0,G3=e[i6>>2]|0,a3=L8(t,N3,W5,G3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[f0>>2]|0,q5=e[K>>2]|0,U5=q5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,U3=k5+28|0,o6=e[U3>>2]|0,e3=k5+56|0,A3=e[e3>>2]|0,x3=L8(t,O5,o6,A3,56173)|0,f6=e[Q0>>2]|0,p3=f6+52|0,e[p3>>2]=x3)),k3=yi+1|0,Q3=e[n0>>2]|0,n6=(k3|0)<(Q3|0),n6)yi=k3;else{B=K,R8=Q3;break e}}return C=ar,A|0}else y=ci+48|0,B=y,R8=a0;while(!1);for(s[k2>>2]=Hi,_8=R8<<2,f=_8,Je=C,C=C+((1*f|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,At=Lh(t)|0,Ke=(At|0)!=0,Nt=Ke?0:7,qt=ci+44|0,bt=t+24|0,at=t+32|0,Dt=Y4+2868|0,Gt=ci+52|0,hi=Nt;;){if(Yt=(sr+12|0)+(hi<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),x8=e[qt>>2]|0,U2(l8,c6,x8),_t=e[V5>>2]|0,V8=(_t|0)==0,V8||(Me=e[bt>>2]|0,U2(l8,Me,1),de=e[at>>2]|0,U2(l8,de,1)),e4=e[n0>>2]|0,Rt=(e4|0)>0,Rt)for(j7=0;;)if(G7=(r6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(r6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Kt=e[B>>2]|0,E7=Kt+(I7<<2)|0,Vt=e[E7>>2]|0,m7=O2+(j7<<2)|0,si=e[m7>>2]|0,O7=si+(hi<<2)|0,C7=e[O7>>2]|0,B7=tS(l8,t,Vt,C7,d7)|0,oi=G0+(j7<<2)|0,e[oi>>2]=B7,p7=j7+1|0,r7=e[n0>>2]|0,Ai=(p7|0)<(r7|0),Ai)j7=p7;else{I=r7;break}else I=e4;if(H7=e[V5>>2]|0,q7=((Y4+3240|0)+(H7*60|0)|0)+(hi<<2)|0,J7=e[q7>>2]|0,vS(hi,Dt,a4,r6,l1,W1,G0,J7,I),s7=e[r6>>2]|0,Q7=(s7|0)>0,Q7)for(wi=0;;){if(K7=(r6+1092|0)+(wi<<2)|0,zt=e[K7>>2]|0,o7=e[n0>>2]|0,Ut=(o7|0)>0,Ut)for(er=o7,gi=0,en=0;;)if(Zt=(r6+4|0)+(en<<2)|0,ai=e[Zt>>2]|0,V7=(ai|0)==(wi|0),V7?(y7=p9+(gi<<2)|0,z7=G0+(en<<2)|0,w7=e[z7>>2]|0,Lo=(w7|0)!=0,r=Lo&1,e[y7>>2]=r,k7=W1+(en<<2)|0,Z7=e[k7>>2]|0,v7=gi+1|0,Wt=Je+(gi<<2)|0,e[Wt>>2]=Z7,m=e[n0>>2]|0,A7=m,Ar=v7):(A7=er,Ar=gi),S7=en+1|0,W7=(S7|0)<(A7|0),W7)er=A7,gi=Ar,en=S7;else{$s=Ar;break}else $s=0;if(b7=(Y4+1312|0)+(zt<<2)|0,ke=e[b7>>2]|0,D7=25648+(ke<<2)|0,xt=e[D7>>2]|0,a7=xt+20|0,r9=e[a7>>2]|0,dt=e[Gt>>2]|0,p8=dt+(zt<<2)|0,It=e[p8>>2]|0,Lt=yB[r9&7](t,It,Je,p9,$s)|0,En=e[n0>>2]|0,Xs=(En|0)>0,Xs)for(ji=0,kn=0;;)if(Ur=(r6+4|0)+(kn<<2)|0,eo=e[Ur>>2]|0,Pr=(eo|0)==(wi|0),Pr?(to=W1+(kn<<2)|0,io=e[to>>2]|0,Or=ji+1|0,no=Je+(ji<<2)|0,e[no>>2]=io,Qn=Or):Qn=ji,Zn=kn+1|0,so=(Zn|0)<(En|0),so)ji=Qn,kn=Zn;else{pn=Qn;break}else pn=0;if(oo=e[b7>>2]|0,Hr=25648+(oo<<2)|0,Ao=e[Hr>>2]|0,qr=Ao+24|0,Yr=e[qr>>2]|0,ao=e[Gt>>2]|0,Wn=ao+(zt<<2)|0,Jr=e[Wn>>2]|0,MQ[Yr&3](l8,t,Jr,Je,p9,pn,Lt,wi)|0,jn=wi+1|0,Vr=e[r6>>2]|0,$o=(jn|0)<(Vr|0),$o)wi=jn;else break}if(lo=hi+1|0,co=Lh(t)|0,Xn=(co|0)!=0,zr=Xn?14:7,go=(hi|0)<(zr|0),go)hi=lo;else{A=0;break}}return C=ar,A|0}function CS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0;if(x2=C,b=t+64|0,w=e[b>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,u5=t+28|0,L5=e[u5>>2]|0,y=V1+(L5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,K0=e[l0>>2]|0,T0=K0<<2,c=T0,i1=C,C=C+((1*c|0)+15&-16)|0,f=T0,z0=C,C=C+((1*f|0)+15&-16)|0,E=T0,I1=C,C=C+((1*E|0)+15&-16)|0,I=T0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=r+4|0,p1=r+1028|0,Q1=M2+48|0,R1=O<<1,x1=R1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,K1=(V1+800|0)+(D1<<2)|0,O1=e[K1>>2]|0,H1=25640+(O1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(D1<<2)|0,c2=e[P1>>2]|0,z1=u7[n2&15](t,c2)|0,f2=h1+(W2<<2)|0,e[f2>>2]=z1,s2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[s2>>2]=A,E2=e[t>>2]|0,o2=E2+(W2<<2)|0,h2=e[o2>>2]|0,Ae(h2|0,0,x1|0)|0,a2=W2+1|0,t2=e[l0>>2]|0,$2=(a2|0)<(t2|0),$2)W2=a2;else{r1=t2;break}else r1=d1;if(w1=r+1156|0,S1=e[w1>>2]|0,L1=(S1|0)>0,L1)for(G1=r+1160|0,k1=r+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=k1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,V2=e[d2>>2]|0,G2=(V2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,q2=I1+(N2<<2)|0,e[q2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(i2=e[r>>2]|0,A2=(i2|0)>0,A2){for(X1=r+1092|0,r2=M2+52|0,u2=r+4|0,o5=r1,p5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,f5=0;;)if(T1=u2+(f5<<2)|0,X2=e[T1>>2]|0,x5=(X2|0)==(p5|0),x5?(e5=I1+(f5<<2)|0,b5=e[e5>>2]|0,Z2=z0+(g5<<2)|0,R5=(b5|0)!=0,a=R5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(f5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=o1,a5=g5),r5=f5+1|0,R2=(r5|0)<(_2|0),R2)o1=_2,g5=a5,f5=r5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(V1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,I5=e[H2>>2]|0,A5=e[r2>>2]|0,c5=A5+(C5<<2)|0,B5=e[c5>>2]|0,yB[I5&7](t,B5,i1,z0,S5)|0,M1=p5+1|0,D=e[r>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[l0>>2]|0,o5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;if(L=(_|0)>0,L)for(x=r+1160|0,F=e[t>>2]|0,M=r+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=x+(t5<<2)|0,H=e[e0>>2]|0,X=F+(H<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,V=e[$0>>2]|0,a0=F+(V<<2)|0,s0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,n0=+s[i0>>2],K=s0+(i5<<2)|0,h0=+s[K>>2],o0=n0>0,c0=h0>0;do if(o0)if(c0){s[i0>>2]=n0,j=n0-h0,s[K>>2]=j;break}else{s[K>>2]=n0,f0=h0+n0,s[i0>>2]=f0;break}else if(c0){s[i0>>2]=n0,d0=h0+n0,s[K>>2]=d0;break}else{s[K>>2]=n0,w0=n0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=x2,0;for(t0=r+4|0,J=r+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,L0=e[Q0>>2]|0,M0=(V1+800|0)+(L0<<2)|0,N0=e[M0>>2]|0,U0=25640+(N0<<2)|0,y0=e[U0>>2]|0,q0=y0+24|0,x0=e[q0>>2]|0,D0=e[W>>2]|0,J0=D0+(L0<<2)|0,Y0=e[J0>>2]|0,P0=h1+(h5<<2)|0,V0=e[P0>>2]|0,pB[x0&3](t,Y0,V0,I0)|0,G0=h5+1|0,O0=e[l0>>2]|0,n1=(G0|0)<(O0|0),n1)h5=G0;else{m=O0;break}if(u0=(m|0)>0,!u0)return C=x2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,b0=e[e1>>2]|0,c1=e[u5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,BS(g1,b0,b0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=x2,0}function dB(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0;if(w1=C,A=(r|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+r|0,Z=O<<2,l0=S9(Z)|0,K0=r>>1,T0=+(r|0),i1=T0,I1=+Kn(+i1),c=I1*1.4426950408889634,f=+Pi(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=r,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(r|0)>3,!B){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(v=+(r|0),b=3.141592653589793/v,w=r<<1,D=+(w|0),Q=3.141592653589793/D,B1=0;M=B1<<2,T=+(M|0),N=b*T,G=+ZA(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Nr(+N),W=J,e0=-W,H=Y|1,X=l0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),$0=Q*U,V=+ZA(+$0),a0=V,s0=Y+K0|0,i0=l0+(s0<<2)|0,s[i0>>2]=a0,n0=+Nr(+$0),K=n0,h0=s0+1|0,o0=l0+(h0<<2)|0,s[o0>>2]=K,c0=B1+1|0,j=(c0|0)<(A|0),j;)B1=c0;if(_=(r|0)/8&-1,L=(r|0)>7,!L){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(x=+(r|0),F=3.141592653589793/x,p1=0;f0=p1<<2,d0=f0|2,w0=+(d0|0),C0=F*w0,k0=+ZA(+C0),u0=k0*.5,B0=u0,p0=p1<<1,I0=p0+r|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Nr(+C0),Q0=_0*-.5,L0=Q0,M0=I0+1|0,N0=l0+(M0<<2)|0,s[N0>>2]=L0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=z0;return}for(;;){for(V0=Y0,m1=0,R1=0;;)if(P0=V0&Q1,G0=(P0|0)==0,O0=1<>H0,b0=(e1|0)==0,b0){E1=d1;break}else V0=e1,m1=d1,R1=H0;if(c1=E1^-1,$1=D0&c1,f1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=f1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,r1=Q1+1|0,o1=(r1|0)<(_|0),o1)Q1=r1;else break}z0=4/T0,h1=t+16|0,s[h1>>2]=z0}function IB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,r=(t|0)==0,!r&&(A=t+8|0,a=e[A>>2]|0,c=(a|0)==0,c||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 BS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0;for(O3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,V2=r+(a<<2)|0,c=I+W1|0,e5=A+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=V2,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,k0=-n0,N0=+s[U5>>2],G0=c3+8|0,l1=+s[G0>>2],B1=l1*N0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],$2=+s[x>>2],y2=$2*P1,v2=+s[B3>>2],w2=+s[G0>>2],C2=w2*v2,F2=y2-C2,D2=k3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,q2=+s[G2>>2],M2=d2*q2,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],u5=Z2*b5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=u5-l5,m5=k3+-4|0,s[m5>>2]=k2,r5=U5+-32|0,R2=c3+16|0,B2=r5>>>0>>0,!B2;)c3=R2,U5=r5,k3=E5;for(C5=A+(I<<2)|0,f=I+-8|0,L5=r+(f<<2)|0,C3=h5,O5=L5,Q3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,H2=+s[_5>>2],I5=H2*G5,A5=O5+24|0,B5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[Q3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,f5=p5-J2,i5=Q3+4|0,s[i5>>2]=f5,R5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],x2=$5*R5,Q5=O5+8|0,H5=+s[Q5>>2],j5=+s[d5>>2],u3=j5*H5,h3=u3+x2,J5=Q3+8|0,s[J5>>2]=h3,X5=+s[O5>>2],r3=+s[d5>>2],m3=r3*X5,F5=+s[Q5>>2],K5=+s[j2>>2],w3=K5*F5,f3=m3-w3,V3=Q3+12|0,s[V3>>2]=f3,N3=O5+-32|0,z5=Q3+16|0,y3=N3>>>0>>0,!y3;)C3=d5,O5=N3,Q3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,cQ(e3,c5,C5,I),A3=e[t>>2]|0,x3=e[_2>>2]|0,f6=t+12|0,p3=e[f6>>2]|0,gQ(A3,x3,p3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,q5=i6,k5=A,n6=e5,V5=e5;R3=n6+-16|0,G3=+s[k5>>2],a3=q5+4|0,l3=+s[a3>>2],p=l3*G3,B=k5+4|0,v=+s[B>>2],b=+s[q5>>2],w=b*v,y=p-w,D=n6+-4|0,s[D>>2]=y,Q=+s[k5>>2],_=+s[q5>>2],L=_*Q,F=+s[B>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[V5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],$0=U*H,Z=J-$0,V=n6+-8|0,s[V>>2]=Z,a0=+s[O>>2],s0=+s[X>>2],i0=s0*a0,K=+s[e0>>2],h0=+s[Y>>2],o0=h0*K,c0=i0+o0,j=-c0,l0=V5+4|0,s[l0>>2]=j,f0=k5+16|0,d0=+s[f0>>2],w0=q5+20|0,C0=+s[w0>>2],u0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=q5+16|0,S0=+s[I0>>2],K0=S0*p0,_0=u0-K0,Q0=n6+-12|0,s[Q0>>2]=_0,L0=+s[f0>>2],M0=+s[I0>>2],U0=M0*L0,y0=+s[B0>>2],q0=+s[w0>>2],x0=q0*y0,D0=U0+x0,T0=-D0,J0=V5+8|0,s[J0>>2]=T0,Y0=k5+24|0,P0=+s[Y0>>2],V0=q5+28|0,O0=+s[V0>>2],n1=O0*P0,H0=k5+28|0,e1=+s[H0>>2],b0=q5+24|0,i1=+s[b0>>2],c1=i1*e1,$1=n1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[b0>>2],s1=g1*f1,a1=+s[H0>>2],r1=+s[V0>>2],o1=r1*a1,z0=s1+o1,I1=-z0,h1=V5+12|0,s[h1>>2]=I1,m1=V5+16|0,d1=k5+32|0,E1=q5+32|0,p1=d1>>>0>>0,p1;)q5=E1,k5=d1,n6=R3,V5=m1;for(Q1=A+(W1<<2)|0,U3=e5,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=U3+-16|0,w1=U3+-4|0,S1=+s[w1>>2],L1=W3+-4|0,s[L1>>2]=S1,F1=-S1,s[v3>>2]=F1,G1=U3+-8|0,k1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=k1,N1=-k1,D1=v3+4|0,s[D1>>2]=N1,K1=U3+-12|0,O1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=O1,q1=-O1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,n2=-j1,c2=v3+12|0,s[c2>>2]=n2,z1=v3+16|0,f2=z1>>>0>>0,f2)U3=x1,W3=R1,v3=z1;else{M5=e5,P3=e5;break}for(;s2=P3+-16|0,E2=M5+12|0,o2=e[E2>>2]|0,e[s2>>2]=o2,V1=M5+8|0,h2=e[V1>>2]|0,a2=P3+-12|0,e[a2>>2]=h2,t2=M5+4|0,i2=e[t2>>2]|0,A2=P3+-8|0,e[A2>>2]=i2,X1=e[M5>>2]|0,r2=P3+-4|0,e[r2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,P3=s2}function lQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,w=e[t>>2]|0,y=w>>1,n1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+n1|0,i2=r+(c<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=r+(f<<2)|0,f0=a1+-1|0,_0=f0>>>1,J0=_0<<1,P0=y+-2|0,V0=P0-J0|0,G0=c+-4|0,O0=_0<<2,H0=G0-O0|0,r5=D,D5=0,h5=i2,R5=V;e1=h5+-16|0,b0=r5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[R5>>2],f1=$1+c1,g1=+s[e1>>2],l1=R5+8|0,s1=+s[l1>>2],r1=s1+g1,o1=r5+-4|0,z0=+s[o1>>2],I1=r1*z0,h1=+s[b0>>2],m1=h1*f1,d1=m1+I1,v=D5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[b0>>2],p1=B1*r1,R1=+s[o1>>2],x1=R1*f1,w1=p1-x1,S1=D5|1,b=S1+y|0,L1=N1+(b<<2)|0,s[L1>>2]=w1,F1=R5+16|0,G1=D5+2|0,k1=(G1|0)<(a1|0),k1;)r5=b0,D5=G1,h5=e1,R5=F1;U1=J0+2|0,g2=T1+(V0<<2)|0,p5=r+(H0<<2)|0,O2=V0,m5=g2,d5=U1,s5=p5}else O2=y,m5=D,d5=0,s5=i2;if(Z1=r+4|0,D1=y-a1|0,K1=(d5|0)<(D1|0),K1){for(O1=y+-1|0,H1=O1-d5|0,q1=H1-a1|0,Y1=q1>>>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;f2=_2+-8|0,s2=J2+-16|0,E2=J2+-8|0,o2=+s[E2>>2],V1=+s[$5>>2],h2=o2-V1,a2=+s[s2>>2],t2=$5+8|0,$2=+s[t2>>2],A2=a2-$2,X1=_2+-4|0,r2=+s[X1>>2],u2=A2*r2,e2=+s[f2>>2],y2=e2*h2,v2=y2+u2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[f2>>2],F2=C2*A2,N2=+s[X1>>2],d2=N2*h2,V2=F2-d2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=V2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(D1|0),z2;)_2=f2,_5=P2,J2=s2,$5=M2;o5=n2+2|0,a5=r+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,R2=W2,G5=o5,j2=a5}else R2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(x5=r+(w<<2)|0,B2=R2,H2=G5,f5=x5,x2=j2;e5=B2+-8|0,b5=f5+-16|0,Z2=f5+-8|0,u5=+s[Z2>>2],v5=-u5,P5=+s[x2>>2],l5=v5-P5,k2=+s[b5>>2],Q=-k2,_=x2+8|0,L=+s[_>>2],x=Q-L,F=B2+-4|0,M=+s[F>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=H2+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,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,$0=x2+16|0,Z=H2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,H2=Z,f5=b5,x2=$0;if(A5=t+4|0,c5=e[A5>>2]|0,cQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,gQ(g5,B5,S5,N1),s0=(n1|0)>0,!s0){C=H5;return}for(i0=A+(y<<2)|0,n0=e[D2>>2]|0,K=n0+(y<<2)|0,h0=t+16|0,C5=K,I5=0,t5=N1,i5=i0;o0=i5+-4|0,c0=+s[t5>>2],j=+s[C5>>2],l0=j*c0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],u0=k0*w0,B0=u0+l0,p0=+s[h0>>2],I0=B0*p0,S0=A+(I5<<2)|0,s[S0>>2]=I0,K0=+s[t5>>2],Q0=+s[C0>>2],L0=Q0*K0,M0=+s[d0>>2],N0=+s[C5>>2],U0=N0*M0,y0=L0-U0,q0=+s[h0>>2],x0=y0*q0,s[o0>>2]=x0,D0=t5+8|0,T0=C5+8|0,Y0=I5+1|0,L5=(Y0|0)==(n1|0),!L5;)C5=T0,I5=Y0,t5=D0,i5=o0;C=H5}function cQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0;if(En=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,D3=a>>1,B=D3+-8|0,z8=A+(B<<2)|0,c=r,dt=P5,It=z8;l8=dt+24|0,P7=+s[l8>>2],C7=It+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=dt+28|0,M0=+s[C0>>2],V0=It+28|0,g1=+s[V0>>2],E1=M0-g1,k1=Q7+P7,s[l8>>2]=k1,n2=+s[V0>>2],a2=n2+M0,s[C0>>2]=a2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[c>>2],i6=m3*E1,U3=+s[w2>>2],W3=U3*w7,B6=i6-W3,s[V0>>2]=B6,H3=dt+16|0,N6=+s[H3>>2],s9=It+16|0,j6=+s[s9>>2],I9=N6-j6,S4=dt+20|0,G4=+s[S4>>2],Ge=It+20|0,$4=+s[Ge>>2],g6=G4-$4,k4=j6+N6,s[H3>>2]=k4,ct=+s[Ge>>2],P8=ct+G4,s[S4>>2]=P8,i8=c+20|0,q8=+s[i8>>2],E8=q8*g6,we=c+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Yt=+s[we>>2],x8=Yt*g6,_t=+s[i8>>2],V8=_t*I9,Me=x8-V8,s[Ge>>2]=Me,de=dt+8|0,e4=+s[de>>2],Rt=It+8|0,i7=+s[Rt>>2],G7=e4-i7,U7=dt+12|0,d7=+s[U7>>2],Jt=It+12|0,I7=+s[Jt>>2],Kt=d7-I7,E7=i7+e4,s[de>>2]=E7,Vt=+s[Jt>>2],m7=Vt+d7,s[U7>>2]=m7,n7=c+36|0,si=+s[n7>>2],O7=si*Kt,B7=c+32|0,oi=+s[B7>>2],p7=oi*G7,r7=p7+O7,s[Rt>>2]=r7,Ai=+s[B7>>2],H7=Ai*Kt,q7=+s[n7>>2],Y7=q7*G7,J7=H7-Y7,s[Jt>>2]=J7,s7=+s[dt>>2],K7=+s[It>>2],zt=s7-K7,o7=dt+4|0,Ut=+s[o7>>2],Zt=It+4|0,ai=+s[Zt>>2],V7=Ut-ai,$i=K7+s7,s[dt>>2]=$i,y7=+s[Zt>>2],z7=y7+Ut,s[o7>>2]=z7,k7=c+52|0,Z7=+s[k7>>2],v7=Z7*V7,Wt=c+48|0,S7=+s[Wt>>2],W7=S7*zt,A7=W7+v7,s[It>>2]=A7,Pt=+s[Wt>>2],b7=Pt*V7,ke=+s[k7>>2],k0=ke*zt,u0=b7-k0,s[Zt>>2]=u0,B0=dt+-32|0,p0=It+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,dt=B0,It=p0;if(K0=(d0|0)>1,K0)for(xt=1;;){if(_0=1<>xt,N0=4<>1,v=U0+-8|0,N=N0+1|0,$0=N0<<1,i0=$0|1,h0=N0*3|0,c0=h0+1|0,l0=N0<<2,a7=0;;){for(q0=n5(a7,L0)|0,x0=A+(q0<<2)|0,E=m+q0|0,D0=A+(E<<2)|0,a0=v+q0|0,T0=A+(a0<<2)|0,f=r,p8=D0,Lt=T0;J0=p8+24|0,Y0=+s[J0>>2],P0=Lt+24|0,G0=+s[P0>>2],O0=Y0-G0,n1=p8+28|0,H0=+s[n1>>2],e1=Lt+28|0,b0=+s[e1>>2],i1=H0-b0,c1=G0+Y0,s[J0>>2]=c1,$1=+s[e1>>2],f1=$1+H0,s[n1>>2]=f1,l1=f+4|0,s1=+s[l1>>2],a1=s1*i1,r1=+s[f>>2],o1=r1*O0,z0=o1+a1,s[P0>>2]=z0,I1=+s[f>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=f+(N0<<2)|0,Q1=p8+16|0,R1=+s[Q1>>2],x1=Lt+16|0,w1=+s[x1>>2],S1=R1-w1,L1=p8+20|0,F1=+s[L1>>2],G1=Lt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+R1,s[Q1>>2]=N1,D1=+s[G1>>2],K1=D1+F1,s[L1>>2]=K1,O1=f+(N<<2)|0,H1=+s[O1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],f2=z1*S1,s2=c2-f2,s[G1>>2]=s2,E2=f+($0<<2)|0,o2=p8+8|0,V1=+s[o2>>2],h2=Lt+8|0,t2=+s[h2>>2],$2=V1-t2,i2=p8+12|0,A2=+s[i2>>2],X1=Lt+12|0,r2=+s[X1>>2],u2=A2-r2,e2=t2+V1,s[o2>>2]=e2,y2=+s[X1>>2],v2=y2+A2,s[i2>>2]=v2,C2=f+(i0<<2)|0,F2=+s[C2>>2],D2=F2*u2,N2=+s[E2>>2],d2=N2*$2,V2=d2+D2,s[h2>>2]=V2,G2=+s[E2>>2],q2=G2*u2,M2=+s[C2>>2],P2=M2*$2,o5=q2-P2,s[X1>>2]=o5,O2=f+(h0<<2)|0,T1=+s[p8>>2],X2=+s[Lt>>2],x5=T1-X2,e5=p8+4|0,b5=+s[e5>>2],Z2=Lt+4|0,u5=+s[Z2>>2],v5=b5-u5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],r5=m5+b5,s[e5>>2]=r5,R2=f+(c0<<2)|0,_2=+s[R2>>2],B2=_2*v5,C5=+s[O2>>2],L5=C5*x5,d5=L5+B2,s[Lt>>2]=d5,D5=+s[O2>>2],_5=D5*v5,H2=+s[R2>>2],I5=H2*x5,A5=_5-I5,s[Z2>>2]=A5,c5=f+(l0<<2)|0,B5=p8+-32|0,M1=Lt+-32|0,S5=M1>>>0>>0,!S5;)f=c5,p8=B5,Lt=M1;if(g5=a7+1|0,a5=(g5|0)<(_0|0),a5)a7=g5;else break}if(g2=xt+1|0,D7=(g2|0)==(d0|0),D7)break;xt=g2}if(y0=(a|0)>0,y0)r9=0;else return;for(;p5=A+(r9<<2)|0,p=r9|30,t5=A+(p<<2)|0,s5=+s[t5>>2],T=r9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],f5=s5-J2,U=r9|31,i5=A+(U<<2)|0,R5=+s[i5>>2],s0=r9|15,j2=A+(s0<<2)|0,x2=+s[j2>>2],Q5=R5-x2,H5=J2+s5,s[t5>>2]=H5,j5=x2+R5,s[i5>>2]=j5,s[h5>>2]=f5,s[j2>>2]=Q5,n0=r9|28,E5=A+(n0<<2)|0,u3=+s[E5>>2],K=r9|12,h3=A+(K<<2)|0,J5=+s[h3>>2],X5=u3-J5,o0=r9|29,r3=A+(o0<<2)|0,F5=+s[r3>>2],j=r9|13,K5=A+(j<<2)|0,w3=+s[K5>>2],f3=F5-w3,B3=J5+u3,s[E5>>2]=B3,V3=w3+F5,s[r3>>2]=V3,N3=X5*.9238795042037964,z5=f3*.3826834261417389,y3=N3-z5,s[h3>>2]=y3,W5=X5*.3826834261417389,R3=f3*.9238795042037964,G3=R3+W5,s[K5>>2]=G3,f0=r9|26,a3=A+(f0<<2)|0,l3=+s[a3>>2],b=r9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],q5=l3-C3,w=r9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=r9|11,k5=A+(y<<2)|0,M5=+s[k5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,x3=q5-o6,f6=x3*.7071067690849304,s[c3>>2]=f6,p3=o6+q5,k3=p3*.7071067690849304,s[k5>>2]=k3,D=r9|24,Q3=A+(D<<2)|0,n6=+s[Q3>>2],Q=r9|8,P3=A+(Q<<2)|0,V5=+s[P3>>2],v3=n6-V5,_=r9|25,g3=A+(_<<2)|0,O3=+s[g3>>2],L=r9|9,l6=A+(L<<2)|0,d3=+s[l6>>2],k6=O3-d3,v6=V5+n6,s[Q3>>2]=v6,S6=d3+O3,s[g3>>2]=S6,j3=v3*.3826834261417389,c6=k6*.9238795042037964,p6=j3-c6,R6=k6*.3826834261417389,Y6=v3*.9238795042037964,C6=R6+Y6,x=r9|22,S3=A+(x<<2)|0,X3=+s[S3>>2],F=r9|6,e6=A+(F<<2)|0,u6=+s[e6>>2],b3=X3-u6,M=r9|7,q3=A+(M<<2)|0,z3=+s[q3>>2],G=r9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=z3-A6,O6=u6+X3,s[S3>>2]=O6,s3=A6+z3,s[b6>>2]=s3,s[e6>>2]=t3,s[q3>>2]=b3,O=r9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=r9|20,r6=A+(z<<2)|0,Q6=+s[r6>>2],x6=d6-Q6,Y=r9|5,V6=A+(Y<<2)|0,I6=+s[V6>>2],t0=r9|21,J6=A+(t0<<2)|0,L3=+s[J6>>2],W6=I6-L3,G6=Q6+d6,s[r6>>2]=G6,e9=L3+I6,s[J6>>2]=e9,L6=W6*.9238795042037964,U6=x6*.3826834261417389,D6=L6+U6,z6=W6*.3826834261417389,y6=x6*.9238795042037964,F6=z6-y6,J=r9|2,F3=A+(J<<2)|0,M6=+s[F3>>2],W=r9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],f9=M6-A9,e0=r9|3,u9=A+(e0<<2)|0,d9=+s[u9>>2],H=r9|19,a9=A+(H<<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+f9,N9=i9*.7071067690849304,E4=T9-f9,o4=E4*.7071067690849304,h4=+s[p5>>2],X=r9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=r9|1,E9=A+(Z<<2)|0,H6=+s[E9>>2],V=r9|17,n9=A+(V<<2)|0,m4=+s[n9>>2],A4=H6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+H6,s[n9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,T4=D4+x4,j4=A4*.9238795042037964,C4=b9*.3826834261417389,N4=j4-C4,U9=N4-C6,a4=T4-p6,L4=T4+p6,f4=N4+C6,Ce=a4+U9,H9=U9-a4,m9=+s[k5>>2],Be=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,U4=Ne+N9,P4=m9+o4,X4=+s[h3>>2],be=X4-D6,e8=+s[K5>>2],Z9=e8-F6,ae=X4+D6,u4=e8+F6,_6=be-Z9,O4=Z9+be,L9=+s[h5>>2],_4=L9-t3,$e=+s[j2>>2],W9=$e-b3,le=t3+L9,ce=b3+$e,B4=_4+Be,ee=_4-Be,F4=_6+Ce,ge=F4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ge+B4,s[e6>>2]=l4,pe=B4-ge,s[a6>>2]=pe,p4=O4-H9,c4=p4*.7071067690849304,P6=W9-Xe,De=c4+ee,s[p5>>2]=De,_e=ee-c4,s[F3>>2]=_e,t8=O4+H9,g4=t8*.7071067690849304,f8=W9+Xe,Y3=P6+Ue,s[u9>>2]=Y3,w9=P6-Ue,s[E9>>2]=w9,B9=f8+g4,s[q3>>2]=B9,M4=f8-g4,s[V6>>2]=M4,te=le+U4,$t=le-U4,Re=L4+ae,lt=ae-L4,wt=te+Re,s[h5>>2]=wt,gt=te-Re,s[h3>>2]=gt,F8=u4-f4,M8=ce-P4,T8=$t+F8,s[P3>>2]=T8,N8=$t-F8,s[c3>>2]=N8,Z8=u4+f4,W8=ce+P4,kt=M8+lt,s[k5>>2]=kt,G8=M8-lt,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[K5>>2]=k8,v8=+s[g3>>2],u8=b4-v8,O8=+s[Q3>>2],H8=y9-O8,j8=O8+y9,X8=v8+b4,d8=H8+u8,Pe=u8-H8,xe=+s[a9>>2],S8=+s[U5>>2],k9=xe-S8,ht=+s[a3>>2],Qe=+s[t9>>2],ft=ht-Qe,vt=Qe+ht,et=S8+xe,St=+s[E5>>2],ie=+s[r6>>2],tt=St-ie,b8=+s[r3>>2],n8=+s[J6>>2],H4=b8-n8,Le=ie+St,r8=n8+b8,I8=tt-H4,D8=H4+tt,he=+s[t5>>2],j9=+s[S3>>2],s8=he-j9,o8=+s[i5>>2],m8=+s[b6>>2],fe=o8-m8,ye=j9+he,Oe=m8+o8,He=s8+k9,X9=s8-k9,Fe=I8+d8,ue=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=ue+He,s[S3>>2]=C8,it=He-ue,s[r6>>2]=it,q4=D8-Pe,I3=q4*.7071067690849304,qe=fe-ft,B8=I3+X9,s[G9>>2]=B8,ne=X9-I3,s[t9>>2]=ne,q9=D8+Pe,re=q9*.7071067690849304,Ye=fe+ft,Y8=qe+Q4,s[a9>>2]=Y8,ut=qe-Q4,s[n9>>2]=ut,nt=Ye+re,s[b6>>2]=nt,rt=Ye-re,s[J6>>2]=rt,J8=ye+vt,st=ye-vt,K8=Le+j8,a8=Le-j8,$8=J8+K8,s[t5>>2]=$8,Y4=J8-K8,s[E5>>2]=Y4,ot=r8-X8,R8=Oe-et,Je=st+ot,s[Q3>>2]=Je,p9=st-ot,s[a3>>2]=p9,At=r8+X8,Ke=Oe+et,Nt=R8+a8,s[U5>>2]=Nt,qt=R8-a8,s[g3>>2]=qt,bt=Ke+At,s[i5>>2]=bt,Dt=Ke-At,s[r3>>2]=Dt,se=r9+32|0,Gt=(se|0)<(a|0),Gt;)r9=se}function gQ(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,w=a+(b<<2)|0,G=r+(t<<2)|0,r1=G,o1=A,z0=a,I1=w;$0=e[o1>>2]|0,c=$0+b|0,j=a+(c<<2)|0,S0=o1+4|0,D0=e[S0>>2]|0,f=D0+b|0,b0=a+(f<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=f+1|0,y=a+(I<<2)|0,D=+s[y>>2],Q=a1-D,_=+s[j>>2],L=+s[b0>>2],x=L+_,F=+s[r1>>2],M=x*F,T=r1+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,H=e0*.5,X=_-L,U=X*.5,Z=z+H,s[z0>>2]=Z,V=H-z,a0=I1+-8|0,s[a0>>2]=V,s0=J+U,i0=z0+4|0,s[i0>>2]=s0,n0=J-U,K=I1+-4|0,s[K>>2]=n0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,c0=a+(m<<2)|0,l0=o1+12|0,f0=e[l0>>2]|0,p=f0+b|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,u0=+s[k0>>2],B0=C0-u0,p0=+s[c0>>2],I0=+s[d0>>2],K0=I0+p0,_0=r1+8|0,Q0=+s[_0>>2],L0=K0*Q0,M0=r1+12|0,N0=+s[M0>>2],U0=N0*B0,y0=U0+L0,q0=N0*K0,x0=Q0*B0,T0=q0-x0,J0=u0+C0,Y0=J0*.5,P0=p0-I0,V0=P0*.5,G0=y0+Y0,O0=z0+8|0,s[O0>>2]=G0,n1=Y0-y0,s[W>>2]=n1,H0=T0+V0,e1=z0+12|0,s[e1>>2]=H0,i1=T0-V0,c1=I1+-12|0,s[c1>>2]=i1,$1=r1+16|0,f1=o1+16|0,g1=z0+16|0,l1=g1>>>0>>0,l1;)r1=$1,o1=f1,z0=g1,I1=W}function pS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,r=t+28|0,A=e[r>>2]|0,a=A+2868|0,c=r4(1,36)|0,f=t+4|0,E=e[f>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function QS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,!r&&I2(t)}function yS(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function wS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,L=t+36|0,e[L>>2]=_,t2=+(_|0),j5=t2*8,f3=j5,l3=+Kn(+f3),A3=l3*1.4426950408889634,g3=+Pi(A3),R6=g3+-1,b6=~~R6,x=t+32|0,e[x>>2]=b6,W=+(c|0),n0=W*.25,k0=n0,N0=k0*.5,G0=+(a|0),l1=N0/G0,B1=+Kn(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=b6+1|0,F2=1<<$2,O2=+(F2|0),k2=O2*W1,_5=+(_|0),g2=k2-_5,$5=~~g2,x2=t+28|0,e[x2>>2]=$5,Q5=+(a|0),H5=Q5+.25,E5=H5*W,u3=E5,h3=u3*.5,J5=h3/G0,X5=+Kn(+J5),r3=X5*1.4426950216293335,m3=r3+-5.965784072875977,F5=O2*m3,K5=F5+.5,w3=~~K5,B3=1-$5|0,V3=B3+w3|0,N3=t+40|0,e[N3>>2]=V3,z5=a<<2,y3=S9(z5)|0,W5=t+16|0,e[W5>>2]=y3,i6=S9(z5)|0,R3=t+20|0,e[R3>>2]=i6,G3=S9(z5)|0,a3=t+24|0,e[a3>>2]=G3,c3=t+4|0,e[c3>>2]=r,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[q5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[q5>>2]=1.274999976158142)}while(!1);U3=G0*2,M5=+(c|0),o6=(a|0)>0,p3=o6,z6=0,j6=0;e:for(;;){for(p=p3^1,y6=z6;;){if(Q3=y6+1|0,n6=+(Q3|0),W3=n6*.08664337545633316,P3=W3+2.7488713472395148,V5=+Gr(+P3),v3=U3*V5,O3=v3/M5,l6=+Pi(O3),d3=~~l6,m=(d3|0)<=(j6|0),V6=m|p,!V6){E=Q3,I=d3,F6=y6;break}if(k6=(Q3|0)<87,k6)y6=Q3;else{A9=j6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],c6=j3-S6,p6=I-j6|0,Y6=+(p6|0),C6=c6/Y6,S3=j6-I|0,X3=j6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,e3=j6-T9|0,x6=S6,f9=j6;u6=x6+100,H3=y3+(f9<<2)|0,s[H3>>2]=u6,b3=x6+C6,q3=f9+1|0,G6=(q3|0)==(e3|0),!G6;)x6=b3,f9=q3;if(x3=(e3|0)<(a|0),f6=(E|0)<87,f6)p3=x3,z6=E,j6=e3;else{A9=e3;break}}if(k3=(A9|0)<(a|0),k3)for(u9=A9;N6=u9+-1|0,r6=y3+(N6<<2)|0,Q6=e[r6>>2]|0,F=y3+(u9<<2)|0,e[F>>2]=Q6,M=u9+1|0,W6=(M|0)==(a|0),!W6;)u9=M;if(z3=(a|0)>0,z3){for(A6=a<<1,t3=(c|0)/(A6|0)&-1,O6=r+120|0,s3=e[O6>>2]|0,a6=r+124|0,d6=r+116|0,D3=r+112|0,L6=1,F3=0,d9=-99;;){Y=n5(t3,F3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Ks(+e0),X=H*13.100000381469727,U=n5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,V=Z,a0=+Ks(+V),s0=a0*2.240000009536743,i0=s0+X,K=t0*9999999747378752e-20,h0=K,o0=i0+h0,c0=o0,j=s3+d9|0,l0=(j|0)<(F3|0);e:do if(l0)for(f0=+s[D3>>2],d0=c0-f0,w0=d0,$9=d9;;){if(C0=n5($9,t3)|0,u0=+(C0|0),B0=u0*.0007399999885819852,p0=B0,I0=+Ks(+p0),S0=I0*13.100000381469727,K0=n5(C0,C0)|0,_0=+(K0|0),Q0=_0*18499999754340024e-24,L0=Q0,M0=+Ks(+L0),U0=M0*2.240000009536743,y0=u0*9999999747378752e-20,q0=y0,x0=S0+q0,D0=x0+U0,T0=D0(a|0);e:do if(J0)U6=L6;else for(Y0=e[a6>>2]|0,P0=Y0+F3|0,D6=L6;;){if(H0=(D6|0)<(P0|0),!H0&&(e1=n5(D6,t3)|0,b0=+(e1|0),i1=b0*.0007399999885819852,c1=i1,$1=+Ks(+c1),f1=$1*13.100000381469727,g1=n5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,r1=a1,o1=+Ks(+r1),z0=o1*2.240000009536743,I1=b0*9999999747378752e-20,h1=I1,m1=f1+h1,d1=m1+z0,E1=+s[d6>>2],p1=E1+c0,Q1=p1,R1=d1>2]=F1,k1=F3+1|0,L3=(k1|0)==(a|0),L3)break;L6=U6,F3=k1,d9=a9}if(z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),f2=r+36|0,s2=w/G0,E2=s2,o2=r+24|0,V1=+s[o2>>2],h2=r+28|0,a2=+s[h2>>2],i2=SS(f2,E2,a,V1,a2)|0,A2=t+8|0,e[A2>>2]=i2,X1=S9(12)|0,r2=t+12|0,e[r2>>2]=X1,u2=S9(z5)|0,e[X1>>2]=u2,e2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=v2,!!z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,D=e[v>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,V2=d2/U3,G2=+Kn(+V2),q2=G2*2.885390043258667,M2=q2+-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,u5=+s[Z2>>2],v5=u5,P5=v5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],r5=m5*X2,R2=r5,_2=R2+P5,B2=_2,C5=b+(t9<<2)|0,s[C5>>2]=B2,L5=(C2+200|0)+(o5<<2)|0,d5=+s[L5>>2],D5=d5,G5=D5*e5,H2=(C2+200|0)+(b5<<2)|0,I5=+s[H2>>2],A5=I5*X2,c5=A5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,f5=J2+p5,i5=f5,R5=D+(t9<<2)|0,s[R5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function hQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0;if(G0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,K0=(l0|0)==0,K0||I2(l0),x0=t+24|0,D0=e[x0>>2]|0,T0=(D0|0)==0,T0||I2(D0),c=t+8|0,f=e[c>>2]|0,E=(f|0)==0,!E){for(m=f,Y0=0;I=m+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,b=v+(Y0<<2)|0,w=e[b>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[c>>2]|0,L=_+(Y0<<2)|0,x=e[L>>2]|0,F=x+8|0,M=e[F>>2]|0,I2(M),T=e[c>>2]|0,N=T+(Y0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(Y0<<2)|0,W=e[J>>2]|0,e0=W+16|0,H=e[e0>>2]|0,I2(H),X=e[c>>2]|0,U=X+(Y0<<2)|0,$0=e[U>>2]|0,V=$0+20|0,a0=e[V>>2]|0,I2(a0),s0=e[c>>2]|0,i0=s0+(Y0<<2)|0,n0=e[i0>>2]|0,K=n0+24|0,h0=e[K>>2]|0,I2(h0),o0=e[c>>2]|0,c0=o0+(Y0<<2)|0,j=e[c0>>2]|0,f0=j+28|0,d0=e[f0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(Y0<<2)|0,k0=e[C0>>2]|0,I2(k0),u0=Y0+1|0,J0=(u0|0)==17,!J0;)r=e[c>>2]|0,m=r,Y0=u0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,L0=Q0+4|0,M0=e[L0>>2]|0,I2(M0),N0=e[p0>>2]|0,U0=N0+8|0,y0=e[U0>>2]|0,I2(y0),q0=e[p0>>2]|0,I2(q0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function fQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,f=I,L=C,C=C+((1*f|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,dQ(E,a0,r,A,140,-1),s0=(E|0)>0,s0)for(l0=0;i0=r+(l0<<2)|0,n0=+s[i0>>2],K=A+(l0<<2)|0,h0=+s[K>>2],m=n0-h0,p=L+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,c0=(B|0)==(E|0),!c0;)l0=B;if(v=e[J>>2]|0,b=t+4|0,w=e[b>>2]|0,y=w+128|0,D=e[y>>2]|0,dQ(E,v,L,A,0,D),s0)f0=0;else{C=C0;return}for(;_=r+(f0<<2)|0,x=+s[_>>2],F=L+(f0<<2)|0,M=+s[F>>2],T=x-M,s[F>>2]=T,N=f0+1|0,j=(N|0)==(E|0),!j;)f0=N;if(!s0){C=C0;return}for(Q=e[b>>2]|0,d0=0;G=A+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=L+(d0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,V=d0+1|0,o0=(V|0)==(E|0),!o0;)d0=V;C=C0}function uQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,C2=t2+4|0,o5=+s[C2>>2],l5=o5+c,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,c0=A5+1|0,I0=(c0|0)<(l1|0),I0;)A5=c0;if(x0=t2+8|0,e1=+s[x0>>2],c1=l50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],r1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=r1,z0=g5+1|0,H2=(z0|0)==(M|0),!H2;)g5=z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=t2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){S1=r+(c5<<2)|0,L1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=L1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,D1=e[N1>>2]|0,K1=(D1|0)==(G1|0),!K1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=r+(k1<<2)|0,H1=+s[O1>>2],q1=H1>s5,q1){S5=k1,s5=H1;continue e}else B5=k1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[R1>>2]|0,z1=G1>>c2,f2=(z1|0)>16,E=f2?16:z1,s2=(E|0)<0,f=s2?0:E,E2=h1+(f<<2)|0,o2=e[E2>>2]|0,V1=e[x1>>2]|0,h2=E1+h5,a2=h2,$2=a2+-30,i2=$2*.10000000149011612,A2=~~i2,X1=(A2|0)<0,r2=X1?0:A2,u2=(r2|0)>7,e2=u2?7:r2,y2=o2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[v2>>2],d2=~~N2,V2=(d2|0)<(D2|0),V2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=q2-M2|0,z2=+(P2|0),O2=V1>>1,T1=+(O2|0),X2=N2+-16,x5=+(V1|0),e5=X2*x5,b5=e5-T1,Z2=b5+z2,u5=~~Z2,I5=d2,H5=u5;v5=(H5|0)>0,v5&&(F=I5+2|0,P5=v2+(F<<2)|0,k2=+s[P5>>2],m5=k2+h5,r5=U1+(H5<<2)|0,R2=+s[r5>>2],_2=R2>2]=m5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),L5=I5+1|0,d5=(L5|0)<(D2|0),$5=d5&C5,$5;)I5=L5,H5=B2;if(v)c5=w;else{L=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),D5=e[L>>2]|0,bS(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,H=e[Y>>2]|0,X=e0-H|0,$0=e[W1>>2]|0,Z=$0+32|0,K=1,j=J,W2=0,x2=X;;){s0=U1+(x2<<2)|0,i0=+s[s0>>2],n0=t0+(K<<2)|0,h0=e[n0>>2]|0,o0=h0+j|0,l0=o0>>1,f0=l0-H|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(x2|0)<(f0|0);t:do if(C0)for(m=x2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(u0=p+1|0,B0=U1+(u0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(K0=p0=(G|0),N0=(j|0)>(L0|0),R5=M0|N0;t:do if(R5)g2=W2;else for(p5=W2;;){if(U0=A+(p5<<2)|0,y0=+s[U0>>2],q0=y0>2]=f5),D0=p5+1|0,T0=(D0|0)<(G|0),!T0){g2=D0;break t}if(D=t0+(D0<<2)|0,x=e[D>>2]|0,J0=(x|0)>(L0|0),J0){g2=D0;break}else p5=D0}while(!1);if(V=g2+1|0,a0=(V|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,K=V,j=_,W2=g2,x2=Q5}else a5=0;while(!1);if(Y0=e[T>>2]|0,P0=Y0+-1|0,V0=U1+(P0<<2)|0,G0=+s[V0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;n1=A+(t5<<2)|0,H0=+s[n1>>2],b0=H0>2]=G0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function j$(t,r,A,a,c,f,E){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,K=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,u0=e[k0>>2]|0,B=u0+(a<<2)|0,v=e[B>>2]|0,b=F+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,I0=0;_=r+(I0<<2)|0,L=+s[_>>2],x=v+(I0<<2)|0,M=+s[x>>2],T=M+L,N=+s[b>>2],G=T>N,S0=G?N:T,O=A+(I0<<2)|0,z=+s[O>>2],Y=z+K,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,H=+s[W>>2],X=S0-H,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(V=D*Z,a0=1-V,s0=a0,i0=s0<0,i0?B0=9999999747378752e-20:B0=s0):(n0=Q*Z,h0=1-n0,o0=h0,B0=o0),c0=f+(I0<<2)|0,j=+s[c0>>2],l0=j*B0,s[c0>>2]=l0),f0=I0+1|0,p0=(f0|0)==(m|0),!p0;)I0=f0}function kS(t,r){t=+t,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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=r+4|0,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=r+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,F=(x|0)/2&-1,M=+(F|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),m=M/I,p=D+2936|0,B=+s[p>>2],v=B*m,b=v+t,w=b<-9999,A=w?-9999:b,+A}function vS(t,r,A,a,c,f,E,I,m){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0;if(G4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,V3=o5+500|0,C3=e[V3>>2]|0,f6=(C3|0)==0,f6?K5=16:(l6=o5+508|0,C6=e[l6>>2]|0,K5=C6),t3=e[o5>>2]|0,I6=((r+132|0)+(t3*60|0)|0)+(t<<2)|0,n0=e[I6>>2]|0,k0=(r+252|0)+(t<<2)|0,N0=e[k0>>2]|0,G0=1624+(N0<<3)|0,l1=+A1[G0>>3],B1=(r+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,t2=C,C=C+((1*v|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|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=n5(W1,K5)|0,x=F5,w3=C,C=C+((1*x|0)+15&-16)|0,e[t2>>2]=w3,w=F5,f3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=f3,y=F5,B3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=B3,D=F5,N3=C,C=C+((1*D|0)+15&-16)|0,e[k2>>2]=N3,z5=(m|0)>1,z5&&(y3=w3+(K5<<2)|0,W5=t2+4|0,e[W5>>2]=y3,i6=f3+(K5<<2)|0,R3=C2+4|0,e[R3>>2]=i6,G3=B3+(K5<<2)|0,a3=O2+4|0,e[a3>>2]=G3,l3=N3+(K5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,f9=(m|0)==2,!f9))for(k5=2;M=e[t2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=n5(k5,K5)|0,U3=M+(O5<<2)|0,M5=t2+(k5<<2)|0,e[M5>>2]=U3,o6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,x3=O2+(k5<<2)|0,e[x3>>2]=A3,p3=z+(O5<<2)|0,k3=k2+(k5<<2)|0,e[k3>>2]=p3,Q3=k5+1|0,j6=(Q3|0)==(m|0),!j6;)k5=Q3;if(q5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(n6=e[k2>>2]|0,W3=(m|0)>0,P3=s0^-1,V5=K5^-1,T6=0,I9=P3;;){if(O3=(I9|0)>(V5|0),j4=O3?I9:V5,d3=j4^-1,k6=s0-T6|0,v6=(K5|0)>(k6|0),p=v6?k6:K5,s4(_5|0,E|0,W1|0)|0,Ae(n6|0,0,F5|0)|0,W3)for(S6=(p|0)>0,B6=n0-T6|0,n9=0;;){if(S3=f+(n9<<2)|0,X3=e[S3>>2]|0,e6=X3+(T6<<2)|0,u6=_5+(n9<<2)|0,H3=e[u6>>2]|0,b3=(H3|0)==0,b3){if(S6)for(b6=O2+(n9<<2)|0,A6=e[b6>>2]|0,O6=t2+(n9<<2)|0,s3=e[O6>>2]|0,a6=C2+(n9<<2)|0,d6=e[a6>>2]|0,D3=k2+(n9<<2)|0,N6=e[D3>>2]|0,E9=0;T0=A6+(E9<<2)|0,s[T0>>2]=1000000013351432e-25,J0=s3+(E9<<2)|0,s[J0>>2]=0,Y0=d6+(E9<<2)|0,s[Y0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,V0=X3+(U<<2)|0,e[V0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(q3=O2+(n9<<2)|0,z3=e[q3>>2]|0,S6){for(z9=0;$0=z9+T6|0,r6=X3+($0<<2)|0,Q6=e[r6>>2]|0,x6=1768+(Q6<<2)|0,V6=e[x6>>2]|0,J6=z3+(z9<<2)|0,e[J6>>2]=V6,L3=z9+1|0,y6=(L3|0)==(d3|0),!y6;)z9=L3;if(W6=c+(n9<<2)|0,G6=e[W6>>2]|0,e9=k2+(n9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;L6=(G9|0)>=(B6|0),a0=L6?x4:l1,U6=a0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+zi(+z6),K=z3+(G9<<2)|0,h0=+s[K>>2],o0=d9/h0,c0=s9+(G9<<2)|0,y9=!(o0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=t2+(n9<<2)|0,f0=e[l0>>2]|0,d0=C2+(n9<<2)|0,w0=e[d0>>2]|0,b9=0;;)if(C0=b9+T6|0,u0=G6+(C0<<2)|0,B0=+s[u0>>2],p0=B0*B0,I0=f0+(b9<<2)|0,s[I0>>2]=p0,S0=w0+(b9<<2)|0,s[S0>>2]=p0,K0=+s[u0>>2],_0=K0<0,_0&&(Q0=+s[I0>>2],L0=-Q0,s[I0>>2]=L0),M0=z3+(b9<<2)|0,U0=+s[M0>>2],y0=U0*U0,s[M0>>2]=y0,q0=b9+1|0,F3=(q0|0)==(d3|0),F3){T=d0,D0=f0;break}else b9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(n9<<2)|0,Y=e[F>>2]|0,H=C2+(n9<<2)|0,T=H,D0=Y),x0=e[T>>2]|0,b4=e[i0>>2]|0,+IQ(b4,n0,D0,x0,z3,0,T6,p,e6)}if(n1=n9+1|0,t9=(n1|0)==(m|0),t9)break;n9=n1}if(j3=e[g2>>2]|0,c6=(j3|0)>0,c6)for(p6=(p|0)>0,R6=I-T6|0,Y6=n0-T6|0,m3=j3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,b0=(a+2184|0)+(C4<<2)|0,i1=e[b0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(T6<<2)|0,g1=f+(i1<<2)|0,s1=e[g1>>2]|0,a1=t2+(e1<<2)|0,r1=e[a1>>2]|0,o1=t2+(i1<<2)|0,z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=k2+(e1<<2)|0,w1=e[x1>>2]|0,S1=k2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(H6=0;;){K1=(H6|0)<(R6|0);do if(K1){if(O1=w1+(H6<<2)|0,H1=e[O1>>2]|0,q1=(H1|0)==0,Y1=L1+(H6<<2)|0,q1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(H6|0)<(Y6|0);do if(e5)b5=z0+(H6<<2)|0,Z2=+s[b5>>2],u5=r1+(H6<<2)|0,v5=+s[u5>>2],P5=v5+Z2,s[u5>>2]=P5,$9=+zi(+P5),l5=h1+(H6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=r1+(H6<<2)|0,r5=+s[m5>>2],R2=z0+(H6<<2)|0,_2=+s[R2>>2],B2=_2+r5,C5=B2<0,u9=+zi(+r5),a9=+zi(+_2),L5=a9+u9,d5=h1+(H6<<2)|0,s[d5>>2]=L5,C5){D5=-L5,s[m5>>2]=D5,N=R2;break}else{s[m5>>2]=L5,N=R2;break}while(!1);G5=d1+(H6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=H6+T6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}P1=r1+(H6<<2)|0,c2=+s[P1>>2],T9=+zi(+c2),z1=z0+(H6<<2)|0,f2=+s[z1>>2],E6=+zi(+f2),s2=E6+T9,s[P1>>2]=s2,E2=h1+(H6<<2)|0,o2=+s[E2>>2],V1=d1+(H6<<2)|0,h2=+s[V1>>2],a2=h2+o2,s[E2>>2]=a2,e[Y1>>2]=1,e[O1>>2]=1,V=H6+T6|0,$2=$1+(V<<2)|0,i2=e[$2>>2]|0,A2=s1+(V<<2)|0,X1=e[A2>>2]|0,E4=(i2|0)>-1,m4=0-i2|0,r2=E4?i2:m4,o4=(X1|0)>-1,A4=0-X1|0,u2=o4?X1:A4,e2=(r2|0)>(u2|0),e2?(y2=(i2|0)>0,v2=i2-X1|0,w2=X1-i2|0,F2=y2?v2:w2,e[A2>>2]=F2,J=e[$2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,V2=D2?N2:d2,e[A2>>2]=V2,e[$2>>2]=X1,t0=e[A2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,q2=h4?G2:S4,M2=q2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[A2>>2]=T1,X2=e[$2>>2]|0,x5=0-X2|0,e[$2>>2]=x5)}while(!1);if(I5=p1+(H6<<2)|0,A5=+s[I5>>2],c5=R1+(H6<<2)|0,B5=+s[c5>>2],M1=B5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=H6+1|0,A9=(S5|0)==(d3|0),A9)break;H6=S5}D4=e[i0>>2]|0,+IQ(D4,n0,r1,h1,p1,w1,T6,p,f1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{r3=W2;break}}else r3=j3;if(p5=T6+K5|0,t5=(s0|0)>(p5|0),N9=I9+K5|0,t5)T6=p5,I9=N9;else{v3=r3;break}}else v3=q5;if(g3=(v3|0)>0,g3)X5=v3,i9=0;else{C=G4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,f5=e[J2>>2]|0,i5=(f5|0)==0,R5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[R5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,H5=(Q5|0)==0,H5?J5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[R5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,J5=e0),u3=i9+1|0,h3=(u3|0)<(J5|0),h3;)X5=J5,i9=u3;C=G4}function SS(t,r,A,a,c){t=t|0,r=+r,A=A|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0;for(Ke=C,C=C+32480|0,Y3=Ke+32256|0,p9=Ke+1792|0,w9=Ke,x=A<<2,b=x,F=C,C=C+((1*b|0)+15&-16)|0,i2=S9(68)|0,Ae(p9|0,0,30464)|0,v3=a>0,o4=a<0,k9=0;;){for($e=k9<<2,ie=0;r5=ie+$e|0,I5=(r5|0)<88,I5?(t5=1272+(r5<<2)|0,H5=+s[t5>>2],q9=H5):q9=-30,w3=r5+1|0,a3=(w3|0)<88,a3?(L6=1272+(w3<<2)|0,U6=+s[L6>>2],z6=q9>U6,z6?re=U6:re=q9):(s9=q9>-30,s9?re=-30:re=q9),y6=r5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=re>t9,A9?D9=t9:D9=re):(F3=re>-30,F3?D9=-30:D9=re),j6=r5+3|0,f9=(j6|0)<88,f9?(a9=1272+(j6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(u9=D9>-30,u9?Ye=-30:Ye=D9),E6=Y3+(ie<<2)|0,s[E6>>2]=Ye,T6=ie+1|0,T8=(T6|0)==56,!T8;)ie=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,H=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(H|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,n1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(n1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,A2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,A2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,v3)for(n8=0;;){if(o4)for(E8=0;h4=16-E8|0,vt=(h4|0)>-1,rt=0-h4|0,G9=vt?h4:rt,z9=+(G9|0),b9=z9*c,E9=b9+a,H6=E9<0,I=H6?0:E9,n9=I>0,f=n9?0:I,m4=((p9+(k9*1792|0)|0)+(n8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+f,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,R6=et?g3:J8,b6=+(R6|0),x6=b6*c,D6=x6+a,d9=D6<0,m=d9?0:D6,i9=((p9+(k9*1792|0)|0)+(n8*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=n8+1|0,k8=(e3|0)==8,k8)break;n8=e3}else for(b8=0;;){if(o4)for(m8=0;j4=16-m8|0,St=(j4|0)>-1,st=0-j4|0,C4=St?j4:st,N4=+(C4|0),U9=N4*c,G4=U9+a,a4=G4>0,E=a4?0:G4,f4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[f4>>2],H9=Ce+E,s[f4>>2]=H9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,ft=(Be|0)>-1,nt=0-Be|0,Ne=ft?Be:nt,Xe=+(Ne|0),U4=Xe*c,Ge=U4+a,P4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[P4>>2],e8=be+Ge,s[P4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(ae=b8+1|0,W8=(ae|0)==8,W8)break;b8=ae}for(D4=t+(k9<<2)|0,x4=+s[D4>>2],T4=x4,H4=0;;){for(u4=(H4|0)<2,_6=+(H4|0),w=_6*10,y=70-w,O4=u4?50:y,L9=O4+T4,$4=L9,d8=0;_4=((p9+(k9*1792|0)|0)+(H4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],le=W9+$4,s[_4>>2]=le,ce=d8+1|0,M4=(ce|0)==56,!M4;)d8=ce;for(B4=w9+(H4*224|0)|0,s4(B4|0,Y3|0,224)|0,ee=+(H4|0),F4=ee*10,ge=70-F4,S8=0;;)if(C9=(w9+(H4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ge+g6,s[C9>>2]=Ue,pe=S8+1|0,lt=(pe|0)==56,lt){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(H4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(H4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,Re=(t8|0)==56,!Re;)i8=t8;if(g4=H4+1|0,kt=(g4|0)==8,kt){Le=1;break}else H4=g4}for(;;){for(k4=Le+-1|0,xe=0;;)if(f8=(w9+(k4*224|0)|0)+(xe<<2)|0,T=+s[f8>>2],N=(w9+(Le*224|0)|0)+(xe<<2)|0,G=+s[N>>2],O=T>2]=T),z=xe+1|0,$t=(z|0)==56,$t){Pe=0;break}else xe=z;for(;Y=(w9+(Le*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Le*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,te=(X|0)==56,!te;)Pe=X;if(U=Le+1|0,G8=(U|0)==8,G8)break;Le=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=r,L4=(A|0)>0,X4=A^-1,Qe=0;;){for(Z=S9(32)|0,V=i2+(Qe<<2)|0,e[V>>2]=Z,a0=+(Qe|0),s0=a0*.5,i0=a0*.34657350182533264,n0=i0+4.135165354540845,K=+Gr(+n0),o0=K/y9,c0=+zA(+o0),j=~~c0,l0=+(j|0),f0=l0*r,d0=f0+1,w0=d0,C0=+Kn(+w0),k0=C0*2.885390043258667,u0=k0+-11.931568145751953,p0=+$B(+u0),I0=~~p0,S0=j+1|0,K0=+(S0|0),_0=K0*r,Q0=_0,L0=+Kn(+Q0),M0=L0*2.885390043258667,N0=M0+-11.931568145751953,U0=+zA(+N0),q0=~~U0,x0=(I0|0)>(Qe|0),ht=x0?Qe:I0,D0=(ht|0)<0,B8=D0?0:ht,T0=(q0|0)>16,p=T0?16:q0,J0=(B8|0)>(p|0),Y0=Qe+1|0,P0=(Y0|0)<17,V0=s0+3.9657840728759766,ne=0;;){if(G0=S9(232)|0,O0=Z+(ne<<2)|0,e[O0>>2]=G0,L4)for(r8=0;H0=F+(r8<<2)|0,s[H0>>2]=999,e1=r8+1|0,B9=(e1|0)==(A|0),!B9;)r8=e1;if(!J0)for(fe=B8;;){for(b0=+(fe|0),i1=b0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,r1=s1+3.9032840728759766,o1=r1*.6931470036506653,z0=+Gr(+o1),I1=z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Gr(+d1),B1=E1/y9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,w1=(B|0)>(A|0),it=w1?A:B,S1=(it|0)<(ye|0),q4=S1?it:ye,L1=(R1|0)<0,j8=L1?0:R1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(q4|0)<(Y8|0),k1=(q4|0)<(A|0),K8=G1&k1,K8)for(U1=((p9+(fe*1792|0)|0)+(ne*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],D1=(ye|0)<(A|0),K1=D1?ye:A,O1=K1^-1,H1=(h1|0)>0,_=h1^-1,q1=H1?_:-1,Y1=(q1|0)<(O1|0),Y4=Y1?O1:q1,j1=Y4^-1,n2=(R1|0)>0,L=R1^-1,W1=n2?L:-1,P1=(W1|0)<(X4|0),ot=P1?X4:W1,z1=ot-Y4|0,f2=Y4+A|0,s2=f2^-1,E2=z1>>>0>s2>>>0,R8=E2?z1:s2,o2=j1-R8|0,X9=q4;;)if(V1=F+(X9<<2)|0,h2=+s[V1>>2],a2=h2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,u8=(t2|0)==(o2|0),u8){Oe=o2;break}else X9=t2;else Oe=q4;if($2=I8+1|0,O8=($2|0)==56,O8){He=Oe;break}else I8=$2,ye=Oe}if(c1=(He|0)<(A|0),c1)for($1=((p9+(fe*1792|0)|0)+(ne*224|0)|0)+220|0,f1=+s[$1>>2],Fe=He;X1=F+(Fe<<2)|0,r2=+s[X1>>2],u2=r2>f1,u2&&(s[X1>>2]=f1),e2=Fe+1|0,H8=(e2|0)==(A|0),!H8;)Fe=e2;if(y2=fe+1|0,v2=(fe|0)<(p|0),v2)fe=y2;else break}if(P0){for(D8=0,ue=0;;){if(G2=+(D8|0),q2=G2*.125,M2=q2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Gr(+z2),O2=o5/y9,T1=~~O2,x5=M2+4.028284072875977,e5=x5*.6931470036506653,b5=+Gr(+e5),Z2=b5/y9,u5=Z2+1,v5=~~u5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(A|0),I3=l5?A:v,k2=(I3|0)<(ue|0),qe=k2?I3:ue,m5=(v5|0)<0,X8=m5?0:v5,R2=(X8|0)>(A|0),ut=R2?A:X8,_2=(qe|0)<(ut|0),B2=(qe|0)<(A|0),a8=_2&B2,a8)for(C5=((p9+(Y0*1792|0)|0)+(ne*224|0)|0)+(D8<<2)|0,L5=+s[C5>>2],d5=(ue|0)<(A|0),D5=d5?ue:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,A5=(H2|0)<(G5|0),$8=A5?G5:H2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(X4|0),_8=S5?X4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=qe;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>L5,J2&&(s[s5>>2]=L5),f5=Q4+1|0,wt=(f5|0)==(p5|0),wt){A8=p5;break}else Q4=f5;else A8=qe;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,ue=A8}if(D2=(we|0)<(A|0),D2)for(d2=((p9+(Y0*1792|0)|0)+(ne*224|0)|0)+220|0,V2=+s[d2>>2],C8=we;R5=F+(C8<<2)|0,j2=+s[R5>>2],$5=j2>V2,$5&&(s[R5>>2]=V2),x2=C8+1|0,ct=(x2|0)==(A|0),!ct;)C8=x2}for(w2=Z+(ne<<2)|0,C2=Z+(ne<<2)|0,F2=Z+(ne<<2)|0,he=0;;){u3=+(he|0),h3=u3*.125,J5=V0+h3,X5=J5*.6931470036506653,r3=+Gr(+X5),m3=r3/y9,F5=~~m3,K5=(F5|0)<0;do if(K5)f3=he+2|0,B3=e[w2>>2]|0,V3=B3+(f3<<2)|0,s[V3>>2]=-999;else if(N3=(F5|0)<(A|0),N3){i6=F+(F5<<2)|0,R3=e[i6>>2]|0,G3=he+2|0,l3=e[C2>>2]|0,c3=l3+(G3<<2)|0,e[c3>>2]=R3;break}else{z5=he+2|0,y3=e[F2>>2]|0,W5=y3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=he+1|0,gt=(C3|0)==56,gt)break;he=C3}Q5=G0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(q5=G0+12|0,U5=+s[q5>>2],O5=U5>-200,O5)j9=1;else if(Q3=G0+16|0,n6=+s[Q3>>2],W3=n6>-200,W3)j9=2;else if(P3=G0+20|0,V5=+s[P3>>2],O3=V5>-200,O3)j9=3;else if(l6=G0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=G0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(j3=G0+32|0,c6=+s[j3>>2],p6=c6>-200,p6)j9=6;else if(Y6=G0+36|0,C6=+s[Y6>>2],S3=C6>-200,S3)j9=7;else if(X3=G0+40|0,e6=+s[X3>>2],u6=e6>-200,u6)j9=8;else if(H3=G0+44|0,b3=+s[H3>>2],q3=b3>-200,q3)j9=9;else if(z3=G0+48|0,A6=+s[z3>>2],t3=A6>-200,t3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=G0+56|0,D3=+s[d6>>2],N6=D3>-200,N6)j9=12;else if(r6=G0+60|0,Q6=+s[r6>>2],V6=Q6>-200,V6)j9=13;else{if(I6=G0+64|0,J6=+s[I6>>2],L3=J6>-200,L3){j9=14;break}if(W6=G0+68|0,G6=+s[W6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,q8=55;;){if(k5=q8+2|0,U3=G0+(k5<<2)|0,M5=+s[U3>>2],o6=M5>-200,o6){tt=q8;break}if(A3=q8+-1|0,x3=(A3|0)>17,x3)q8=A3;else{tt=A3;break}}if(f6=+(tt|0),p3=G0+4|0,s[p3>>2]=f6,k3=ne+1|0,F8=(k3|0)==8,F8)break;ne=k3}if(M8=(Y0|0)==17,M8)break;Qe=Y0}return C=Ke,i2|0}function dQ(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=+c,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,o2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,r3=C,C=C+((1*p|0)+15&-16)|0,B=w,W5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[A>>2],n6=k5+c,S6=n6<1,A4=S6?1:n6,u6=A4*A4,D=u6*.5,z=D*A4,s[y>>2]=D,s[o2>>2]=D,s[j2>>2]=0,s[r3>>2]=z,s[W5>>2]=0,V=(t|0)>1,V)for(F3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(F3<<2)|0,h1=+s[c1>>2],L1=h1+c,q1=L1<1,y9=q1?1:L1,V1=y9*y9,y2=V1+E6,M2=V1*E4,u5=M2+T6,L5=M2*E4,S5=L5+i9,J2=V1*y9,f5=J2+I9,i5=M2*y9,R5=i5+N9,$5=y+(F3<<2)|0,s[$5>>2]=y2,x2=o2+(F3<<2)|0,s[x2>>2]=u5,Q5=j2+(F3<<2)|0,s[Q5>>2]=S5,H5=r3+(F3<<2)|0,s[H5>>2]=f5,j5=W5+(F3<<2)|0,s[j5>>2]=R5,E5=F3+1|0,u3=E4+1,F6=(E5|0)==(t|0),!F6;)F3=E5,E6=y2,T6=u5,i9=S5,N9=R5,I9=f5,E4=u3;if(f0=e[r>>2]|0,_0=f0>>16,J0=(_0|0)>-1,J0)J5=f0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=f0,B3=_0,t9=0,h4=0;;)if(m3=F5&65535,K5=y+(m3<<2)|0,w3=+s[K5>>2],f3=0-B3|0,V3=y+(f3<<2)|0,N3=+s[V3>>2],z5=N3+w3,y3=o2+(m3<<2)|0,i6=+s[y3>>2],R3=o2+(f3<<2)|0,G3=+s[R3>>2],a3=i6-G3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(f3<<2)|0,q5=+s[C3>>2],U5=q5+c3,O5=r3+(m3<<2)|0,U3=+s[O5>>2],M5=r3+(f3<<2)|0,o6=+s[M5>>2],e3=o6+U3,A3=W5+(m3<<2)|0,x3=+s[A3>>2],f6=W5+(f3<<2)|0,p3=+s[f6>>2],k3=x3-p3,Q3=e3*U5,W3=k3*a3,P3=Q3-W3,V5=k3*z5,v3=e3*a3,g3=V5-v3,O3=U5*z5,l6=a3*a3,d3=O3-l6,k6=g3*h4,v6=k6+P3,B6=v6/d3,j3=B6<0,e9=j3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,R6=t9+1|0,Y6=h4+1,C6=r+(R6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){J5=S3,d6=P3,Q6=g3,J6=d3,M6=R6,o4=Y6;break}else F5=S3,B3=X3,t9=R6,h4=Y6;if(h3=J5&65535,X5=(h3|0)<(t|0),X5)for(v=J5,z3=h3,j6=M6,z9=o4;;)if(b3=v>>16,q3=y+(z3<<2)|0,b6=+s[q3>>2],A6=y+(b3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=o2+(z3<<2)|0,a6=+s[s3>>2],Q=o2+(b3<<2)|0,_=+s[Q>>2],L=a6-_,x=j2+(z3<<2)|0,F=+s[x>>2],M=j2+(b3<<2)|0,T=+s[M>>2],N=F-T,G=r3+(z3<<2)|0,O=+s[G>>2],Y=r3+(b3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(z3<<2)|0,e0=+s[W>>2],H=W5+(b3<<2)|0,X=+s[H>>2],U=e0-X,$0=J*N,Z=U*L,a0=$0-Z,s0=U*O6,i0=J*L,n0=s0-i0,K=N*O6,h0=L*L,o0=K-h0,c0=n0*z9,j=c0+a0,l0=j/o0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(j6<<2)|0,s[C0>>2]=w0,k0=j6+1|0,u0=z9+1,B0=r+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,z3=I0,j6=k0,z9=u0;else{D3=a0,x6=n0,L3=o0,A9=k0,G9=u0;break}else D3=d6,x6=Q6,L3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(f9=A9,b9=G9;K0=b9*x6,Q0=K0+D3,L0=Q0/L3,M0=L0<0,L6=M0?0:L0,N0=L6-c,U0=a+(f9<<2)|0,s[U0>>2]=N0,y0=f9+1|0,q0=b9+1,y6=(y0|0)==(t|0),!y6;)f9=y0,b9=q0;if(x0=(f|0)<1,x0){C=D4;return}if(D0=(f|0)/2&-1,T0=D0-f|0,Y0=(T0|0)>-1,Y0)N6=D3,V6=x6,W6=L3,u9=0,E9=0;else for(P0=f-D0|0,H0=D0,i1=T0,d9=0,H6=0;;)if(n1=y+(H0<<2)|0,e1=+s[n1>>2],b0=0-i1|0,$1=y+(b0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=o2+(H0<<2)|0,s1=+s[l1>>2],a1=o2+(b0<<2)|0,r1=+s[a1>>2],o1=s1-r1,z0=j2+(H0<<2)|0,I1=+s[z0>>2],m1=j2+(b0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=r3+(H0<<2)|0,p1=+s[B1>>2],Q1=r3+(b0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,w1=W5+(H0<<2)|0,S1=+s[w1>>2],F1=W5+(b0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=x1*E1,Z1=k1*o1,N1=U1-Z1,D1=k1*g1,K1=x1*o1,O1=D1-K1,H1=E1*g1,Y1=o1*o1,j1=H1-Y1,n2=O1*H6,W1=n2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,f2=+s[z1>>2],s2=c2>2]=c2),E2=d9+1|0,h2=H6+1,a2=D0+E2|0,t2=a2-f|0,z6=(E2|0)==(P0|0),z6){N6=N1,V6=O1,W6=j1,u9=P0,E9=h2;break}else H0=a2,i1=t2,d9=E2,H6=h2;if(V0=u9+D0|0,G0=(V0|0)<(t|0),G0)for(O0=t-D0|0,b=V0,$9=u9,m4=E9;;)if(i2=b-f|0,A2=y+(b<<2)|0,X1=+s[A2>>2],r2=y+(i2<<2)|0,u2=+s[r2>>2],e2=X1-u2,v2=o2+(b<<2)|0,w2=+s[v2>>2],C2=o2+(i2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],V2=j2+(i2<<2)|0,G2=+s[V2>>2],q2=d2-G2,P2=r3+(b<<2)|0,z2=+s[P2>>2],o5=r3+(i2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,x5=+s[X2>>2],e5=W5+(i2<<2)|0,b5=+s[e5>>2],Z2=x5-b5,v5=T1*q2,P5=Z2*D2,l5=v5-P5,k2=Z2*e2,m5=T1*D2,r5=k2-m5,R2=q2*e2,_2=D2*D2,B2=R2-_2,C5=r5*m4,d5=C5+l5,D5=d5/B2,G5=D5-c,_5=a+($9<<2)|0,H2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,B5=A5+D0|0,D6=(A5|0)==(O0|0),D6){r6=l5,I6=r5,G6=B2,a9=O0,n9=c5;break}else b=B5,$9=A5,m4=c5;else r6=N6,I6=V6,G6=W6,a9=u9,n9=E9;if($2=(a9|0)<(t|0),$2)T9=a9,S4=n9;else{C=D4;return}for(;M1=S4*I6,g5=M1+r6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function bS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0;if(c1=C,f=A<<2,a=f,E=C,C=C+((1*a|0)+15&-16)|0,c=f,_=C,C=C+((1*c|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,H0=P0;else{for(K0=t+(y0<<2)|0,_0=+s[K0>>2],V0=P0;;){if(B=V0+-1|0,v=_+(B<<2)|0,b=+s[v>>2],w=_0>2]|0,x=L+r|0,F=(y0|0)<(x|0),M=(V0|0)>1,D0=M&F,!D0){O0=V0,i1=12;break}if(T=V0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){O0=V0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+r|0,W=(y0|0)<(J|0),W)V0=B;else{O0=V0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=y0,D=_+(G0<<2)|0,s[D>>2]=_0,H0=G0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,H=_+(O0<<2)|0,s[H>>2]=_0,H0=O0;break}}while(!1);if(n1=H0+1|0,X=y0+1|0,U0=(X|0)==(A|0),U0){e1=H0,b0=n1;break}else y0=X,P0=n1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=r+1|0,q0=0,T0=0;;){if(U=(q0|0)<(e1|0),U?($0=q0+1|0,Z=_+($0<<2)|0,V=+s[Z>>2],a0=_+(q0<<2)|0,i0=+s[a0>>2],n0=V>i0,n0?(K=E+($0<<2)|0,h0=e[K>>2]|0,L0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(q0<<2)|0,c0=e[o0>>2]|0,j=w0+c0|0,L0=j),l0=(L0|0)>(A|0),x0=l0?A:L0,f0=(T0|0)<(x0|0),f0)for(d0=_+(q0<<2)|0,C0=e[d0>>2]|0,k0=(L0|0)<(A|0),u0=k0?L0:A,Y0=T0;;)if(B0=t+(Y0<<2)|0,e[B0>>2]=C0,p0=Y0+1|0,M0=(p0|0)==(u0|0),M0){J0=u0;break}else Y0=p0;else J0=T0;if(I0=q0+1|0,N0=(I0|0)==(b0|0),N0)break;q0=I0,T0=J0}C=c1}function IQ(t,r,A,a,c,f,E,I,m){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=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,K=e[e0>>2]|0,u0=(K|0)==0,u0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(f|0)==0,N=(p1|0)<(I|0),G=N?p1: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,H=a+(O1<<2)|0,X=+s[H>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,V=A+(O1<<2)|0,a0=+s[V>>2],s0=a0<0,i0=Z,n0=+Tr(+i0),h0=+Pi(n0),s0){o0=-h0,c0=~~o0,j=m+(O1<<2)|0,e[j>>2]=c0;break}else{l0=~~h0,f0=m+(O1<<2)|0,e[f0>>2]=l0;break}while(!1);if(d0=O1+1|0,D1=(d0|0)==(G|0),D1){K1=G;break}else O1=d0}else K1=0;if(O=(K1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(f|0)!=0,Y=r-E|0,p=0,G1=0,H1=K1;;){z?(w0=f+(H1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(H1<<2)|0,p0=+s[B0>>2],I0=c+(H1<<2)|0,S0=+s[I0>>2],K0=p0/S0,_0=!(K0<.25),Q0=(H1|0)<(Y|0),j1=z&Q0,n2=_0|j1,n2){y0=A+(H1<<2)|0,q0=+s[y0>>2],x0=q0<0,D0=K0,T0=+Tr(+D0),J0=+Pi(T0),Y0=-J0,_=x0?Y0:J0,Q=~~_,P0=m+(H1<<2)|0,e[P0>>2]=Q,V0=n5(Q,Q)|0,G0=+(V0|0),n1=+s[I0>>2],H0=G0*n1,s[B0>>2]=H0,B=p,k1=G1;break}else{L0=K0+p,M0=G1+1|0,N0=F+(G1<<2)|0,e[N0>>2]=B0,B=L0,k1=M0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,H1=e1}if(b0=(U1|0)==0,b0||(Th(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,f1=+A1[$1>>3],b=v,q1=0;;)if(g1=F+(q1<<2)|0,l1=e[g1>>2]|0,a1=l1,r1=a1-c1|0,o1=r1>>2,z0=b,I1=!(z0>=f1),I1?(w=b,L=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,R1=b+-1,x1=c+(o1<<2)|0,w1=+s[x1>>2],w=R1,L=Q1,W1=w1),S1=m+(o1<<2)|0,e[S1>>2]=L,s[l1>>2]=W1,L1=q1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else b=w,q1=L1;return C=c2,+y}function DS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],c=e[r>>2]|0,f=+s[c>>2],E=af,p=m&1,B=I-p|0,B|0}function _S(t){t=t|0;var r=0,A=0,a=0;a=C,r=(t|0)==0,r||I2(t)}function RS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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?f=x:(I2(G),r=e[a>>2]|0,f=r),z=Y+1|0,c=(z|0)<(f|0),c;)x=f,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,b=v+(t0<<2)|0,w=e[b>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[B>>2]|0,I2(L),I2(t)}}function xS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(r,c,24),f=t+4|0,Q=e[f>>2]|0,U2(r,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(r,$0,24),Z=t+12|0,V=e[Z>>2]|0,a0=V+-1|0,U2(r,a0,6),s0=t+20|0,E=e[s0>>2]|0,U2(r,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,K=0;;){if(b=p+(K<<2)|0,w=e[b>>2]|0,y=Tt(w)|0,D=(y|0)>3,_=e[b>>2]|0,D?(U2(r,_,3),U2(r,1,1),L=e[b>>2]|0,x=L>>3,U2(r,x,5)):U2(r,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,c0=0;;)if(T=A&1,N=T+c0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,c0=N;if(z=o0+i0|0,t0=K+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,K=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,H=e[e0>>2]|0,U2(r,H,8),X=h0+1|0,n0=(X|0)==(a|0),!n0;)h0=X}}function LS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0;r1=C,E=r4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=W4(r,24)|0,e[E>>2]=J,i0=W4(r,24)|0,C0=E+4|0,e[C0>>2]=i0,M0=W4(r,24)|0,V0=M0+1|0,O0=E+8|0,e[O0>>2]=V0,n1=W4(r,6)|0,m=n1+1|0,p=E+12|0,e[p>>2]=m,B=W4(r,8)|0,v=E+20|0,e[v>>2]=B,b=(B|0)<0;e:do if(b)a1=26;else{if(w=(n1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=W4(r,3)|0,x=W4(r,1)|0,F=(x|0)<0,F){a1=26;break e}if(M=(x|0)==0,M)b0=_;else{if(T=W4(r,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,b0=O}if(z=y+(c1<<2)|0,e[z>>2]=b0,Y=(b0|0)==0,Y)l1=0;else for(a=b0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,H=(e0|0)==0,H){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{f=X;break}}if(D=(f|0)>0,D)for(Q=E+280|0,$1=0;;){if(V=W4(r,8)|0,a0=(V|0)<0,a0)break e;if(s0=Q+($1<<2)|0,e[s0>>2]=V,n0=$1+1|0,K=(n0|0)<(f|0),K)$1=n0;else{G0=D,H0=f;break}}else G0=0,H0=f}else G0=0,H0=0;if(h0=e[v>>2]|0,o0=L+24|0,c0=e[o0>>2]|0,j=(h0|0)<(c0|0),j){if(G0)for(l0=E+280|0,f1=0;;){if(w0=l0+(f1<<2)|0,k0=e[w0>>2]|0,u0=(k0|0)<(c0|0),!u0||(B0=(L+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,K0=(S0|0)==0,f0=f1+1|0,K0))break e;if(d0=(f0|0)<(H0|0),d0)f1=f0;else break}if(_0=(L+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,L0=Q0+4|0,N0=e[L0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(T0=n5(q0,g1)|0,J0=(T0|0)>(N0|0),J0)break e;if(x0=i1+-1|0,D0=(i1|0)>1,D0)i1=x0,g1=T0;else{c=T0;break}}return Y0=E+16|0,e[Y0>>2]=c,A=E,A|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(A=0,A|0):(I2(E),A=0,A|0)}function FS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,f=r4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[f>>2]=r,w0=r+12|0,L0=e[w0>>2]|0,P0=f+4|0,e[P0>>2]=L0,n1=s0+2848|0,H0=e[n1>>2]|0,I=f+12|0,e[I>>2]=H0,m=H0,p=r+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,b=f+16|0,e[b>>2]=v,w=e[v>>2]|0,y=r4(L0,4)|0,D=f+20|0,e[D>>2]=y,Q=(L0|0)>0,Q)for(L=r+24|0,x=r+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=r4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,b0=e1,o1=0;;)if(e0=1<>2]|0,$0=b0+1|0,Z=x+(b0<<2)|0,V=e[Z>>2]|0,a0=U+(V*56|0)|0,i0=e[W>>2]|0,n0=i0+(o1<<2)|0,e[n0>>2]=a0,i1=$0),K=o1+1|0,f1=(K|0)==(T|0),f1){c1=i1,m1=a;break}else b0=i1,o1=K;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(L0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(c0=f+24|0,e[c0>>2]=1,j=(w|0)>0,j){for(f0=1,s1=0;;)if(l0=n5(f0,L0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){A=l0;break}else f0=l0,s1=d0;e[c0>>2]=A,u0=A}else u0=1;if(C0=f+8|0,e[C0>>2]=I1,k0=u0<<2,B0=S9(k0)|0,p0=f+28|0,e[p0>>2]=B0,I0=(u0|0)>0,!I0)return f|0;if(S0=w<<2,!j){for(a1=0;Y0=S9(S0)|0,V0=B0+(a1<<2)|0,e[V0>>2]=Y0,G0=a1+1|0,O0=(G0|0)<(u0|0),O0;)a1=G0;return f|0}for(K0=e[p0>>2]|0,r1=0;;){for(D0=S9(S0)|0,T0=B0+(r1<<2)|0,e[T0>>2]=D0,J0=K0+(r1<<2)|0,q0=e[J0>>2]|0,c=u0,z0=0,E1=r1;d1=(c|0)/(L0|0)&-1,M0=(E1|0)/(d1|0)&-1,N0=n5(M0,d1)|0,U0=E1-N0|0,y0=q0+(z0<<2)|0,e[y0>>2]=M0,x0=z0+1|0,g1=(x0|0)==(w|0),!g1;)c=d1,z0=x0,E1=U0;if(_0=r1+1|0,Q0=(_0|0)<(u0|0),Q0)r1=_0;else break}return f|0}function MS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||EQ(t,r,A,x,2),0}function TS(t,r,A,a,c,f,E,I){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(f|0)>0,m)x=0,F=0;else return 0;for(;;)if(p=c+(x<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?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)==(f|0),L){T=M;break}else x=Q,F=M;return _=(T|0)==0,_||mQ(t,A,a,T,E),0}function NS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|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,k0=e[n0>>2]|0,N0=h1+1|0,J0=A+(h1<<2)|0,e[J0>>2]=k0,m1=N0),Y0=i1+1|0,O0=(Y0|0)==(c|0),O0){d1=m1;break}else i1=Y0,h1=m1;if(P0=(d1|0)==0,P0)return f=0,f|0;if(p=e[r>>2]|0,B=p+8|0,v=e[B>>2]|0,b=p+12|0,w=e[b>>2]|0,y=p+4|0,D=e[y>>2]|0,Q=e[p>>2]|0,_=D-Q|0,L=(_|0)/(v|0)&-1,F=d1<<2,M=Ht(t,F)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;H=Ht(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=H,Ae(H|0,0,z|0)|0,U=c1+1|0,b0=(U|0)==(d1|0),!b0;)c1=U;if(Y=(L|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=n5($1,v)|0,Z=e[p>>2]|0,V=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=A+(g1<<2)|0,s0=e[a0>>2]|0,G0=0,l1=0,o1=0;;)if(i0=V+l1|0,K=s0+(i0<<2)|0,h0=e[K>>2]|0,f1=(h0|0)>-1,z0=0-h0|0,o0=f1?h0:z0,c0=(o0|0)>(o1|0),E=c0?o0:o1,j=o0+G0|0,l0=l1+1|0,n1=(l0|0)==(v|0),n1){V0=j,r1=E;break}else G0=j,l1=l0,o1=E;else V0=0,r1=0;f0=+(V0|0),d0=f0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,u0=e[C0>>2]|0,B0=(r1|0)>(u0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,K0=(w0|0)<(I0|0),I1=S0|K0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(L0=M+(g1<<2)|0,M0=e[L0>>2]|0,U0=M0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(q0=$1+1|0,e1=(q0|0)==(L|0),e1)break;$1=q0}return x0=r+40|0,D0=e[x0>>2]|0,T0=D0+1|0,e[x0>>2]=T0,f=M,f|0}function GS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||EQ(t,r,A,x,3),0}function US(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0;if(z0=C,m=(c|0)>0,m)T0=0,r1=0;else return f=0,f|0;for(;;)if(p=a+(T0<<2)|0,F=e[p>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+r1|0,K=T0+1|0,q0=(K|0)==(c|0),q0){a1=s1;break}else T0=K,r1=s1;if(l1=(a1|0)==0,l1)return f=0,f|0;if(u0=e[r>>2]|0,K0=u0+8|0,_0=e[K0>>2]|0,Q0=u0+12|0,L0=e[Q0>>2]|0,B=u0+4|0,v=e[B>>2]|0,b=e[u0>>2]|0,w=v-b|0,y=(w|0)/(_0|0)&-1,D=Ht(t,4)|0,Q=y<<2,_=Ht(t,Q)|0,e[D>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[u0>>2]|0,M=(x|0)/(c|0)&-1,T=(_0|0)>0,N=L0+-1|0,G=(L0|0)>1,O=e[D>>2]|0,z=(c|0)>1,J0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,N0=0,V0=0,b0=H0,c1=0;;){if(t0=Y+(b0<<2)|0,J=e[t0>>2]|0,Y0=(J|0)>-1,$1=0-J|0,W=Y0?J:$1,H=(W|0)>(c1|0),I=H?W:c1,z)for(y0=N0,n1=1;;)if(X=A+(n1<<2)|0,U=e[X>>2]|0,$0=U+(b0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,f1=0-Z|0,V=P0?Z:f1,a0=(V|0)>(y0|0),E=a0?V:y0,s0=n1+1|0,x0=(s0|0)==(c|0),x0){U0=E;break}else y0=E,n1=s0;else U0=N0;if(i0=b0+1|0,n0=V0+c|0,h0=(n0|0)<(_0|0),h0)N0=U0,V0=n0,b0=i0,c1=I;else{M0=U0,e1=i0,i1=I;break}}else M0=0,e1=H0,i1=0;e:do if(G)for(O0=0;;){if(o0=(u0+2328|0)+(O0<<2)|0,c0=e[o0>>2]|0,j=(i1|0)>(c0|0),!j&&(l0=(u0+2584|0)+(O0<<2)|0,f0=e[l0>>2]|0,d0=(M0|0)>(f0|0),!d0)){G0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{G0=w0;break}}else G0=0;while(!1);if(k0=O+(J0<<2)|0,e[k0>>2]=G0,B0=J0+1|0,D0=(B0|0)==(y|0),D0)break;J0=B0,H0=e1}return p0=r+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,f=D,f|0}function PS(t,r,A,a,c,f,E,I){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0;if(s0=C,C=C+16|0,V=s0,m=r+36|0,p=e[m>>2]|0,F=(p|0)/2&-1,M=f<<2,T=n5(M,F)|0,N=Ht(r,T)|0,e[V>>2]=N,G=(f|0)>0,!G)return C=s0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,H=(v|0)!=0,b=H&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+f|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(f|0),t0){$0=U;break}else J=x,Z=U}return X=($0|0)==0,X?(C=s0,0):(mQ(t,A,V,1,E),C=s0,0)}function OS(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[r>>2]|0,m=I+8|0,x=e[m>>2]|0,W=r+16|0,n0=e[W>>2]|0,k0=e[n0>>2]|0,N0=t+36|0,G0=e[N0>>2]|0,l1=n5(G0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),f=v?B:s1,b=e[I>>2]|0,w=f-b|0,y=(w|0)>0,!y)return 0;D=(w|0)/(x|0)&-1,Q=k0+-1|0,_=Q+D|0,L=(_|0)/(k0|0)&-1,F=L<<2,M=Ht(t,F)|0,T=(c|0)>0;e:do if(T)for(r1=0;;){if(N=a+(r1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=r1;break e}if(z=r1+1|0,Y=(z|0)<(c|0),Y)r1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=r+8|0,e0=e[J>>2]|0,H=(e0|0)>0,!H))return 0;X=(D|0)>0,U=t+4|0,$0=I+16|0,Z=r+28|0,V=(k0|0)>0,a0=r+20|0,g1=e0,B1=0;e:for(;;){if(X){for(s0=(B1|0)==0,i0=1<>2]|0,h0=jm(K,U)|0,o0=(h0|0)==-1,o0){p1=23;break e}if(c0=e[$0>>2]|0,j=(h0|0)<(c0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,f0=l0+(h0<<2)|0,d0=e[f0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(u0=(o1|0)<(D|0),E1=V&u0,E1)for(B0=M+(m1<<2)|0,I1=o1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,K0=(I+24|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0&i0,L0=(Q0|0)==0,!L0&&(M0=e[a0>>2]|0,U0=M0+(S0<<2)|0,y0=e[U0>>2]|0,q0=y0+(B1<<2)|0,x0=e[q0>>2]|0,D0=(x0|0)==0,!D0&&(T0=n5(I1,x)|0,J0=e[I>>2]|0,Y0=J0+T0|0,P0=Vv(x0,A,Y0,c,U,x)|0,V0=(P0|0)==-1,V0))){p1=23;break e}if(O0=h1+1|0,n1=I1+1|0,H0=(O0|0)<(k0|0),e1=(n1|0)<(D|0),d1=H0&e1,d1)I1=n1,h1=O0;else{z0=n1;break}}else z0=o1;if(b0=m1+1|0,i1=(z0|0)<(D|0),i1)o1=z0,m1=b0;else break}E=e[J>>2]|0,f1=E}else f1=g1;if(c1=B1+1|0,$1=(c1|0)<(f1|0),$1)g1=f1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function EQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=C,p=e[r>>2]|0,B=p+8|0,M=e[B>>2]|0,H=r+16|0,h0=e[H>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,n1=e[y0>>2]|0,a1=n1>>1,Q1=p+4|0,v=e[Q1>>2]|0,b=(v|0)<(a1|0),f=b?v:a1,w=e[p>>2]|0,y=f-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=B0+-1|0,T=F+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=Ht(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=$0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(O=r+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=r+28|0,X=(B0|0)>0,U=r+20|0,m=x^1,q1=0;e:for(;;){if(t0)for(a0=1<>2]|0,H0=jm(O0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(b0=e[W>>2]|0,i1=(H0|0)<(b0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=L+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=f1,r1=(f1|0)==0,V0=k1+1|0,r1){Y1=25;break e}if(G0=(V0|0)<(a|0),G0)k1=V0;else break}s0=(w1|0)<(Q|0),H1=X&s0;t:do if(H1){if(x)F1=w1,N1=0;else for(L1=w1,Z1=0;;)if(o1=Z1+1|0,z0=L1+1|0,I1=(o1|0)<(B0|0),h1=(z0|0)<(Q|0),K1=I1&h1,K1)L1=z0,Z1=o1;else{S1=z0;break t}for(;;){for(l0=n5(F1,M)|0,U1=0;;){if(c0=e[p>>2]|0,j=c0+l0|0,f0=L+(U1<<2)|0,d0=e[f0>>2]|0,w0=d0+(D1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,u0=e[k0>>2]|0,p0=(p+24|0)+(u0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,K0=(S0|0)==0,!K0&&(_0=e[U>>2]|0,Q0=_0+(u0<<2)|0,L0=e[Q0>>2]|0,M0=L0+(q1<<2)|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0&&(q0=A+(U1<<2)|0,x0=e[q0>>2]|0,D0=x0+(j<<2)|0,T0=pB[c&3](N0,D0,J,M)|0,J0=(T0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,P0=(Y0|0)<(a|0),P0)U1=Y0;else break}if(i0=N1+1|0,n0=F1+1|0,K=(i0|0)<(B0|0),o0=(n0|0)<(Q|0),O1=K&o0,O1)F1=n0,N1=i0;else{S1=n0;break}}}else S1=w1;while(!1);if(m1=D1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,D1=m1;else break}if(E1=q1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)q1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function mQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=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[r>>2]|0,_=Q+8|0,a2=e[_>>2]|0,q2=Q+12|0,Z2=e[q2>>2]|0,C5=r+16|0,M1=e[C5>>2]|0,f5=e[M1>>2]|0,h3=Q+4|0,N3=e[h3>>2]|0,L=e[Q>>2]|0,J=N3-L|0,i0=(J|0)/(a2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=r+8|0,M0=e[C0>>2]|0,V0=(M0|0)>0,!V0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(f5|0)>1,n2=r+36|0,t2=(f5|0)>0,v2=r+20|0,w2=r+32|0,C2=0-f5|0,y2=M0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(V5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,I5=H2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(B5=Fh(H2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+B5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(k2=c+(S3<<2)|0,u5=e[k2>>2]|0,m5=u5+(V5<<2)|0,r5=e[m5>>2]|0,u6=1,r6=r5;;)if(X2=n5(r6,Z2)|0,x5=u6+V5|0,e5=(x5|0)<(i0|0),e5?(b5=u5+(x5<<2)|0,v5=e[b5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=u6+1|0,k3=(l5|0)==(f5|0),k3){x6=Q6;break}else u6=l5,r6=Q6;if(V2=e[C5>>2]|0,G2=V2+4|0,M2=e[G2>>2]|0,P2=(x6|0)<(M2|0),P2&&(z2=Fh(V2,x6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(R2=(V5|0)<(i0|0),b6=t2&R2,b6){for(_2=V5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,L5=0-N6|0,l6=V5,H3=0;;){if(W2=n5(l6,a2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(e6=0;;){if(t5=c+(e6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,R5=e[i5>>2]|0,j2=R5+a2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,x2=e[$5>>2]|0,Q5=x2&D2,H5=(Q5|0)==0,!H5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,u3=e[E5>>2]|0,J5=u3+(a6<<2)|0,X5=e[J5>>2]|0,r3=(X5|0)==0,!r3)){if(m3=A+(e6<<2)|0,F5=e[m3>>2]|0,K5=e[X5>>2]|0,w3=(a2|0)/(K5|0)&-1,f3=(w3|0)>0,f3){for(B3=X5+48|0,V3=X5+52|0,z5=X5+44|0,y3=X5+12|0,W5=X5+4|0,x=K5,k5=0,g3=0;;){i6=n5(g3,K5)|0,b=i6+p5|0,R3=F5+(b<<2)|0,G3=e[B3>>2]|0,a3=e[V3>>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){j3=0;break}for(G=l3+-1|0,d3=0,B6=0,q3=x;;)if(d0=q3+-1|0,D=b+d0|0,w0=F5+(D<<2)|0,k0=e[w0>>2]|0,u0=k0-G3|0,B0=(u0|0)<(c3|0),B0?(p0=c3-u0|0,I0=p0<<1,S0=I0+-1|0,L0=S0):(K0=u0-c3|0,_0=K0<<1,L0=_0),Q0=n5(B6,l3)|0,N0=(L0|0)<0,U0=(L0|0)>=(l3|0),y0=U0?G:L0,q0=N0?0:y0,x0=q0+Q0|0,D0=t3+(d0<<2)|0,e[D0>>2]=k0,T0=d3+1|0,W3=(T0|0)==(x|0),W3){j3=x0;break}else d3=T0,B6=x0,q3=d0}else{if(!F){j3=0;break}for(M=a3>>1,T=M-G3|0,N=l3+-1|0,v3=0,S6=0,b3=x;;)if(O=b3+-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?(H=c3-W|0,X=H<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),V=n5(S6,l3)|0,s0=(a0|0)<0,n0=(a0|0)>=(l3|0),K=n0?N:a0,h0=s0?0:K,o0=h0+V|0,c0=n5(W,a3)|0,j=c0+G3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,f0=v3+1|0,P3=(f0|0)==(x|0),P3){j3=o0;break}else v3=f0,S6=o0,b3=O}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,P0=e[Y0>>2]|0,G0=P0+j3|0,O0=d[G0>>0]|0,n1=O0<<24>>24<1;do if(n1){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=n5(H0,a3)|0,b0=e1+G3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)q5=-1,k6=0,c6=j3;else{R6=j3;break}for(;;){$1=P0+k6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(F)for(Y6=0,D3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=b+Y6|0,r1=F5+(w<<2)|0,o1=e[r1>>2]|0,z0=a1-o1|0,I1=n5(z0,z0)|0,h1=I1+D3|0,m1=Y6+1|0,n6=(m1|0)==(x|0),n6){d6=h1;break}else Y6=m1,D3=h1;else d6=0;if(d1=(q5|0)==-1,B1=(d6|0)<(q5|0),z3=d1|B1,!z3){U5=q5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=q5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(b0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,w1=M5+(R1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)<(b0|0),L1){E=w1,I=S1;break}else x1=w1,X3=R1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){R6=p6;break}else q5=U5,k6=N1,c6=p6}}else R6=j3;while(!1);if(D1=(R6|0)>-1,A6=F&D1,A6)for(f=R3,v6=0;K1=t3+(v6<<2)|0,O1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-O1|0,e[f>>2]=Y1,j1=v6+1|0,A3=(j1|0)==(x|0),!A3;)f=H1,v6=j1;if(W1=Fh(X5,R6,t)|0,P1=W1+k5|0,c2=g3+1|0,x3=(c2|0)==(w3|0),x3){m=P1;break}p=e[X5>>2]|0,x=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,f2=z1+O5|0,e[w2>>2]=f2,s2=E2+(l6<<2)|0,o2=e[s2>>2]|0,V1=O6+(o2<<2)|0,h2=e[V1>>2]|0,$2=h2+O5|0,e[V1>>2]=$2}if(i2=e6+1|0,f6=(i2|0)==(a|0),f6)break;e6=i2}if(A2=H3+1|0,X1=l6+1|0,p3=(A2|0)==(L5|0),p3)break;l6=X1,H3=A2}N2=V5-N6|0,O3=N2}else O3=V5;if(d2=(O3|0)<(i0|0),d2)V5=O3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(r2=a6+1|0,u2=(r2|0)<(e2|0),u2)y2=e2,a6=r2;else break}C=I6}function Tt(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;if(p=C,A=(t|0)==0,A)E=0;else for(r=t,I=0;;)if(a=r>>>1,c=I+1|0,f=(a|0)==0,f){E=c;break}else r=a,I=c;return E|0}function CQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,p=m?A:r,F=p<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,K=(r|0)>0;do if(K){u0=P1+4|0,U0=(A|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(b=P1+(B<<2)|0,w=e[b>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,c2=y|Q,!c2){V1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,L=P1+(B<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(H=w,X=L,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,$0=(K1|0)>1,!$0)break i;if(f=P1+(U<<2)|0,I=e[f>>2]|0,Z=P1+(U<<2)|0,V=I&1,a0=(V|0)==0,a0)H=I,X=Z,K1=U;else{c=Z,D1=U,V1=8;break}}else c=L,D1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,N=(D1|0)==1,N){G=e[u0>>2]|0,O=G+1|0,e[u0>>2]=O;break}else{z=D1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(L1=w,H1=B,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,n0=i0>>>1,h0=(n0|0)==(L1|0),!h0){E=1;break t}if(o0=P1+(H1<<2)|0,c0=e[o0>>2]|0,j=c0<<1,e[s0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)q1=j1,L1=i0,j1=O1,H1=q1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,f0=k1+1|0,d0=(f0|0)<(r|0),d0)p1=Q1,k1=f0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return I2(e0),a=0,C=h2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,V0=P1+(U1<<2)|0,G0=e[V0>>2]|0,n1=32-U1|0,H0=-1>>>n1,e1=G0&H0,b0=(e1|0)==0,Y0=U1+1|0,!!b0;)if(P0=(Y0|0)<33,P0)U1=Y0,V1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!K)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(f1=e0+(x1<<2)|0,g1=e[f1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,r1=g1>>>n2,o1=r1&1,z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=z0;else{f2=z0;break}else f2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=f2,E1=Z1+1|0,F1=(E1|0)==(r|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(J0=e0+(w1<<2)|0,N0=e[J0>>2]|0,T0=p0<<24>>24,W1=0,o2=0;;)if(L0=o2<<1,M0=N0>>>W1,y0=M0&1,q0=y0|L0,x0=W1+1|0,D0=(x0|0)<(T0|0),D0)W1=x0,o2=q0;else{s2=q0;break}else s2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(K0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=s2,S1=K0),Q0=N1+1|0,G1=(Q0|0)==(r|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function HS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0;if(H=C,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),L=_,x=+(D|0),F=1/x,M=F,T=+Rh(+L,+M),f=+zA(+T),E=~~f,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(B=n5(N,Y)|0,v=n5(G,b)|0,w=O+1|0,y=(w|0)<(D|0),y)N=B,G=v,O=w;else{r=B,A=v;break}if(I=(r|0)<=(c|0),m=(A|0)>(c|0),z=I&m,z){W=Y;break}p=(r|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function qS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return f=0,f|0;if(H0=t+16|0,r1=e[H0>>2]|0,R1=r1&2097151,D1=+(R1|0),z1=r1>>>21,A2=z1&1023,N2=(r1|0)<0,X2=-D1,a=N2?X2:D1,v=A2+-788|0,T=+tC(a,v),X=T,o0=t+20|0,p0=e[o0>>2]|0,q0=p0&2097151,V0=+(q0|0),G0=p0>>>21,O0=G0&1023,n1=(p0|0)<0,e1=-V0,c=n1?e1:V0,b0=O0+-788|0,i1=+tC(c,b0),c1=i1,$1=e[t>>2]|0,f1=n5($1,r)|0,g1=r4(f1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(p1|0),w1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+Rh(+w1,+F1),k1=+zA(+G1),U1=~~k1,$5=U1;;){for(f2=$5+1|0,r5=1,R2=1,I5=0;;)if(P1=n5(r5,$5)|0,c2=n5(R2,f2)|0,s2=I5+1|0,d5=(s2|0)==($1|0),d5){E=P1,I=c2;break}else r5=P1,R2=c2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),f5=N1&Z1,f5){x2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,R5=j2+$5|0,$5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(O1=(A|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if(a2=e[q1>>2]|0,t2=e[n2>>2]|0,$2=(t2|0)==0,i2=n5($1,_2)|0,$2)for(B5=1,W2=0;;)if(b5=(M1|0)/(B5|0)&-1,Z2=(b5|0)%(x2|0)&-1,u5=a2+(Z2<<2)|0,v5=e[u5>>2]|0,P5=+(v5|0),H2=+zi(+P5),l5=H2,k2=l5*Y1,m5=j1+k2,b=m5,w=i2+W2|0,y=g1+(w<<2)|0,s[y>>2]=b,D=n5(B5,x2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=D,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(L=(M1|0)/(A5|0)&-1,x=(L|0)%(x2|0)&-1,F=a2+(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=i2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=n5(A5,x2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)A5=H,g5=U,t5=J;else{Q5=21;break}else if(E2=e[H1>>2]|0,o2=E2+M1|0,V1=d[o2>>0]|0,h2=V1<<24>>24==0,h2)B2=_2;else for(X1=e[q1>>2]|0,r2=e[n2>>2]|0,u2=(r2|0)==0,e2=A+(_2<<2)|0,y2=e[e2>>2]|0,v2=n5(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=+zi(+d2),V2=_5,G2=V2*Y1,q2=s5,M2=q2+j1,P2=M2+G2,z2=P2,p5=u2?s5:z2,o5=v2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=n5(c5,x2)|0,x5=a5+1|0,e5=(x5|0)<($1|0),e5)c5=T1,a5=x5,s5=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),V=M1+1|0,a0=(V|0)<(p1|0),a0)_2=B2,M1=V;else{f=g1;break}}return f|0}else if((B|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,i0=s0+S5|0,n0=d[i0>>0]|0,K=n0<<24>>24==0,K?L5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,c0=e[d1>>2]|0,j=(c0|0)==0,l0=A+(C5<<2)|0,f0=n5($1,S5)|0,d0=n5($1,C5)|0,g2=0,J2=0;w0=f0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,u0=+(k0|0),D5=+zi(+u0),B0=D5,I0=B0*h1,S0=J2,K0=S0+m1,_0=K0+I0,Q0=_0,h5=j?J2:Q0,o1?(L0=e[l0>>2]|0,M0=n5(L0,$1)|0,N0=M0+g2|0,U0=g1+(N0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,x0=g1+(y0<<2)|0,s[x0>>2]=Q0),D0=g2+1|0,T0=(D0|0)<($1|0),T0;)g2=D0,J2=h5;J0=C5+1|0,L5=J0}if(Y0=S5+1|0,P0=(Y0|0)<(s1|0),P0)C5=L5,S5=Y0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function EB(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,r=t+36|0,A=e[r>>2]|0,a=(A|0)==0,!a&&(c=t+32|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function YS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,r=t+16|0,A=e[r>>2]|0,m=(A|0)==0,m||I2(A),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),b=t+24|0,w=e[b>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||I2(a),f=t+32|0,E=e[f>>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 BQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0;G0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=r,I=r+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[r>>2]|0,e[t>>2]=C0,S0=r+8|0,K0=e[S0>>2]|0,_0=CQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[r>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),b=v,w=+(p|0),y=1/w,D=y,Q=+Rh(+b,+D),_=+zA(+Q),x=~~_,J0=x;;){for(O=J0+1|0,L0=1,M0=1,U0=0;;)if(N=n5(L0,J0)|0,G=n5(M0,O)|0,z=U0+1|0,N0=(z|0)==(p|0),N0){c=N,f=G;break}else L0=N,M0=G,U0=z;if(F=(c|0)<=(m|0),M=(f|0)>(m|0),y0=M&F,y0){Y0=J0;break}T=(c|0)>(m|0),T0=T?-1:1,D0=T0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=r+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-H,A=$0?Z:H,V=U+-788|0,a0=+tC(A,V),s0=a0,q0=+vQ(s0),n0=~~q0,K=t+48|0,e[K>>2]=n0,h0=r+20|0,o0=e[h0>>2]|0,c0=o0&2097151,j=+(c0|0),l0=o0>>>21,f0=l0&1023,d0=(o0|0)<0,w0=-j,a=d0?w0:j,k0=f0+-788|0,u0=+tC(a,k0),B0=u0,x0=+vQ(B0),p0=~~x0,I0=t+52|0,e[I0>>2]=p0,0}function JS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0;F3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=r+4|0,w=e[b>>2]|0,E2=(w|0)>0,E2)for(H2=r+8|0,p5=e[H2>>2]|0,H3=0,x6=0;;)if(Q5=p5+H3|0,K5=d[Q5>>0]|0,G3=K5<<24>>24>0,o6=G3&1,m=o6+x6|0,V5=H3+1|0,y=(V5|0)<(w|0),y)H3=V5,x6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,K0=e[r>>2]|0,e[t>>2]=K0,T0=(l0|0)>0,!T0)return a=0,C=F3,a|0;if(i1=r+8|0,I1=e[i1>>2]|0,S1=CQ(I1,w,l0)|0,H1=l0<<2,f=H1,o2=C,C=C+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),x5=t+24|0,e5=e[x5>>2]|0,b5=(e5|0)==0,b5||I2(e5),u5=t+28|0,v5=e[u5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=F3,a|0}else b3=0;for(;q2=S1+(b3<<2)|0,Z2=e[q2>>2]|0,C5=Z2>>>16,L5=Z2<<16,d5=C5|L5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,B5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,f5=s5<<1,i5=f5&-1431655766,R5=J2|i5,e[q2>>2]=R5,j2=o2+(b3<<2)|0,e[j2>>2]=q2,$5=b3+1|0,Y6=($5|0)==(l0|0),!Y6;)b3=$5;for(Th(o2,l0,4,10),E=H1,x2=C,C=C+((1*E|0)+15&-16)|0,H5=S9(H1)|0,j5=t+20|0,e[j5>>2]=H5,E5=S1,q3=0;;)if(u3=o2+(q3<<2)|0,h3=e[u3>>2]|0,J5=h3,X5=J5-E5|0,r3=X5>>2,m3=x2+(r3<<2)|0,e[m3>>2]=q3,F5=q3+1|0,R6=(F5|0)==(l0|0),R6){z3=0;break}else q3=F5;for(;w3=S1+(z3<<2)|0,f3=e[w3>>2]|0,B3=x2+(z3<<2)|0,V3=e[B3>>2]|0,N3=H5+(V3<<2)|0,e[N3>>2]=f3,z5=z3+1|0,p6=(z5|0)==(l0|0),!p6;)z3=z5;if(I2(S1),y3=qS(r,l0,x2)|0,W5=t+16|0,e[W5>>2]=y3,i6=S9(H1)|0,R3=t+24|0,e[R3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,b6=0,I6=0;;)if(c3=p+b6|0,C3=d[c3>>0]|0,q5=C3<<24>>24>0,q5?(U5=I6+1|0,O5=x2+(I6<<2)|0,k5=e[O5>>2]|0,U3=i6+(k5<<2)|0,e[U3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{V6=J6;break}else V6=0;if(A3=S9(V6)|0,x3=t+28|0,e[x3>>2]=A3,f6=t+40|0,e[f6>>2]=0,l3){for(B=e[i1>>2]|0,r5=0,k3=B,A6=0,W6=0;;)if(p3=k3+A6|0,Q3=d[p3>>0]|0,n6=Q3<<24>>24>0,n6?(W3=W6+1|0,P3=x2+(W6<<2)|0,v3=e[P3>>2]|0,g3=e[x3>>2]|0,O3=g3+v3|0,d[O3>>0]=Q3,l6=e[i1>>2]|0,d3=l6+A6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[f6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[f6>>2]=v6,R2=v6,_2=l6,G6=W3):(R2=S6,_2=l6,G6=W3)):(R2=r5,_2=k3,G6=W6),j3=A6+1|0,D=e[b>>2]|0,Q=(j3|0)<(D|0),Q)r5=R2,k3=_2,A6=j3,W6=G6;else{I=R2,e9=G6;break}if(_=(e9|0)==1,_){if(L=(I|0)==1,L)return x=t+36|0,e[x>>2]=1,F=r4(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=F3,a|0;L3=1}else L3=e9}else L3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)L6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else c=z,U6=Y;s9=D6+-3|0,L6=s9}if(J=t+36|0,W=(L6|0)<5,A=W?5:L6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,H=1<>2]=X,$0=(L3|0)>0,$0)for(n0=z6,t3=0;;){if(V=e[x3>>2]|0,a0=V+t3|0,s0=d[a0>>0]|0,i0=s0<<24>>24,K=(n0|0)<(i0|0),K)B2=n0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,c0=e[o0>>2]|0,j=c0>>>16,f0=c0<<16,d0=j|f0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,u0=k0&-16711936,B0=C0|u0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,L0=Q0>>>2,M0=L0&858993459,N0=Q0<<2,U0=N0&-858993460,y0=M0|U0,q0=y0>>>1,x0=q0&1431655765,D0=y0<<1,J0=D0&-1431655766,Y0=x0|J0,P0=n0-i0|0,V0=(P0|0)==31,V0)B2=n0;else for(G0=t3+1|0,n1=i0,s3=0;;)if(O0=s3<>2]=G0,b0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,w1=Q1<<8,L1=w1&-16711936,F1=x1|L1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,D1=N1>>>2,K1=D1&858993459,O1=N1<<2,q1=O1&-858993460,Y1=K1|q1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(d6=a6;;){if(V1=d6+1|0,h2=(V1|0)<(L3|0),!h2){D3=d6;break}if(a2=e[j5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>E1>>>0,i2){D3=d6;break}else d6=V1}A2=(L3|0)>(C6|0);e:do if(A2)for(X1=e[j5>>2]|0,X3=C6;;){if(r2=X1+(X3<<2)|0,u2=e[r2>>2]|0,y2=u2&z0,v2=E1>>>0>>0,v2){S3=X3;break e}if(w2=X3+1|0,C2=(L3|0)>(w2|0),C2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);F2=L3-S3|0,D2=D3>>>0>32767,N2=F2>>>0>32767,u6=N2?32767:F2,N6=D3<<15,r6=N6|-2147483648,d2=D2?-1073774592:r6,V2=d2|u6,e[z1>>2]=V2,e6=S3,Q6=D3}else e6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(H|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=e6,O6=G2,a6=Q6}return C=F3,a|0}function KS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[r>>2]|0,f=e[c>>2]|0,E=a>>>0>f>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function VS(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0;if(K0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,H=e[M>>2]|0,i0=t+8|0,n0=e[i0>>2]|0,K=n0+4|0,h0=e[K>>2]|0,o0=(h0|0)>0,!!o0)){for(c0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,u0=1;;){v=c0-w0|0,b=n0+(v<<2)|0,w=e[b>>2]|0,y=(C0|0)/(w|0)&-1,D=(p|0)/(C0|0)&-1,Q=n5(D,y)|0,_=w+-1|0,L=n5(D,_)|0,x=d0-L|0,F=1-u0|0;do if((w|0)==2)if(Y=(F|0)==0,A=m+x|0,t0=H+(A<<2)|0,Y){wQ(D,y,r,H,t0),B0=0;break}else{wQ(D,y,H,r,t0),B0=F;break}else if((w|0)==4)if(T=x+D|0,N=(F|0)==0,a=m+x|0,G=H+(a<<2)|0,c=m+T|0,O=H+(c<<2)|0,f=m+D|0,E=f+T|0,z=H+(E<<2)|0,N){yQ(D,y,r,H,G,O,z),B0=0;break}else{yQ(D,y,H,r,G,O,z),B0=F;break}else if(J=(D|0)==1,k0=J?u0:F,W=(k0|0)==0,I=m+x|0,e0=H+(I<<2)|0,W){kQ(D,w,y,Q,r,r,r,H,H,e0),B0=1;break}else{kQ(D,w,y,Q,H,H,H,r,r,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=x,w0=X,C0=y,u0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)f0=0;else return;for(;Z=H+(f0<<2)|0,V=e[Z>>2]|0,a0=r+(f0<<2)|0,e[a0>>2]=V,s0=f0+1|0,j=(s0|0)==(p|0),!j;)f0=s0}}function pQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0;if(I1=C,e[t>>2]=r,E=r*3|0,I=r4(E,4)|0,L=t+4|0,e[L>>2]=I,J=r4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(r|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,f1=r,l1=0;e:for(;;)for(_0=H0+1|0,Q0=(_0|0)<4,Q0?(L0=25768+(_0<<2)|0,m=e[L0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=f1;;){if(J0=P0+1|0,v=(g1|0)/(s1|0)&-1,b=n5(v,s1)|0,w=(g1|0)==(b|0),!w){H0=_0,$1=P0,f1=g1,l1=s1;continue e}if(y=P0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(x0=1;x=J0-x0|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=x0+1|0,y0=(O|0)==(J0|0),!y0;)x0=O;e[K0>>2]=2}if(z=(v|0)==1,z){A=Q,Y0=J0,V0=P0;break e}else P0=J0,g1=v}if(e[J>>2]=r,Y=J+4|0,e[Y>>2]=Y0,t0=+(r|0),W=6.2831854820251465/t0,a=A^1,e0=(V0|0)>0,r1=e0&a,!!r1)for(H=r+1|0,G0=0,b0=0,i1=1;;){if(X=b0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=n5($0,i1)|0,V=(r|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(s0=(V|0)>2,n0=$0+-1|0,n1=G0,e1=0,c1=0;;){if(K=c1+i1|0,h0=+(K|0),o0=h0*W,s0)for(q0=0,D0=n1,T0=2;c0=q0+1,j=o0*c0,M0=+ZA(+j),c=D0+r|0,l0=I+(c<<2)|0,s[l0>>2]=M0,o1=+Nr(+j),f0=D0+2|0,f=H+D0|0,d0=I+(f<<2)|0,s[d0>>2]=o1,w0=T0+2|0,k0=(w0|0)<(V|0),k0;)q0=c0,D0=f0,T0=w0;if(u0=n1+V|0,B0=e1+1|0,N0=(B0|0)==(n0|0),N0)break;n1=u0,e1=B0,c1=K}p0=n5(V,n0)|0,I0=p0+G0|0,O0=I0}else O0=G0;if(S0=b0+1|0,U0=(S0|0)==(V0|0),U0)break;G0=O0,b0=S0,i1=Z}}}function QQ(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,r=(t|0)==0,!r&&(A=t+4|0,a=e[A>>2]|0,c=(a|0)==0,c||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 yQ(t,r,A,a,c,f,E){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0;if(u3=C,I=n5(r,t)|0,m=I<<1,m1=(r|0)>0,m1)for(F1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,g2=0,s5=I,f5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,u5=+s[M2>>2],L5=A+(f5<<2)|0,p=+s[L5>>2],F=p+u5,e0=A+(j2<<2)|0,K=+s[e0>>2],u0=A+($5<<2)|0,U0=+s[u0>>2],O0=U0+K,s1=O0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-F,E1=V1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[u0>>2],R1=p1-Q1,x1=I1+y2|0,w1=x1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=R1,L1=+s[L5>>2],G1=+s[M2>>2],k1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=f5+t|0,D1=j2+t|0,K1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(r|0),!g5;)g2=O1,s5=Z1,f5=N1,j2=D1,$5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,x2=j,H5=l0;P1=i5+2|0,c2=x2+2|0,z1=H5+-2|0,f2=P1+I|0,s2=W2+-2|0,E2=c+(s2<<2)|0,o2=+s[E2>>2],h2=f2+-1|0,a2=A+(h2<<2)|0,t2=+s[a2>>2],$2=t2*o2,i2=W2+-1|0,A2=c+(i2<<2)|0,X1=+s[A2>>2],r2=A+(f2<<2)|0,u2=+s[r2>>2],e2=u2*X1,v2=e2+$2,w2=u2*o2,C2=X1*t2,F2=w2-C2,D2=f2+I|0,N2=f+(s2<<2)|0,d2=+s[N2>>2],V2=D2+-1|0,G2=A+(V2<<2)|0,q2=+s[G2>>2],P2=q2*d2,z2=f+(i2<<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*q2,Z2=e5-b5,v5=D2+I|0,P5=E+(s2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=A+(k2<<2)|0,r5=+s[m5>>2],R2=r5*l5,_2=E+(i2<<2)|0,B2=+s[_2>>2],C5=A+(v5<<2)|0,d5=+s[C5>>2],D5=d5*B2,G5=D5+R2,_5=d5*l5,H2=B2*r5,I5=_5-H2,A5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=A+(P1<<2)|0,v=+s[B>>2],b=v+Z2,w=v-Z2,y=i5+1|0,D=A+(y<<2)|0,Q=+s[D>>2],_=Q+x5,L=Q-x5,x=A5+_,M=x2|1,T=a+(M<<2)|0,s[T>>2]=x,N=B5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=H5+-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,H=c2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(H<<2)|0,s[Z>>2]=$0,V=_-A5,a0=z1+j1|0,s0=a0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=V,n0=B5-b,h0=a+(a0<<2)|0,s[h0>>2]=n0,o0=W2+2|0,c0=(o0|0)<(t|0),c0;)W2=o0,i5=P1,x2=c2,H5=z1;if(n2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(r|0),a5)break;p5=W1,h5=n2}if(f0=t&1,d0=(f0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,R5=p0,Q5=t,j5=t;I0=A+(J2<<2)|0,S0=+s[I0>>2],K0=A+(R5<<2)|0,_0=+s[K0>>2],Q0=_0+S0,L0=Q0*-.7071067690849304,M0=S0-_0,N0=M0*.7071067690849304,y0=j5+-1|0,q0=A+(y0<<2)|0,x0=+s[q0>>2],D0=N0+x0,T0=Q5+-1|0,J0=a+(T0<<2)|0,s[J0>>2]=D0,Y0=+s[q0>>2],P0=Y0-N0,V0=Q5+B0|0,G0=V0+-1|0,n1=a+(G0<<2)|0,s[n1>>2]=P0,H0=J2+I|0,e1=A+(H0<<2)|0,b0=+s[e1>>2],i1=L0-b0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+L0,g1=a+(V0<<2)|0,s[g1>>2]=f1,l1=J2+t|0,a1=R5+t|0,r1=Q5+k0|0,o1=j5+t|0,z0=t5+1|0,S5=(z0|0)==(r|0),!S5;)t5=z0,J2=l1,R5=a1,Q5=r1,j5=o1}}function wQ(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,f=n5(r,t)|0,E=t<<1,_=(r|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=f;s0=A+(d1<<2)|0,w0=+s[s0>>2],L0=A+(p1<<2)|0,P0=+s[L0>>2],f1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,m=+s[s0>>2],p=+s[L0>>2],B=m-p,v=t0+s1|0,b=a+(v<<2)|0,s[b>>2]=B,w=d1+t|0,y=p1+t|0,D=I1+1|0,r1=(D|0)==(r|0),!r1;)I1=D,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=f;;){for(q0=E1<<1,x0=q0+E|0,z0=2,x1=Q1,S1=x0,L1=E1,F1=q0;T=x1+2|0,N=S1+-2|0,G=L1+2|0,O=F1+2|0,z=z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=A+(W<<2)|0,H=+s[e0>>2],X=H*J,U=z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],V=A+(T<<2)|0,a0=+s[V>>2],i0=a0*Z,n0=i0+X,K=a0*J,h0=Z*H,o0=K-h0,c0=A+(G<<2)|0,j=+s[c0>>2],l0=o0+j,f0=a+(O<<2)|0,s[f0>>2]=l0,d0=+s[c0>>2],C0=o0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,u0=L1+1|0,B0=A+(u0<<2)|0,p0=+s[B0>>2],I0=p0+n0,S0=F1|1,K0=a+(S0<<2)|0,s[K0>>2]=I0,_0=+s[B0>>2],Q0=_0-n0,M0=S1+-3|0,N0=a+(M0<<2)|0,s[N0>>2]=Q0,U0=z0+2|0,y0=(U0|0)<(t|0),y0;)z0=U0,x1=T,S1=N,L1=G,F1=O;if(x=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(r|0),o1)break;h1=M,E1=x,Q1=F}if(D0=(t|0)%2&-1,T0=(D0|0)==1,T0)return}if(J0=t+-1|0,!!_)for(Y0=f+J0|0,m1=0,B1=t,R1=Y0,w1=J0;V0=A+(R1<<2)|0,G0=+s[V0>>2],O0=-G0,n1=a+(B1<<2)|0,s[n1>>2]=O0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,b0=B1+-1|0,i1=a+(b0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(r|0),!a1;)m1=l1,B1=c1,R1=$1,w1=g1}}function kQ(t,r,A,a,c,f,E,I,m,p){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0;p8=C,b=+(r|0),w=6.2831854820251465/b,u8=+ZA(+w),Nt=+Nr(+w),E2=r+1|0,p3=E2>>1,U9=t+-1|0,U4=U9>>1,L9=n5(A,t)|0,C9=n5(r,t)|0,g4=(t|0)==1;e:do if(!g4){if(wt=(a|0)>0,wt)for(we=0;l0=E+(we<<2)|0,K0=e[l0>>2]|0,T0=m+(we<<2)|0,e[T0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(r|0)>1,O)for(Z=(A|0)>0,B8=1,qt=0;;){if(I1=qt+L9|0,Z)for(st=0,e4=I1;S1=f+(e4<<2)|0,H1=e[S1>>2]|0,o2=I+(e4<<2)|0,e[o2>>2]=H1,e2=e4+t|0,q2=st+1|0,j9=(q2|0)==(A|0),!j9;)st=q2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(r|0),s8)break;B8=Z2,qt=I1}if(C5=0-t|0,M1=(U4|0)>(A|0),M1){if(O)for(N3=(A|0)>0,q5=(t|0)>2,I3=C5,q9=1,Dt=0;;){if(k3=Dt+L9|0,k6=I3+t|0,N3)for(X3=k3-t|0,s3=k6+-1|0,a8=0,Rt=X3;;){if(L3=Rt+t|0,q5)for(o8=2,ue=s3,E7=L3;F3=ue+2|0,E6=E7+2|0,E9=ue+1|0,j4=p+(E9<<2)|0,N4=+s[j4>>2],G4=E7+1|0,a4=f+(G4<<2)|0,L4=+s[a4>>2],f4=L4*N4,Ce=p+(F3<<2)|0,H9=+s[Ce>>2],m9=f+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*H9,Xe=Ne+f4,Ge=I+(G4<<2)|0,s[Ge>>2]=Xe,P4=+s[j4>>2],X4=+s[m9>>2],be=X4*P4,e8=+s[Ce>>2],Z9=+s[a4>>2],ae=Z9*e8,u4=be-ae,_6=I+(E6<<2)|0,s[_6>>2]=u4,O4=o8+2|0,$4=(O4|0)<(t|0),$4;)o8=O4,ue=F3,E7=E6;if(_4=a8+1|0,r8=(_4|0)==(A|0),r8)break;a8=_4,Rt=L3}if($e=q9+1|0,I8=($e|0)==(r|0),I8)break;I3=k6,q9=$e,Dt=k3}}else if(O)for(f5=(t|0)>2,h3=(A|0)>0,qe=C5,re=1,Gt=0;;){if(W9=qe+t|0,le=Gt+L9|0,f5)for(ce=W9+-1|0,m8=2,A8=ce,i7=le;;){if(B4=A8+2|0,ee=i7+2|0,h3)for(F4=A8+1|0,ge=p+(F4<<2)|0,g6=p+(B4<<2)|0,$8=0,Vt=ee;Ue=+s[ge>>2],l4=Vt+-1|0,pe=f+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],De=f+(Vt<<2)|0,_e=+s[De>>2],t8=_e*P6,k4=t8+c4,f8=I+(l4<<2)|0,s[f8>>2]=k4,Y3=+s[ge>>2],w9=+s[De>>2],B9=w9*Y3,M4=+s[g6>>2],te=+s[pe>>2],$t=te*M4,Re=B9-$t,lt=I+(Vt<<2)|0,s[lt>>2]=Re,z8=Vt+t|0,ct=$8+1|0,D8=(ct|0)==(A|0),!D8;)$8=ct,Vt=z8;if(gt=m8+2|0,F8=(gt|0)<(t|0),F8)m8=gt,A8=B4,i7=ee;else break}if(M8=re+1|0,he=(M8|0)==(r|0),he)break;qe=W9,re=M8,Gt=le}if(T8=n5(L9,r)|0,N8=(U4|0)<(A|0),Z8=(p3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,kt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(B0=l8+L9|0,p0=U7-L9|0,W8)for(Y4=0,n7=B0,r7=p0;;){if(kt)for(ye=2,zt=n7,y7=r7;I0=zt+2|0,S0=y7+2|0,_0=zt+1|0,Q0=I+(_0<<2)|0,L0=+s[Q0>>2],M0=y7+1|0,N0=I+(M0<<2)|0,U0=+s[N0>>2],y0=U0+L0,q0=f+(_0<<2)|0,s[q0>>2]=y0,x0=I+(I0<<2)|0,D0=+s[x0>>2],J0=I+(S0<<2)|0,Y0=+s[J0>>2],P0=D0-Y0,V0=f+(M0<<2)|0,s[V0>>2]=P0,G0=+s[x0>>2],O0=+s[J0>>2],n1=O0+G0,H0=f+(I0<<2)|0,s[H0>>2]=n1,e1=+s[N0>>2],b0=+s[Q0>>2],c1=e1-b0,$1=f+(S0<<2)|0,s[$1>>2]=c1,f1=ye+2|0,g1=(f1|0)<(t|0),g1;)ye=f1,zt=I0,y7=S0;if(l1=n7+t|0,s1=r7+t|0,a1=Y4+1|0,H4=(a1|0)==(A|0),H4)break;Y4=a1,n7=l1,r7=s1}if(r1=Ye+1|0,Le=(r1|0)==(p3|0),Le)break e;Ye=r1,l8=B0,U7=p0}}if(Z8)for(D=(t|0)>2,Q=(A|0)>0,D9=1,Yt=0,G7=T8;;){if(_=Yt+L9|0,L=G7-L9|0,D)for(fe=2,m7=_,p7=L;;){if(x=m7+2|0,F=p7+2|0,Q)for(M=F-t|0,T=x-t|0,_8=0,K7=T,$i=M;N=K7+t|0,G=$i+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],H=e0+t0,X=f+(z<<2)|0,s[X>>2]=H,U=I+(N<<2)|0,$0=+s[U>>2],V=I+(G<<2)|0,a0=+s[V>>2],s0=$0-a0,i0=f+(J<<2)|0,s[i0>>2]=s0,n0=+s[U>>2],K=+s[V>>2],h0=K+n0,o0=f+(N<<2)|0,s[o0>>2]=h0,c0=+s[W>>2],j=+s[Y>>2],f0=c0-j,d0=f+(G<<2)|0,s[d0>>2]=f0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,K7=N,$i=G;if(C0=fe+2|0,k0=(C0|0)<(t|0),k0)fe=C0,m7=x,p7=F;else break}if(u0=D9+1|0,n8=(u0|0)==(p3|0),n8)break;D9=u0,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,q8=(m1|0)==(a|0),!q8;)Q4=m1;if(d1=n5(a,r)|0,E1=(p3|0)>1,E1){for(B1=(A|0)>0,Y8=1,x8=0,P7=d1;;){if(p1=x8+L9|0,Q1=P7-L9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,ot=0,si=x1,Ai=R1;w1=si+t|0,L1=Ai+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(L1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=f+(w1<<2)|0,s[N1>>2]=Z1,D1=+s[k1>>2],K1=+s[F1>>2],O1=D1-K1,q1=f+(L1<<2)|0,s[q1>>2]=O1,Y1=ot+1|0,ie=(Y1|0)==(A|0),!ie;)ot=Y1,si=w1,Ai=L1;if(j1=Y8+1|0,tt=(j1|0)==(p3|0),tt)break;Y8=j1,x8=p1,P7=Q1}if(n2=r+-1|0,W1=n5(n2,a)|0,E1){for(P1=(p3|0)>2,G8=0,P8=1,Ke=1,_t=0,d7=d1;;){if(c2=_t+a|0,z1=d7-a|0,f2=P8*u8,s2=G8*Nt,V1=f2-s2,h2=G8*u8,a2=P8*Nt,t2=a2+h2,y)for(C8=0,H7=c2,o7=z1,z7=W1,Wt=a;$2=E+(C8<<2)|0,i2=+s[$2>>2],A2=Wt+1|0,X1=E+(Wt<<2)|0,r2=+s[X1>>2],u2=r2*V1,y2=u2+i2,v2=H7+1|0,w2=m+(H7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*t2,d2=o7+1|0,V2=m+(o7<<2)|0,s[V2>>2]=N2,G2=C8+1|0,ft=(G2|0)==(a|0),!ft;)C8=G2,H7=v2,o7=d2,z7=C2,Wt=A2;if(P1)for(U8=t2,k8=V1,ut=2,q7=a,Ut=W1;;){if(M2=q7+a|0,P2=Ut-a|0,z2=k8*V1,o5=U8*t2,O2=z2-o5,T1=U8*V1,X2=k8*t2,x5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,xt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,u5=+s[b5>>2],v5=u5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,r5=xt+1|0,R2=E+(xt<<2)|0,_2=+s[R2>>2],B2=_2*x5,L5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+B2,s[d5>>2]=G5,_5=it+1|0,vt=(_5|0)==(a|0),!vt;)it=_5,w7=P5,S7=L5,b7=e5,xt=r5;if(H2=ut+1|0,et=(H2|0)==(p3|0),et)break;U8=x5,k8=O2,ut=H2,q7=M2,Ut=P2}if(I5=Ke+1|0,St=(I5|0)==(p3|0),St)break;G8=t2,P8=V1,Ke=I5,_t=c2,d7=z1}if(E1)for(nt=1,V8=0;;){if(A5=V8+a|0,y)for(q4=0,Jt=A5;c5=Jt+1|0,B5=E+(Jt<<2)|0,S5=+s[B5>>2],g5=m+(q4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=q4+1|0,ht=(g2|0)==(a|0),!ht;)q4=g2,Jt=c5;if(p5=nt+1|0,Qe=(p5|0)==(p3|0),Qe)break;nt=p5,V8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,He=0;;){if(i5)for(Je=0,de=He,Kt=He;J5=I+(de<<2)|0,X5=e[J5>>2]|0,r3=c+(Kt<<2)|0,e[r3>>2]=X5,m3=de+t|0,F5=Kt+C9|0,K5=Je+1|0,xe=(K5|0)==(A|0),!xe;)Je=K5,de=m3,Kt=F5;if(w3=He+1|0,i8=(w3|0)==(t|0),i8)break;He=w3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,R8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;R5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,x2=Y7+1|0,Q5=c+(Y7<<2)|0,e[Q5>>2]=$5,H5=Oe+1|0,S8=(H5|0)==(t|0),!S8;)Oe=H5,O7=R5,Y7=x2;if(j5=Me+t|0,E5=I7+C9|0,u3=R8+1|0,k9=(u3|0)==(A|0),k9)break;R8=u3,Me=j5,I7=E5}if(f3=t<<1,B3=n5(L9,r)|0,E1)for(V3=(A|0)>0,rt=1,bt=0,C7=0,J7=B3;;){if(z5=bt+f3|0,y3=C7+L9|0,W5=J7-L9|0,V3)for(p9=0,Zt=z5,k7=y3,W7=W5;i6=I+(k7<<2)|0,R3=e[i6>>2]|0,G3=Zt+-1|0,a3=c+(G3<<2)|0,e[a3>>2]=R3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=c+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=k7+t|0,k5=W7+t|0,U3=p9+1|0,d8=(U3|0)==(A|0),!d8;)p9=U3,Zt=U5,k7=O5,W7=k5;if(M5=rt+1|0,Pe=(M5|0)==(p3|0),Pe)break;rt=M5,bt=z5,C7=y3,J7=W5}if(!g4){if(o6=(U4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(B=(A|0)<1,v=(t|0)<3,v8=B|v,J8=1,at=e3,B7=0,s7=0,ai=B3;;){if(f6=at+f3|0,Q3=B7+f3|0,n6=s7+L9|0,W3=ai-L9|0,!v8)for(At=0,Z7=f6,A7=Q3,ke=n6,a7=W3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],j3=X9+a7|0,c6=j3+-1|0,p6=I+(c6<<2)|0,R6=+s[p6>>2],Y6=R6+B6,C6=X9+A7|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=Y6,u6=+s[S6>>2],H3=+s[p6>>2],b3=u6-H3,q3=l6+Z7|0,z3=q3+-1|0,b6=c+(z3<<2)|0,s[b6>>2]=b3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(j3<<2)|0,a6=+s[O6>>2],d6=a6+t3,D3=c+(C6<<2)|0,s[D3>>2]=d6,N6=+s[O6>>2],r6=+s[A6>>2],Q6=N6-r6,x6=c+(q3<<2)|0,s[x6>>2]=Q6,V6=X9+2|0,I6=(V6|0)<(t|0),I6;)X9=V6;if(P3=Z7+C9|0,V5=A7+C9|0,v3=ke+t|0,g3=a7+t|0,O3=At+1|0,j8=(O3|0)==(A|0),j8)break;At=O3,Z7=P3,A7=V5,ke=v3,a7=g3}if(J6=J8+1|0,X8=(J6|0)==(p3|0),X8)break;J8=J6,at=f6,B7=Q3,s7=n6,ai=W3}return}if(E1)for(A3=(t|0)>2,x3=(A|0)>0,ne=1,se=e3,oi=0,Q7=0,V7=B3;;){if(W6=se+f3|0,G6=oi+f3|0,e9=Q7+L9|0,s9=V7-L9|0,A3&&(L6=W6+t|0,x3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,T4=L6-Fe|0,K8=0,v7=T4,Pt=x4,D7=D4,r9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=r9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],j6=A9+F6,f9=Pt+-1|0,u9=c+(f9<<2)|0,s[u9>>2]=j6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=v7+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(r9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=c+(Pt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,H6=c+(v7<<2)|0,s[H6>>2]=b9,n9=v7+C9|0,m4=Pt+C9|0,S4=D7+t|0,A4=r9+t|0,y9=K8+1|0,O8=(y9|0)==(A|0),!O8;)K8=y9,v7=n9,Pt=m4,D7=S4,r9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=ne+1|0,H8=(C4|0)==(p3|0),H8)break;ne=C4,se=W6,oi=G6,Q7=e9,V7=s9}}}function zS(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0,Xs=0,Ur=0,eo=0,Pr=0,to=0,io=0,Or=0,no=0,Zn=0,ro=0,so=0,oo=0,Hr=0,Ao=0,qr=0,Yr=0,ao=0,Wn=0,Jr=0,jn=0,Kr=0,Vr=0,$o=0,lo=0,co=0,Xn=0,zr=0,go=0,mn=0,er=0,ho=0,fo=0,tr=0,li=0,Zr=0,uo=0,Io=0,Wr=0,jr=0,Xr=0,Eo=0,ci=0,ir=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,nr=0,Cn=0,rr=0,bo=0,Wi=0,Do=0,ns=0,sr=0,rs=0,or=0,_o=0,ss=0,os=0,Ro=0,As=0,as=0,xo=0,Bn=0,$s=0,gi=0,Ar=0,pn=0,ji=0,Qn=0,Hi=0,yn=0,ls=0,qi=0,Qi=0,yi=0,j7=0,wi=0,wn=0,Xi=0,en=0,kn=0,hi=0,Lo=0,$7=0,tl=0,ar=0,$r=0,Nh=0,il=0,Fo=0,Gh=0,XA=0,nl=0,Uh=0,Ph=0,Oh=0,ea=0,rl=0,sl=0,ta=0,lr=0,ol=0,Hh=0,Mo=0,tn=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vn=0,ef=0,tf=0,al=0,nf=0,ia=0,To=0,na=0,rf=0,sf=0,ra=0,$l=0,ll=0,cl=0,sa=0,gl=0,No=0,of=0,Af=0,hl=0,af=0,$f=0,fl=0,lf=0,cf=0,ul=0,dl=0,Il=0,El=0,ml=0,cr=0,gf=0,Cl=0,hf=0,Bl=0,pl=0,ff=0,uf=0,df=0,oa=0,Ql=0,yl=0,cs=0,wl=0,Aa=0,If=0,kl=0,Ef=0,vl=0,mf=0,Cf=0,Sl=0,bl=0,Bf=0,Go=0,pf=0,aa=0,Dl=0,_l=0,Qf=0,yf=0,wf=0,kf=0,vf=0,Sf=0,Uo=0,Rl=0,xl=0,Ll=0,Po=0,bf=0,Fl=0,Df=0,Ml=0,_f=0,Rf=0,Tl=0,$a=0,xf=0,Lf=0,Oo=0,Ff=0,Ho=0,Mf=0,la=0,Tf=0,Nf=0,Gf=0,Nl=0,Uf=0,Pf=0,Of=0,Hf=0,Gl=0,Ul=0,nn=0,Pl=0,qo=0,ca=0,ga=0,gr=0,Ol=0,hr=0,qf=0,Hl=0,Yf=0,Jf=0,Kf=0,Vf=0,Yo=0,ha=0,Sn=0,zf=0,Zf=0,ql=0,fa=0,Yl=0,Jl=0,Wf=0,Kl=0,jf=0,ua=0,Xf=0,eu=0,P9=0,tu=0,Vl=0,iu=0,nu=0,da=0,ru=0,Ia=0,zl=0,su=0,ou=0,Zl=0,Wl=0,Au=0,Ea=0,ma=0,jl=0,Xl=0,au=0,ec=0,Ca=0,$u=0,tc=0,lu=0,cu=0,gu=0,hu=0,ic=0,nc=0,Ba=0,Jo=0,rc=0,fu=0,sc=0,oc=0,uu=0,du=0,Iu=0,Ac=0,Eu=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,ac=0,yu=0,$c=0,wu=0,fr=0,ku=0,lc=0,vu=0,gs=0,cc=0,pa=0,Su=0,Ko=0,Qa=0,bu=0,ya=0,gc=0,Du=0,_u=0,Ru=0,xu=0,Lu=0,hc=0,Fu=0,Mu=0,Tu=0,Vo=0,hs=0,wa=0,Nu=0,ka=0,Gu=0,Uu=0,Pu=0,fc=0,Ou=0,Hu=0,qu=0,Yu=0,Ju=0,zo=0,Ku=0,Vu=0,uc=0,zu=0,Zu=0,Wu=0,ju=0,fi=0,dc=0,ui=0,Ic=0,va=0,Xu=0,X7=0,fs=0,ed=0,td=0,id=0,nd=0,rd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,us=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Zo=0,gd=0,hd=0,Bc=0,pc=0,fd=0,ud=0,ur=0,dd=0,Id=0,dr=0,Ed=0,Qc=0,md=0,Cd=0,ds=0,yc=0,Bd=0,wc=0,pd=0,rn=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Is=0,Dd=0,Ir=0,_d=0,Rd=0,Da=0,xd=0,_a=0,Ra=0,Ld=0,Dc=0,_c=0,Fd=0,Rc=0,xc=0,Lc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,xa=0,Oc=0,Hc=0,qc=0,Yc=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,zd=0,Jc=0,La=0,Zd=0,Wd=0,jd=0,Kc=0,Vc=0,Xd=0,zc=0,Fa=0,Wo=0,Zc=0,eI=0,tI=0,iI=0,nI=0,Wc=0,jo=0,rI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,fI=0,uI=0,Xo=0,Xc=0,dI=0,II=0,Er=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,ng=0,rg=0,CI=0,BI=0,pI=0,QI=0,yI=0,eA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,bn=0,ag=0,$g=0,RI=0,lg=0,tA=0,xI=0,LI=0,FI=0,iA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,fg=0,ug=0,HI=0,qI=0,Es=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,KI=0,VI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,rA=0,XI=0,eE=0,tE=0,ms=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,ki=0,yg=0,sn=0,nE=0,rE=0,sE=0,oE=0,Ua=0,sA=0,wg=0,kg=0,AE=0,oA=0,Cs=0,aE=0,AA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,aA=0,Sg=0,gE=0,hE=0,fE=0,uE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,Ha=0,EE=0,Dn=0,Bs=0,mE=0,CE=0,Rg=0,qa=0,BE=0,xg=0,Lg=0,Fg=0,Ya=0,Ja=0,Mg=0,ps=0,Ka=0,Tg=0,pE=0,mr=0,QE=0,Ng=0,$A=0,yE=0,Gg=0,vi=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,Si=0,_E=0,RE=0,xE=0,Ug=0,di=0,lA=0,Va=0,Pg=0,Og=0,LE=0,Hg=0,qg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Kg=0,GE=0,Qs=0,cA=0,gA=0,UE=0,za=0,PE=0,OE=0,Vg=0,ys=0,HE=0,qE=0,Za=0,Wa=0,hA=0,ja=0,Xa=0,on=0,_n=0,Rn=0,e$=0,t$=0,ws=0,An=0,Cr=0,YE=0,an=0,Br=0,JE=0,_7=0,R7=0,x7=0,fA=0,uA=0,zg=0,Zg=0,dA=0,i$=0,L7=0,IA=0,xn=0,n$=0,KE=0,r$=0,VE=0,s$=0,Wg=0,EA=0,zE=0,ZE=0,mA=0,WE=0,CA=0,pr=0,Ve=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,BA=0,tm=0,im=0,nm=0,rm=0,eh=0,sm=0,om=0,Am=0,ti=0,pA=0,Qr=0,A$=0,ks=0,vs=0,Xt=0,Ss=0,th=0,ih=0,QA=0,bs=0,Ds=0,_s=0,am=0,Rs=0,$n=0,nh=0,Ln=0,ii=0,a$=0,$$=0,Yi=0,l$=0,c$=0,g$=0,Fn=0,$6=0,yA=0,Mn=0,rh=0,ve=0,h$=0,Q8=0,xs=0,yr=0,wr=0,F9=0,kr=0,Tn=0,J4=0,f$=0,wB=0,$m=0,rC=0,sC=0,kB=0,lm=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,HQ=0,qQ=0,YQ=0,JQ=0,KQ=0,VQ=0,vB=0,SB=0,zQ=0,ZQ=0,WQ=0,sh=0,oC=0,Ii=0,oh=0,Ah=0,ah=0,$h=0,cm=0,gm=0,hm=0,fm=0,um=0,dm=0,Im=0,Em=0,mm=0,Cm=0,AC=0,wA=0,ln=0,u$=0,lh=0,d$=0,bB=0,kA=0,Bm=0,I$=0,aC=0,$C=0,pm=0,lC=0,cC=0,gC=0,hC=0,fC=0,uC=0,dC=0,DB=0,_B=0,RB=0,xB=0,LB=0,vA=0,SA=0,bA=0,DA=0,jQ=0,cn=0,t4=0,yb=0,_A=0,IC=0;if(yb=C,c0=t+28|0,j=e[c0>>2]|0,X8=(j|0)==0,X8||(o7=j+3456|0,ls=e[o7>>2]|0,Rl=(ls|0)==0,r=Rl&1,gs=j+3496|0,Rc=+A1[gs>>3],hg=Rc>-80,hg?A1[gs>>3]=-80:(ME=Rc<-200,ME&&(A1[gs>>3]=-200)),l0=j+3512|0,Z2=+A1[l0>>3],s3=Z2>0,s3?A1[l0>>3]=0:(C4=Z2<-99999,C4&&(A1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,F4=(_6|0)==0,F4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,Re=j+3400|0,W8=+A1[Re>>3],d8=_6+24|0,St=e[d8>>2]|0,he=_6+28|0,Fe=e[he>>2]|0,ne=~~W8,K8=St+(ne<<2)|0,Nt=e[K8>>2]|0,V8=Fe+(ne<<2)|0,I7=e[V8>>2]|0,e[j>>2]=Nt,p7=j+4|0,e[p7>>2]=I7,Ut=(Nt|0)==(I7|0),Wt=_6+144|0,dt=e[Wt>>2]|0,io=(dt|0)>0,io){for(ao=_6+136|0,go=_6+140|0,jr=_6+148|0,Wi=W8,Sn=j,AC=0;;){if(Qo=~~Wi,as=e[ao>>2]|0,qi=e[go>>2]|0,$7=e[jr>>2]|0,Ph=$7+(AC<<2)|0,qh=e[Ph>>2]|0,vn=r4(1,1120)|0,$l=qh+(Qo<<2)|0,fl=e[$l>>2]|0,hf=qi+(fl*1120|0)|0,s4(vn|0,hf|0,1120)|0,Aa=e[vn>>2]|0,pf=(Aa|0)>0,pf){for(xl=vn+4|0,oC=0,dC=-1;;)if(Ca=xl+(oC<<2)|0,rc=e[Ca>>2]|0,Bu=(rc|0)>(dC|0),t0=Bu?rc:dC,cc=oC+1|0,KQ=(cc|0)==(Aa|0),KQ){J=t0;break}else oC=cc,dC=t0;if(xf=(J|0)<0,!xf){for(Uf=vn+256|0,gr=Sn+24|0,Xf=vn+192|0,su=vn+320|0,d$=0,gC=-1;;){if(vc=Uf+(d$<<2)|0,Ir=e[vc>>2]|0,xc=(Ir|0)>(gC|0),z=xc?Ir:gC,Uc=e[gr>>2]|0,qd=Uc+Ir|0,e[vc>>2]=qd,Kc=Xf+(d$<<2)|0,Wc=e[Kc>>2]|0,gI=(Wc|0)==31,gI)hC=z;else for(y9=Wc,lC=0,uC=z;;)if(Ma=(su+(d$<<5)|0)+(lC<<2)|0,eA=e[Ma>>2]|0,Ag=(eA|0)>(uC|0),Y=Ag?eA:uC,cg=(eA|0)>-1,cg?(fg=e[gr>>2]|0,VI=fg+eA|0,e[Ma>>2]=VI,e0=e[Kc>>2]|0,Pa=e0):Pa=y9,ms=lC+1|0,sE=1<>2]|0,Xu=e[Vu>>2]|0,mc=e[gr>>2]|0,hd=mc+1|0,e[gr>>2]=hd,md=(Sn+1824|0)+(mc<<2)|0,e[md>>2]=Xu,HQ=(fC|0)==0,!HQ))for(bB=0;Ja=bB+1|0,Z=e[$l>>2]|0,Gg=as+(Z<<2)|0,xE=e[Gg>>2]|0,Yg=xE+(Ja<<2)|0,PE=e[Yg>>2]|0,on=e[gr>>2]|0,JE=on+1|0,e[gr>>2]=JE,IA=(Sn+1824|0)+(on<<2)|0,e[IA>>2]=PE,OQ=(Ja|0)==(fC|0),!OQ;)bB=Ja}}if(mA=Sn+16|0,em=e[mA>>2]|0,pA=(Sn+800|0)+(em<<2)|0,e[pA>>2]=1,Ds=e[mA>>2]|0,l$=(Sn+1056|0)+(Ds<<2)|0,e[l$>>2]=vn,f0=e[mA>>2]|0,_0=f0+1|0,e[mA>>2]=_0,J0=AC+1|0,c1=e[Wt>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+A1[Re>>3],n0=e[c0>>2]|0,Wi=W,Sn=n0,AC=J0}h0=e[c0>>2]|0,z5=h0}else z5=j;L1=j+3520|0,q1=+A1[L1>>3],o2=_6+124|0,e2=e[o2>>2]|0,q2=_6+128|0,u5=e[q2>>2]|0,L5=~~q1,S5=+(L5|0),i5=q1-S5,J5=z5+2868|0,U5=u5+(L5<<3)|0,k3=+A1[U5>>3],k6=~~k3,X3=e2+(k6*492|0)|0,s4(J5|0,X3|0,492)|0,a6=+A1[U5>>3],W6=1-i5,M6=a6*W6,T6=L5+1|0,H6=u5+(T6<<3)|0,b4=+A1[H6>>3],D4=b4*i5,x4=D4+M6,T4=~~x4,j4=+(T4|0),N4=x4-j4,U9=N4==0,G4=(T4|0)>0,DB=G4&U9,I=DB?1:N4,a4=DB<<31>>31,F=a4+T4|0,L4=1-I,f4=F+1|0,Ce=(e2+(F*492|0)|0)+4|0,H9=+s[Ce>>2],m9=H9,Be=L4*m9,Xe=(e2+(f4*492|0)|0)+4|0,U4=+s[Xe>>2],Ge=U4,P4=I*Ge,X4=Be+P4,be=X4,e8=z5+2872|0,s[e8>>2]=be,Z9=(e2+(F*492|0)|0)+32|0,ae=+s[Z9>>2],u4=ae,O4=L4*u4,L9=(e2+(f4*492|0)|0)+32|0,$4=+s[L9>>2],_4=$4,$e=I*_4,W9=O4+$e,le=W9,ce=z5+2900|0,s[ce>>2]=le,B4=(e2+(F*492|0)|0)+8|0,ee=+s[B4>>2],ge=ee,C9=L4*ge,g6=(e2+(f4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=z5+2876|0,s[P6>>2]=c4,De=(e2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,k4=L4*g4,f8=(e2+(f4*492|0)|0)+36|0,Y3=+s[f8>>2],w9=Y3,B9=w9*I,M4=B9+k4,te=M4,$t=z5+2904|0,s[$t>>2]=te,lt=(e2+(F*492|0)|0)+12|0,wt=+s[lt>>2],z8=wt,ct=z8*L4,gt=(e2+(f4*492|0)|0)+12|0,F8=+s[gt>>2],M8=F8,T8=M8*I,N8=T8+ct,Z8=N8,kt=z5+2880|0,s[kt>>2]=Z8,G8=(e2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*L4,v8=(e2+(f4*492|0)|0)+40|0,u8=+s[v8>>2],O8=u8,H8=O8*I,j8=H8+k8,Pe=j8,xe=z5+2908|0,s[xe>>2]=Pe,i8=(e2+(F*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,ht=k9*L4,Qe=(e2+(f4*492|0)|0)+16|0,ft=+s[Qe>>2],vt=ft,et=vt*I,ie=et+ht,tt=ie,q8=z5+2884|0,s[q8>>2]=tt,b8=(e2+(F*492|0)|0)+44|0,n8=+s[b8>>2],H4=n8,Le=H4*L4,r8=(e2+(f4*492|0)|0)+44|0,I8=+s[r8>>2],D8=I8,j9=D8*I,s8=j9+Le,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,He=_6+132|0,X9=e[He>>2]|0,ue=j+3472|0,A8=+A1[ue>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,q4=it,I3=e[c0>>2]|0,qe=(X9|0)==0;e:do if(qe)B8=I3+4|0,q9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=q9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=q9,ut=I3+3304|0,e[ut>>2]=D9,nt=I3+3248|0,e[nt>>2]=q9,rt=I3+3308|0,e[rt>>2]=D9,J8=I3+3252|0,e[J8>>2]=q9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=q9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=q9,Y4=I3+3320|0,e[Y4>>2]=D9,ot=I3+3264|0,e[ot>>2]=q9,R8=I3+3324|0,e[R8>>2]=D9,Je=I3+3268|0,e[Je>>2]=q9,p9=I3+3328|0,e[p9>>2]=D9,At=I3+3272|0,e[At>>2]=q9,Ke=I3+3332|0,e[Ke>>2]=D9,qt=I3+3276|0,e[qt>>2]=q9,bt=I3+3336|0,e[bt>>2]=D9,at=I3+3280|0,e[at>>2]=q9,Dt=I3+3340|0,e[Dt>>2]=D9,se=I3+3284|0,e[se>>2]=q9,Gt=I3+3344|0,e[Gt>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=q9,l8=I3+3348|0,e[l8>>2]=D9,x8=I3+3292|0,e[x8>>2]=q9,_t=I3+3352|0,e[_t>>2]=D9,Me=I3+3296|0,e[Me>>2]=q9,de=I3+3356|0,e[de>>2]=D9;else{e4=I3+3120|0,Rt=X9+(Q4*240|0)|0,cn=e4,_A=Rt,IC=cn+60|0;do e[cn>>2]=e[_A>>2]|0,cn=cn+4|0,_A=_A+4|0;while((cn|0)<(IC|0));i7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,cn=i7,_A=G7,IC=cn+60|0;do e[cn>>2]=e[_A>>2]|0,cn=cn+4|0,_A=_A+4|0;while((cn|0)<(IC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-q4,Kt=Q4+1|0,E7=t+8|0,Vt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),ln=0;;){if(n7=((X9+(Q4*240|0)|0)+120|0)+(ln<<2)|0,si=+s[n7>>2],O7=si,C7=O7*Jt,B7=((X9+(Kt*240|0)|0)+120|0)+(ln<<2)|0,oi=+s[B7>>2],r7=oi,Ai=r7*q4,H7=Ai+C7,q7=H7,Y7=q7,J7=Y7*1e3,s7=J7/m7,Q7=e[I3>>2]|0,K7=+(Q7|0),zt=K7*s7,Zt=~~zt,ai=(I3+3e3|0)+(ln<<2)|0,e[ai>>2]=Zt,V7=e[Vt>>2]|0,$i=+(V7|0),y7=$i*s7,z7=~~y7,w7=(I3+3060|0)+(ln<<2)|0,e[w7>>2]=z7,k7=~~q7,Z7=(I3+2940|0)+(ln<<2)|0,e[Z7>>2]=k7,v7=((X9+(Q4*240|0)|0)+180|0)+(ln<<2)|0,S7=+s[v7>>2],W7=S7,A7=W7*Jt,Pt=((X9+(Kt*240|0)|0)+180|0)+(ln<<2)|0,b7=+s[Pt>>2],ke=b7,D7=ke*q4,xt=D7+A7,a7=xt,r9=a7,p8=r9*1e3,It=p8/m7,Lt=e[I3>>2]|0,zn=+(Lt|0),En=zn*It,Xs=~~En,Ur=(I3+3240|0)+(ln<<2)|0,e[Ur>>2]=Xs,eo=e[Vt>>2]|0,Pr=+(eo|0),to=Pr*It,Or=~~to,no=(I3+3300|0)+(ln<<2)|0,e[no>>2]=Or,Zn=ln+1|0,YQ=(Zn|0)==15,YQ)break e;ln=Zn}for(ro=(X9+(Q4*240|0)|0)+148|0,so=+s[ro>>2],oo=so,Hr=1-q4,Ao=oo*Hr,qr=Q4+1|0,Yr=(X9+(qr*240|0)|0)+148|0,Wn=+s[Yr>>2],Jr=Wn,jn=Jr*q4,Kr=jn+Ao,Vr=Kr,$o=Vr,lo=$o*1e3,co=t+8|0,Xn=I3+4|0,zr=~~Vr,$0=e[co>>2]|0,mn=+($0|0),er=lo/mn,lh=0;ho=e[I3>>2]|0,fo=+(ho|0),tr=fo*er,li=~~tr,Zr=(I3+3e3|0)+(lh<<2)|0,e[Zr>>2]=li,uo=e[Xn>>2]|0,Io=+(uo|0),Wr=Io*er,Xr=~~Wr,Eo=(I3+3060|0)+(lh<<2)|0,e[Eo>>2]=Xr,ci=(I3+2940|0)+(lh<<2)|0,e[ci>>2]=zr,ir=lh+1|0,VQ=(ir|0)==15,!VQ;)lh=ir;for(mo=(X9+(Q4*240|0)|0)+208|0,es=+s[mo>>2],Co=es,Bo=Co*Hr,po=(X9+(qr*240|0)|0)+208|0,ts=+s[po>>2],yo=ts,wo=yo*q4,ko=wo+Bo,is=ko,vo=is,So=vo*1e3,nr=So/mn,Bm=0;Cn=e[I3>>2]|0,rr=+(Cn|0),bo=rr*nr,Do=~~bo,ns=(I3+3240|0)+(Bm<<2)|0,e[ns>>2]=Do,sr=e[Xn>>2]|0,rs=+(sr|0),or=rs*nr,_o=~~or,ss=(I3+3300|0)+(Bm<<2)|0,e[ss>>2]=_o,os=Bm+1|0,qQ=(os|0)==15,!qQ;)Bm=os}while(!1);for(Ro=+A1[Re>>3],As=_6+92|0,xo=e[As>>2]|0,Bn=_6+100|0,$s=e[Bn>>2]|0,gi=_6+108|0,Ar=e[gi>>2]|0,pn=e[c0>>2]|0,ji=pn+2852|0,Qn=e[ji>>2]|0,Hi=~~Ro,yn=pn+28|0,Qi=e[yn>>2]|0,yi=(Qi|0)>0,yi||(e[yn>>2]=1),j7=(Qn|0)==0,j7?(wi=r4(1,520)|0,e[ji>>2]=wi,vA=wi):vA=Qn,s4(vA|0,25784,520)|0,e[vA>>2]=0,wn=pn+3460|0,Xi=e[wn>>2]|0,en=(Xi|0)==0,en||(kn=vA+500|0,e[kn>>2]=1,hi=xo+(Hi<<2)|0,Lo=e[hi>>2]|0,tl=vA+504|0,e[tl>>2]=Lo,ar=$s+(Hi<<2)|0,$r=e[ar>>2]|0,Nh=vA+508|0,e[Nh>>2]=$r,il=Ar+(Hi<<3)|0,Fo=+A1[il>>3],Gh=vA+512|0,A1[Gh>>3]=Fo),XA=+A1[Re>>3],nl=e[As>>2]|0,Uh=e[Bn>>2]|0,Oh=e[gi>>2]|0,ea=e[c0>>2]|0,rl=ea+2856|0,sl=e[rl>>2]|0,ta=~~XA,lr=ea+28|0,ol=e[lr>>2]|0,Hh=(ol|0)>1,Hh||(e[lr>>2]=2),Mo=(sl|0)==0,Mo?(tn=r4(1,520)|0,e[rl>>2]=tn,SA=tn):SA=sl,s4(SA|0,25784,520)|0,e[SA>>2]=0,Yh=ea+3460|0,Jh=e[Yh>>2]|0,Kh=(Jh|0)==0,Kh||(Vh=SA+500|0,e[Vh>>2]=1,zh=nl+(ta<<2)|0,Zh=e[zh>>2]|0,Wh=SA+504|0,e[Wh>>2]=Zh,jh=Uh+(ta<<2)|0,Xh=e[jh>>2]|0,Al=SA+508|0,e[Al>>2]=Xh,ef=Oh+(ta<<3)|0,tf=+A1[ef>>3],al=SA+512|0,A1[al>>3]=tf),Ut||(nf=+A1[Re>>3],ia=_6+96|0,To=e[ia>>2]|0,na=_6+104|0,rf=e[na>>2]|0,sf=e[gi>>2]|0,ra=e[c0>>2]|0,ll=ra+2860|0,cl=e[ll>>2]|0,sa=~~nf,gl=ra+28|0,No=e[gl>>2]|0,of=(No|0)>2,of||(e[gl>>2]=3),Af=(cl|0)==0,Af?(hl=r4(1,520)|0,e[ll>>2]=hl,bA=hl):bA=cl,s4(bA|0,25784,520)|0,e[bA>>2]=1,af=ra+3460|0,$f=e[af>>2]|0,lf=($f|0)==0,lf||(cf=bA+500|0,e[cf>>2]=1,ul=To+(sa<<2)|0,dl=e[ul>>2]|0,Il=bA+504|0,e[Il>>2]=dl,El=rf+(sa<<2)|0,ml=e[El>>2]|0,cr=bA+508|0,e[cr>>2]=ml,gf=sf+(sa<<3)|0,Cl=+A1[gf>>3],Bl=bA+512|0,A1[Bl>>3]=Cl),pl=+A1[Re>>3],ff=e[ia>>2]|0,uf=e[na>>2]|0,df=e[gi>>2]|0,oa=e[c0>>2]|0,Ql=oa+2864|0,yl=e[Ql>>2]|0,cs=~~pl,wl=oa+28|0,If=e[wl>>2]|0,kl=(If|0)>3,kl||(e[wl>>2]=4),Ef=(yl|0)==0,Ef?(vl=r4(1,520)|0,e[Ql>>2]=vl,DA=vl):DA=yl,s4(DA|0,25784,520)|0,e[DA>>2]=1,mf=oa+3460|0,Cf=e[mf>>2]|0,Sl=(Cf|0)==0,Sl||(bl=DA+500|0,e[bl>>2]=1,Bf=ff+(cs<<2)|0,Go=e[Bf>>2]|0,aa=DA+504|0,e[aa>>2]=Go,Dl=uf+(cs<<2)|0,_l=e[Dl>>2]|0,Qf=DA+508|0,e[Qf>>2]=_l,yf=df+(cs<<3)|0,wf=+A1[yf>>3],kf=DA+512|0,A1[kf>>3]=wf)),vf=(j+3528|0)+(r<<5)|0,Sf=+A1[vf>>3],Uo=_6+32|0,Ll=e[Uo>>2]|0,Po=_6+36|0,bf=e[Po>>2]|0,Fl=_6+44|0,Df=e[Fl>>2]|0,Xm(t,Sf,0,Ll,bf,Df),Ml=j+3560|0,_f=+A1[Ml>>3],Rf=e[Uo>>2]|0,Tl=e[Po>>2]|0,$a=_6+52|0,Lf=e[$a>>2]|0,Xm(t,_f,1,Rf,Tl,Lf),Ut||(Oo=j+3592|0,Ff=+A1[Oo>>3],Ho=e[Uo>>2]|0,Mf=e[Po>>2]|0,la=e[$a>>2]|0,Xm(t,Ff,2,Ho,Mf,la),Tf=j+3624|0,Nf=+A1[Tf>>3],Gf=e[Uo>>2]|0,Nl=e[Po>>2]|0,Pf=_6+48|0,Of=e[Pf>>2]|0,Xm(t,Nf,3,Gf,Nl,Of)),Hf=((j+3528|0)+(r<<5)|0)+24|0,Gl=+A1[Hf>>3],Ul=_6+80|0,nn=e[Ul>>2]|0,Pl=_6+84|0,qo=e[Pl>>2]|0,ca=~~Gl,ga=+(ca|0),Ol=Gl-ga,hr=e[c0>>2]|0,qf=hr+2852|0,Hl=e[qf>>2]|0,Yf=qo+(ca<<3)|0,Jf=+A1[Yf>>3],Kf=1-Ol,Vf=Jf*Kf,Yo=ca+1|0,ha=qo+(Yo<<3)|0,zf=+A1[ha>>3],Zf=zf*Ol,ql=Zf+Vf,fa=~~ql,Yl=+(fa|0),Jl=ql-Yl,Wf=Jl==0,Kl=(fa|0)>0,_B=Kl&Wf,a=_B?1:Jl,jf=_B<<31>>31,M=jf+fa|0,ua=1-a,eu=M+1|0,oh=0;P9=(nn+(M*160|0)|0)+(oh<<2)|0,tu=e[P9>>2]|0,Vl=+(tu|0),iu=Vl*ua,nu=(nn+(eu*160|0)|0)+(oh<<2)|0,da=e[nu>>2]|0,ru=+(da|0),Ia=ru*a,zl=Ia+iu,ou=zl,Zl=(Hl+336|0)+(oh<<2)|0,s[Zl>>2]=ou,Wl=oh+1|0,NQ=(Wl|0)==40,!NQ;)oh=Wl;for(Au=j+3584|0,Ea=+A1[Au>>3],ma=~~Ea,jl=+(ma|0),Xl=Ea-jl,au=hr+2856|0,ec=e[au>>2]|0,$u=qo+(ma<<3)|0,tc=+A1[$u>>3],lu=1-Xl,cu=tc*lu,gu=ma+1|0,hu=qo+(gu<<3)|0,ic=+A1[hu>>3],nc=ic*Xl,Ba=nc+cu,Jo=~~Ba,fu=+(Jo|0),sc=Ba-fu,oc=sc==0,uu=(Jo|0)>0,RB=uu&oc,c=RB?1:sc,du=RB<<31>>31,T=du+Jo|0,Iu=1-c,Ac=T+1|0,Ah=0;Eu=(nn+(T*160|0)|0)+(Ah<<2)|0,mu=e[Eu>>2]|0,Cu=+(mu|0),pu=Cu*Iu,Qu=(nn+(Ac*160|0)|0)+(Ah<<2)|0,ac=e[Qu>>2]|0,yu=+(ac|0),$c=yu*c,wu=$c+pu,fr=wu,ku=(ec+336|0)+(Ah<<2)|0,s[ku>>2]=fr,lc=Ah+1|0,GQ=(lc|0)==40,!GQ;)Ah=lc;if(!Ut){for(vu=j+3616|0,pa=+A1[vu>>3],Su=_6+88|0,Ko=e[Su>>2]|0,Qa=~~pa,bu=+(Qa|0),ya=pa-bu,gc=hr+2860|0,Du=e[gc>>2]|0,_u=Ko+(Qa<<3)|0,Ru=+A1[_u>>3],Lu=1-ya,hc=Ru*Lu,Fu=Qa+1|0,Mu=Ko+(Fu<<3)|0,Tu=+A1[Mu>>3],Vo=Tu*ya,hs=Vo+hc,wa=~~hs,Nu=+(wa|0),ka=hs-Nu,Uu=ka==0,Pu=(wa|0)>0,xB=Pu&Uu,f=xB?1:ka,fc=xB<<31>>31,N=fc+wa|0,Ou=1-f,Hu=N+1|0,ah=0;qu=(nn+(N*160|0)|0)+(ah<<2)|0,Yu=e[qu>>2]|0,Ju=+(Yu|0),zo=Ju*Ou,Ku=(nn+(Hu*160|0)|0)+(ah<<2)|0,uc=e[Ku>>2]|0,zu=+(uc|0),Zu=zu*f,Wu=Zu+zo,ju=Wu,fi=(Du+336|0)+(ah<<2)|0,s[fi>>2]=ju,dc=ah+1|0,UQ=(dc|0)==40,!UQ;)ah=dc;for(ui=j+3648|0,Ic=+A1[ui>>3],va=~~Ic,X7=+(va|0),fs=Ic-X7,ed=hr+2864|0,td=e[ed>>2]|0,id=Ko+(va<<3)|0,nd=+A1[id>>3],rd=1-fs,Ec=nd*rd,sd=va+1|0,od=Ko+(sd<<3)|0,Ad=+A1[od>>3],ad=Ad*fs,us=ad+Ec,Sa=~~us,$d=+(Sa|0),Cc=us-$d,ld=Cc==0,cd=(Sa|0)>0,LB=cd&ld,E=LB?1:Cc,Zo=LB<<31>>31,G=Zo+Sa|0,gd=1-E,Bc=G+1|0,$h=0;pc=(nn+(G*160|0)|0)+($h<<2)|0,fd=e[pc>>2]|0,ud=+(fd|0),ur=ud*gd,dd=(nn+(Bc*160|0)|0)+($h<<2)|0,Id=e[dd>>2]|0,dr=+(Id|0),Ed=dr*E,Qc=Ed+ur,Cd=Qc,ds=(td+336|0)+($h<<2)|0,s[ds>>2]=Cd,yc=$h+1|0,PQ=(yc|0)==40,!PQ;)$h=yc}for(Bd=((j+3528|0)+(r<<5)|0)+8|0,wc=+A1[Bd>>3],pd=_6+40|0,rn=e[pd>>2]|0,ba=~~wc,Qd=+(ba|0),kc=wc-Qd,yd=rn+(ba<<2)|0,wd=e[yd>>2]|0,Sc=+(wd|0),kd=1-kc,vd=Sc*kd,Sd=ba+1|0,bc=rn+(Sd<<2)|0,bd=e[bc>>2]|0,Is=+(bd|0),Dd=Is*kc,_d=Dd+vd,Rd=_d,Da=Hl+32|0,s[Da>>2]=Rd,xd=j+3568|0,_a=+A1[xd>>3],Ra=~~_a,Ld=+(Ra|0),Dc=_a-Ld,_c=rn+(Ra<<2)|0,Fd=e[_c>>2]|0,Lc=+(Fd|0),Md=1-Dc,Fc=Lc*Md,Mc=Ra+1|0,Td=rn+(Mc<<2)|0,Nd=e[Td>>2]|0,Tc=+(Nd|0),Nc=Tc*Dc,Gd=Nc+Fc,Gc=Gd,Ud=ec+32|0,s[Ud>>2]=Gc,Ut||(Pd=j+3600|0,Pc=+A1[Pd>>3],xa=~~Pc,Oc=+(xa|0),Hc=Pc-Oc,qc=hr+2860|0,Yc=e[qc>>2]|0,Od=rn+(xa<<2)|0,Hd=e[Od>>2]|0,Yd=+(Hd|0),Jd=1-Hc,Kd=Yd*Jd,Vd=xa+1|0,zd=rn+(Vd<<2)|0,Jc=e[zd>>2]|0,La=+(Jc|0),Zd=La*Hc,Wd=Zd+Kd,jd=Wd,Vc=Yc+32|0,s[Vc>>2]=jd,Xd=j+3632|0,zc=+A1[Xd>>3],Fa=~~zc,Wo=+(Fa|0),Zc=zc-Wo,eI=hr+2864|0,tI=e[eI>>2]|0,iI=rn+(Fa<<2)|0,nI=e[iI>>2]|0,jo=+(nI|0),rI=1-Zc,sI=jo*rI,oI=Fa+1|0,AI=rn+(oI<<2)|0,aI=e[AI>>2]|0,$I=+(aI|0),lI=$I*Zc,cI=lI+sI,jc=cI,hI=tI+32|0,s[hI>>2]=jc),fI=((j+3528|0)+(r<<5)|0)+16|0,uI=+A1[fI>>3],Xo=_6+76|0,Xc=e[Xo>>2]|0,dI=_6+60|0,II=e[dI>>2]|0,Er=_6+56|0,eg=e[Er>>2]|0,Rl?ig=0:(tg=j+3408|0,EI=+A1[tg>>3],ig=EI),eC(t,uI,0,Xc,II,eg,ig),mI=j+3576|0,ng=+A1[mI>>3],rg=e[Xo>>2]|0,CI=_6+64|0,BI=e[CI>>2]|0,pI=e[Er>>2]|0,eC(t,ng,1,rg,BI,pI,0),Ut?(Es=e[c0>>2]|0,YI=Es+2852|0,dg=e[YI>>2]|0,JI=Es+3496|0,Ga=+A1[JI>>3],Ig=Ga,KI=dg+4|0,s[KI>>2]=Ig,zI=Es+3504|0,ZI=+A1[zI>>3],Eg=ZI,WI=dg+8|0,s[WI>>2]=Eg,jI=Es+2856|0,mg=e[jI>>2]|0,rA=mg+4|0,s[rA>>2]=Ig,XI=mg+8|0,s[XI>>2]=Eg,sn=Es):(QI=j+3608|0,yI=+A1[QI>>3],Ta=e[Xo>>2]|0,wI=_6+68|0,kI=e[wI>>2]|0,vI=e[Er>>2]|0,eC(t,yI,2,Ta,kI,vI,0),SI=j+3640|0,sg=+A1[SI>>3],bI=e[Xo>>2]|0,og=_6+72|0,DI=e[og>>2]|0,_I=e[Er>>2]|0,eC(t,sg,3,bI,DI,_I,0),bn=e[c0>>2]|0,ag=bn+2852|0,$g=e[ag>>2]|0,RI=bn+3496|0,lg=+A1[RI>>3],tA=lg,xI=$g+4|0,s[xI>>2]=tA,LI=bn+3504|0,FI=+A1[LI>>3],iA=FI,MI=$g+8|0,s[MI>>2]=iA,TI=bn+2856|0,gg=e[TI>>2]|0,NI=gg+4|0,s[NI>>2]=tA,GI=gg+8|0,s[GI>>2]=iA,Na=bn+2860|0,nA=e[Na>>2]|0,UI=nA+4|0,s[UI>>2]=tA,PI=nA+8|0,s[PI>>2]=iA,OI=bn+2864|0,ug=e[OI>>2]|0,HI=ug+4|0,s[HI>>2]=tA,qI=ug+8|0,s[qI>>2]=iA,sn=bn),eE=+A1[Re>>3],tE=_6+152|0,Cg=e[tE>>2]|0,Bg=~~eE,iE=Cg+(Bg<<3)|0,pg=e[iE>>2]|0,Qg=(Cg+(Bg<<3)|0)+4|0,ki=e[Qg>>2]|0,yg=e[sn>>2]|0,nE=sn+4|0,rE=e[nE>>2]|0,oE=(yg|0)==(rE|0),A=oE?1:2,Ua=sn+8|0,sA=sn+12|0,wg=t+8|0,kg=t+4|0,Ii=0;;){if(AE=r4(1,3208)|0,oA=(sn+544|0)+(Ii<<2)|0,e[oA>>2]=AE,Cs=r4(1,16)|0,aE=(sn+32|0)+(Ii<<2)|0,e[aE>>2]=Cs,AA=26304+(Ii<<4)|0,e[Cs>>2]=e[AA>>2]|0,e[Cs+4>>2]=e[AA+4>>2]|0,e[Cs+8>>2]=e[AA+8>>2]|0,e[Cs+12>>2]=e[AA+12>>2]|0,$E=e[Ua>>2]|0,Oa=(Ii|0)<($E|0),Oa||(lE=Ii+1|0,e[Ua>>2]=lE),cE=(sn+288|0)+(Ii<<2)|0,e[cE>>2]=0,vg=e[oA>>2]|0,aA=pg+(Ii*3208|0)|0,s4(vg|0,aA|0,3208)|0,Sg=e[sA>>2]|0,gE=(Ii|0)<(Sg|0),gE||(hE=Ii+1|0,e[sA>>2]=hE),fE=e[aA>>2]|0,bg=(fE|0)>0,bg)for($C=0;;){dE=((pg+(Ii*3208|0)|0)+1092|0)+($C<<2)|0,jt=e[dE>>2]|0,y4=e[c0>>2]|0,ei=S9(2840)|0,IE=(y4+1568|0)+(jt<<2)|0,e[IE>>2]=ei,Dg=(ki+(jt<<5)|0)+12|0,_g=e[Dg>>2]|0,s4(ei|0,_g|0,2840)|0,Ha=y4+20|0,EE=e[Ha>>2]|0,Bs=(EE|0)>(jt|0),Bs||(mE=jt+1|0,e[Ha>>2]=mE),CE=(ki+(jt<<5)|0)+8|0,Rg=e[CE>>2]|0,qa=ei+8|0,e[qa>>2]=Rg,BE=ki+(jt<<5)|0,xg=e[BE>>2]|0,Lg=(y4+1312|0)+(jt<<2)|0,e[Lg>>2]=xg,Fg=y4+3420|0,Ya=e[Fg>>2]|0,Mg=(Ya|0)==0,ps=ei+12|0,Ka=e[ps>>2]|0,Tg=(Ka|0)>0;do if(Mg){if(Tg)for(Ng=(ki+(jt<<5)|0)+24|0,$A=e[Ng>>2]|0,yE=ei+24|0,kA=0;;)if(an=yE+(kA<<2)|0,Br=$A+(kA<<4)|0,_7=e[Br>>2]|0,R7=(_7|0)==0,R7||(x7=e[an>>2]|0,fA=x7|1,e[an>>2]=fA),uA=($A+(kA<<4)|0)+4|0,zg=e[uA>>2]|0,Zg=(zg|0)==0,Zg||(k2=e[an>>2]|0,m5=k2|2,e[an>>2]=m5),r5=($A+(kA<<4)|0)+8|0,R2=e[r5>>2]|0,_2=(R2|0)==0,_2||(B2=e[an>>2]|0,C5=B2|4,e[an>>2]=C5),d5=($A+(kA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[an>>2]|0,H2=_5|8,e[an>>2]=H2),I5=kA+1|0,A5=e[ps>>2]|0,c5=(I5|0)<(A5|0),c5)kA=I5;else{CA=A5;break}else CA=Ka;dA=(ki+(jt<<5)|0)+16|0,i$=e[dA>>2]|0,L7=y4+24|0,xn=e[L7>>2]|0,n$=(xn|0)>0,KE=i$;e:do if(n$)for(Cm=0;;){if(r$=(y4+1824|0)+(Cm<<2)|0,VE=e[r$>>2]|0,s$=(VE|0)==(i$|0),s$){x=Cm;break e}if(Wg=Cm+1|0,EA=(Wg|0)<(xn|0),EA)Cm=Wg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,zE=xn+1|0,e[L7>>2]=zE,x=xn),ZE=ei+20|0,e[ZE>>2]=x,WE=(y4+1824|0)+(x<<2)|0,e[WE>>2]=KE,pr=(CA|0)>0,!pr)break;for(Ve=(ki+(jt<<5)|0)+24|0,v4=ei+280|0,Tn=0,I$=0;;){if(jg=e[Ve>>2]|0,jE=jg+(I$<<4)|0,o$=e[jE>>2]|0,Xg=(o$|0)==0,XE=o$,Xg)ks=jg,$m=Tn;else{BA=e[L7>>2]|0,tm=(BA|0)>0;e:do if(tm)for(um=0;;){if(im=(y4+1824|0)+(um<<2)|0,nm=e[im>>2]|0,rm=(nm|0)==(o$|0),rm){L=um;break e}if(eh=um+1|0,sm=(eh|0)<(BA|0),sm)um=eh;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,om=BA+1|0,e[L7>>2]=om,L=BA),Am=Tn+1|0,ti=v4+(Tn<<2)|0,e[ti>>2]=L,Qr=(y4+1824|0)+(L<<2)|0,e[Qr>>2]=XE,s0=e[Ve>>2]|0,ks=s0,$m=Am}if(A$=(ks+(I$<<4)|0)+4|0,vs=e[A$>>2]|0,Xt=(vs|0)==0,Ss=vs,Xt)E2=ks,J4=$m;else{K1=e[L7>>2]|0,O1=(K1|0)>0;e:do if(O1)for(gm=0;;){if(H1=(y4+1824|0)+(gm<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(vs|0),j1){D=gm;break e}if(n2=gm+1|0,W1=(n2|0)<(K1|0),W1)gm=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=K1+1|0,e[L7>>2]=P1,D=K1),c2=$m+1|0,z1=v4+($m<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=Ss,i0=e[Ve>>2]|0,E2=i0,J4=c2}if(s2=(E2+(I$<<4)|0)+8|0,V1=e[s2>>2]|0,h2=(V1|0)==0,a2=V1,h2)D2=E2,f$=J4;else{t2=e[L7>>2]|0,$2=(t2|0)>0;e:do if($2)for(hm=0;;){if(i2=(y4+1824|0)+(hm<<2)|0,A2=e[i2>>2]|0,X1=(A2|0)==(V1|0),X1){Q=hm;break e}if(r2=hm+1|0,u2=(r2|0)<(t2|0),u2)hm=r2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[L7>>2]=y2,Q=t2),v2=J4+1|0,w2=v4+(J4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=a2,K=e[Ve>>2]|0,D2=K,f$=v2}if(F2=(D2+(I$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,V2=N2,d2)wB=f$;else{G2=e[L7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(fm=0;;){if(P2=(y4+1824|0)+(fm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=fm;break e}if(O2=fm+1|0,T1=(O2|0)<(G2|0),T1)fm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[L7>>2]=X2,_=G2),x5=f$+1|0,e5=v4+(f$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=V2,wB=x5}if(v5=I$+1|0,P5=e[ps>>2]|0,l5=(v5|0)<(P5|0),l5)Tn=wB,I$=v5;else break}}else{if(Tg)for(pE=(ki+(jt<<5)|0)+28|0,mr=e[pE>>2]|0,QE=ei+24|0,wA=0;;)if(vi=QE+(wA<<2)|0,wE=mr+(wA<<4)|0,kE=e[wE>>2]|0,vE=(kE|0)==0,vE||(SE=e[vi>>2]|0,bE=SE|1,e[vi>>2]=bE),DE=(mr+(wA<<4)|0)+4|0,Si=e[DE>>2]|0,_E=(Si|0)==0,_E||(o6=e[vi>>2]|0,e3=o6|2,e[vi>>2]=e3),A3=(mr+(wA<<4)|0)+8|0,x3=e[A3>>2]|0,f6=(x3|0)==0,f6||(p3=e[vi>>2]|0,Q3=p3|4,e[vi>>2]=Q3),n6=(mr+(wA<<4)|0)+12|0,W3=e[n6>>2]|0,P3=(W3|0)==0,P3||(V5=e[vi>>2]|0,v3=V5|8,e[vi>>2]=v3),g3=wA+1|0,O3=e[ps>>2]|0,l6=(g3|0)<(O3|0),l6)wA=g3;else{Kg=O3;break}else Kg=Ka;RE=(ki+(jt<<5)|0)+20|0,Ug=e[RE>>2]|0,di=y4+24|0,lA=e[di>>2]|0,Va=(lA|0)>0,Pg=Ug;e:do if(Va)for(cm=0;;){if(Og=(y4+1824|0)+(cm<<2)|0,LE=e[Og>>2]|0,Hg=(LE|0)==(Ug|0),Hg){B=cm;break e}if(qg=cm+1|0,FE=(qg|0)<(lA|0),FE)cm=qg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Jg=lA+1|0,e[di>>2]=Jg,B=lA),TE=ei+20|0,e[TE>>2]=B,NE=(y4+1824|0)+(B<<2)|0,e[NE>>2]=Pg,GE=(Kg|0)>0,!GE)break;for(Qs=(ki+(jt<<5)|0)+28|0,cA=ei+280|0,xs=0,u$=0;;){if(gA=e[Qs>>2]|0,UE=gA+(u$<<4)|0,za=e[UE>>2]|0,OE=(za|0)==0,Vg=za,OE)ws=gA,kr=xs;else{ys=e[di>>2]|0,HE=(ys|0)>0;e:do if(HE)for(mm=0;;){if(qE=(y4+1824|0)+(mm<<2)|0,Za=e[qE>>2]|0,Wa=(Za|0)==(za|0),Wa){y=mm;break e}if(hA=mm+1|0,ja=(hA|0)<(ys|0),ja)mm=hA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,Xa=ys+1|0,e[di>>2]=Xa,y=ys),_n=xs+1|0,Rn=cA+(xs<<2)|0,e[Rn>>2]=y,e$=(y4+1824|0)+(y<<2)|0,e[e$>>2]=Vg,H=e[Qs>>2]|0,ws=H,kr=_n}if(t$=(ws+(u$<<4)|0)+4|0,An=e[t$>>2]|0,Cr=(An|0)==0,YE=An,Cr)R5=ws,yr=kr;else{B5=e[di>>2]|0,M1=(B5|0)>0;e:do if(M1)for(dm=0;;){if(g5=(y4+1824|0)+(dm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(An|0),W2){v=dm;break e}if(g2=dm+1|0,p5=(g2|0)<(B5|0),p5)dm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[di>>2]=t5,v=B5),s5=kr+1|0,h5=cA+(kr<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=YE,V=e[Qs>>2]|0,R5=V,yr=s5}if(f5=(R5+(u$<<4)|0)+8|0,j2=e[f5>>2]|0,$5=(j2|0)==0,x2=j2,$5)f3=R5,wr=yr;else{Q5=e[di>>2]|0,H5=(Q5|0)>0;e:do if(H5)for(Im=0;;){if(j5=(y4+1824|0)+(Im<<2)|0,E5=e[j5>>2]|0,u3=(E5|0)==(j2|0),u3){b=Im;break e}if(h3=Im+1|0,X5=(h3|0)<(Q5|0),X5)Im=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,r3=Q5+1|0,e[di>>2]=r3,b=Q5),m3=yr+1|0,F5=cA+(yr<<2)|0,e[F5>>2]=b,K5=(y4+1824|0)+(b<<2)|0,e[K5>>2]=x2,a0=e[Qs>>2]|0,f3=a0,wr=m3}if(w3=(f3+(u$<<4)|0)+12|0,B3=e[w3>>2]|0,V3=(B3|0)==0,N3=B3,V3)F9=wr;else{y3=e[di>>2]|0,W5=(y3|0)>0;e:do if(W5)for(Em=0;;){if(i6=(y4+1824|0)+(Em<<2)|0,R3=e[i6>>2]|0,G3=(R3|0)==(B3|0),G3){w=Em;break e}if(a3=Em+1|0,l3=(a3|0)<(y3|0),l3)Em=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=y3+1|0,e[di>>2]=c3,w=y3),C3=wr+1|0,q5=cA+(wr<<2)|0,e[q5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=N3,F9=C3}if(k5=u$+1|0,U3=e[ps>>2]|0,M5=(k5|0)<(U3|0),M5)xs=F9,u$=k5;else break}}while(!1);th=y4+3480|0,ih=+A1[th>>3],QA=ih*1e3,bs=(y4+1056|0)+(Ii<<2)|0,_s=e[bs>>2]|0,am=e[wg>>2]|0,Rs=+(am|0),$n=Rs*.5,nh=y4+(Ii<<2)|0,Ln=e[nh>>2]|0,ii=Ln>>1,a$=QA>$n,vB=a$?$n:QA,$$=vB/$n,Yi=+(ii|0),c$=Yi*$$,g$=~~c$,Fn=_s+1116|0,e[Fn>>2]=g$,$6=(ki+(jt<<5)|0)+4|0,yA=e[$6>>2]|0;do if((yA|0)==2)sh=250;else if((yA|0)==1){if(Mn=e[Fg>>2]|0,rh=(Mn|0)==0,ve=y4+2996|0,h$=y4+2968|0,WQ=rh?h$:ve,ZQ=e[WQ>>2]|0,zQ=+(ZQ|0),SB=zQ*1e3,Q8=SB>$n,!Q8){sh=SB;break}sh=$n}else sh=vB;while(!1);d0=e[Lg>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,u0=(k0|0)>0,u0)for(aC=0;;){if(B0=(y4+544|0)+(aC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(pm=0;;){K0=(p0+1092|0)+(pm<<2)|0,Q0=e[K0>>2]|0,L0=(Q0|0)==(jt|0);do if(L0){if(M0=e[kg>>2]|0,N0=(M0|0)>0,N0)kB=0,cC=0;else{lm=0;break}for(;;)if(U0=(p0+4|0)+(cC<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)==(pm|0),x0=q0&1,O=x0+kB|0,D0=cC+1|0,TQ=(D0|0)==(M0|0),TQ){lm=O;break}else kB=O,cC=D0}else lm=0;while(!1);if(T0=pm+1|0,Y0=(T0|0)<(I0|0),P0=(lm|0)==0,V0=Y0&P0,V0)pm=T0;else{sC=lm;break}}else sC=0;if(G0=aC+1|0,O0=(G0|0)<(k0|0),n1=(sC|0)==0,H0=O0&n1,H0)aC=G0;else{rC=sC;break}}else rC=0;if(e1=sh/$n,b0=+(rC|0),i1=b0*Yi,$1=i1*e1,f1=e[qa>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,r1=n5(a1,f1)|0,o1=ei+4|0,e[o1>>2]=r1,z0=n5(rC,ii)|0,I1=(r1|0)>(z0|0),!I1){U=o1,Z1=r1,D1=f1;break}m1=(z0|0)%(f1|0)&-1,d1=z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,D1=f1}else{if(E1=sh/$n,B1=E1*Yi,p1=e[qa>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,w1=~~x1,S1=n5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,D1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),d3=$C+1|0,v6=e[aA>>2]|0,S6=(d3|0)<(v6|0),S6)$C=d3;else break}if(B6=Ii+1|0,j3=(B6|0)<(A|0),j3)Ii=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,R6=(p6|0)>0,R6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[c0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,u6=C6+3400|0,H3=+A1[u6>>3],b3=~~H3,q3=+(b3|0),z3=H3-q3,b6=e6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?p=-1:(O6=e[kg>>2]|0,d6=A6+(b3<<3)|0,D3=+A1[d6>>3],N6=1-z3,r6=D3*N6,Q6=b3+1|0,x6=A6+(Q6<<3)|0,V6=+A1[x6>>3],I6=V6*z3,J6=I6+r6,L3=+(O6|0),G6=J6*L3,jQ=~~G6,p=jQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,L6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=L6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?o0=0:(F3=j+3444|0,t9=e[F3>>2]|0,A9=+(t9|0),j6=+(p6|0),f9=A9/j6,u9=~~f9,o0=u9),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],n9=j+3376|0,A1[n9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function ZS(t,r,A,a){t=t|0,r=r|0,A=A|0,a=+a;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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)f=-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,p=WS(r,A,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return jS(t,r,A),b=Q+3420|0,e[b>>2]=0,w=Q+3464|0,e[w>>2]=1,y=zS(t)|0,D=(y|0)==0,D?(c=0,c|0):(uB(t),c=y,c|0);return uB(t),c=f,c|0}function Xm(t,r,A,a,c,f){t=t|0,r=+r,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~r,I=+(E|0),L=r-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,M0=e[C0>>2]|0,V0=a+(E*20|0)|0,g1=e[V0>>2]|0,h1=+(g1|0),m=1-L,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,b=e[v>>2]|0,w=+(b|0),y=w*L,D=y+p,Q=D,_=M0+12|0,s[_>>2]=Q,x=(a+(E*20|0)|0)+4|0,F=e[x>>2]|0,M=+(F|0),T=M*m,N=(a+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=M0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,H=e[e0>>2]|0,X=+(H|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,V=+(Z|0),a0=V*L,s0=a0+U,n0=s0,K=M0+20|0,s[K>>2]=n0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],c0=o0,j=c0*m,l0=(a+(B*20|0)|0)+12|0,f0=+s[l0>>2],d0=f0,w0=d0*L,k0=w0+j,u0=k0,B0=M0+24|0,s[B0>>2]=u0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,K0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],L0=Q0,N0=L0*L,U0=N0+K0,y0=U0,q0=M0+28|0,s[q0>>2]=y0,x0=c+(E<<2)|0,D0=e[x0>>2]|0,T0=+(D0|0),J0=T0*m,Y0=c+(B<<2)|0,P0=e[Y0>>2]|0,G0=+(P0|0),O0=G0*L,n1=O0+J0,H0=n1,e1=M0+496|0,s[e1>>2]=H0,d1=0;b0=(f+(E*68|0)|0)+(d1<<2)|0,i1=e[b0>>2]|0,c1=+(i1|0),$1=c1*m,f1=(f+(B*68|0)|0)+(d1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*L,r1=a1+$1,o1=r1,z0=(M0+36|0)+(d1<<2)|0,s[z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function eC(t,r,A,a,c,f,E){t=t|0,r=+r,A=A|0,a=a|0,c=c|0,f=f|0,E=+E;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~r,y=+(w|0),$0=r-y,j=t+28|0,S0=e[j>>2]|0,D0=(S0+2852|0)+(A<<2)|0,b0=e[D0>>2]|0,z0=a+(w<<2)|0,w1=e[z0>>2]|0,O1=+(w1|0),D=1-$0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,H=e0+z,X=H,U=b0+108|0,s[U>>2]=X,Z=f+(A*12|0)|0,V=e[Z>>2]|0,a0=b0+120|0,e[a0>>2]=V,s0=(f+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,n0=b0+124|0,e[n0>>2]=i0,K=(f+(A*12|0)|0)+8|0,h0=e[K>>2]|0,o0=b0+128|0,e[o0>>2]=h0,t2=0;;)if(c0=(c+(w*204|0)|0)+(t2<<2)|0,l0=e[c0>>2]|0,f0=+(l0|0),d0=f0*D,w0=(c+(Y*204|0)|0)+(t2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),u0=k0*$0,B0=u0+d0,p0=B0,I0=(b0+132|0)+(t2<<2)|0,s[I0>>2]=p0,K0=t2+1|0,V1=(K0|0)==17,V1){$2=0;break}else t2=K0;for(;;)if(x1=((c+(w*204|0)|0)+68|0)+($2<<2)|0,S1=e[x1>>2]|0,L1=+(S1|0),F1=L1*D,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,D1=N1,K1=(b0+200|0)+($2<<2)|0,s[K1>>2]=D1,H1=$2+1|0,h2=(H1|0)==17,h2){i2=0;break}else $2=H1;for(;q1=((c+(w*204|0)|0)+136|0)+(i2<<2)|0,Y1=e[q1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((c+(Y*204|0)|0)+136|0)+(i2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,f2=z1+n2,Q=f2,_=(b0+268|0)+(i2<<2)|0,s[_>>2]=Q,L=i2+1|0,a2=(L|0)==17,!a2;)i2=L;for(x=b0+132|0,F=+s[x>>2],y0=F+6,M=b0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,_0=1;I=(b0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(b0+132|0)+(_0<<2)|0,L0=B,M0=L0+E,N0=M0,U0=N0>2]=A2,q0=_0+1|0,s2=(q0|0)==17,!s2;)_0=q0;for(x0=b0+200|0,T0=+s[x0>>2],J0=T0+6,Y0=b0+200|0,P0=T0,V0=P0+E,G0=V0,O0=G0>2]=r2,n1=1;m=(b0+200|0)+(n1<<2)|0,v=+s[m>>2],H0=(b0+200|0)+(n1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,f1=n1+1|0,E2=(f1|0)==17,!E2;)n1=f1;for(g1=b0+268|0,l1=+s[g1>>2],s1=l1+6,a1=b0+268|0,r1=l1,o1=r1+E,I1=o1,h1=I1>2]=e2,m1=1;p=(b0+268|0)+(m1<<2)|0,b=+s[p>>2],d1=(b0+268|0)+(m1<<2)|0,E1=b,B1=E1+E,p1=B1,Q1=p1>2]=u2,R1=m1+1|0,o2=(R1|0)==17,!o2;)m1=R1}function WS(t,r,A,a,c){t=t|0,r=r|0,A=+A,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(H=26336,z0=0;;){if(e0=e[H>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,V=(U|0)==(t|0),d1=$0|V,d1&&(a0=e0+16|0,s0=e[a0>>2]|0,i0=(s0|0)>(r|0),!i0&&(n0=e0+20|0,K=e[n0>>2]|0,h0=(K|0)<(r|0),!h0&&(o0=e[e0>>2]|0,c0=e0+8|0,j=e[c0>>2]|0,f0=+A1[j>>3],d0=f0>A,!d0&&(k0=j+(o0<<3)|0,u0=+A1[k0>>3],B0=u0>2]|0,K0=Z+12|0,T0=e[K0>>2]|0,i1=(T0|0)==-1,s1=(T0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(r|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,x=(L|0)<(r|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=l0,p=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){f=0;break}else l0=J,I1=o1}return f|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),b=m1+1|0,!I0&&(_0=p+(b<<3)|0,Q0=+A1[_0>>3],L0=E>3],S0=v,m1=b}else h1=0;while(!1);return N0=(h1|0)==(I|0),N0?(U0=+(I|0),y0=U0+-.001,B1=y0):(q0=p+(h1<<3)|0,x0=+A1[q0>>3],D0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,P0=+A1[Y0>>3],V0=P0,G0=D0,O0=E-G0,n1=V0-D0,H0=n1,e1=O0/H0,b0=e1,c1=+(h1|0),$1=b0+c1,f1=$1,B1=f1),A1[c>>3]=B1,g1=e[m>>2]|0,f=g1,f|0}function jS(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0;b0=C,I=t+28|0,m=e[I>>2]|0,x=m+3396|0,W=e[x>>2]|0,e[t>>2]=0,n0=t+4|0,e[n0>>2]=r,k0=t+8|0,e[k0>>2]=A,N0=m+3456|0,e[N0>>2]=1,G0=m+3460|0,e[G0>>2]=1,n1=m+3400|0,H0=+A1[n1>>3],p=~~H0,B=+(p|0),v=H0-B,b=m+3472|0,A1[b>>3]=H0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(p<<3)|0,F=+A1[L>>3],M=1-v,T=F*M,N=p+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,c=N,f=M):(a=1-v,E=p+1|0,c=E,f=a),J=W+112|0,e0=e[J>>2]|0,H=e0+(p<<2)|0,X=e[H>>2]|0,U=+(X|0),$0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,a0=+(V|0),s0=a0*v,i0=s0+$0,K=m+3496|0,A1[K>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,c0=o0+(p<<2)|0,j=e[c0>>2]|0,l0=+(j|0),f0=l0*f,d0=o0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),u0=C0*v,B0=u0+f0,p0=m+3504|0,A1[p0>>3]=B0,I0=m+3512|0,A1[I0>>3]=-6,S0=m+3520|0,A1[S0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,_0=m+3536|0,A1[_0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,L0=m+3552|0,A1[L0>>3]=H0,M0=m+3560|0,A1[M0>>3]=H0,U0=m+3568|0,A1[U0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,q0=m+3584|0,A1[q0>>3]=H0,x0=m+3592|0,A1[x0>>3]=H0,D0=m+3600|0,A1[D0>>3]=H0,T0=m+3608|0,A1[T0>>3]=H0,J0=m+3616|0,A1[J0>>3]=H0,Y0=m+3624|0,A1[Y0>>3]=H0,P0=m+3632|0,A1[P0>>3]=H0,V0=m+3640|0,A1[V0>>3]=H0,O0=m+3648|0,A1[O0>>3]=H0}function XS(t,r,A,a,c,f){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,x=I?f:0,W=r+(m<<2)|0,n0=e[W>>2]|0,k0=520336+(n0<<2)|0,S0=e[k0>>2]|0,K0=r+(x<<2)|0,_0=e[K0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=A+(c<<2)|0,v=e[B>>2]|0,b=A+(m<<2)|0,w=e[b>>2]|0,y=A+(x<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,F=(w|0)/2&-1,M=L+F|0,T=(v|0)/2&-1,N=T+Q|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(L|0)>0,Y?(t0=Q-_|0,J=t0<<2,Ae(t|0,0,J|0)|0,M0=L):M0=0,e0=(M0|0)<(M|0),e0)for(H=Q+F|0,X=H-M0|0,U=X-_|0,N0=M0,q0=0;a0=S0+(q0<<2)|0,s0=+s[a0>>2],i0=t+(N0<<2)|0,K=+s[i0>>2],h0=K*s0,s[i0>>2]=h0,o0=N0+1|0,c0=q0+1|0,L0=(c0|0)==(U|0),!L0;)N0=o0,q0=c0;if($0=(D|0)>1,$0){for(Z=G+1|0,V=(z|0)>(Z|0),y0=G,D0=O;x0=D0+-1|0,d0=p+(x0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,u0=+s[C0>>2],B0=u0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,D0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(T0=t+(U0<<2)|0,l0=v-U0|0,f0=l0<<2,Ae(T0|0,0,f0|0)|0)}function eb(t,r,A){t=t|0,r=+r,A=+A;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0;if(K=C,C=C+64|0,i0=K+32|0,s0=K,a=S9(688)|0,c=a+408|0,hS(c),D=~~r,ZS(c,t,D,A)|0,z=a+440|0,lS(z),cS(z,553008,553016),X=a+456|0,Ov(X,c)|0,U=a+568|0,Uv(X,U)|0,$0=jp(0)|0,Ab($0),Z=ab()|0,_v(a,Z)|0,V=a+680|0,e[V>>2]=0,a0=a+684|0,e[a0>>2]=0,f=a+360|0,fS(X,z,f,i0,s0)|0,Wm(a,f)|0,Wm(a,i0)|0,Wm(a,s0)|0,E=a+392|0,I=eQ(a,E)|0,m=(I|0)==0,m)return C=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;b=e[a0>>2]|0,w=e[p>>2]|0,y=w+b|0,Q=e[B>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[V>>2]|0,T=Oi(M,_)|0,e[V>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[a0>>2]=H),x=eQ(a,E)|0,F=(x|0)==0,!F;);return C=K,a|0}function tb(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0;m=C,Rv(t)|0,r=t+568|0,Pv(r)|0,A=t+456|0,rQ(A),a=t+440|0,gS(a),c=t+408|0,uB(c),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function ib(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0;return f=C,A=t+456|0,a=sQ(A,r)|0,a|0}function nb(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0;if(K=C,A=t+456|0,Hv(A,r)|0,a=t+568|0,y=oQ(A,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,V=t+684|0,a0=t+396|0,s0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(Mv(a,0)|0,Gv(a)|0,m=nQ(A,$0)|0,p=(m|0)==0,!p)for(;;){if(Wm(t,$0)|0,b=tQ(t,Z)|0,w=(b|0)==0,!w)for(;D=e[V>>2]|0,Q=e[a0>>2]|0,_=Q+D|0,L=e[s0>>2]|0,x=_+L|0,F=(x|0)==0,F||(N=e[i0>>2]|0,G=Oi(N,x)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[V>>2]=W,e0=G+W|0,H=e[f>>2]|0,X=e[s0>>2]|0,s4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),M=tQ(t,Z)|0,T=(M|0)==0,!T;);if(B=nQ(A,$0)|0,v=(B|0)==0,v)break}if(E=oQ(A,a)|0,I=(E|0)==1,!I)break}}function rb(t){t=t|0;var r=0,A=0,a=0,c=0;return c=C,r=t+684|0,A=e[r>>2]|0,A|0}function sb(t){t=t|0;var r=0,A=0,a=0,c=0,f=0;return f=C,r=t+684|0,e[r>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function tC(t,r){t=+t,r=r|0;var A=0,a=0,c=0;return c=C,A=+ob(t,r),+A}function Th(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0;if(x3=C,C=C+688|0,e3=x3+424|0,J5=x3+192|0,W5=x3,X=n5(A,r)|0,U=(X|0)==0,U){C=x3;return}for(J=X-A|0,q1=W5+4|0,e[q1>>2]=A,e[W5>>2]=A,e2=A,u5=A,w3=2;o2=e2+A|0,M2=o2+u5|0,L5=W5+(w3<<2)|0,e[L5>>2]=M2,S5=M2>>>0>>0,i5=w3+1|0,S5;)y2=u5,u5=M2,w3=i5,e2=y2;if($0=0-A|0,j=t+J|0,S0=(J|0)>0,S0)for(D0=(A|0)==0,b0=j,w1=1,z2=0,F5=t,U5=1;;){z0=w1&3,K1=(z0|0)==3;do if(K1){e[J5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,z5=1;;){if(H1=Q+$0|0,Y1=B+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=Q+W|0,c2=u7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(f2=u7[a&15](P1,H1)|0,s2=(f2|0)>-1,s2)){f3=z5;break}if(E2=u7[a&15](W1,H1)|0,V1=(E2|0)>-1,h2=z5+1|0,a2=J5+(z5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,m=t2):(e[a2>>2]=H1,f=H1,m=Y1),$2=(m|0)>1,!$2){f3=h2;break}O=e[J5>>2]|0,B=m,Q=f,P1=O,z5=h2}if(i2=(f3|0)<2,!i2&&(A2=J5+(f3<<2)|0,e[A2>>2]=e3,!D0))for(y=A,G2=e3;;){for(d2=y>>>0>256,r2=d2?256:y,V2=e[J5>>2]|0,s4(G2|0,V2|0,r2|0)|0,D2=V2,V3=0;v2=J5+(V3<<2)|0,w2=V3+1|0,C2=J5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,r2|0)|0,N2=D2+r2|0,e[v2>>2]=N2,X5=(w2|0)==(f3|0),!X5;)D2=F2,V3=w2;if(X1=(y|0)==(r2|0),X1)break e;u2=y-r2|0,Y=e[A2>>2]|0,y=u2,G2=Y}}while(!1);q2=w1>>>2,P2=z2<<30,o5=q2|P2,O2=z2>>>2,T1=U5+2|0,n0=o5,D1=O2,O5=T1}else{if(X2=U5+-1|0,x5=W5+(X2<<2)|0,e5=e[x5>>2]|0,b5=F5,Z2=b0-b5|0,v5=e5>>>0>>0,v5){e[J5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,y3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=W5+(k2<<2)|0,r5=e[m5>>2]|0,o6=r5+A|0,e0=0-o6|0,R2=_+e0|0,B2=u7[a&15](_2,R2)|0,C5=(B2|0)>-1,C5&&(d5=u7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){B3=y3;break}if(G5=u7[a&15](R2,l5)|0,_5=(G5|0)>-1,H2=y3+1|0,I5=J5+(y3<<2)|0,_5?(e[I5>>2]=R2,A5=v+-1|0,E=R2,p=A5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){B3=H2;break}z=e[J5>>2]|0,v=p,_=E,_2=z,y3=H2}if(B5=(B3|0)<2,!B5&&(M1=J5+(B3<<2)|0,e[M1>>2]=e3,!D0))for(D=A,j2=e3;;){for(f5=D>>>0>256,a5=f5?256:D,R5=e[J5>>2]|0,s4(j2|0,R5|0,a5|0)|0,h5=R5,N3=0;g2=J5+(N3<<2)|0,p5=N3+1|0,t5=J5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,r3=(p5|0)==(B3|0),!r3;)h5=s5,N3=p5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else iC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){x2=z2<<1,Q5=w1>>>31,H5=Q5|x2,j5=w1<<1,n0=j5,D1=H5,O5=0;break}else{E5=X2>>>0>31,u3=U5+-33|0,c=E5?0:w1,L=E5?w1:z2,x=E5?u3:X2,h3=L<>>Z,a0=V|h3,s0=c<>>0>>0,h0)w1=i0,z2=D1,F5=K,U5=O5;else{T=D1,N=i0,m3=K,q5=O5;break}}else T=0,N=1,m3=t,q5=1;if(iC(m3,A,a,N,T,q5,0,W5),o0=(q5|0)==1,c0=(N|0)==1,C3=c0&o0,l0=(T|0)==0,c3=l0&C3,c3){C=x3;return}else w0=N,Q0=T,K5=m3,k5=q5;for(;;){if(f0=(k5|0)<2,!f0){O0=Q0<<2,n1=w0>>>30,H0=n1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=n1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,U3=a1+A|0,H=0-U3|0,r1=K5+H|0,o1=k5+-1|0,iC(r1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=n1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=K5+$0|0,iC(B1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,K5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)G0=32,A3=56;else{if(k0=d0&1,u0=(k0|0)==0,u0){for(b=d0,i6=0;;)if(B0=i6+1|0,p0=b>>>1,I0=p0&1,K0=(I0|0)==0,K0)b=p0,i6=B0;else{F=B0;break}_0=(F|0)==0,_0?A3=51:Y0=F}else A3=51;if((A3|0)==51){if(A3=0,L0=(Q0|0)==0,L0){G0=64,A3=56;break}if(M0=Q0&1,N0=(M0|0)==0,N0)w=Q0,R3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=R3+1|0,y0=w>>>1,q0=y0&1,x0=(q0|0)==0,x0)w=y0,R3=U0;else{M=U0,G3=R3;break}if(T0=G3+33|0,J0=(M|0)==0,J0){I=0,Q1=w0,S1=Q0,k1=0;break}else Y0=T0}P0=Y0>>>0>31,P0?(G0=Y0,A3=56):(I=Y0,Q1=w0,S1=Q0,k1=Y0)}while(!1);if((A3|0)==56&&(A3=0,V0=G0+-32|0,I=V0,Q1=Q0,S1=0,k1=G0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=k1+k5|0,G=K5+$0|0,U1=(G1|0)==1,Z1=(L1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=L1,Q0=F1,K5=G,k5=G1}C=x3}function iC(t,r,A,a,c,f,E,I){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0;B2=C,C=C+720|0,R2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-r|0,$0=(a|0)!=1,Q0=(c|0)!=0,Y0=Q0|$0;e:do if(Y0)if($1=I+(f<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,V1=u7[A&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,L=f,G=E,O2=1,_2=18;else for(w=t,T=f,O=E,I0=Y1,O0=c,b5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,u0=T+-2|0,B0=I+(u0<<2)|0,p0=e[B0>>2]|0,S0=u7[A&15](k0,I0)|0,K0=(S0|0)>-1,K0){v=w,x=T,X2=b5;break e}if(m5=p0+r|0,H=0-m5|0,_0=w+H|0,L0=u7[A&15](_0,I0)|0,M0=(L0|0)>-1,M0){v=w,x=T,X2=b5;break e}}N0=b5+1|0,U0=M2+(b5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,q0=(y0|0)==0;do if(q0)o1=32,_2=15;else{if(x0=y0&1,D0=(x0|0)==0,D0){for(Q=y0,u5=0;;)if(T0=u5+1|0,J0=Q>>>1,P0=J0&1,V0=(P0|0)==0,V0)Q=J0,u5=T0;else{z=T0;break}G0=(z|0)==0,G0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,n1=(O0|0)==0,n1){o1=64,_2=15;break}if(H0=O0&1,e1=(H0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,R1=0;break}for(;;)if(b0=v5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,v5=b0;else{Y=b0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(p=s1,I1=k2,E1=O0,R1=s1)}while(!1);if((_2|0)==15&&(_2=0,r1=o1+-32|0,p=r1,I1=O0,E1=0,R1=o1),z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=R1+T|0,x1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|x1,!S1){v=I0,x=Q1,X2=N0;break e}if(t0=e[M2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=u7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,L=Q1,G=0,O2=N0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,b5=N0,k2=B1,w=y}else B=t,L=f,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(D1=(G|0)==0,D1)v=B,x=L,X2=O2;else{C=B2;return}K1=(X2|0)<2;e:do if(!K1&&(O1=M2+(X2<<2)|0,e[O1>>2]=R2,H1=(r|0)==0,!H1))for(M=r,h2=R2;;){for(E2=M>>>0>256,j1=E2?256:M,o2=e[M2>>2]|0,s4(h2|0,o2|0,j1|0)|0,f2=o2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,o5=(P1|0)==(X2|0),!o5;)f2=z1,e5=P1;if(q1=(M|0)==(j1|0),q1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=v,a2=(x|0)>1;e:do if(a2){for(D=x,N=v,r2=v,Z2=1;;){if(t2=N+U|0,$2=D+-2|0,i2=I+($2<<2)|0,A2=e[i2>>2]|0,r5=A2+r|0,X=0-r5|0,X1=N+X|0,u2=u7[A&15](r2,X1)|0,e2=(u2|0)>-1,e2&&(v2=u7[A&15](r2,t2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=u7[A&15](X1,t2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=t2,m=t2,b=$2),V2=(b|0)>1,!V2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,r2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=R2;else if(q2=P2+(T1<<2)|0,e[q2>>2]=R2,V=(r|0)==0,V)C0=R2;else for(F=r,w0=R2;;){for(f0=F>>>0>256,s0=f0?256:F,d0=e[P2>>2]|0,s4(w0|0,d0|0,s0|0)|0,c0=d0,x5=0;n0=P2+(x5<<2)|0,K=x5+1|0,h0=P2+(K<<2)|0,o0=e[h0>>2]|0,s4(c0|0,o0|0,s0|0)|0,j=c0+s0|0,e[n0>>2]=j,z2=(K|0)==(T1|0),!z2;)c0=o0,x5=K;if(a0=(F|0)==(s0|0),a0){C0=R2;break e}i0=F-s0|0,W=e[q2>>2]|0,F=i0,w0=W}}else C0=R2;while(!1);C=B2}function Pi(t){t=+t;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,A1[p2>>3]=t,A=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,b=(p|0)==1126170624,w=b&v,y=B|w,y?(r=t,+r):(D=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,f=t+4503599627370496,E=f+-4503599627370496,_=D?c:E,I=_==0,I?(m=D?-0:0,r=m,+r):(r=_,+r))}function vQ(t){t=+t;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return y=C,A=(s[p2>>2]=t,e[p2>>2]|0),a=A&2130706432,c=a>>>0>1249902592,c?(r=t,+r):(f=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,b=f?I:p,B=b==0,B?(v=f?-0:0,r=v,+r):(r=b,+r))}function ob(t,r){t=+t,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,f=(r|0)>1023,f?(E=t*898846567431158e293,Q=r+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=r+-2046|0,F=(x|0)>1023,A=F?1023:x,a=A,G=L):(a=Q,G=E)):(M=(r|0)<-1022,M?(T=t*22250738585072014e-324,N=r+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=r+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=r,G=t)),v=a+1023|0,b=DQ(v|0,0,52)|0,w=q6,e[p2>>2]=b,e[p2+4>>2]=w,y=+A1[p2>>3],D=G*y,+D}function Ab(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0;I=C,r=t+-1|0,A=553040,a=A,e[a>>2]=r,c=A+4|0,f=c,e[f>>2]=0}function ab(){var t=0,r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,r=t,m=e[r>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,b=gb(m|0,v|0,1284865837,1481765933)|0,w=q6,y=zs(b|0,w|0,1,0)|0,D=q6,A=553040,a=A,e[a>>2]=y,c=A+4|0,f=c,e[f>>2]=D,E=Zs(y|0,D|0,33)|0,I=q6,E|0}function S9(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ft=0,vt=0,et=0,St=0,ie=0,tt=0,q8=0,b8=0,n8=0,H4=0,Le=0,r8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,He=0,X9=0,Fe=0,ue=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,qe=0,B8=0,ne=0,q9=0,re=0,D9=0,Ye=0,Y8=0,ut=0,nt=0,rt=0,J8=0,st=0,K8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,R8=0,Je=0,p9=0,At=0,Ke=0,Nt=0,qt=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,x8=0,_t=0,V8=0,Me=0,de=0,e4=0,Rt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Kt=0,E7=0,Vt=0,m7=0,n7=0,si=0,O7=0,C7=0,B7=0,oi=0,p7=0,r7=0,Ai=0,H7=0,q7=0,Y7=0,J7=0,s7=0,Q7=0,K7=0,zt=0,o7=0,Ut=0,Zt=0,ai=0,V7=0,$i=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,xt=0,a7=0,r9=0,dt=0,p8=0,It=0,Lt=0,zn=0,En=0,Xs=0,Ur=0,eo=0,Pr=0,to=0,io=0,Or=0,no=0,Zn=0,ro=0,so=0,oo=0,Hr=0,Ao=0,qr=0,Yr=0,ao=0,Wn=0,Jr=0,jn=0,Kr=0,Vr=0,$o=0,lo=0,co=0,Xn=0,zr=0,go=0,mn=0,er=0,ho=0,fo=0,tr=0,li=0,Zr=0,uo=0,Io=0,Wr=0,jr=0,Xr=0,Eo=0,ci=0,ir=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,nr=0,Cn=0,rr=0,bo=0,Wi=0,Do=0,ns=0,sr=0,rs=0,or=0,_o=0,ss=0,os=0,Ro=0,As=0,as=0,xo=0,Bn=0,$s=0,gi=0,Ar=0,pn=0,ji=0,Qn=0,Hi=0,yn=0,ls=0,qi=0,Qi=0,yi=0,j7=0,wi=0,wn=0,Xi=0,en=0,kn=0,hi=0,Lo=0,$7=0,tl=0,ar=0,$r=0,Nh=0,il=0,Fo=0,Gh=0,XA=0,nl=0,Uh=0,Ph=0,Oh=0,ea=0,rl=0,sl=0,ta=0,lr=0,ol=0,Hh=0,Mo=0,tn=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vn=0,ef=0,tf=0,al=0,nf=0,ia=0,To=0,na=0,rf=0,sf=0,ra=0,$l=0,ll=0,cl=0,sa=0,gl=0,No=0,of=0,Af=0,hl=0,af=0,$f=0,fl=0,lf=0,cf=0,ul=0,dl=0,Il=0,El=0,ml=0,cr=0,gf=0,Cl=0,hf=0,Bl=0,pl=0,ff=0,uf=0,df=0,oa=0,Ql=0,yl=0,cs=0,wl=0,Aa=0,If=0,kl=0,Ef=0,vl=0,mf=0,Cf=0,Sl=0,bl=0,Bf=0,Go=0,pf=0,aa=0,Dl=0,_l=0,Qf=0,yf=0,wf=0,kf=0,vf=0,Sf=0,Uo=0,Rl=0,xl=0,Ll=0,Po=0,bf=0,Fl=0,Df=0,Ml=0,_f=0,Rf=0,Tl=0,$a=0,xf=0,Lf=0,Oo=0,Ff=0,Ho=0,Mf=0,la=0,Tf=0,Nf=0,Gf=0,Nl=0,Uf=0,Pf=0,Of=0,Hf=0,Gl=0,Ul=0,nn=0,Pl=0,qo=0,ca=0,ga=0,gr=0,Ol=0,hr=0,qf=0,Hl=0,Yf=0,Jf=0,Kf=0,Vf=0,Yo=0,ha=0,Sn=0,zf=0,Zf=0,ql=0,fa=0,Yl=0,Jl=0,Wf=0,Kl=0,jf=0,ua=0,Xf=0,eu=0,P9=0,tu=0,Vl=0,iu=0,nu=0,da=0,ru=0,Ia=0,zl=0,su=0,ou=0,Zl=0,Wl=0,Au=0,Ea=0,ma=0,jl=0,Xl=0,au=0,ec=0,Ca=0,$u=0,tc=0,lu=0,cu=0,gu=0,hu=0,ic=0,nc=0,Ba=0,Jo=0,rc=0,fu=0,sc=0,oc=0,uu=0,du=0,Iu=0,Ac=0,Eu=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,ac=0,yu=0,$c=0,wu=0,fr=0,ku=0,lc=0,vu=0,gs=0,cc=0,pa=0,Su=0,Ko=0,Qa=0,bu=0,ya=0,gc=0,Du=0,_u=0,Ru=0,xu=0,Lu=0,hc=0,Fu=0,Mu=0,Tu=0,Vo=0,hs=0,wa=0,Nu=0,ka=0,Gu=0,Uu=0,Pu=0,fc=0,Ou=0,Hu=0,qu=0,Yu=0,Ju=0,zo=0,Ku=0,Vu=0,uc=0,zu=0,Zu=0,Wu=0,ju=0,fi=0,dc=0,ui=0,Ic=0,va=0,Xu=0,X7=0,fs=0,ed=0,td=0,id=0,nd=0,rd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,us=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Zo=0,gd=0,hd=0,Bc=0,pc=0,fd=0,ud=0,ur=0,dd=0,Id=0,dr=0,Ed=0,Qc=0,md=0,Cd=0,ds=0,yc=0,Bd=0,wc=0,pd=0,rn=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Is=0,Dd=0,Ir=0,_d=0,Rd=0,Da=0,xd=0,_a=0,Ra=0,Ld=0,Dc=0,_c=0,Fd=0,Rc=0,xc=0,Lc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,xa=0,Oc=0,Hc=0,qc=0,Yc=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,zd=0,Jc=0,La=0,Zd=0,Wd=0,jd=0,Kc=0,Vc=0,Xd=0,zc=0,Fa=0,Wo=0,Zc=0,eI=0,tI=0,iI=0,nI=0,Wc=0,jo=0,rI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,fI=0,uI=0,Xo=0,Xc=0,dI=0,II=0,Er=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,ng=0,rg=0,CI=0,BI=0,pI=0,QI=0,yI=0,eA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,bn=0,ag=0,$g=0,RI=0,lg=0,tA=0,xI=0,LI=0,FI=0,iA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,fg=0,ug=0,HI=0,qI=0,Es=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,KI=0,VI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,rA=0,XI=0,eE=0,tE=0,ms=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,ki=0,yg=0,sn=0,nE=0,rE=0,sE=0,oE=0,Ua=0,sA=0,wg=0,kg=0,AE=0,oA=0,Cs=0,aE=0,AA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,aA=0,Sg=0,gE=0,hE=0,fE=0,uE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,Ha=0,EE=0,Dn=0,Bs=0,mE=0,CE=0,Rg=0,qa=0,BE=0,xg=0,Lg=0,Fg=0,Ya=0,Ja=0,Mg=0,ps=0,Ka=0,Tg=0,pE=0,mr=0,QE=0,Ng=0,$A=0,yE=0,Gg=0,vi=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,Si=0,_E=0,RE=0,xE=0,Ug=0,di=0,lA=0,Va=0,Pg=0,Og=0,LE=0,Hg=0,qg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Kg=0,GE=0,Qs=0,cA=0,gA=0,UE=0,za=0,PE=0,OE=0,Vg=0,ys=0,HE=0,qE=0,Za=0,Wa=0,hA=0,ja=0,Xa=0,on=0,_n=0,Rn=0,e$=0,t$=0,ws=0,An=0,Cr=0,YE=0,an=0,Br=0,JE=0,_7=0,R7=0,x7=0,fA=0,uA=0,zg=0,Zg=0,dA=0,i$=0,L7=0,IA=0,xn=0,n$=0,KE=0,r$=0,VE=0,s$=0,Wg=0,EA=0,zE=0,ZE=0,mA=0,WE=0,CA=0,pr=0,Ve=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,BA=0,tm=0,im=0,nm=0,rm=0,eh=0,sm=0,om=0,Am=0,ti=0,pA=0,Qr=0,A$=0,ks=0,vs=0,Xt=0,Ss=0,th=0,ih=0,QA=0,bs=0,Ds=0,_s=0,am=0,Rs=0,$n=0,nh=0,Ln=0,ii=0,a$=0,$$=0,Yi=0,l$=0,c$=0,g$=0,Fn=0,$6=0,yA=0,Mn=0,rh=0,ve=0,h$=0,Q8=0,xs=0,yr=0,wr=0,F9=0,kr=0,Tn=0,J4=0,f$=0;f$=C,V1=t>>>0<245;do if(V1){if(h2=t>>>0<11,h4=t+11|0,H4=h4&-8,ke=h2?16:H4,Fo=ke>>>3,la=e[138262]|0,Vo=la>>>Fo,Hc=Vo&3,mg=(Hc|0)==0,!mg){a2=Vo&1,f3=a2^1,l3=f3+Fo|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,R6=553088+(w0<<2)|0,b6=e[R6>>2]|0,x6=b6+8|0,D6=e[x6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,le&&Q2(),p4=D6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(b6|0),M8){e[p4>>2]=g3,e[R6>>2]=D6;break}else Q2();while(!1);return u8=l3<<3,ht=u8|3,Le=b6+4|0,e[Le>>2]=ht,p0=u8|4,ye=b6+p0|0,q4=e[ye>>2]|0,nt=q4|1,e[ye>>2]=nt,Ve=x6,Ve|0}if(Je=e[138264]|0,Yt=ke>>>0>Je>>>0,Yt){if(U7=(Vo|0)==0,!U7){O7=Vo<>>12,nr=Co&16,ss=Zr>>>nr,ji=ss>>>5,Xi=ji&8,Gh=Xi|nr,ol=ss>>>Xi,Wh=ol>>>2,na=Wh&4,Af=Gh|na,ml=ol>>>na,Ql=ml>>>1,Sl=Ql&2,kf=Af|Sl,Ml=ml>>>Sl,Tf=Ml>>>1,Pl=Tf&1,Kf=kf|Pl,Wf=Ml>>>Pl,da=Kf+Wf|0,jl=da<<1,ic=553088+(jl<<2)|0,U1=jl+2|0,Ac=553088+(U1<<2)|0,fr=e[Ac>>2]|0,ya=fr+8|0,hs=e[ya>>2]|0,Yu=(ic|0)==(hs|0);do if(Yu)dc=1<>>0>>0,rn&&Q2(),bc=hs+12|0,Ld=e[bc>>2]|0,Nd=(Ld|0)==(fr|0),Nd){e[bc>>2]=ic,e[Ac>>2]=hs,y=e[138264]|0,nA=y;break}else Q2();while(!1);return qc=da<<3,La=qc-ke|0,eI=ke|3,$I=fr+4|0,e[$I>>2]=eI,II=fr+ke|0,BI=La|1,j1=ke|4,bI=fr+j1|0,e[bI>>2]=BI,xI=fr+qc|0,e[xI>>2]=La,dg=(nA|0)==0,dg||(rA=e[138267]|0,yg=nA>>>3,oA=yg<<1,Sg=553088+(oA<<2)|0,Dg=e[138262]|0,xg=1<>2]|0,C2=e[138266]|0,o5=t2>>>0>>0,o5?Q2():(G=Qs,hA=t2)),e[G>>2]=rA,l5=hA+12|0,e[l5>>2]=rA,G5=rA+8|0,e[G5>>2]=hA,W2=rA+12|0,e[W2>>2]=Sg),e[138264]=La,e[138267]=II,Ve=ya,Ve|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(K5=0-$5|0,w3=$5&K5,B3=w3+-1|0,V3=B3>>>12,N3=V3&16,z5=B3>>>N3,y3=z5>>>5,W5=y3&8,i6=W5|N3,R3=z5>>>W5,G3=R3>>>2,a3=G3&4,c3=i6|a3,C3=R3>>>a3,q5=C3>>>1,U5=q5&2,O5=c3|U5,k5=C3>>>U5,U3=k5>>>1,M5=U3&1,o6=O5|M5,e3=k5>>>M5,x3=o6+e3|0,f6=553352+(x3<<2)|0,p3=e[f6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,n6=Q3&-8,W3=n6-ke|0,pA=W3,$$=p3,h$=p3;;){if(P3=$$+16|0,V5=e[P3>>2]|0,v3=(V5|0)==0,v3)if(O3=$$+20|0,l6=e[O3>>2]|0,d3=(l6|0)==0,d3){Qr=pA,Q8=h$;break}else v6=l6;else v6=V5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,j3=B6-ke|0,c6=j3>>>0>>0,H=c6?j3:pA,o2=c6?v6:h$,pA=H,$$=v6,h$=o2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,S3=Q8>>>0>>0,S3||Q2(),X3=Q8+24|0,e6=e[X3>>2]|0,u6=Q8+12|0,H3=e[u6>>2]|0,b3=(H3|0)==(Q8|0);do if(b3){if(N6=Q8+20|0,r6=e[N6>>2]|0,Q6=(r6|0)==0,Q6)if(V6=Q8+16|0,I6=e[V6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else An=I6,fA=V6;else An=r6,fA=N6;for(;;){if(L3=An+20|0,W6=e[L3>>2]|0,G6=(W6|0)==0,!G6){An=W6,fA=L3;continue}if(e9=An+16|0,s9=e[e9>>2]|0,L6=(s9|0)==0,L6){an=An,Zg=fA;break}else An=s9,fA=e9}if(U6=Zg>>>0>>0,U6)Q2();else{e[Zg>>2]=0,_7=an;break}}else if(q3=Q8+8|0,z3=e[q3>>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,D3=(d6|0)==(Q8|0),D3){e[t3>>2]=H3,e[a6>>2]=z3,_7=H3;break}else Q2();while(!1);z6=(e6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,F3=553352+(F6<<2)|0,M6=e[F3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[F3>>2]=_7,zE=(_7|0)==0,zE){A9=1<>>0>>0,$9&&Q2(),T9=e6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=e6+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]=e6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(H6=b9>>>0>>0,H6)Q2();else{n9=_7+16|0,e[n9>>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,j4=A4+24|0,e[j4>>2]=_7;break}}while(!1);return C4=Qr>>>0<16,C4?(N4=Qr+ke|0,U9=N4|3,G4=Q8+4|0,e[G4>>2]=U9,Z1=N4+4|0,a4=Q8+Z1|0,L4=e[a4>>2]|0,f4=L4|1,e[a4>>2]=f4):(H9=ke|3,m9=Q8+4|0,e[m9>>2]=H9,Be=Qr|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,c0=Qr+ke|0,Xe=Q8+c0|0,e[Xe>>2]=Qr,U4=e[138264]|0,Ge=(U4|0)==0,Ge||(P4=e[138267]|0,X4=U4>>>3,be=X4<<1,Z9=553088+(be<<2)|0,ae=e[138262]|0,u4=1<>2]|0,$e=e[138266]|0,W9=_4>>>0<$e>>>0,W9?Q2():(T=$4,Wa=_4)),e[T>>2]=P4,ce=Wa+12|0,e[ce>>2]=P4,B4=P4+8|0,e[B4>>2]=Wa,ee=P4+12|0,e[ee>>2]=Z9),e[138264]=Qr,e[138267]=C6),F4=Q8+8|0,Ve=F4,Ve|0}}else v4=ke}else if(ge=t>>>0>4294967231,ge)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?pr=0:(De=g6>>>0>16777215,De?pr=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=Y3&4,M4=w9|g4,te=k4<>>16,lt=Re&2,wt=M4|lt,z8=14-wt|0,ct=te<>>15,F8=z8+gt|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,kt=W8|T8,pr=kt)),G8=553352+(pr<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)vs=pe,l$=0,wr=0,J4=86;else for(k8=(pr|0)==31,v8=pr>>>1,O8=25-v8|0,H8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,xe=Pe-g6|0,i8=xe>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){Ss=xe,Fn=Yi,Tn=Yi,J4=90;break e}else ks=xe,yr=Yi;else ks=A$,yr=xs;if(k9=Yi+20|0,Qe=e[k9>>2]|0,ft=QA>>>31,vt=(Yi+16|0)+(ft<<2)|0,et=e[vt>>2]|0,St=(Qe|0)==0,ie=(Qe|0)==(et|0),tm=St|ie,ih=tm?th:Qe,tt=(et|0)==0,q8=QA<<1,tt){vs=ks,l$=ih,wr=yr,J4=86;break}else A$=ks,th=ih,QA=q8,Yi=et,xs=yr}while(!1);if((J4|0)==86){if(b8=(l$|0)==0,n8=(wr|0)==0,XE=b8&n8,XE){if(r8=2<>>12,fe=m8&16,Oe=o8>>>fe,He=Oe>>>5,X9=He&8,Fe=X9|fe,ue=Oe>>>X9,A8=ue>>>2,we=A8&4,Q4=Fe|we,C8=ue>>>we,it=C8>>>1,I3=it&2,qe=Q4|I3,B8=C8>>>I3,ne=B8>>>1,q9=ne&1,re=qe|q9,D9=B8>>>q9,Ye=re+D9|0,Y8=553352+(Ye<<2)|0,ut=e[Y8>>2]|0,c$=ut,kr=0}else c$=l$,kr=wr;rt=(c$|0)==0,rt?(Xt=vs,F9=kr):(Ss=vs,Fn=c$,Tn=kr,J4=90)}if((J4|0)==90)for(;;){if(J4=0,J8=Fn+4|0,st=e[J8>>2]|0,K8=st&-8,a8=K8-g6|0,$8=a8>>>0>>0,X=$8?a8:Ss,g$=$8?Fn:Tn,_8=Fn+16|0,Y4=e[_8>>2]|0,ot=(Y4|0)==0,!ot){Ss=X,Fn=Y4,Tn=g$,J4=90;continue}if(R8=Fn+20|0,p9=e[R8>>2]|0,At=(p9|0)==0,At){Xt=X,F9=g$;break}else Ss=X,Fn=p9,Tn=g$,J4=90}if(Ke=(F9|0)==0,Ke)v4=g6;else if(Nt=e[138264]|0,qt=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,x8=e[l8>>2]|0,_t=F9+12|0,V8=e[_t>>2]|0,Me=(V8|0)==(F9|0);do if(Me){if(Kt=F9+20|0,E7=e[Kt>>2]|0,Vt=(E7|0)==0,Vt)if(m7=F9+16|0,n7=e[m7>>2]|0,si=(n7|0)==0,si){x7=0;break}else Br=n7,dA=m7;else Br=E7,dA=Kt;for(;;){if(C7=Br+20|0,B7=e[C7>>2]|0,oi=(B7|0)==0,!oi){Br=B7,dA=C7;continue}if(p7=Br+16|0,r7=e[p7>>2]|0,Ai=(r7|0)==0,Ai){JE=Br,i$=dA;break}else Br=r7,dA=p7}if(H7=i$>>>0>>0,H7)Q2();else{e[i$>>2]=0,x7=JE;break}}else if(de=F9+8|0,e4=e[de>>2]|0,Rt=e4>>>0>>0,Rt&&Q2(),i7=e4+12|0,G7=e[i7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=V8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[i7>>2]=V8,e[d7>>2]=e4,x7=V8;break}else Q2();while(!1);q7=(x8|0)==0;do if(!q7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,K7=e[Q7>>2]|0,zt=(F9|0)==(K7|0),zt){if(e[Q7>>2]=x7,mA=(x7|0)==0,mA){o7=1<>>0>>0,$i&&Q2(),y7=x8+16|0,w7=e[y7>>2]|0,k7=(w7|0)==(F9|0),k7?e[y7>>2]=x7:(Z7=x8+20|0,e[Z7>>2]=x7),v7=(x7|0)==0,v7)break;Wt=e[138266]|0,S7=x7>>>0>>0,S7&&Q2(),W7=x7+24|0,e[W7>>2]=x8,A7=F9+16|0,Pt=e[A7>>2]|0,b7=(Pt|0)==0;do if(!b7)if(xt=Pt>>>0>>0,xt)Q2();else{a7=x7+16|0,e[a7>>2]=Pt,r9=Pt+24|0,e[r9>>2]=x7;break}while(!1);if(dt=F9+20|0,p8=e[dt>>2]|0,It=(p8|0)==0,!It)if(Lt=e[138266]|0,zn=p8>>>0>>0,zn)Q2();else{En=x7+20|0,e[En>>2]=p8,Xs=p8+24|0,e[Xs>>2]=x7;break}}while(!1);eo=Xt>>>0<16;e:do if(eo)Pr=Xt+g6|0,to=Pr|3,io=F9+4|0,e[io>>2]=to,c1=Pr+4|0,Or=F9+c1|0,no=e[Or>>2]|0,Zn=no|1,e[Or>>2]=Zn;else{if(ro=g6|3,so=F9+4|0,e[so>>2]=ro,oo=Xt|1,n0=g6|4,Ao=F9+n0|0,e[Ao>>2]=oo,d0=Xt+g6|0,qr=F9+d0|0,e[qr>>2]=Xt,Yr=Xt>>>3,ao=Xt>>>0<256,ao){Wn=Yr<<1,Jr=553088+(Wn<<2)|0,jn=e[138262]|0,Kr=1<>2]|0,go=e[138266]|0,mn=zr>>>0>>0,mn?Q2():(M=Xn,Xa=zr)),e[M>>2]=se,er=Xa+12|0,e[er>>2]=se,O0=g6+8|0,ho=F9+O0|0,e[ho>>2]=Xa,H0=g6+12|0,fo=F9+H0|0,e[fo>>2]=Jr;break}if(tr=Xt>>>8,li=(tr|0)==0,li?_n=0:(uo=Xt>>>0>16777215,uo?_n=31:(Io=tr+1048320|0,Wr=Io>>>16,jr=Wr&8,Xr=tr<>>16,ir=ci&4,mo=ir|jr,es=Xr<>>16,ts=po&2,Qo=mo|ts,yo=14-Qo|0,wo=es<>>15,is=yo+ko|0,vo=is<<1,So=is+7|0,Cn=Xt>>>So,rr=Cn&1,bo=rr|vo,_n=bo)),Wi=553352+(_n<<2)|0,g1=g6+28|0,Do=F9+g1|0,e[Do>>2]=_n,x1=g6+16|0,ns=F9+x1|0,D1=g6+20|0,sr=F9+D1|0,e[sr>>2]=0,e[ns>>2]=0,rs=e[138263]|0,or=1<<_n,_o=rs&or,os=(_o|0)==0,os){Ro=rs|or,e[138263]=Ro,e[Wi>>2]=se,q1=g6+24|0,As=F9+q1|0,e[As>>2]=Wi,n2=g6+12|0,as=F9+n2|0,e[as>>2]=se,P1=g6+8|0,xo=F9+P1|0,e[xo>>2]=se;break}Bn=e[Wi>>2]|0,$s=Bn+4|0,gi=e[$s>>2]|0,Ar=gi&-8,pn=(Ar|0)==(Xt|0);t:do if(pn)L7=Bn;else{for(Qn=(_n|0)==31,Hi=_n>>>1,yn=25-Hi|0,ls=Qn?0:yn,qi=Xt<>>31,hi=(n$+16|0)+(kn<<2)|0,j7=e[hi>>2]|0,Lo=(j7|0)==0,Lo){w=hi,KE=n$;break}if(Qi=e$<<1,yi=j7+4|0,wi=e[yi>>2]|0,wn=wi&-8,en=(wn|0)==(Xt|0),en){L7=j7;break t}else e$=Qi,n$=j7}if($7=e[138266]|0,tl=w>>>0<$7>>>0,tl)Q2();else{e[w>>2]=se,u0=g6+24|0,ar=F9+u0|0,e[ar>>2]=KE,U0=g6+12|0,$r=F9+U0|0,e[$r>>2]=se,P0=g6+8|0,Nh=F9+P0|0,e[Nh>>2]=se;break e}}while(!1);if(il=L7+8|0,XA=e[il>>2]|0,nl=e[138266]|0,Uh=XA>>>0>=nl>>>0,jg=L7>>>0>=nl>>>0,Ph=Uh&jg,Ph){Oh=XA+12|0,e[Oh>>2]=se,e[il>>2]=se,c2=g6+8|0,ea=F9+c2|0,e[ea>>2]=XA,f2=g6+12|0,rl=F9+f2|0,e[rl>>2]=L7,C0=g6+24|0,sl=F9+C0|0,e[sl>>2]=0;break}else Q2()}while(!1);return ta=F9+8|0,Ve=ta,Ve|0}else v4=g6}while(!1);if(lr=e[138264]|0,Hh=lr>>>0>>0,!Hh)return Mo=lr-v4|0,tn=e[138267]|0,qh=Mo>>>0>15,qh?(Yh=tn+v4|0,e[138267]=Yh,e[138264]=Mo,Jh=Mo|1,f1=v4+4|0,Kh=tn+f1|0,e[Kh>>2]=Jh,Vh=tn+lr|0,e[Vh>>2]=Mo,zh=v4|3,Zh=tn+4|0,e[Zh>>2]=zh):(e[138264]=0,e[138267]=0,jh=lr|3,Xh=tn+4|0,e[Xh>>2]=jh,o0=lr+4|0,Al=tn+o0|0,vn=e[Al>>2]|0,ef=vn|1,e[Al>>2]=ef),tf=tn+8|0,Ve=tf,Ve|0;if(al=e[138265]|0,nf=al>>>0>v4>>>0,nf)return ia=al-v4|0,e[138265]=ia,To=e[138268]|0,rf=To+v4|0,e[138268]=rf,sf=ia|1,U=v4+4|0,ra=To+U|0,e[ra>>2]=sf,$l=v4|3,ll=To+4|0,e[ll>>2]=$l,cl=To+8|0,Ve=cl,Ve|0;sa=e[138380]|0,gl=(sa|0)==0;do if(gl)if(No=Bv(30)|0,of=No+-1|0,hl=of&No,af=(hl|0)==0,af){e[138382]=No,e[138381]=No,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,$f=jp(0)|0,fl=$f&-16,lf=fl^1431655768,e[138380]=lf;break}else Q2();while(!1);if(cf=v4+48|0,ul=e[138382]|0,dl=v4+47|0,Il=ul+dl|0,El=0-ul|0,cr=Il&El,gf=cr>>>0>v4>>>0,!gf||(Cl=e[138372]|0,hf=(Cl|0)==0,!hf&&(Bl=e[138370]|0,pl=Bl+cr|0,ff=pl>>>0<=Bl>>>0,uf=pl>>>0>Cl>>>0,BA=ff|uf,BA)))return Ve=0,Ve|0;df=e[138373]|0,oa=df&4,yl=(oa|0)==0;e:do if(yl){cs=e[138268]|0,wl=(cs|0)==0;t:do if(wl)J4=174;else{for(bs=553496;;){if(Aa=e[bs>>2]|0,If=Aa>>>0>cs>>>0,!If&&(kl=bs+4|0,Ef=e[kl>>2]|0,vl=Aa+Ef|0,mf=vl>>>0>cs>>>0,mf)){v=bs,b=kl;break}if(Cf=bs+8|0,bl=e[Cf>>2]|0,Bf=(bl|0)==0,Bf){J4=174;break t}else bs=bl}if(xf=e[138265]|0,Lf=Il-xf|0,Oo=Lf&El,Ff=Oo>>>0<2147483647,Ff)if(Ho=N7(Oo|0)|0,Mf=e[v>>2]|0,Nf=e[b>>2]|0,Gf=Mf+Nf|0,Nl=(Ho|0)==(Gf|0),r=Nl?Oo:0,Nl)if(Uf=(Ho|0)==-1,Uf)Mn=r;else{$6=Ho,ve=r,J4=194;break e}else EA=Ho,ii=Oo,yA=r,J4=184;else Mn=0}while(!1);do if((J4|0)==174)if(Go=N7(0)|0,pf=(Go|0)==-1,pf)Mn=0;else if(aa=Go,Dl=e[138381]|0,_l=Dl+-1|0,Qf=_l&aa,yf=(Qf|0)==0,yf?Ln=cr:(wf=_l+aa|0,vf=0-Dl|0,Sf=wf&vf,Uo=cr-aa|0,Rl=Uo+Sf|0,Ln=Rl),xl=e[138370]|0,Ll=xl+Ln|0,Po=Ln>>>0>v4>>>0,bf=Ln>>>0<2147483647,em=Po&bf,em){if(Fl=e[138372]|0,Df=(Fl|0)==0,!Df&&(_f=Ll>>>0<=xl>>>0,Rf=Ll>>>0>Fl>>>0,im=_f|Rf,im)){Mn=0;break}if(Tl=N7(Ln|0)|0,$a=(Tl|0)==(Go|0),nh=$a?Ln:0,$a){$6=Go,ve=nh,J4=194;break e}else EA=Tl,ii=Ln,yA=nh,J4=184}else Mn=0;while(!1);t:do if((J4|0)==184){Pf=0-ii|0,Of=(EA|0)!=-1,Hf=ii>>>0<2147483647,rm=Hf&Of,Gl=cf>>>0>ii>>>0,sm=Gl&rm;do if(sm)if(Ul=e[138382]|0,nn=dl-ii|0,qo=nn+Ul|0,ca=0-Ul|0,ga=qo&ca,gr=ga>>>0<2147483647,gr)if(Ol=N7(ga|0)|0,hr=(Ol|0)==-1,hr){N7(Pf|0)|0,Mn=yA;break t}else{qf=ga+ii|0,a$=qf;break}else a$=ii;else a$=ii;while(!1);if(Hl=(EA|0)==-1,Hl)Mn=yA;else{$6=EA,ve=a$,J4=194;break e}}while(!1);Yf=e[138373]|0,Jf=Yf|4,e[138373]=Jf,rh=Mn,J4=191}else rh=0,J4=191;while(!1);if((J4|0)==191&&(Vf=cr>>>0<2147483647,Vf&&(Yo=N7(cr|0)|0,ha=N7(0)|0,Sn=(Yo|0)!=-1,zf=(ha|0)!=-1,nm=Sn&zf,Zf=Yo>>>0>>0,om=Zf&nm,om&&(ql=ha,fa=Yo,Yl=ql-fa|0,Jl=v4+40|0,Kl=Yl>>>0>Jl>>>0,E2=Kl?Yl:rh,Kl&&($6=Yo,ve=E2,J4=194)))),(J4|0)==194){jf=e[138370]|0,ua=jf+ve|0,e[138370]=ua,Xf=e[138371]|0,eu=ua>>>0>Xf>>>0,eu&&(e[138371]=ua),P9=e[138268]|0,tu=(P9|0)==0;e:do if(tu){for(Vl=e[138266]|0,iu=(Vl|0)==0,nu=$6>>>0>>0,Am=iu|nu,Am&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,ru=e[138380]|0,e[138271]=ru,e[138270]=-1,CA=0;Ia=CA<<1,zl=553088+(Ia<<2)|0,$0=Ia+3|0,su=553088+($0<<2)|0,e[su>>2]=zl,j=Ia+2|0,ou=553088+(j<<2)|0,e[ou>>2]=zl,Zl=CA+1|0,WE=(Zl|0)==32,!WE;)CA=Zl;Wl=ve+-40|0,Au=$6+8|0,Ea=Au,ma=Ea&7,Xl=(ma|0)==0,au=0-Ea|0,ec=au&7,Ca=Xl?0:ec,$u=$6+Ca|0,tc=Wl-Ca|0,e[138268]=$u,e[138265]=tc,lu=tc|1,V=Ca+4|0,cu=$6+V|0,e[cu>>2]=lu,l1=ve+-36|0,gu=$6+l1|0,e[gu>>2]=40,hu=e[138384]|0,e[138269]=hu}else{for(_s=553496;;){if(nc=e[_s>>2]|0,Ba=_s+4|0,Jo=e[Ba>>2]|0,rc=nc+Jo|0,fu=($6|0)==(rc|0),fu){m=nc,p=Ba,B=Jo,am=_s,J4=204;break}if(sc=_s+8|0,oc=e[sc>>2]|0,uu=(oc|0)==0,uu)break;_s=oc}if((J4|0)==204&&(du=am+12|0,Iu=e[du>>2]|0,Eu=Iu&8,mu=(Eu|0)==0,mu&&(Cu=P9>>>0>=m>>>0,Bu=P9>>>0<$6>>>0,eh=Bu&Cu,eh))){pu=B+ve|0,e[p>>2]=pu,Qu=e[138265]|0,ac=Qu+ve|0,yu=P9+8|0,$c=yu,wu=$c&7,ku=(wu|0)==0,lc=0-$c|0,vu=lc&7,gs=ku?0:vu,cc=P9+gs|0,pa=ac-gs|0,e[138268]=cc,e[138265]=pa,Su=pa|1,s0=gs+4|0,Ko=P9+s0|0,e[Ko>>2]=Su,r1=ac+4|0,Qa=P9+r1|0,e[Qa>>2]=40,bu=e[138384]|0,e[138269]=bu;break}for(gc=e[138266]|0,Du=$6>>>0>>0,Du?(e[138266]=$6,ds=$6):ds=gc,_u=$6+ve|0,Rs=553496;;){if(Ru=e[Rs>>2]|0,xu=(Ru|0)==(_u|0),xu){I=Rs,$n=Rs,J4=212;break}if(Lu=Rs+8|0,hc=e[Lu>>2]|0,Fu=(hc|0)==0,Fu){Ds=553496;break}else Rs=hc}if((J4|0)==212)if(Mu=$n+12|0,Tu=e[Mu>>2]|0,wa=Tu&8,Nu=(wa|0)==0,Nu){e[I>>2]=$6,ka=$n+4|0,Gu=e[ka>>2]|0,Uu=Gu+ve|0,e[ka>>2]=Uu,Pu=$6+8|0,fc=Pu,Ou=fc&7,Hu=(Ou|0)==0,qu=0-fc|0,Ju=qu&7,zo=Hu?0:Ju,Ku=$6+zo|0,I0=ve+8|0,Vu=$6+I0|0,uc=Vu,zu=uc&7,Zu=(zu|0)==0,Wu=0-uc|0,ju=Wu&7,fi=Zu?0:ju,S0=fi+ve|0,ui=$6+S0|0,Ic=ui,va=Ku,Xu=Ic-va|0,i0=zo+v4|0,X7=$6+i0|0,fs=Xu-v4|0,ed=v4|3,f0=zo+4|0,td=$6+f0|0,e[td>>2]=ed,id=(ui|0)==(P9|0);t:do if(id)nd=e[138265]|0,Ec=nd+fs|0,e[138265]=Ec,e[138268]=X7,sd=Ec|1,H1=i0+4|0,od=$6+H1|0,e[od>>2]=sd;else{if(mc=e[138267]|0,Ad=(ui|0)==(mc|0),Ad){ad=e[138264]|0,us=ad+fs|0,e[138264]=us,e[138267]=X7,Sa=us|1,K1=i0+4|0,$d=$6+K1|0,e[$d>>2]=Sa,O1=us+i0|0,Cc=$6+O1|0,e[Cc>>2]=us;break}if(o1=ve+4|0,K0=o1+fi|0,cd=$6+K0|0,Zo=e[cd>>2]|0,gd=Zo&3,hd=(gd|0)==1,hd){Bc=Zo&-8,pc=Zo>>>3,fd=Zo>>>0<256;i:do if(fd){G1=fi|8,J0=G1+ve|0,ud=$6+J0|0,ur=e[ud>>2]|0,k1=ve+12|0,Y0=k1+fi|0,dd=$6+Y0|0,dr=e[dd>>2]|0,Ed=pc<<1,Qc=553088+(Ed<<2)|0,md=(ur|0)==(Qc|0);do if(!md){if(Cd=ur>>>0>>0,Cd&&Q2(),yc=ur+12|0,Bd=e[yc>>2]|0,wc=(Bd|0)==(ui|0),wc)break;Q2()}while(!1);if(pd=(dr|0)==(ur|0),pd){ba=1<>>0>>0,wd&&Q2(),Sc=dr+8|0,kd=e[Sc>>2]|0,vd=(kd|0)==(ui|0),vd){N=Sc;break}Q2()}while(!1);Sd=ur+12|0,e[Sd>>2]=dr,e[N>>2]=ur}else{L1=fi|24,_0=L1+ve|0,bd=$6+_0|0,Is=e[bd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,Dd=$6+Q0|0,Ir=e[Dd>>2]|0,_d=(Ir|0)==(ui|0);do if(_d){if(W1=fi|16,D0=o1+W1|0,xc=$6+D0|0,Lc=e[xc>>2]|0,Md=(Lc|0)==0,Md)if(T0=W1+ve|0,Fc=$6+T0|0,Mc=e[Fc>>2]|0,Td=(Mc|0)==0,Td){R7=0;break}else Cr=Mc,uA=Fc;else Cr=Lc,uA=xc;for(;;){if(Tc=Cr+20|0,Nc=e[Tc>>2]|0,Gd=(Nc|0)==0,!Gd){Cr=Nc,uA=Tc;continue}if(Gc=Cr+16|0,Uc=e[Gc>>2]|0,Ud=(Uc|0)==0,Ud){YE=Cr,zg=uA;break}else Cr=Uc,uA=Gc}if(Pd=zg>>>0>>0,Pd)Q2();else{e[zg>>2]=0,R7=YE;break}}else if(F1=fi|8,L0=F1+ve|0,Rd=$6+L0|0,Da=e[Rd>>2]|0,xd=Da>>>0>>0,xd&&Q2(),_a=Da+12|0,Ra=e[_a>>2]|0,Dc=(Ra|0)==(ui|0),Dc||Q2(),_c=Ir+8|0,Fd=e[_c>>2]|0,Rc=(Fd|0)==(ui|0),Rc){e[_a>>2]=Ir,e[_c>>2]=Da,R7=Ir;break}else Q2();while(!1);if(Pc=(Is|0)==0,Pc)break;w1=ve+28|0,M0=w1+fi|0,xa=$6+M0|0,Oc=e[xa>>2]|0,Yc=553352+(Oc<<2)|0,Od=e[Yc>>2]|0,Hd=(ui|0)==(Od|0);do if(Hd){if(e[Yc>>2]=R7,ZE=(R7|0)==0,!ZE)break;qd=1<>>0>>0,zd&&Q2(),Jc=Is+16|0,Zd=e[Jc>>2]|0,Wd=(Zd|0)==(ui|0),Wd?e[Jc>>2]=R7:(jd=Is+20|0,e[jd>>2]=R7),Kc=(R7|0)==0,Kc)break i;while(!1);Vc=e[138266]|0,Xd=R7>>>0>>0,Xd&&Q2(),zc=R7+24|0,e[zc>>2]=Is,S1=fi|16,N0=S1+ve|0,Fa=$6+N0|0,Wo=e[Fa>>2]|0,Zc=(Wo|0)==0;do if(!Zc)if(tI=Wo>>>0>>0,tI)Q2();else{iI=R7+16|0,e[iI>>2]=Wo,nI=Wo+24|0,e[nI>>2]=R7;break}while(!1);if(q0=o1+S1|0,Wc=$6+q0|0,jo=e[Wc>>2]|0,rI=(jo|0)==0,rI)break;if(sI=e[138266]|0,oI=jo>>>0>>0,oI)Q2();else{AI=R7+20|0,e[AI>>2]=jo,aI=jo+24|0,e[aI>>2]=R7;break}}while(!1);s2=Bc|fi,x0=s2+ve|0,lI=$6+x0|0,cI=Bc+fs|0,Xg=lI,ti=cI}else Xg=ui,ti=fs;if(jc=Xg+4|0,gI=e[jc>>2]|0,hI=gI&-2,e[jc>>2]=hI,fI=ti|1,k0=i0+4|0,uI=$6+k0|0,e[uI>>2]=fI,B0=ti+i0|0,Xo=$6+B0|0,e[Xo>>2]=ti,Xc=ti>>>3,dI=ti>>>0<256,dI){Er=Xc<<1,eg=553088+(Er<<2)|0,tg=e[138262]|0,Ma=1<>2]|0,CI=e[138266]|0,pI=rg>>>0>>0,!pI){F=ng,ja=rg;break}Q2()}while(!1);e[F>>2]=X7,QI=ja+12|0,e[QI>>2]=X7,B1=i0+8|0,yI=$6+B1|0,e[yI>>2]=ja,p1=i0+12|0,eA=$6+p1|0,e[eA>>2]=eg;break}Ta=ti>>>8,wI=(Ta|0)==0;do if(wI)Rn=0;else{if(kI=ti>>>0>16777215,kI){Rn=31;break}vI=Ta+1048320|0,SI=vI>>>16,sg=SI&8,og=Ta<>>16,Ag=_I&4,bn=Ag|sg,ag=og<>>16,lg=RI&2,tA=bn|lg,LI=14-tA|0,FI=ag<>>15,cg=LI+iA|0,MI=cg<<1,TI=cg+7|0,gg=ti>>>TI,NI=gg&1,GI=NI|MI,Rn=GI}while(!1);if(Na=553352+(Rn<<2)|0,y0=i0+28|0,UI=$6+y0|0,e[UI>>2]=Rn,V0=i0+16|0,PI=$6+V0|0,G0=i0+20|0,OI=$6+G0|0,e[OI>>2]=0,e[PI>>2]=0,hg=e[138263]|0,fg=1<>2]=X7,n1=i0+24|0,Es=$6+n1|0,e[Es>>2]=Na,e1=i0+12|0,YI=$6+e1|0,e[YI>>2]=X7,i1=i0+8|0,JI=$6+i1|0,e[JI>>2]=X7;break}Ga=e[Na>>2]|0,Ig=Ga+4|0,KI=e[Ig>>2]|0,VI=KI&-8,zI=(VI|0)==(ti|0);i:do if(zI)xn=Ga;else{for(ZI=(Rn|0)==31,Eg=Rn>>>1,WI=25-Eg|0,jI=ZI?0:WI,XI=ti<>>31,Qg=(r$+16|0)+(pg<<2)|0,ms=e[Qg>>2]|0,ki=(ms|0)==0,ki){A=Qg,VE=r$;break}if(eE=ws<<1,tE=ms+4|0,Cg=e[tE>>2]|0,Bg=Cg&-8,iE=(Bg|0)==(ti|0),iE){xn=ms;break i}else ws=eE,r$=ms}if(sn=e[138266]|0,nE=A>>>0>>0,nE)Q2();else{e[A>>2]=X7,m1=i0+24|0,rE=$6+m1|0,e[rE>>2]=VE,d1=i0+12|0,sE=$6+d1|0,e[sE>>2]=X7,E1=i0+8|0,oE=$6+E1|0,e[oE>>2]=X7;break t}}while(!1);if(Ua=xn+8|0,sA=e[Ua>>2]|0,wg=e[138266]|0,kg=sA>>>0>=wg>>>0,o$=xn>>>0>=wg>>>0,AE=kg&o$,AE){Cs=sA+12|0,e[Cs>>2]=X7,e[Ua>>2]=X7,z0=i0+8|0,aE=$6+z0|0,e[aE>>2]=sA,I1=i0+12|0,AA=$6+I1|0,e[AA>>2]=xn,h1=i0+24|0,Pa=$6+h1|0,e[Pa>>2]=0;break}else Q2()}while(!1);return $1=zo|8,$E=$6+$1|0,Ve=$E,Ve|0}else Ds=553496;for(;;){if(Oa=e[Ds>>2]|0,lE=Oa>>>0>P9>>>0,!lE&&(cE=Ds+4|0,vg=e[cE>>2]|0,aA=Oa+vg|0,gE=aA>>>0>P9>>>0,gE)){c=Oa,f=vg,E=aA;break}hE=Ds+8|0,fE=e[hE>>2]|0,Ds=fE}if(a0=f+-47|0,l0=f+-39|0,uE=c+l0|0,bg=uE,dE=bg&7,jt=(dE|0)==0,y4=0-bg|0,ei=y4&7,IE=jt?0:ei,a1=a0+IE|0,_g=c+a1|0,Ha=P9+16|0,EE=_g>>>0>>0,Dn=EE?P9:_g,Bs=Dn+8|0,mE=ve+-40|0,CE=$6+8|0,Rg=CE,qa=Rg&7,BE=(qa|0)==0,Lg=0-Rg|0,Fg=Lg&7,Ya=BE?0:Fg,Ja=$6+Ya|0,Mg=mE-Ya|0,e[138268]=Ja,e[138265]=Mg,ps=Mg|1,Z=Ya+4|0,Ka=$6+Z|0,e[Ka>>2]=ps,s1=ve+-36|0,Tg=$6+s1|0,e[Tg>>2]=40,pE=e[138384]|0,e[138269]=pE,mr=Dn+4|0,e[mr>>2]=27,e[Bs>>2]=e[138374]|0,e[Bs+4>>2]=e[138375]|0,e[Bs+8>>2]=e[138376]|0,e[Bs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=Bs,Ng=Dn+28|0,e[Ng>>2]=7,$A=Dn+32|0,yE=$A>>>0>>0,yE)for(vi=Ng;Gg=vi+4|0,e[Gg>>2]=7,wE=vi+8|0,kE=wE>>>0>>0,kE;)vi=Gg;if(vE=(Dn|0)==(P9|0),!vE){if(SE=Dn,bE=P9,Si=SE-bE|0,_E=e[mr>>2]|0,RE=_E&-2,e[mr>>2]=RE,xE=Si|1,Ug=P9+4|0,e[Ug>>2]=xE,e[Dn>>2]=Si,di=Si>>>3,lA=Si>>>0<256,lA){Va=di<<1,Pg=553088+(Va<<2)|0,Og=e[138262]|0,Hg=1<>2]|0,TE=e[138266]|0,NE=Jg>>>0>>0,NE?Q2():(x=Yg,Za=Jg)),e[x>>2]=P9,Kg=Za+12|0,e[Kg>>2]=P9,GE=P9+8|0,e[GE>>2]=Za,cA=P9+12|0,e[cA>>2]=Pg;break}if(gA=Si>>>8,UE=(gA|0)==0,UE?on=0:(za=Si>>>0>16777215,za?on=31:(PE=gA+1048320|0,OE=PE>>>16,Vg=OE&8,ys=gA<>>16,$2=qE&4,i2=$2|Vg,A2=ys<<$2,X1=A2+245760|0,r2=X1>>>16,u2=r2&2,e2=i2|u2,y2=14-e2|0,v2=A2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=Si>>>N2,V2=d2&1,G2=V2|D2,on=G2)),q2=553352+(on<<2)|0,M2=P9+28|0,e[M2>>2]=on,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]=q2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}u5=e[q2>>2]|0,v5=u5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(Si|0);t:do if(m5)IA=u5;else{for(r5=(on|0)==31,R2=on>>>1,_2=25-R2|0,B2=r5?0:_2,C5=Si<>>31,c5=(s$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,B5=(D5|0)==0,B5){a=c5,Wg=s$;break}if(L5=t$<<1,d5=D5+4|0,_5=e[d5>>2]|0,H2=_5&-8,I5=(H2|0)==(Si|0),I5){IA=D5;break t}else t$=L5,s$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Wg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=IA+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,jE=IA>>>0>=s5>>>0,J2=h5&jE,J2){f5=t5+12|0,e[f5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,R5=P9+12|0,e[R5>>2]=IA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(x2=e[138265]|0,Q5=x2>>>0>v4>>>0,Q5)return H5=x2-v4|0,e[138265]=H5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,u3=H5|1,K=v4+4|0,h3=j5+K|0,e[h3>>2]=u3,J5=v4|3,X5=j5+4|0,e[X5>>2]=J5,r3=j5+8|0,Ve=r3,Ve|0}return F5=Wp()|0,e[F5>>2]=12,Ve=0,Ve|0}function I2(t){t=t|0;var r=0,A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,M4=0,te=0,$t=0,Re=0;if(Re=C,X=(t|0)==0,!X){U=t+-8|0,V2=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(),H9=$9&-8,p=H9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-S0|0,b0=t+Q|0,z0=S0+H9|0,w1=b0>>>0>>0,w1&&Q2(),O1=e[138267]|0,s2=(b0|0)==(O1|0),s2){if(z=H9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,n0=i0&3,K=(n0|0)==3,!K){Y3=b0,w9=z0;break}e[138264]=z0,h0=i0&-2,e[s0>>2]=h0,o0=z0|1,_=Q+4|0,c0=t+_|0,e[c0>>2]=o0,e[Z9>>2]=z0;return}if(r2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,B2=e[b5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,u3=r2<<1,V3=553088+(u3<<2)|0,C3=(B2|0)==(V3|0),C3||(f6=B2>>>0>>0,f6&&Q2(),l6=B2+12|0,S3=e[l6>>2]|0,O6=(S3|0)==(b0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,F3=(F6|0)==(b0|0),F3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,Y3=b0,w9=z0;break}L=Q+24|0,t9=t+L|0,A9=e[t9>>2]|0,x=Q+12|0,j6=t+x|0,f9=e[j6>>2]|0,u9=(f9|0)==(b0|0);do if(u9){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,H6=(E9|0)==0,H6){C9=0;break}else F4=E9,pe=b9;else F4=h4,pe=o4;for(;;){if(n9=F4+20|0,m4=e[n9>>2]|0,S4=(m4|0)==0,!S4){F4=m4,pe=n9;continue}if(A4=F4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){ge=F4,p4=pe;break}else F4=y9,pe=A4}if(D4=p4>>>0>>0,D4)Q2();else{e[p4>>2]=0,C9=ge;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(b0|0),i9||Q2(),N9=f9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(b0|0),E4){e[E6>>2]=f9,e[N9>>2]=a9,C9=f9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)Y3=b0,w9=z0;else{if(T=Q+28|0,j4=t+T|0,C4=e[j4>>2]|0,N4=553352+(C4<<2)|0,U9=e[N4>>2]|0,G4=(b0|0)==(U9|0),G4){if(e[N4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,U4=(Xe|0)==(b0|0),U4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),P4=(C9|0)==0,P4){Y3=b0,w9=z0;break}X4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,ae=t+N|0,u4=e[ae>>2]|0,_6=(u4|0)==0;do if(!_6)if(O4=u4>>>0>>0,O4)Q2();else{L9=C9+16|0,e[L9>>2]=u4,$4=u4+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)Y3=b0,w9=z0;else if(le=e[138266]|0,Z=$e>>>0>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=$e,a0=$e+24|0,e[a0>>2]=C9,Y3=b0,w9=z0;break}}}else Y3=U,w9=H9;while(!1);if(l0=Y3>>>0>>0,l0||Q2(),D=H9+-4|0,f0=t+D|0,d0=e[f0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,u0=(k0|0)==0,u0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,K0=I0+w9|0,e[138265]=K0,e[138268]=Y3,_0=K0|1,Q0=Y3+4|0,e[Q0>>2]=_0,L0=e[138267]|0,M0=(Y3|0)==(L0|0),!M0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(Z9|0)==(N0|0),U0){y0=e[138264]|0,q0=y0+w9|0,e[138264]=q0,e[138267]=Y3,x0=q0|1,T0=Y3+4|0,e[T0>>2]=x0,J0=Y3+q0|0,e[J0>>2]=q0;return}Y0=d0&-8,P0=Y0+w9|0,V0=d0>>>3,G0=d0>>>0<256;do if(G0){if(O0=t+H9|0,n1=e[O0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=V0<<1,c1=553088+(i1<<2)|0,$1=(n1|0)==(c1|0),$1||(f1=e[138266]|0,g1=n1>>>0>>0,g1&&Q2(),l1=n1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),r1=(e1|0)==(n1|0),r1){o1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,R1=(Q1|0)==(Z9|0),R1?a=p1:Q2()),x1=n1+12|0,e[x1>>2]=e1,e[a>>2]=n1}else{J=H9+16|0,S1=t+J|0,L1=e[S1>>2]|0,W=H9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(H=H9+12|0,W1=t+H|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){l4=0;break}else g6=f2,c4=z1;else g6=P1,c4=W1;for(;;){if(o2=g6+20|0,V1=e[o2>>2]|0,h2=(V1|0)==0,!h2){g6=V1,c4=o2;continue}if(a2=g6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ue=g6,P6=c4;break}else g6=t2,c4=a2}if(i2=e[138266]|0,A2=P6>>>0>>0,A2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+H9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,D1=Z1>>>0>>0,D1&&Q2(),K1=Z1+12|0,H1=e[K1>>2]|0,q1=(H1|0)==(Z9|0),q1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[K1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(L1|0)==0,!X1){if(v=H9+20|0,u2=t+v|0,e2=e[u2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,q2&&Q2(),M2=L1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=L1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),x5=l4+24|0,e[x5>>2]=L1,b=H9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,u5=(Z2|0)==0;do if(!u5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=H9+12|0,k2=t+w|0,m5=e[k2>>2]|0,r5=(m5|0)==0,!r5)if(R2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,L5=m5+24|0,e[L5>>2]=l4;break}}}while(!1);if(d5=P0|1,D5=Y3+4|0,e[D5>>2]=d5,G5=Y3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,H2=(Y3|0)==(_5|0),H2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[f0>>2]=I5,A5=w9|1,c5=Y3+4|0,e[c5>>2]=A5,M1=Y3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,R5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(f=f5,ce=i5)),e[f>>2]=Y3,$5=ce+12|0,e[$5>>2]=Y3,x2=Y3+8|0,e[x2>>2]=ce,Q5=Y3+12|0,e[Q5>>2]=W2;return}H5=B9>>>8,j5=(H5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=H5+1048320|0,J5=h3>>>16,X5=J5&8,r3=H5<>>16,K5=F5&4,w3=K5|X5,f3=r3<>>16,z5=N3&2,y3=w3|z5,W5=14-y3|0,i6=f3<>>15,G3=W5+R3|0,a3=G3<<1,l3=G3+7|0,c3=B9>>>l3,q5=c3&1,U5=q5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=Y3+28|0,e[k5>>2]=B4,U3=Y3+16|0,M5=Y3+20|0,e[M5>>2]=0,e[U3>>2]=0,o6=e[138263]|0,e3=1<>2]=Y3,k3=Y3+24|0,e[k3>>2]=O5,Q3=Y3+12|0,e[Q3>>2]=Y3,n6=Y3+8|0,e[n6>>2]=Y3;else{W3=e[O5>>2]|0,P3=W3+4|0,V5=e[P3>>2]|0,v3=V5&-8,g3=(v3|0)==(B9|0);t:do if(g3)De=W3;else{for(O3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=O3?0:k6,S6=B9<>>31,e6=(_e+16|0)+(X3<<2)|0,c6=e[e6>>2]|0,u6=(c6|0)==0,u6){r=e6,t8=_e;break}if(B6=ee<<1,j3=c6+4|0,p6=e[j3>>2]|0,R6=p6&-8,Y6=(R6|0)==(B9|0),Y6){De=c6;break t}else ee=B6,_e=c6}if(H3=e[138266]|0,b3=r>>>0

>>0,b3)Q2();else{e[r>>2]=Y3,q3=Y3+24|0,e[q3>>2]=t8,z3=Y3+12|0,e[z3>>2]=Y3,b6=Y3+8|0,e[b6>>2]=Y3;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){D3=t3+12|0,e[D3>>2]=Y3,e[A6>>2]=Y3,N6=Y3+8|0,e[N6>>2]=t3,r6=Y3+12|0,e[r6>>2]=De,Q6=Y3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(x6=e[138270]|0,V6=x6+-1|0,e[138270]=V6,I6=(V6|0)==0,I6)te=553504;else return;for(;M4=e[te>>2]|0,L3=(M4|0)==0,W6=M4+8|0,!L3;)te=W6;e[138270]=-1}}function r4(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(c=n5(r,t)|0,I=r|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(r|0),A=B?c:-1,D=A):D=c),v=S9(D)|0,b=(v|0)==0,b||(w=v+-4|0,y=e[w>>2]|0,f=y&3,E=(f|0)==0,E)||Ae(v|0,0,D|0)|0,v|0}function Oi(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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(r)|0,O=a,O|0):(y=r>>>0>4294967231,y?(L=Wp()|0,e[L>>2]=12,O=0,O|0):(x=r>>>0<11,F=r+11|0,M=F&-8,T=x?16:M,N=t+-8|0,G=$b(N,T)|0,c=(G|0)==0,c?(E=S9(r)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,v=p&3,b=(v|0)==0,w=b?8:4,D=B-w|0,Q=D>>>0>>0,_=Q?D:r,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(f=G+8|0,O=f,O|0)))}function $b(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0;if(K5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,n2=t+k1|0,a2=e[138266]|0,w2=G&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,J5=h3&u3,z2=t>>>0>>0,X5=J5&z2,X5||Q2(),_=k1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return l0=r>>>0<256,l0?(E5=0,E5|0):(K0=r+4|0,T0=k1>>>0>>0,!T0&&(i1=k1-r|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-r|0,Z1=U1>>>0>15,Z1?(N1=t+r|0,D1=G&1,K1=D1|r,O1=K1|2,e[N>>2]=O1,Q=r+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,SQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,f2=z1>>>0>r>>>0,f2?(s2=z1-r|0,E2=t+r|0,o2=G&1,V1=o2|r,h2=V1|2,e[N>>2]=h2,D=r+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(i2=e[138267]|0,A2=(n2|0)==(i2|0),A2)return X1=e[138264]|0,r2=X1+k1|0,u2=r2>>>0>>0,u2?(E5=0,E5|0):(e2=r2-r|0,y2=e2>>>0>15,y2?(v2=t+r|0,C2=t+r2|0,F2=G&1,D2=F2|r,N2=D2|2,e[N>>2]=N2,b=r+4|0,d2=t+b|0,V2=e2|1,e[d2>>2]=V2,e[C2>>2]=e2,y=r2+4|0,G2=t+y|0,q2=e[G2>>2]|0,M2=q2&-2,e[G2>>2]=M2,r3=v2,m3=e2):(P2=G&1,o5=P2|r2,O2=o5|2,e[N>>2]=O2,v=r2+4|0,T1=t+v|0,X2=e[T1>>2]|0,x5=X2|1,e[T1>>2]=x5,r3=0,m3=0),e[138264]=m3,e[138267]=r3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,u5=Z2+k1|0,v5=u5>>>0>>0,v5))return E5=0,E5|0;l5=u5-r|0,k2=D5>>>3,m5=D5>>>0<256;do if(m5){if(p=k1+8|0,r5=t+p|0,R2=e[r5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,L5=553088+(C5<<2)|0,d5=(R2|0)==(L5|0),d5||(G5=R2>>>0>>0,G5&&Q2(),_5=R2+12|0,H2=e[_5>>2]|0,I5=(H2|0)==(n2|0),I5||Q2()),A5=(B2|0)==(R2|0),A5){c5=1<>>0>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(n2|0),t5?a=g2:Q2()),s5=R2+12|0,e[s5>>2]=B2,e[a>>2]=R2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,f5=t+w|0,i5=e[f5>>2]|0,R5=(i5|0)==(n2|0);do if(R5){if(x=k1+20|0,$0=t+x|0,V=e[$0>>2]|0,a0=(V|0)==0,a0)if(L=k1+16|0,s0=t+L|0,i0=e[s0>>2]|0,n0=(i0|0)==0,n0){x2=0;break}else j2=i0,Q5=s0;else j2=V,Q5=$0;for(;;){if(K=j2+20|0,h0=e[K>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=K;continue}if(c0=j2+16|0,j=e[c0>>2]|0,f0=(j|0)==0,f0){$5=j2,H5=Q5;break}else j2=j,Q5=c0}if(d0=H5>>>0>>0,d0)Q2();else{e[H5>>2]=0,x2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),H=i5+8|0,X=e[H>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[H>>2]=Y,x2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(f=k1+28|0,C0=t+f|0,k0=e[C0>>2]|0,u0=553352+(k0<<2)|0,B0=e[u0>>2]|0,p0=(n2|0)==(B0|0),p0){if(e[u0>>2]=x2,j5=(x2|0)==0,j5){I0=1<>>0>>0,M0&&Q2(),N0=J2+16|0,U0=e[N0>>2]|0,y0=(U0|0)==(n2|0),y0?e[N0>>2]=x2:(q0=J2+20|0,e[q0>>2]=x2),x0=(x2|0)==0,x0)break;D0=e[138266]|0,J0=x2>>>0>>0,J0&&Q2(),Y0=x2+24|0,e[Y0>>2]=J2,E=k1+16|0,P0=t+E|0,V0=e[P0>>2]|0,G0=(V0|0)==0;do if(!G0)if(O0=V0>>>0>>0,O0)Q2();else{n1=x2+16|0,e[n1>>2]=V0,H0=V0+24|0,e[H0>>2]=x2;break}while(!1);if(I=k1+20|0,e1=t+I|0,b0=e[e1>>2]|0,c1=(b0|0)==0,!c1)if($1=e[138266]|0,f1=b0>>>0<$1>>>0,f1)Q2();else{g1=x2+20|0,e[g1>>2]=b0,l1=b0+24|0,e[l1>>2]=x2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,r1=u5|a1,o1=r1|2,e[N>>2]=o1,T=u5|4,z0=t+T|0,h1=e[z0>>2]|0,m1=h1|1,e[z0>>2]=m1,E5=t,E5|0):(d1=t+r|0,E1=G&1,B1=E1|r,p1=B1|2,e[N>>2]=p1,F=r+4|0,Q1=t+F|0,R1=l5|3,e[Q1>>2]=R1,M=u5|4,x1=t+M|0,w1=e[x1>>2]|0,L1=w1|1,e[x1>>2]=L1,SQ(d1,l5),E5=t,E5|0)}function SQ(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,n1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,r1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,o2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,r2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,r5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,H2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,J5=0,X5=0,r3=0,m3=0,F5=0,K5=0,w3=0,f3=0,B3=0,V3=0,N3=0,z5=0,y3=0,W5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,o6=0,e3=0,A3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,n6=0,W3=0,P3=0,V5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,b3=0,q3=0,z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,D3=0,N6=0,r6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,A9=0,j6=0,f9=0,u9=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,H6=0,n9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,L4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,ae=0,u4=0,_6=0,O4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,ee=0,F4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,V=t+r|0,a0=t+4|0,P2=e[a0>>2]|0,u6=P2&1,J6=(u6|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+r|0,w0=e[138266]|0,L0=m9>>>0>>0,L0&&Q2(),P0=e[138267]|0,f1=(m9|0)==(P0|0),f1){if(w=r+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,n0=i0&3,K=(n0|0)==3,!K){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,x=4-F6|0,c0=t+x|0,e[c0>>2]=o0,e[V>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),r3=h2+12|0,W5=e[r3>>2]|0,k5=(W5|0)==(m9|0),k5||Q2()),n6=(z2|0)==(h2|0),n6){S6=1<>>0>>0,N6&&Q2(),r6=z2+8|0,Q6=e[r6>>2]|0,x6=(Q6|0)==(m9|0),x6?m=r6:Q2()),V6=h2+12|0,e[V6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}F=24-F6|0,I6=t+F|0,L3=e[I6>>2]|0,M=12-F6|0,W6=t+M|0,G6=e[W6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,j6=e[A9>>2]|0,f9=(j6|0)==0,f9)if(u9=t+T|0,d9=e[u9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else O4=d9,le=u9;else O4=j6,le=A9;for(;;){if($9=O4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){O4=E6,le=$9;continue}if(i9=O4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){L9=O4,ce=le;break}else O4=N9,le=i9}if(E4=ce>>>0>>0,E4)Q2();else{e[ce>>2]=0,$4=L9;break}}else if(t0=8-F6|0,s9=t+t0|0,L6=e[s9>>2]|0,U6=L6>>>0>>0,U6&&Q2(),D6=L6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),F3=G6+8|0,M6=e[F3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[F3>>2]=L6,$4=G6;break}else Q2();while(!1);if(o4=(L3|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,H6=(m9|0)==(E9|0),H6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){n9=1<>>0>>0,b4&&Q2(),D4=L3+16|0,x4=e[D4>>2]|0,j4=(x4|0)==(m9|0),j4?e[D4>>2]=$4:(C4=L3+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]=L3,z=16-F6|0,L4=t+z|0,f4=e[L4>>2]|0,Ce=(f4|0)==0;do if(!Ce)if(H9=f4>>>0>>0,H9)Q2();else{Be=$4+16|0,e[Be>>2]=f4,Ne=f4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,U4=e[Xe>>2]|0,Ge=(U4|0)==0,Ge)A=m9,a=s0;else if(P4=e[138266]|0,X4=U4>>>0>>0,X4)Q2();else{be=$4+20|0,e[be>>2]=U4,e8=U4+24|0,e[e8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=r;while(!1);if(j=e[138266]|0,l0=V>>>0>>0,l0&&Q2(),y=r+4|0,f0=t+y|0,d0=e[f0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(u0=e[138268]|0,B0=(V|0)==(u0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=A,S0=I0|1,K0=A+4|0,e[K0>>2]=S0,_0=e[138267]|0,Q0=(A|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(M0=e[138267]|0,N0=(V|0)==(M0|0),N0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=A,q0=y0|1,x0=A+4|0,e[x0>>2]=q0,D0=A+y0|0,e[D0>>2]=y0;return}T0=d0&-8,J0=T0+a|0,Y0=d0>>>3,V0=d0>>>0<256;do if(V0){if(_=r+8|0,G0=t+_|0,O0=e[G0>>2]|0,L=r+12|0,n1=t+L|0,H0=e[n1>>2]|0,e1=Y0<<1,b0=553088+(e1<<2)|0,i1=(O0|0)==(b0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(V|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=H0,e[I>>2]=O0}else{G=r+24|0,Q1=t+G|0,R1=e[Q1>>2]|0,e0=r+12|0,x1=t+e0|0,w1=e[x1>>2]|0,S1=(w1|0)==(V|0);do if(S1){if(X=r+20|0,H1=t+X|0,q1=e[H1>>2]|0,Y1=(q1|0)==0,Y1)if(H=r+16|0,n2=t+H|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=n2;else _4=q1,B4=H1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=c2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,o2=(E2|0)==0,o2){$e=_4,ee=B4;break}else _4=E2,B4=s2}if(V1=ee>>>0>>0,V1)Q2();else{e[ee>>2]=0,W9=$e;break}}else if(Q=r+8|0,L1=t+Q|0,F1=e[L1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(V|0),N1||Q2(),D1=w1+8|0,K1=e[D1>>2]|0,O1=(K1|0)==(V|0),O1){e[U1>>2]=w1,e[D1>>2]=F1,W9=w1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if($0=r+28|0,t2=t+$0|0,$2=e[t2>>2]|0,i2=553352+($2<<2)|0,A2=e[i2>>2]|0,X1=(V|0)==(A2|0),X1){if(e[i2>>2]=W9,Ue=(W9|0)==0,Ue){r2=1<<$2,u2=r2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,C2=R1>>>0>>0,C2&&Q2(),F2=R1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(V|0),N2?e[F2>>2]=W9:(d2=R1+20|0,e[d2>>2]=W9),V2=(W9|0)==0,V2)break;G2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),M2=W9+24|0,e[M2>>2]=R1,Z=r+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=r+20|0,b5=t+D|0,Z2=e[b5>>2]|0,u5=(Z2|0)==0,!u5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(r5=J0|1,R2=A+4|0,e[R2>>2]=r5,_2=A+J0|0,e[_2>>2]=J0,B2=e[138267]|0,C5=(A|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else L5=d0&-2,e[f0>>2]=L5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,I5=c>>>0<256,I5){A5=H2<<1,c5=553088+(A5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,ae=p5)),e[p>>2]=A,h5=ae+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=ae,f5=A+12|0,e[f5>>2]=c5;return}if(i5=c>>>8,R5=(i5|0)==0,R5?u4=0:($5=c>>>0>16777215,$5?u4=31:(x2=i5+1048320|0,Q5=x2>>>16,H5=Q5&8,j5=i5<>>16,h3=u3&4,J5=h3|H5,X5=j5<>>16,K5=F5&2,w3=J5|K5,f3=14-w3|0,B3=X5<>>15,N3=f3+V3|0,z5=N3<<1,y3=N3+7|0,i6=c>>>y3,R3=i6&1,G3=R3|z5,u4=G3)),a3=553352+(u4<<2)|0,l3=A+28|0,e[l3>>2]=u4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,q5=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}x3=e[a3>>2]|0,f6=x3+4|0,p3=e[f6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)F4=x3;else{for(W3=(u4|0)==31,P3=u4>>>1,V5=25-P3|0,v3=W3?0:V5,g3=c<>>31,c6=(ge+16|0)+(j3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){f=c6,C9=ge;break}if(O3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){F4=d3;break e}else _6=O3,ge=d3}R6=e[138266]|0,Y6=f>>>0>>0,Y6&&Q2(),e[f>>2]=A,C6=A+24|0,e[C6>>2]=C9,S3=A+12|0,e[S3>>2]=A,X3=A+8|0,e[X3>>2]=A;return}while(!1);e6=F4+8|0,b3=e[e6>>2]|0,q3=e[138266]|0,z3=b3>>>0>=q3>>>0,l4=F4>>>0>=q3>>>0,b6=z3&l4,b6||Q2(),A6=b3+12|0,e[A6>>2]=A,e[e6>>2]=A,t3=A+8|0,e[t3>>2]=b3,O6=A+12|0,e[O6>>2]=F4,s3=A+24|0,e[s3>>2]=0}function lb(){e[6410]=O9}function Ae(t,r,A){t=t|0,r=r|0,A=A|0;var a=0,c=0,f=0,E=0;if(a=t+A|0,(A|0)>=20){if(r=r&255,E=t&3,c=r|r<<8|r<<16|r<<24,f=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=r,t=t+1|0;for(;(t|0)<(f|0);)e[t>>2]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=r,t=t+1|0;return t-A|0}function X$(t){t=t|0;var r=0;for(r=t;d[r>>0]|0;)r=r+1|0;return r-t|0}function bQ(t,r){t=t|0,r=r|0;var A=0,a=0;a=t+(X$(t)|0)|0;do d[a+A>>0]=d[r+A>>0],A=A+1|0;while(d[r+(A-1)>>0]|0);return t|0}function DQ(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,f=r+a+(c>>>0>>0|0)>>>0,q6=f,c|0|0}function Zs(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(r&a)<<32-A):(q6=0,r>>>A-32|0)}function s4(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;if((A|0)>=4096)return Cv(t|0,r|0,A|0)|0;if(a=t|0,(t&3)==(r&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[r>>0]|0,t=t+1|0,r=r+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[r>>2]|0,t=t+4|0,r=r+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[r>>0]|0,t=t+1|0,r=r+1|0,A=A-1|0;return a|0}function jA(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;if((r|0)<(t|0)&(t|0)<(r+A|0)){for(a=t,r=r+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,r=r-1|0,A=A-1|0,d[t>>0]=d[r>>0]|0;t=a}else s4(t,r,A)|0;return t|0}function mB(t,r){t=t|0,r=r|0;var A=0;do d[(t+A|0)>>0]=d[(r+A|0)>>0],A=A+1|0;while(d[r+(A-1)>>0]|0);return t|0}function Ws(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0;return c=t-A>>>0,f=r-a>>>0,f=r-a-(A>>>0>t>>>0|0)>>>0,q6=f,c|0|0}function GD(t,r,A){t=t|0,r=r|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(r&a)<<32-A):(q6=(r|0)<0?-1:0,r>>A-32|0)}function _Q(t){t=t|0;var r=0;return r=d[R9+(t&255)>>0]|0,(r|0)<8?r|0:(r=d[R9+(t>>8&255)>>0]|0,(r|0)<8?r+8|0:(r=d[R9+(t>>16&255)>>0]|0,(r|0)<8?r+16|0:(d[R9+(t>>>24)>>0]|0)+24|0))}function cb(t,r){t=t|0,r=r|0;var A=0,a=0,c=0,f=0,E=0,I=0,m=0;return A=t&65535,a=r&65535,c=n5(a,A)|0,f=t>>>16,E=(c>>>16)+(n5(a,f)|0)|0,I=r>>>16,m=n5(I,A)|0,q6=((E>>>16)+(n5(I,f)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function UD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return c=r>>31|((r|0)<0?-1:0)<<1,f=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=Ws(c^t,f^r,c,f)|0,p=q6,B=Ws(E^A,I^a,E,I)|0,v=E^c,b=I^f,w=nC(m,p,B,q6,0)|0,y=Ws(w^v,q6^b,v,b)|0,y|0}function PD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,f=r>>31|((r|0)<0?-1:0)<<1,E=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Ws(f^t,E^r,f,E)|0,B=q6,v=Ws(I^A,m^a,I,m)|0,nC(p,B,v,q6,c)|0,b=Ws(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=q6,C=y,q6=w,b|0}function gb(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0,E=0,I=0,m=0;return c=t,f=A,E=cb(c,f)|0,I=q6,m=n5(r,f)|0,q6=((n5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function OD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0;return c=nC(t,r,A,a,0)|0,c|0}function HD(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0;var c=0,f=0;return f=C,C=C+8|0,c=f|0,nC(t,r,A,a,c)|0,C=f,q6=e[c+4>>2]|0,e[c>>2]|0|0}function nC(t,r,A,a,c){t=t|0,r=r|0,A=A|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,s0=0,i0=0,n0=0,K=0,h0=0,o0=0,c0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,D0=0;if(f=t,E=r,I=E,m=A,p=a,B=p,!(I|0))return v=(c|0)!=0,B|0?v?(e[c>>2]=t&-1,e[c+4>>2]=r&0,D0=0,x0=0,q6=D0,x0|0):(D0=0,x0=0,q6=D0,x0|0):(v&&(e[c>>2]=(f>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,x0=(f>>>0)/(m>>>0)>>>0,q6=D0,x0|0);b=(B|0)==0;do if(m|0){if(!b){if(Y=Vs(B|0)|0,t0=Y-(Vs(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|r&0,D0=0,x0=0,q6=D0,x0|0):(D0=0,x0=0,q6=D0,x0|0)}if(L=m-1|0,L&m|0){F=(Vs(m|0)|0)+33|0,M=F-(Vs(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=f<>>(O>>>0))&G|f<>31;break}return c|0&&(e[c>>2]=L&f,e[c+4>>2]=0),(m|0)==1?(D0=E|r&0,x0=0|t&-1,q6=D0,x0|0):(x=_Q(m|0)|0,D0=0|I>>>(x>>>0),x0=I<<32-x|f>>>(x>>>0)|0,q6=D0,x0|0)}else{if(b)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,x0=(I>>>0)/(m>>>0)>>>0,q6=D0,x0|0;if(!(f|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),D0=0,x0=(I>>>0)/(B>>>0)>>>0,q6=D0,x0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|r&0),D0=0,x0=I>>>((_Q(B|0)|0)>>>0),q6=D0,x0|0;if(y=Vs(B|0)|0,D=y-(Vs(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,$0=I<<_|f>>>(Q>>>0),U=I>>>(Q>>>0),X=0,H=f<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|r&0,D0=0,x0=0,q6=D0,x0|0):(D0=0,x0=0,q6=D0,x0|0)}while(!1);if(!(Z|0))N0=H,M0=X,L0=U,Q0=$0,_0=0,K0=0;else{for(V=0|A&-1,a0=p|a&0,s0=zs(V|0,a0|0,-1,-1)|0,i0=q6,j=H,c0=X,o0=U,h0=$0,K=Z,n0=0;l0=c0>>>31|j<<1,f0=n0|c0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,Ws(s0,i0,d0,w0)|0,C0=q6,k0=C0>>31|((C0|0)<0?-1:0)<<1,u0=k0&1,B0=Ws(d0,w0,k0&V,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=q6,S0=K-1|0,S0|0;)j=l0,c0=f0,o0=I0,h0=p0,K=S0,n0=u0;N0=l0,M0=f0,L0=I0,Q0=p0,_0=0,K0=u0}return U0=M0,y0=0,q0=N0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=L0|0),D0=(0|U0)>>>31|q0<<1|(y0<<1|U0>>>31)&0|_0,x0=(U0<<1|0)&-2|K0,q6=D0,x0|0}function hb(t,r,A,a,c){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,pB[t&3](r|0,A|0,a|0,c|0)|0}function fb(t,r){t=t|0,r=r|0,js[t&7](r|0)}function ub(t,r,A){t=t|0,r=r|0,A=A|0,QB[t&3](r|0,A|0)}function db(t,r){return t=t|0,r=r|0,LQ[t&1](r|0)|0}function Ib(t,r,A,a){t=t|0,r=r|0,A=A|0,a=a|0,FQ[t&1](r|0,A|0,a|0)}function Eb(t,r,A,a,c,f,E,I,m){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,MQ[t&3](r|0,A|0,a|0,c|0,f|0,E|0,I|0,m|0)|0}function mb(t,r,A){return t=t|0,r=r|0,A=A|0,u7[t&15](r|0,A|0)|0}function Cb(t,r,A,a,c,f){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,yB[t&7](r|0,A|0,a|0,c|0,f|0)|0}function Bb(t,r,A,a){return t=t|0,r=r|0,A=A|0,a=a|0,Vn(0),0}function CB(t){t=t|0,Vn(1)}function RQ(t,r){t=t|0,r=r|0,Vn(2)}function pb(t){return t=t|0,Vn(3),0}function Qb(t,r,A){t=t|0,r=r|0,A=A|0,Vn(4)}function xQ(t,r,A,a,c,f,E,I){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,Vn(5),0}function el(t,r){return t=t|0,r=r|0,Vn(6),0}function BB(t,r,A,a,c){return t=t|0,r=r|0,A=A|0,a=a|0,c=c|0,Vn(7),0}var pB=[Bb,aS,Jv,Kv],js=[CB,sS,oS,ES,_S,RS,CB,CB],QB=[RQ,iS,xS,RQ],LQ=[pb,mS],FQ=[Qb,dS],MQ=[xQ,TS,PS,xQ],u7=[el,nS,rS,AS,IS,CS,LS,FS,$S,DS,KS,el,el,el,el,el],yB=[BB,MS,NS,GS,US,OS,BB,BB];return{_memmove:jA,_strlen:X$,_strcat:bQ,_free:I2,_i64Add:zs,_encoder_clear:tb,_encoder_transfer_data:sb,_encoder_data_len:rb,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:eb,_encoder_process:nb,_bitshift64Lshr:Zs,_bitshift64Shl:DQ,_strcpy:mB,_encoder_analysis_buffer:ib,runPostSets:lb,stackAlloc:Qv,stackSave:yv,stackRestore:wv,establishStackSpace:kv,setThrew:vv,setTempRet0:Sv,getTempRet0:bv,dynCall_iiiii:hb,dynCall_vi:fb,dynCall_vii:ub,dynCall_ii:db,dynCall_viii:Ib,dynCall_iiiiiiiii:Eb,dynCall_iii:mb,dynCall_iiiiii:Cb}}(o.asmGlobalArg,o.asmLibraryArg,Fi),fD=o.runPostSets=K9.runPostSets,rv=o._strlen=K9._strlen,sv=o._strcat=K9._strcat,AB=o._free=K9._free,uD=o._encoder_init=K9._encoder_init,ov=o._i64Add=K9._i64Add,Av=o._memmove=K9._memmove,dD=o._encoder_transfer_data=K9._encoder_transfer_data,ID=o._encoder_process=K9._encoder_process,ED=o._encoder_data_len=K9._encoder_data_len,av=o._memset=K9._memset,_h=o._malloc=K9._malloc,$v=o._memcpy=K9._memcpy,mD=o._encoder_clear=K9._encoder_clear,lv=o._bitshift64Lshr=K9._bitshift64Lshr,CD=o._encoder_analysis_buffer=K9._encoder_analysis_buffer,cv=o._strcpy=K9._strcpy,gv=o._bitshift64Shl=K9._bitshift64Shl,BD=o.dynCall_iiiii=K9.dynCall_iiiii,pD=o.dynCall_vi=K9.dynCall_vi,QD=o.dynCall_vii=K9.dynCall_vii,yD=o.dynCall_ii=K9.dynCall_ii,wD=o.dynCall_viii=K9.dynCall_viii,kD=o.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,vD=o.dynCall_iii=K9.dynCall_iii,SD=o.dynCall_iiiiii=K9.dynCall_iiiiii;R.stackAlloc=K9.stackAlloc,R.stackSave=K9.stackSave,R.stackRestore=K9.stackRestore,R.establishStackSpace=K9.establishStackSpace,R.setTempRet0=K9.setTempRet0,R.getTempRet0=K9.getTempRet0;var bD=function(){var i={math:{}};i.math.Long=function(q,v0){this.low_=q|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var v0=i.math.Long.IntCache_[q];if(v0)return v0}var W0=new i.math.Long(q|0,q<0?-1:0);return-128<=q&&q<128&&(i.math.Long.IntCache_[q]=W0),W0},i.math.Long.fromNumber=function(q){return isNaN(q)||!isFinite(q)?i.math.Long.ZERO:q<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:q+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:q<0?i.math.Long.fromNumber(-q).negate():new i.math.Long(q%i.math.Long.TWO_PWR_32_DBL_|0,q/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(q,v0){return new i.math.Long(q,v0)},i.math.Long.fromString=function(q,v0){if(q.length==0)throw Error("number format error: empty string");var W0=v0||10;if(W0<2||36=0)throw Error('number format error: interior "-" character: '+q);for(var m2=i.math.Long.fromNumber(Math.pow(W0,8)),Z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var q=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(q&1<0},i.math.Long.prototype.greaterThanOrEqual=function(q){return this.compare(q)>=0},i.math.Long.prototype.compare=function(q){if(this.equals(q))return 0;var v0=this.isNegative(),W0=q.isNegative();return v0&&!W0?-1:!v0&&W0?1:this.subtract(q).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(q){var v0=this.high_>>>16,W0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,Z6=q.low_>>>16,M9=q.low_&65535,x9=0,Z4=0,t7=0,Zi=0;return Zi+=Z5+M9,t7+=Zi>>>16,Zi&=65535,t7+=m2+Z6,Z4+=t7>>>16,t7&=65535,Z4+=W0+_3,x9+=Z4>>>16,Z4&=65535,x9+=v0+N5,x9&=65535,i.math.Long.fromBits(t7<<16|Zi,x9<<16|Z4)},i.math.Long.prototype.subtract=function(q){return this.add(q.negate())},i.math.Long.prototype.multiply=function(q){if(this.isZero())return i.math.Long.ZERO;if(q.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return q.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(q.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return q.isNegative()?this.negate().multiply(q.negate()):this.negate().multiply(q).negate();if(q.isNegative())return this.multiply(q.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&q.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*q.toNumber());var v0=this.high_>>>16,W0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,Z6=q.low_>>>16,M9=q.low_&65535,x9=0,Z4=0,t7=0,Zi=0;return Zi+=Z5*M9,t7+=Zi>>>16,Zi&=65535,t7+=m2*M9,Z4+=t7>>>16,t7&=65535,t7+=Z5*Z6,Z4+=t7>>>16,t7&=65535,Z4+=W0*M9,x9+=Z4>>>16,Z4&=65535,Z4+=m2*Z6,x9+=Z4>>>16,Z4&=65535,Z4+=Z5*_3,x9+=Z4>>>16,Z4&=65535,x9+=v0*M9+W0*Z6+m2*_3+Z5*N5,x9&=65535,i.math.Long.fromBits(t7<<16|Zi,x9<<16|Z4)},i.math.Long.prototype.div=function(q){if(q.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(q.equals(i.math.Long.ONE)||q.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(q.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),W0=v0.div(q).shiftLeft(1);if(W0.equals(i.math.Long.ZERO))return q.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(q.multiply(W0)),m2=W0.add(N5.div(q));return m2}else if(q.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return q.isNegative()?this.negate().div(q.negate()):this.negate().div(q).negate();if(q.isNegative())return this.div(q.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(q);){for(var W0=Math.max(1,Math.floor(N5.toNumber()/q.toNumber())),_3=Math.ceil(Math.log(W0)/Math.LN2),Z6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(W0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(N5);)W0-=Z6,M9=i.math.Long.fromNumber(W0),x9=M9.multiply(q);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(x9)}return Z5},i.math.Long.prototype.modulo=function(q){return this.subtract(this.div(q).multiply(q))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(q){return i.math.Long.fromBits(this.low_&q.low_,this.high_&q.high_)},i.math.Long.prototype.or=function(q){return i.math.Long.fromBits(this.low_|q.low_,this.high_|q.high_)},i.math.Long.prototype.xor=function(q){return i.math.Long.fromBits(this.low_^q.low_,this.high_^q.high_)},i.math.Long.prototype.shiftLeft=function(q){if(q&=63,q==0)return this;var v0=this.low_;if(q<32){var W0=this.high_;return i.math.Long.fromBits(v0<>>32-q)}else return i.math.Long.fromBits(0,v0<>>q|v0<<32-q,v0>>q)}else return i.math.Long.fromBits(v0>>q-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var v0=this.high_;if(q<32){var W0=this.low_;return i.math.Long.fromBits(W0>>>q|v0<<32-q,v0>>>q)}else return q==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>q-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(q,v0,W0){q!=null&&(typeof q=="number"?this.fromNumber(q,v0,W0):v0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,v0))}function Z0(){return new e(null)}function t1(q,v0,W0,m2,Z5,N5){for(;--N5>=0;){var _3=v0*this[q++]+W0[m2]+Z5;Z5=Math.floor(_3/67108864),W0[m2++]=_3&67108863}return Z5}function b2(q,v0,W0,m2,Z5,N5){for(var _3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,Z4=Z6*M9+x9*_3;M9=_3*M9+((Z4&32767)<<15)+W0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(Z4>>>15)+Z6*x9+(Z5>>>30),W0[m2++]=M9&1073741823}return Z5}function s(q,v0,W0,m2,Z5,N5){for(var _3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,Z4=Z6*M9+x9*_3;M9=_3*M9+((Z4&16383)<<14)+W0[m2]+Z5,Z5=(M9>>28)+(Z4>>14)+Z6*x9,W0[m2++]=M9&268435455}return Z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--v0)q[v0]=this[v0];q.t=this.t,q.s=this.s}function w8(q){this.t=1,this.s=q<0?-1:0,q>0?this[0]=q:q<-1?this[0]=q+DV:this.t=0}function V9(q){var v0=Z0();return v0.fromInt(q),v0}function h8(q,v0){var W0;if(v0==16)W0=4;else if(v0==8)W0=3;else if(v0==256)W0=8;else if(v0==2)W0=1;else if(v0==32)W0=5;else if(v0==4)W0=2;else{this.fromRadix(q,v0);return}this.t=0,this.s=0;for(var m2=q.length,Z5=!1,N5=0;--m2>=0;){var _3=W0==8?q[m2]&255:O9(q,m2);if(_3<0){q.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=_3:N5+W0>this.DB?(this[this.t-1]|=(_3&(1<>this.DB-N5):this[this.t-1]|=_3<=this.DB&&(N5-=this.DB)}W0==8&&q[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==q;)--this.t}function Gi(q){if(this.s<0)return"-"+this.negate().toString(q);var v0;if(q==16)v0=4;else if(q==8)v0=3;else if(q==2)v0=1;else if(q==32)v0=5;else if(q==4)v0=2;else return this.toRadix(q);var W0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=R9(m2));_3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[_3]>>(Z6-=v0)&W0,Z6<=0&&(Z6+=this.DB,--_3)),m2>0&&(Z5=!0),Z5&&(N5+=R9(m2));return Z5?N5:"0"}function Ui(){var q=Z0();return e.ZERO.subTo(this,q),q}function In(){return this.s<0?this.negate():this}function Z$(q){var v0=this.s-q.s;if(v0!=0)return v0;var W0=this.t;if(v0=W0-q.t,v0!=0)return this.s<0?-v0:v0;for(;--W0>=0;)if((v0=this[W0]-q[W0])!=0)return v0;return 0}function zm(q){var v0=1,W0;return(W0=q>>>16)!=0&&(q=W0,v0+=16),(W0=q>>8)!=0&&(q=W0,v0+=8),(W0=q>>4)!=0&&(q=W0,v0+=4),(W0=q>>2)!=0&&(q=W0,v0+=2),(W0=q>>1)!=0&&(q=W0,v0+=1),v0}function Dp(){return this.t<=0?0:this.DB*(this.t-1)+zm(this[this.t-1]^this.s&this.DM)}function _p(q,v0){var W0;for(W0=this.t-1;W0>=0;--W0)v0[W0+q]=this[W0];for(W0=q-1;W0>=0;--W0)v0[W0]=0;v0.t=this.t+q,v0.s=this.s}function Rp(q,v0){for(var W0=q;W0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|_3,_3=(this[Z6]&Z5)<=0;--Z6)v0[Z6]=0;v0[N5]=_3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function Lp(q,v0){v0.s=this.s;var W0=Math.floor(q/this.DB);if(W0>=this.t){v0.t=0;return}var m2=q%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var _3=W0+1;_3>m2;m2>0&&(v0[this.t-W0-1]|=(this.s&N5)<>=this.DB;if(q.t>=this.DB;m2+=this.s}else{for(m2+=this.s;W0>=this.DB;m2-=q.s}v0.s=m2<0?-1:0,m2<-1?v0[W0++]=this.DV+m2:m2>0&&(v0[W0++]=m2),v0.t=W0,v0.clamp()}function Fp(q,v0){var W0=this.abs(),m2=q.abs(),Z5=W0.t;for(v0.t=Z5+m2.t;--Z5>=0;)v0[Z5]=0;for(Z5=0;Z5=0;)q[W0]=0;for(W0=0;W0=v0.DV&&(q[W0+v0.t]-=v0.DV,q[W0+v0.t+1]=1)}q.t>0&&(q[q.t-1]+=v0.am(W0,v0[W0],q,2*W0,0,1)),q.s=0,q.clamp()}function Tp(q,v0,W0){var m2=q.abs();if(!(m2.t<=0)){var Z5=this.abs();if(Z5.t0?(m2.lShiftTo(M9,N5),Z5.lShiftTo(M9,W0)):(m2.copyTo(N5),Z5.copyTo(W0));var x9=N5.t,Z4=N5[x9-1];if(Z4!=0){var t7=Z4*(1<1?N5[x9-2]>>this.F2:0),Zi=this.FV/t7,zp=(1<=0&&(W0[W0.t++]=1,W0.subTo(N7,W0)),e.ONE.dlShiftTo(x9,N7),N7.subTo(N5,N5);N5.t=0;){var Zm=W0[--WA]==Z4?this.DM:Math.floor(W0[WA]*Zi+(W0[WA-1]+Zp)*zp);if((W0[WA]+=N5.am(0,Zm,W0,xh,0,x9))0&&W0.rShiftTo(M9,W0),_3<0&&e.ZERO.subTo(W0,W0)}}}function Np(q){var v0=Z0();return this.abs().divRemTo(q,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&q.subTo(v0,v0),v0}function VA(q){this.m=q}function Gp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function Up(q){return q}function Pp(q){q.divRemTo(this.m,null,q)}function Op(q,v0,W0){q.multiplyTo(v0,W0),this.reduce(W0)}function zA(q,v0){q.squareTo(v0),this.reduce(v0)}VA.prototype.convert=Gp,VA.prototype.revert=Up,VA.prototype.reduce=Pp,VA.prototype.mulTo=Op,VA.prototype.sqrTo=zA;function zi(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var v0=q&3;return v0=v0*(2-(q&15)*v0)&15,v0=v0*(2-(q&255)*v0)&255,v0=v0*(2-((q&65535)*v0&65535))&65535,v0=v0*(2-q*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Tr(q){this.m=q,this.mp=q.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function ZA(q){var v0=Z0();return q.copyTo(v0),this.reduce(v0),v0}function Nr(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&q.DM;for(W0=v0+this.m.t,q[W0]+=this.m.am(0,m2,q,v0,0,this.m.t);q[W0]>=q.DV;)q[W0]-=q.DV,q[++W0]++}q.clamp(),q.drShiftTo(this.m.t,q),q.compareTo(this.m)>=0&&q.subTo(this.m,q)}function Hp(q,v0){q.squareTo(v0),this.reduce(v0)}function qp(q,v0,W0){q.multiplyTo(v0,W0),this.reduce(W0)}Tr.prototype.convert=Rh,Tr.prototype.revert=ZA,Tr.prototype.reduce=Nr,Tr.prototype.mulTo=qp,Tr.prototype.sqrTo=Hp;function Yp(){return(this.t>0?this[0]&1:this.s)==0}function Ks(q,v0){if(q>4294967295||q<1)return e.ONE;var W0=Z0(),m2=Z0(),Z5=v0.convert(this),N5=zm(q)-1;for(Z5.copyTo(W0);--N5>=0;)if(v0.sqrTo(W0,m2),(q&1<0)v0.mulTo(m2,Z5,W0);else{var _3=W0;W0=m2,m2=_3}return v0.revert(W0)}function Jp(q,v0){var W0;return q<256||v0.isEven()?W0=new VA(v0):W0=new Tr(v0),this.exp(q,W0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=z4,e.prototype.dlShiftTo=_p,e.prototype.drShiftTo=Rp,e.prototype.lShiftTo=xp,e.prototype.rShiftTo=Lp,e.prototype.subTo=q6,e.prototype.multiplyTo=Fp,e.prototype.squareTo=Mp,e.prototype.divRemTo=Tp,e.prototype.invDigit=zi,e.prototype.isEven=Yp,e.prototype.exp=Ks,e.prototype.toString=Gi,e.prototype.negate=Ui,e.prototype.abs=In,e.prototype.compareTo=Z$,e.prototype.bitLength=Dp,e.prototype.mod=Np,e.prototype.modPowInt=Jp,e.ZERO=V9(0),e.ONE=V9(1);function Gr(q,v0){this.fromInt(0),v0==null&&(v0=10);for(var W0=this.chunkSize(v0),m2=Math.pow(v0,W0),Z5=!1,N5=0,_3=0,Z6=0;Z6=W0&&(this.dMultiply(m2),this.dAddOffset(_3,0),N5=0,_3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(_3,0)),Z5&&e.ZERO.subTo(this,this)}function Kn(q){return Math.floor(Math.LN2*this.DB/Math.log(q))}function $B(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function n5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Kp(q,v0){if(q!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=q;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function Vs(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var v0=this.chunkSize(q),W0=Math.pow(q,v0),m2=V9(W0),Z5=Z0(),N5=Z0(),_3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)_3=(W0+N5.intValue()).toString(q).substr(1)+_3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(q)+_3}function Vn(){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(q.t>=this.DB;m2+=this.s}else{for(m2+=this.s;W0>=this.DB;m2+=q.s}v0.s=m2<0?-1:0,m2>0?v0[W0++]=m2:m2<-1&&(v0[W0++]=this.DV+m2),v0.t=W0,v0.clamp()}e.prototype.fromRadix=Gr,e.prototype.chunkSize=Kn,e.prototype.signum=$B,e.prototype.dMultiply=n5,e.prototype.dAddOffset=Kp,e.prototype.toRadix=Vs,e.prototype.intValue=Vn,e.prototype.addTo=Vp;var ri={abs:function(q,v0){var W0=new i.math.Long(q,v0),m2;W0.isNegative()?m2=W0.negate():m2=W0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){ri.ensuredTemps||(ri.ensuredTemps=!0,ri.two32=new e,ri.two32.fromString("4294967296",10),ri.two64=new e,ri.two64.fromString("18446744073709551616",10),ri.temp1=new e,ri.temp2=new e)},lh2bignum:function(q,v0){var W0=new e;W0.fromString(v0.toString(),10);var m2=new e;W0.multiplyTo(ri.two32,m2);var Z5=new e;Z5.fromString(q.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(q,v0,W0){var m2=new i.math.Long(q,v0).toString();if(W0&&m2[0]=="-"){ri.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,ri.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(q,v0,W0,m2,Z5){ri.ensureTemps();var N5=new e;N5.fromString(q,v0);var _3=new e;_3.fromString(W0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(ri.two64,M9),N5=M9}var x9=!1;N5.compareTo(_3)<0?(N5=_3,x9=!0):N5.compareTo(Z6)>0&&(N5=Z6,x9=!0);var Z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=Z4.low_,_9[y8+4>>2]=Z4.high_,x9)throw"range error"}};return ri}();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 kp,Vm=null,hv=!1;Ti=function i(){o.calledRun||aB(),o.calledRun||(Ti=i)},o.callMain=o.callMain=function($){V4(Bt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),V4(Om.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Os();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Jn(o.thisProgram),"i8",qA)];d();for(var e=0;e0||(bh(),Bt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!F0&&(Os(),Ip(),g&&Vm!==null&&o.printErr("pre-main prep time: "+(Date.now()-Vm)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&bp&&o.callMain(i),H$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=aB;function vp(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(F0=!0,b1=i,Bi=kp,Hm(),o.onExit&&o.onExit(i)),u?(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=vp;var Sp=[];function Js(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",F0=!0,b1=1;var $=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Gm()+$;throw Sp&&Sp.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Js,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var bp=!0;o.noInitialRun&&(bp=!1),aB();var fv=o._encoder_init,uv=o._encoder_clear,dv=o._encoder_analysis_buffer,Iv=o._encoder_process,Ev=o._encoder_data_len,mv=o._encoder_transfer_data,pi=o.HEAPU8,K$=o.HEAPU32,V$=o.HEAPF32,z$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=fv(this.numChannels,i,h)};z$.prototype.encode=function(i){for(var $=i[0].length,h=dv(this.encoder,$)>>2,d=0;d>2);this.process($)},z$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},z$.prototype.cancel=z$.prototype.cleanup=function(){uv(this.encoder),delete this.encoder,delete this.oggBuffers},z$.prototype.process=function(i){Iv(this.encoder,i);var $=Ev(this.encoder);if($>0){var h=mv(this.encoder);this.oggBuffers.push(new Uint8Array(pi.subarray(h,h+$)))}},ZC.OggVorbisEncoder=z$}};typeof window<"u"&&window===self&&ZC.init();function pk(o,n,l,g){let u=new ZC.OggVorbisEncoder(l,n,g);u.encode(o);let S=u.finish(),r0=S.reduce((g0,u1)=>g0+u1.length,0),E0=new Uint8Array(r0),m0=0;for(let g0 of S)E0.set(g0,m0),m0+=g0.length;return E0}var WC=class{constructor(n,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),g.classList.add("hidden");let S=u.dataTransfer.files[0];if(!S)return;let r0=S.name,E0=await S.arrayBuffer(),m0=E0.slice(0,4),g0=new TextDecoder;if(g0.decode(m0)==="RIFF"){let u1=E0.slice(8,12);if(g0.decode(u1)==="RMID"){n({buf:E0,name:r0});return}l(E0);return}n({buf:E0,name:r0})})}};document.body.classList.add("load");var Qk=!1,Rr=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)"];constructor(n,l,g){this.localeManager=g,this.context=n,this.isExporting=!1,this.compressionFunc=pk;let u;this.ready=new Promise(S=>u=S),this.initializeContext(n,l).then(()=>{u()})}saveBlob(n,l){let g=URL.createObjectURL(n),u=document.createElement("a");u.href=g,u.download=l,u.click(),Y5(u)}sfError;async initializeContext(n,l){if(!n.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let R of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(R,"innerText",R.getAttribute("translate-path"));for(let R of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(R,"innerText",R.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(R,"title",R.getAttribute("translate-path-title")+".description");let u=Qk?"synthetizer/worklet_system/worklet_processor.js":qC;Qk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),n.audioWorklet&&await n.audioWorklet.addModule(new URL("../../spessasynth_lib/"+u,import.meta.url)),this.soundFont=l;let S=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),E0=await(await fetch(S)).arrayBuffer();this.impulseResponse=await n.decodeAudioData(E0),this.audioDelay=new DelayNode(n,{delayTime:0}),this.audioDelay.connect(n.destination),this.synth=new ch(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",R=>{this.sfError&&this.sfError(R)}),await this.synth.isReady,this.midHandler=new FC,this.wml=new MC(this.synth),this.keyboard=new wm(this.channelColors,this.synth);let m0=document.getElementById("note_canvas");m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,m0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let g0=!1,u1=()=>{if(m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),Sr){if(window.innerWidth/window.innerHeight>1){if(!g0){let R=document.getElementById("title_wrapper"),X0=document.getElementById("settings_div");g0=!0,R.parentElement.insertBefore(X0,R)}}else if(g0){let R=document.getElementById("title_wrapper"),X0=document.getElementById("settings_div");g0=!1,R.parentElement.insertBefore(R,X0)}}this.renderer.render(!1,!0)};u1(),window.addEventListener("resize",u1.bind(this)),window.addEventListener("orientationchange",u1.bind(this)),Sr&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Pn(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new OC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ls(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ci(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new WC(R=>{this.play([{binary:R.buf,altName:R.name}]),R.name.length>20&&(R.name=R.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=R.name},R=>{this.reloadSf(R)}),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let X0=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),X0===null)return;m0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${X0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case e7.videoMode:this.seq&&this.seq.pause();let F0=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(G0===null)return;let b1=document.createElement("video");b1.src=G0,b1.classList.add("secret_video"),m0.parentElement.appendChild(b1),b1.play(),window.video=b1,this.seq&&(b1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),b1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l2=>{l2.key===" "&&(b1.paused?b1.play():b1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let n=this.soundFont.slice(8,12);Ie(new J3(n),4).toLowerCase()==="dls "&&mt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:g=>{Ot(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{Ot(g.id)}}],99999999)}}async reloadSf(n){await this.synth.soundfontManager.reloadManager(n),this.soundFont=n,setTimeout(()=>{this.doDLSCheck()},3e3)}play(n){if(this.synth){if(this.seq){this.seq.loadNewSongList(n);return}this.seq=new DC(n,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq),this.seq.play(!0)}}downloadDesfont(){let n=Bh(this.soundFont),l=n.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${n.soundFontInfo.INAM}.sf2`)}};Rr.prototype.exportSong=Ck;Rr.prototype._exportAudioData=Yw;Rr.prototype._doExportAudioData=qw;Rr.prototype.exportMidi=Jw;Rr.prototype._exportSoundfont=mk;Rr.prototype._exportRMIDI=Bk;var iD=44100,nD="GeneralUserGS.sf3",jC=document.getElementById("title"),PA=document.getElementById("midi_file_input"),rD=document.getElementById("sf_file_input"),yk=document.getElementById("demo_song"),np=document.getElementById("export_button"),S$=document.getElementsByClassName("loading")[0],xi=document.getElementById("loading_message"),sD=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=sD.version;var oD="spessasynth-db",D$="soundFontStore";function op(o){let n=indexedDB.open(oD,1);n.onsuccess=()=>{let l=n.result;o(l)},n.onupgradeneeded=l=>{l.target.result.createObjectStore(D$,{keyPath:"id"})}}async function AD(){return await new Promise(o=>{op(n=>{let u=n.transaction([D$],"readonly").objectStore(D$).get("buffer");u.onerror=S=>{console.error("Database error"),console.error(S),o(void 0)},u.onsuccess=async()=>{let S=u.result;if(!S){o(void 0);return}o(S.data)}})})}function b$(o,n=!0){let l=S$.getElementsByClassName("loading_icon")[0];l.innerHTML=o,l.style.animation=n?"none":""}async function wk(o){op(n=>{let g=n.transaction([D$],"readwrite").objectStore(D$);try{let u=g.put({id:"buffer",data:o});u.onsuccess=()=>{Y5("SoundFont stored successfully")},u.onerror=S=>{console.error("Error saving soundfont",S)}}catch(u){R4("Failed saving soundfont:",u)}})}async function aD(o){let n=new HC(o);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:iD})}catch(u){throw b$(Dm(256)),xi.textContent=n.getLocaleString("locale.synthInit.noWebAudio"),u}xi.textContent=n.getLocaleString("locale.synthInit.loadingSoundfont");let l=await AD(),g=!0;if(l===void 0){R4("Failed to load from db, fetching online instead"),g=!1;let u=document.getElementById("progress_bar"),S=n.getLocaleString("locale.synthInit.loadingBundledSoundfont");xi.textContent=S,l=await $D(`soundfonts/${nD}`,r0=>{xi.textContent=`${S} ${r0}%`}),u.style.width="0"}else Y5("Loaded the soundfont from the database succesfully");window.soundFontParser=l,g||(xi.textContent=n.getLocaleString("locale.synthInit.savingSoundfont"),await wk(l)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),xi.textContent=n.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Rr(audioContextMain,soundFontParser,n),window.manager.sfError=u=>{b$(Dm(256)),g?(R4("Invalid soundfont in the database. Resetting."),op(S=>{let m0=S.transaction([D$],"readwrite").objectStore(D$).delete("buffer");m0.onsuccess=()=>{location.reload()}})):jC.innerHTML=`Error parsing soundfont:
${u}
`,xi.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,PA.files[0]?await rp(PA.files):(PA.onclick=void 0,PA.onchange=()=>{PA.files[0]&&rp(PA.files).then()}),b$(KB(256)),xi.textContent=n.getLocaleString("locale.synthInit.done")}async function $D(o,n){let l=await fetch(o);if(!l.ok)throw jC.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),u=await(await l.body).getReader(),S=!1,r0=new Uint8Array(parseInt(g)),E0=0;do{let m0=await u.read();m0.value&&(r0.set(m0.value,E0),E0+=m0.value.length),S=m0.done;let g0=Math.round(E0/g*100);n(g0)}while(!S);return r0.buffer}async function rp(o){yk.style.display="none";let n;o[0].name.length>20?n=o[0].name.substring(0,21)+"...":n=o[0].name,o.length>1&&(n+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=n,document.getElementById("file_upload").title=o[0].name;let l=[];for(let g of o)l.push({binary:await g.arrayBuffer(),altName:g.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(l):manager.play(l),np.style.display="flex",np.onclick=window.manager.exportSong.bind(window.manager)}function lD(o){localStorage.setItem("spessasynth-settings",JSON.stringify(o)),Y5("saved as",o)}window.saveSettings=lD;var xm=JSON.parse(localStorage.getItem("spessasynth-settings"));xm!==null&&(window.savedSettings=new Promise(o=>{o(xm)}));var sp;xm&&xm.interface&&xm.interface.language?sp=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():sp=navigator.language.split("-")[0].toLowerCase();PA.value="";PA.focus();np.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function cD(o){jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let n=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+o);n.name=o,await rp([n])}aD(sp).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),Sr&&window.chrome&&mt(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),rD.onchange=o=>{if(!o.target.files[0])return;let n=o.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=n.name,S$.style.display="",setTimeout(async()=>{S$.classList.remove("done"),b$(Ly(256),!1),xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let l=performance.now()/1e3,g;try{g=await n.arrayBuffer(),window.soundFontParser=g}catch(S){throw xi.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),b$(Dm(256)),mt(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),S}window.manager.sfError=S=>{xi.innerHTML=`Error parsing soundfont:
${S}
`,b$(Dm(256)),console.error(S)},xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(g),window.manager.seq&&(window.manager.seq.currentTime-=.1),xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await wk(g);let u=performance.now()/1e3-l;await new Promise(S=>setTimeout(S,1e3-u)),b$(KB(256)),xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},yk.onclick=async()=>{let o=[{type:"button",textContent:window.manager.localeManager.getLocaleString("locale.credits"),onClick:()=>{window.open("https://github.com/spessasus/spessasynth-demo-songs#readme")}},{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let n=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),l=JSON.parse(n);for(let g of l)o.push({type:"button",textContent:g.name,onClick:async u=>{Ot(u.id),await cD(g.fileName)}});mt(window.manager.localeManager.getLocaleString("locale.demoSongButton"),o,999999,!0,void 0)}}); +Note: the video will be available in console as 'video'`,"");if(F0===null)return;let b1=document.createElement("video");b1.src=F0,b1.classList.add("secret_video"),m0.parentElement.appendChild(b1),b1.play(),window.video=b1,this.seq&&(b1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),b1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l2=>{l2.key===" "&&(b1.paused?b1.play():b1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let n=this.soundFont.slice(8,12);Ie(new J3(n),4).toLowerCase()==="dls "&&mt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:g=>{Ot(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{Ot(g.id)}}],99999999)}}async reloadSf(n){await this.synth.soundfontManager.reloadManager(n),this.soundFont=n,setTimeout(()=>{this.doDLSCheck()},3e3)}play(n){if(this.synth){if(this.seq){this.seq.loadNewSongList(n);return}this.seq=new DC(n,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq),this.seq.play(!0)}}downloadDesfont(){let n=Bh(this.soundFont),l=n.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${n.soundFontInfo.INAM}.sf2`)}};Rr.prototype.exportSong=Ck;Rr.prototype._exportAudioData=Yw;Rr.prototype._doExportAudioData=qw;Rr.prototype.exportMidi=Jw;Rr.prototype._exportSoundfont=mk;Rr.prototype._exportRMIDI=Bk;var iD=44100,nD="GeneralUserGS.sf3",jC=document.getElementById("title"),PA=document.getElementById("midi_file_input"),rD=document.getElementById("sf_file_input"),yk=document.getElementById("demo_song"),np=document.getElementById("export_button"),S$=document.getElementsByClassName("loading")[0],xi=document.getElementById("loading_message"),sD=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=sD.version;var oD="spessasynth-db",D$="soundFontStore";function op(o){let n=indexedDB.open(oD,1);n.onsuccess=()=>{let l=n.result;o(l)},n.onupgradeneeded=l=>{l.target.result.createObjectStore(D$,{keyPath:"id"})}}async function AD(){return await new Promise(o=>{op(n=>{let u=n.transaction([D$],"readonly").objectStore(D$).get("buffer");u.onerror=S=>{console.error("Database error"),console.error(S),o(void 0)},u.onsuccess=async()=>{let S=u.result;if(!S){o(void 0);return}o(S.data)}})})}function b$(o,n=!0){let l=S$.getElementsByClassName("loading_icon")[0];l.innerHTML=o,l.style.animation=n?"none":""}async function wk(o){op(n=>{let g=n.transaction([D$],"readwrite").objectStore(D$);try{let u=g.put({id:"buffer",data:o});u.onsuccess=()=>{Y5("SoundFont stored successfully")},u.onerror=S=>{console.error("Error saving soundfont",S)}}catch(u){R4("Failed saving soundfont:",u)}})}async function aD(o){let n=new HC(o);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:iD})}catch(u){throw b$(Dm(256)),xi.textContent=n.getLocaleString("locale.synthInit.noWebAudio"),u}xi.textContent=n.getLocaleString("locale.synthInit.loadingSoundfont");let l=await AD(),g=!0;if(l===void 0){R4("Failed to load from db, fetching online instead"),g=!1;let u=document.getElementById("progress_bar"),S=n.getLocaleString("locale.synthInit.loadingBundledSoundfont");xi.textContent=S,l=await $D(`soundfonts/${nD}`,r0=>{xi.textContent=`${S} ${r0}%`}),u.style.width="0"}else Y5("Loaded the soundfont from the database succesfully");window.soundFontParser=l,g||(xi.textContent=n.getLocaleString("locale.synthInit.savingSoundfont"),await wk(l)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),xi.textContent=n.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Rr(audioContextMain,soundFontParser,n),window.manager.sfError=u=>{b$(Dm(256)),g?(R4("Invalid soundfont in the database. Resetting."),op(S=>{let m0=S.transaction([D$],"readwrite").objectStore(D$).delete("buffer");m0.onsuccess=()=>{location.reload()}})):jC.innerHTML=`Error parsing soundfont:
${u}
`,xi.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,PA.files[0]?await rp(PA.files):(PA.onclick=void 0,PA.onchange=()=>{PA.files[0]&&rp(PA.files).then()}),b$(KB(256)),xi.textContent=n.getLocaleString("locale.synthInit.done")}async function $D(o,n){let l=await fetch(o);if(!l.ok)throw jC.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),u=await(await l.body).getReader(),S=!1,r0=new Uint8Array(parseInt(g)),E0=0;do{let m0=await u.read();m0.value&&(r0.set(m0.value,E0),E0+=m0.value.length),S=m0.done;let g0=Math.round(E0/g*100);n(g0)}while(!S);return r0.buffer}async function rp(o){yk.style.display="none";let n;o[0].name.length>20?n=o[0].name.substring(0,21)+"...":n=o[0].name,o.length>1&&(n+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=n,document.getElementById("file_upload").title=o[0].name;let l=[];for(let g of o)l.push({binary:await g.arrayBuffer(),altName:g.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(l):manager.play(l),np.style.display="flex",np.onclick=window.manager.exportSong.bind(window.manager)}function lD(o){localStorage.setItem("spessasynth-settings",JSON.stringify(o)),Y5("saved as",o)}window.saveSettings=lD;var xm=JSON.parse(localStorage.getItem("spessasynth-settings"));xm!==null&&(window.savedSettings=new Promise(o=>{o(xm)}));var sp;xm&&xm.interface&&xm.interface.language?sp=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():sp=navigator.language.split("-")[0].toLowerCase();PA.value="";PA.focus();np.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function cD(o){jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let n=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+o);n.name=o,await rp([n])}aD(sp).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),Sr&&window.chrome&&mt(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),rD.onchange=o=>{if(!o.target.files[0])return;let n=o.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=n.name,S$.style.display="",setTimeout(async()=>{S$.classList.remove("done"),b$(Ly(256),!1),xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let l=performance.now()/1e3,g;try{g=await n.arrayBuffer(),window.soundFontParser=g}catch(S){throw xi.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),b$(Dm(256)),mt(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),S}window.manager.sfError=S=>{xi.innerHTML=`Error parsing soundfont:
${S}
`,b$(Dm(256)),console.error(S)},xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(g),window.manager.seq&&(window.manager.seq.currentTime-=.1),xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await wk(g);let u=performance.now()/1e3-l;await new Promise(S=>setTimeout(S,1e3-u)),b$(KB(256)),xi.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},yk.onclick=async()=>{let o=[{type:"button",textContent:window.manager.localeManager.getLocaleString("locale.credits"),onClick:()=>{window.open("https://github.com/spessasus/spessasynth-demo-songs#readme")}},{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let n=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),l=JSON.parse(n);for(let g of l)o.push({type:"button",textContent:g.name,onClick:async u=>{Ot(u.id),await cD(g.fileName)}});mt(window.manager.localeManager.getLocaleString("locale.demoSongButton"),o,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 2cf94edb..94ccc547 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -1,4 +1,4 @@ -var hC=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var J3=class extends Uint8Array{constructor(r){super(r),this.currentIndex=0}currentIndex};function Sn(A){let r=A.reduce((u,b)=>u+b.length,0),l=new J3(r),g=0;for(let u of A)l.set(u,g),g+=u.length;return l}function I$(A){A=Math.floor(A);let r=Math.floor(A/60),l=Math.round(A-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function DB(A){return A.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var _1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Ei=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function JQ(A){let r=A&240,l=A&15,g=-1,u=A;return r>=128&&r<=224&&(g=l,u=r),{status:u,channel:g}}var t6={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,effects1Depth:91,effects2Depth:92,effects3Depth:93,effects4Depth:94,effects5Depth: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 fC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,g){this.events[r][l]=g}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(g=>g(l))}};var bB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},uC=class{constructor(r,l=bB){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let u=new ChannelMergerNode(g,{numberOfInputs:2}),b=[],A0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let c0=0;c0{let b=await u.arrayBuffer();l.buffer=await A.decodeAudioData(b)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Cm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},mi=-1,E$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var ED=!0,mD=!0,_B=!0;function W5(...A){ED&&console.info(...A)}function de(...A){mD&&console.warn(...A)}function lr(...A){_B&&console.group(...A)}function ri(...A){_B&&console.groupCollapsed(...A)}function i4(){_B&&console.groupEnd()}var VQ={chorusEnabled:!0,chorusConfig:bB,reverbEnabled:!0,reverbImpulseResponse:void 0};var Bm={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var dC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(u=>u.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(Bm.addNewSoundFont,[r,l,g]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){de("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){de(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(Bm.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(Bm.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(Bm.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};function A3(A,r){let l=0;for(let g=0;g>>0}function $t(A,r,l){for(let g=0;g>g*8&255}function Q9(A,r){A[A.currentIndex++]=r&255,A[A.currentIndex++]=r>>8}function lt(A,r){$t(A,r,4)}function _o(A,r){let l=r<<8|A;return l>32767?l-65536:l}function zQ(A){return A>127?A-256:A}function Ie(A,r,l=void 0,g=!0){if(l){let u=A.slice(A.currentIndex,A.currentIndex+r);return A.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,b="";for(let A0=0;A0127){if(g){u=!0;continue}else if(E0===0){u=!0;continue}}b+=String.fromCharCode(E0)}}return b}}function Ro(A,r=0){let l=A.length;r>0&&(l=r);let g=new J3(l);return ct(g,A,r),g}function ct(A,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ie(l.chunkData,4)===r))}var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var X6=class{constructor(r=v1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let g=l9[r];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}generatorType=v1.INVALID;generatorValue=0};var RB=class extends X6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=_o(r[l+2],r[l+3]),r.currentIndex+=4}};function xB(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new RB(A.chunkData));return r.length>1&&r.pop(),r}var x7={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Tr={linear:0,concave:1,convex:2,switch:3},CD=[];for(let A=0;A<4;A++)CD.push([[],[]]);var me=class A{constructor(r){r.srcEnum?(this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform):(this.sourceEnum=A3(r,2),this.modulatorDestination=A3(r,2),this.transformAmount=_o(r[r.currentIndex++],r[r.currentIndex++]),this.secondarySourceEnum=A3(r,2),this.transformType=A3(r,2)),this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}currentValue=0;static copy(r){return new A({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 A({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(u,b){return Object.keys(u).find(A0=>u[A0]===b)}let l=r(Tr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(t6,this.sourceIndex):l+=r(x7,this.sourceIndex);let g=r(Tr,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(t6,this.secSrcIndex):g+=r(x7,this.secSrcIndex),`Modulator: +var hC=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var J3=class extends Uint8Array{constructor(r){super(r),this.currentIndex=0}currentIndex};function Sn(A){let r=A.reduce((u,b)=>u+b.length,0),l=new J3(r),g=0;for(let u of A)l.set(u,g),g+=u.length;return l}function I$(A){A=Math.floor(A);let r=Math.floor(A/60),l=Math.round(A-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function bB(A){return A.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var _1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Ei=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function JQ(A){let r=A&240,l=A&15,g=-1,u=A;return r>=128&&r<=224&&(g=l,u=r),{status:u,channel:g}}var t6={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,effects1Depth:91,effects2Depth:92,effects3Depth:93,effects4Depth:94,effects5Depth: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 fC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,g){this.events[r][l]=g}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(g=>g(l))}};var _B={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},uC=class{constructor(r,l=_B){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let u=new ChannelMergerNode(g,{numberOfInputs:2}),b=[],A0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let c0=0;c0{let b=await u.arrayBuffer();l.buffer=await A.decodeAudioData(b)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Cm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},mi=-1,E$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var VQ=!1,zQ=!0,dC=!1,BD=!0;function ZQ(A,r,l,g){VQ=A,zQ=r,dC=l,BD=g}function W5(...A){VQ&&console.info(...A)}function de(...A){zQ&&console.warn(...A)}function lr(...A){dC&&console.group(...A)}function ri(...A){dC&&console.groupCollapsed(...A)}function i4(){dC&&console.groupEnd()}var WQ={chorusEnabled:!0,chorusConfig:_B,reverbEnabled:!0,reverbImpulseResponse:void 0};var Bm={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var IC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(u=>u.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(Bm.addNewSoundFont,[r,l,g]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){de("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){de(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(Bm.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(Bm.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(Bm.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};function A3(A,r){let l=0;for(let g=0;g>>0}function $t(A,r,l){for(let g=0;g>g*8&255}function Q9(A,r){A[A.currentIndex++]=r&255,A[A.currentIndex++]=r>>8}function lt(A,r){$t(A,r,4)}function _o(A,r){let l=r<<8|A;return l>32767?l-65536:l}function jQ(A){return A>127?A-256:A}function Ie(A,r,l=void 0,g=!0){if(l){let u=A.slice(A.currentIndex,A.currentIndex+r);return A.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,b="";for(let A0=0;A0127){if(g){u=!0;continue}else if(E0===0){u=!0;continue}}b+=String.fromCharCode(E0)}}return b}}function Ro(A,r=0){let l=A.length;r>0&&(l=r);let g=new J3(l);return ct(g,A,r),g}function ct(A,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ie(l.chunkData,4)===r))}var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var X6=class{constructor(r=v1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let g=l9[r];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}generatorType=v1.INVALID;generatorValue=0};var RB=class extends X6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=_o(r[l+2],r[l+3]),r.currentIndex+=4}};function xB(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new RB(A.chunkData));return r.length>1&&r.pop(),r}var x7={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Tr={linear:0,concave:1,convex:2,switch:3},pD=[];for(let A=0;A<4;A++)pD.push([[],[]]);var me=class A{constructor(r){r.srcEnum?(this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform):(this.sourceEnum=A3(r,2),this.modulatorDestination=A3(r,2),this.transformAmount=_o(r[r.currentIndex++],r[r.currentIndex++]),this.secondarySourceEnum=A3(r,2),this.transformType=A3(r,2)),this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}currentValue=0;static copy(r){return new A({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 A({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(u,b){return Object.keys(u).find(A0=>u[A0]===b)}let l=r(Tr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(t6,this.sourceIndex):l+=r(x7,this.sourceIndex);let g=r(Tr,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(t6,this.secSrcIndex):g+=r(x7,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${g} Destination: ${r(v1,this.modulatorDestination)} @@ -6,12 +6,12 @@ var hC=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( Transform type: ${this.transformType} -`}};function Mr(A,r,l,g,u){return A<<10|r<<9|l<<8|g<<7|u}var LB=960,FB=Tr.concave,IC=[new me({srcEnum:Mr(FB,0,1,0,x7.noteOnVelocity),dest:v1.initialAttenuation,amt:LB,secSrcEnum:0,transform:0}),new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(FB,0,1,1,t6.mainVolume),dest:v1.initialAttenuation,amt:LB,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new me({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(FB,0,1,1,t6.expressionController),dest:v1.initialAttenuation,amt:LB,secSrcEnum:0,transform:0}),new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,0,0,0,x7.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,0,0,1,t6.effects2Depth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,1,0,1,t6.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,1,0,1,t6.brightness),dest:v1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,1,0,1,t6.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];function EC(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new me(A.chunkData));return r}var m$=128,BD=147,xo=new Int16Array(BD).fill(0);xo[t6.mainVolume]=12800;xo[t6.expressionController]=16256;xo[t6.pan]=8192;xo[t6.releaseTime]=8192;xo[t6.brightness]=8192;xo[t6.timbreHarmonicContent]=8192;xo[m$+x7.pitchWheel]=8192;xo[m$+x7.pitchWheelRange]=256;var mC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},pD=Object.keys(mC).length,QD=new Float32Array(pD);QD[mC.modulationMultiplier]=1;var ZQ={velocityOverride:128};var yD="spessasynth-worklet-system",MB=350,bi=9,wD=16;var ah=class{constructor(r,l,g=!0,u=void 0,b=VQ){W5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let A0=u?.oneOutput===!0;this.eventHandler=new fC,this._voiceCap=MB,this._outputsAmount=wD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(c0=>this.resolveWhenReady=c0),this.channelProperties=[];for(let c0=0;c0this.handleMessage(c0.data),this.soundfontManager=new dC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,b.reverbEnabled&&!A0&&(this.reverbProcessor=KQ(this.context,b.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),b.chorusEnabled&&!A0&&(this.chorusProcessor=new uC(r,b.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),A0)this.worklet.connect(r,0);else for(let c0=2;c0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Cm.voicesCap,r),this._voiceCap=r}set highPerformanceMode(r){this._highPerformanceMode=r}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(r,l,g,u){this.post({channelNumber:mi,messageType:c8.setLogLevel,messageData:[r,l,g,u]})}_setMasterParam(r,l){this.post({channelNumber:mi,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Cm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case E$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,u)=>g+u.voicesAmount,0);break;case E$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case E$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case E$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case E$.ready:this.resolveWhenReady();break;case E$.soundfontError:de(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:mi})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,u]})}resetControllers(){this.post({channelNumber:mi,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(mi,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Cm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Cm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,t6.RPNMsb,0),this.controllerChange(r,t6.dataEntryMsb,l),this.controllerChange(r,t6.RPNMsb,127),this.controllerChange(r,t6.RPNLsb,127),this.controllerChange(r,t6.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[ZQ.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){de("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:mi,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=JQ(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new J3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,u)=>{let b;if(Lo)b=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=u.clientX-E0.left,c0=E0.width;b=Math.floor((c0-m0)/c0*127)}else{let m0=u.clientY-E0.top,c0=E0.height;b=Math.floor(m0/c0*127)}}this.synth.noteOn(this.channel,g,b,this.enableDebugging)},l=g=>{let u=g.touches?Array.from(g.touches):[g],b=new Set;u.forEach(A0=>{let E0=document.elementFromPoint(A0.clientX,A0.clientY),m0=parseInt(E0.id.replace("note",""));b.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,A0))}),this.pressedKeys.forEach(A0=>{b.has(A0)||A(A0)})};Lo||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{A(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{A(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var jQ=20,pm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,g.channel)})}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get shown(){return this._shown}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(b=l(r-1)),r<127&&(A0=l(r+1)),A0&&b?g.classList.add("between_sharps"):b?g.classList.add("left_sharp"):A0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}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)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let u=900/(r.max-r.min+5),b=document.styleSheets[0].cssRules,A0;for(let E0 of b)if(E0.selectorText==="#keyboard .key"){A0=E0;break}if(A0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),c0=this.keyboard.getBoundingClientRect().height,u1=u/m0,R=c0*u1-c0,Z0=(this._keyRange.min+this._keyRange.max)/2,G0=(r.min+r.max)/2;this._keyRange=r;let D1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(Z0-G0)*D1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${R}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${u1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/u1}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=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let u=this.keys[r-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let b=u.classList.contains("sharp_key"),A0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!b&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(u1=>255-(255-u1)*A0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(u1=>u1*A0).join(", ")}, ${E0[3]})`,u.style.background=m0,this.mode==="dark"){let c0=jQ*A0;u.style.boxShadow=`${m0} 0px 0px ${c0}px ${c0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let u=this.keyColors[r-this._keyRange.min];if(!u)return;let b=u.findLastIndex(A0=>A0===this.channelColors[l]);b!==-1&&(u.splice(b,1),g.style.background=u[u.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${jQ}px ${u[u.length-1]}`),u.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};pm.prototype._handlePointers=WQ;function C$(A,r){let l=A.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var vD="#000";function XQ(A,r,l){A.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let u=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*u,l){r.fillRect(g.xPos,g.yPos-g.height*u,g.width,g.height*(u*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*u,g.yPos,g.width*(u*2+1),g.height),r.globalAlpha=1}),A.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=vD,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var TB=!1;function ey(A=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(TB){A&&requestAnimationFrame(this.render.bind(this));return}else TB=!0;else TB=!1;if(A&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let b=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||XQ(b,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${CC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,CC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,CC+5),this.onRender&&this.onRender(),A&&requestAnimationFrame(this.render.bind(this))}function ty(A=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,u=r/(g+1),b=u-p$*2,A0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,c0=m0-E0,u1=A0+E0,R=c0+u1,Z0=ry/u1,G0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;G0.push(l2.pitchBendRangeSemitones*(y1/8192*u))}else G0.push(0)});let D1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,K2=T2[Y2],i3=-1;for(;K2.start<=R&&(Y2++,!(this.notesOnScreen>ny));){let r3=K2.start+K2.length;if(r3>c0&&K2.length>0){let o0=K2.length/u1*l-p$*2;if(this.notesOnScreen<1e3||o0>Z0){i3===-1&&(i3=Y2-1);let y5=(K2.start-c0)/u1*l,M3;if(this._notesFall?M3=l-o0-y5+p$:M3=y5+p$,K2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;K2=T2[Y2];continue}let $3=K2.midiNote-this.keyRange.min,w6=u*$3+p$,s6,A9,J4,r4;if(this.sideways?(s6=M3,A9=w6,r4=b,J4=o0):(A9=M3,s6=w6,J4=b,r4=o0),this.notesOnScreen++,A)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+B$+p$,A9+B$,J4-B$*2,r4-B$*2);else{let K6;if(K2.start>m0||r3=T2.length)break;K2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),D1.sort((l2,y1)=>y1.height-l2.height),D1}function sy(){let A=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let u=g%4,b=Math.floor(g/4),A0=!1;for(let R=g;R0){A0=!0;break}if(!A0){let R=this.canvas.width/4,Z0=this.canvas.height/4,G0=R*u,D1=Z0*b+Z0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(G0,D1),this.drawingContext.lineTo(G0+R,D1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=A*u,c0=r*b+r/2,u1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let R=E0.length/4,Z0=A/R,G0=Math.floor(R/2),D1=E0.length-G0;for(let T2=D1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){D1=T2;break}let l2=m0,y1=D1-G0,Y2=D1+G0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function ay(){for(let A=0;A4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function $y(A){A.connectIndividualOutputs(this.channelAnalysers),A.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function ly(){for(let A of this.channelAnalysers)A.disconnect();W5("%cAnalysers disconnected!",_1.recognized)}function cy(A){this.seq=A,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),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("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function gy(){this.noteTimes&&this.noteTimes.forEach(A=>A.renderStartIndex=0)}function NB(A,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=A[A.currentIndex++]<>>0}function Qm(A,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=A&255,A>>=8;return l}var $h=.02;function hy(A){function r(c0){return c0.messageData=new J3(c0.messageData.buffer),c0.messageData.currentIndex=0,6e7/NB(c0.messageData,3)}let l=[],u=A.tracks.flat();u.sort((c0,u1)=>c0.ticks-u1.ticks);for(let c0=0;c0<16;c0++)l.push({renderStartIndex:0,notes:[]});let b=0,A0=60/(120*A.timeDivision),E0=0,m0=0;for(;E0>4,R=c0.messageStatusByte&15;if(u1===8){let Z0=l[R].notes.findLast(G0=>G0.midiNote===c0.messageData[0]&&G0.length===-1);if(Z0){let G0=b-Z0.start;Z0.length=G0<$h&&R===bi?$h:G0}m0--}else if(u1===9)if(c0.messageData[1]===0){let Z0=l[R].notes.findLast(G0=>G0.midiNote===c0.messageData[0]&&G0.length===-1);if(Z0){let G0=b-Z0.start;Z0.length=G0<$h&&R===bi?$h:G0}m0--}else l[c0.messageStatusByte&15].notes.push({midiNote:c0.messageData[0],start:b,length:-1,velocity:c0.messageData[1]/127}),m0++;else c0.messageStatusByte===81&&(A0=60/(r(c0)*A.timeDivision));if(++E0>=u.length)break;b+=A0*(u[E0].ticks-c0.ticks)}m0>0&&l.forEach((c0,u1)=>c0.notes.filter(R=>R.length===-1).forEach(R=>{let Z0=b-R.start;R.length=Z0<$h&&u1===bi?$h:Z0})),this.noteTimes=l,W5("%cFinished loading note times and ready to render the sequence!",_1.info)}var SD=1024,DD=4096,bD=2,_D=2,BC=.6,pC=.5,B$=1,p$=1,CC=12,iy=.6,ry=2,ny=81572,_i=class{constructor(r,l,g,u,b=""){this.noteFallingTimeMs=1e3,this.noteAfterTriggerTimeMs=0,this._keyRange={min:0,max:127},this.version="v"+b,this.visualPitchBendOffset=0,this.lineThickness=_D,this._normalAnalyserFft=SD,this._drumAnalyserFft=DD,this.waveMultiplier=bD,this._notesFall=!0,this.sideways=!1,this._renderBool=!0,this.renderAnalysers=!0,this.renderNotes=!0,this.drawActiveNotes=!0,this.showVisualPitch=!0,this._stabilizeWaveforms=!0,this.renderChannels=Array(16).fill(!0),this.canvas=g,this.drawingContext=this.canvas.getContext("2d"),this.plainColors=r,this.computeColors(),this.synth=l,this.delayNode=u,this.notesOnScreen=0,this.channelAnalysers=[],this.createChannelAnalysers(l),this.connectChannelAnalysers(l)}get stabilizeWaveforms(){return this._stabilizeWaveforms}set stabilizeWaveforms(r){this._stabilizeWaveforms=r,this.updateFftSize()}set direction(r){this._notesFall=r==="down"}get direction(){return this._notesFall?"down":"up"}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l})}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}onRender;get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(r){this._normalAnalyserFft=r,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(r){this._drumAnalyserFft=r,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(r){this._renderBool=r,r===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}};_i.prototype.render=ey;_i.prototype.computeNotePositions=ty;_i.prototype.createChannelAnalysers=oy;_i.prototype.updateFftSize=ay;_i.prototype.connectChannelAnalysers=$y;_i.prototype.disconnectChannelAnalysers=ly;_i.prototype.connectSequencer=cy;_i.prototype.calculateNoteTimes=hy;_i.prototype.resetIndexes=gy;_i.prototype.renderWaveforms=sy;function QC(A){let r=[A&127];for(A>>=7;A>0;)r.unshift(A&127|128),A>>=7;return r}function yC(A){let r=[];for(let u of A.tracks){let b=[],A0=0,E0;for(let m0 of u){let c0=m0.ticks-A0,u1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?u1=[255,m0.messageStatusByte,...QC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?u1=[240,...QC(m0.messageData.length),...m0.messageData]:(u1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,u1.push(m0.messageStatusByte)),u1.push(...m0.messageData)),b.push(...QC(c0)),b.push(...u1),A0+=c0}r.push(new Uint8Array(b))}function l(u,b){for(let A0=0;A0{A.tracks.forEach((D1,l2)=>{if(A.midiPorts[l2]===G0)for(let y1=D1.length-1;y1>=0;y1--)D1[y1].messageStatusByte>=128&&D1[y1].messageStatusByte<240&&(D1[y1].messageStatusByte&15)===Z0&&D1.splice(y1,1)})};g.forEach(Z0=>{let G0=Z0%16,D1=Z0-G0,l2=A.midiPortChannelOffsets.findIndex(y1=>y1===D1);b(G0,l2),W5(`%cRemoving channel %c${Z0}%c!`,_1.info,_1.recognized,_1.info)});let A0=!1,E0="gs",m0=[],c0=[];A.tracks.forEach((Z0,G0)=>{Z0.forEach(D1=>{let l2=D1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:G0,message:D1,channel:D1.messageStatusByte&15}):l2===K3.programChange?c0.push({track:G0,message:D1,channel:D1.messageStatusByte&15}):D1.messageStatusByte===K3.systemExclusive&&(D1.messageData[0]===67&&D1.messageData[2]===76&&D1.messageData[5]===126&&D1.messageData[6]===0?(W5("%cXG system on detected",_1.info),E0="xg",A0=!0):D1.messageData[0]===67&&D1.messageData[2]===76&&D1.messageData[3]===8&&D1.messageData[5]===3&&c0.push({track:G0,message:D1,channel:D1.messageData[4]}))})});let u1=(Z0,G0,D1)=>A.tracks.reduce((l2,y1,Y2)=>{if(A.usedChannelsOnTrack[Y2].has(Z0)&&A.midiPorts[Y2]===G0){let T2;D1?T2=y1.findIndex(K2=>(K2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(K2=>K2.messageStatusByte>128&&K2.messageStatusByte<240&&(K2.messageStatusByte&15)===Z0&&!(K2.messageStatusByte&K3.controllerChange===240&&(K2.messageData[0]===t6.resetAllControllers||K2.messageData[0]===t6.allNotesOff||K2.messageData[0]===t6.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),R=(Z0,G0,D1)=>{let l2=m0.filter(y1=>y1.channel===Z0&&y1.message.messageData[0]===D1&&A.midiPorts[y1.track]===G0);for(let y1=0;y1{let G0=Z0.channel,D1=G0%16,l2=G0-D1,y1=A.midiPortChannelOffsets.findIndex(o0=>o0===l2),Y2=Z0.controllerValue,T2=Z0.controllerNumber;R(D1,y1,T2),W5(`%cNo controller %c${T2}%c on channel %c${G0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let K2=u1(D1,y1,!0);if(K2.length===0){de("Program change but no notes... ignoring!");return}let i3=K2.reduce((o0,y5)=>A.tracks[y5.track][y5.index].ticks{let G0=Z0.channel%16,D1=Z0.channel-G0,l2=A.midiPortChannelOffsets.findIndex($3=>$3===D1),y1=Z0.isDrum?0:Z0.bank,Y2=Z0.program,T2=c0.filter($3=>A.midiPorts[$3.track]===l2&&$3.channel===G0);if(R(G0,l2,t6.bankSelect),R(G0,l2,t6.lsbForControl0BankSelect),(Z0.isDrum||y1>0)&&!A0&&(A.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){A0=!0,W5("%cGS on detected!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(W5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!A0)){let $3=0;A.tracks[0][0].messageStatusByte===K3.trackName&&$3++,A.tracks[0].splice($3,0,GB(0)),W5("%cGS on not detected. Adding it.",_1.info),A0=!0}for(let $3 of T2)A.tracks[$3.track].splice(A.tracks[$3.track].indexOf($3.message),1);let K2=u1(G0,l2,D1>0);if(K2.length===0){de("Program change but no notes... ignoring!");return}let i3=K2.reduce(($3,w6)=>A.tracks[w6.track][w6.index].ticks{if(A.midiPorts[T2]!==D1||!A.usedChannelsOnTrack[T2].has(G0))return;let K2=K3.noteOn|G0,i3=K3.noteOff|G0,r3=K3.polyPressure|G0;Y2.forEach(o0=>{o0.messageStatusByte!==K2&&o0.messageStatusByte!==i3&&o0.messageStatusByte!==r3||(o0.messageData[0]=Math.max(0,Math.min(127,o0.messageData[0]+l2)))})}),y1!==0){let Y2=A.tracks.find((s6,A9)=>A.usedChannelsOnTrack[A9].has(Z0.channel));if(Y2===void 0){de(`Channel ${Z0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|Z0.channel%16,K2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(K2===-1){de(`No notes on channel ${Z0.channel} but transpose requested???`);continue}let i3=Y2[K2].ticks,r3=y1*64+64,o0=K3.controllerChange|Z0.channel%16,y5=new Ei(i3,o0,new J3([t6.RPNMsb,0])),M3=new Ei(i3,o0,new J3([t6.RPNLsb,1])),$3=new Ei(i3,o0,new J3([t6.dataEntryMsb,r3])),w6=new Ei(i3,o0,new J3([t6.lsbForControl6DataEntry,0]));Y2.splice(K2,0,w6),Y2.splice(K2,0,$3),Y2.splice(K2,0,M3),Y2.splice(K2,0,y5)}}i4()}function lh(A,r){let l=[],g=[],u=[],b=[];r.channelSnapshots.forEach((A0,E0)=>{if(A0.isMuted){g.push(E0);return}let m0=A0.channelTransposeKeyShift+A0.customControllers[mC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),A0.lockPreset&&u.push({channel:E0,program:A0.program,bank:A0.bank,isDrum:A0.drumChannel}),A0.lockedControllers.forEach((c0,u1)=>{if(!c0||u1>127||u1===t6.bankSelect)return;let R=A0.midiControllers[u1]>>7;b.push({channel:E0,controllerNumber:u1,controllerValue:R})})}),xD(A,u,b,g,l)}var L7={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"},Fo="utf-8",LD="Created using SpessaSynth";function uy(A,r,l,g=0,u="Shift_JIS",b={},A0=!0){if(lr("%cWriting the RMIDI File...",_1.info),W5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${u}`,_1.info,_1.value,_1.info,_1.value),W5("metadata",b),W5("Initial bank offset",r.bankOffset),A0){let Y2=function(){let r3=0,o0=1/0;return r.tracks.forEach((y5,M3)=>{l2[M3]>=y5.length||y5[l2[M3]].tickso0>r3?o0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),o0=r.tracks[r3];if(l2[r3]>=o0.length){y1--;continue}let y5=o0[l2[r3]];l2[r3]++;let M3=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?G0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?G0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(G0="gm",D1.push({tNum:r3,e:y5}));continue}let A9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+M3;i3[A9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+M3,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 A9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),J4=s6.drums?128:A9;if(s6.lastBank===void 0)continue;if(G0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===J4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(K6=>K6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,W5(`%cNo preset %c${J4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,_1.info,_1.recognized,_1.info)}else{let K6=(J4===128?G0==="xg"?127:0:A9)+g;s6.lastBank.messageData[1]=K6,W5(`%cPreset %c${J4}:${y5.messageData[0]}%c exists. Changing bank to ${K6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===t6.bankSelect&&(s6.hasBankSelect=!0,G0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,o0)=>{if(r3.hasBankSelect===!0)return;let y5=o0%16,M3=K3.programChange|y5,$3=Math.floor(o0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((K6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let A9=s6.findIndex(K6=>K6.messageStatusByte===M3);if(A9===-1){let K6=s6.findIndex(Yi=>Yi.messageStatusByte>128&&Yi.messageStatusByte<240&&(Yi.messageStatusByte&15)===y5);if(K6===-1)return;let We=s6[K6].ticks,Or=l.getPreset(0,0).program;s6.splice(K6,0,new Ei(We,K3.programChange|y5,new J3([Or]))),A9=K6}W5(`%cAdding bank select for %c${o0}`,_1.info,_1.recognized);let J4=s6[A9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(A9,0,new Ei(J4,K3.controllerChange|y5,new J3([t6.bankSelect,r4])))}),G0!=="gs"&&G0!=="xg"){for(let o0 of D1)r.tracks[o0.tNum].splice(r.tracks[o0.tNum].indexOf(o0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,GB(0))}}let E0=new J3(yC(r).buffer),m0=[Ro("INFO")],c0=new TextEncoder;if(m0.push(Ze(L7.software,c0.encode("SpessaSynth"),!0)),b.name!==void 0?(m0.push(Ze(L7.name,c0.encode(b.name),!0)),u=Fo):m0.push(Ze(L7.name,r.rawMidiName,!0)),b.creationDate!==void 0)u=Fo,m0.push(Ze(L7.creationDate,c0.encode(b.creationDate),!0));else{let G0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(L7.creationDate,Ro(G0),!0))}if(b.comment!==void 0&&(u=Fo,m0.push(Ze(L7.comment,c0.encode(b.comment)))),b.engineer!==void 0&&m0.push(Ze(L7.engineer,c0.encode(b.engineer),!0)),b.album!==void 0&&(u=Fo,m0.push(Ze(L7.album,c0.encode(b.album),!0))),b.artist!==void 0&&(u=Fo,m0.push(Ze(L7.artist,c0.encode(b.artist),!0))),b.genre!==void 0&&(u=Fo,m0.push(Ze(L7.genre,c0.encode(b.genre),!0))),b.picture!==void 0&&m0.push(Ze(L7.picture,new Uint8Array(b.picture))),b.copyright!==void 0)u=Fo,m0.push(Ze(L7.copyright,c0.encode(b.copyright),!0));else{let G0=r.copyright.length>0?r.copyright:LD;m0.push(Ze(L7.copyright,Ro(G0)))}let u1=new J3(2);$t(u1,g,2),m0.push(Ze(L7.bankOffset,u1)),b.midiEncoding!==void 0&&(m0.push(Ze(L7.midiEncoding,c0.encode(b.midiEncoding))),u=Fo),m0.push(Ze(L7.encoding,Ro(u)));let R=Sn(m0),Z0=Sn([Ro("RMID"),Ze("data",E0),Ze("LIST",R),A]);return W5("%cFinished!",_1.info),i4(),Ze("RIFF",Z0)}function ym(A,r){let l=0;for(;A>0;){let g=r.tempoChanges.find(b=>b.ticks=128){this.MIDIout.send(g);return}break;case Mo.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(E0=>E0[1](u)),this.unpause();break;case Mo.textEvent:let b=l;this.onTextEvent&&this.onTextEvent(b[0],b[1]);break;case Mo.timeChange:let A0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](A0)),this.unpause(),this._recalculateStartTime(A0);break;case Mo.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case Mo.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case Mo.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(r){this._sendMessage(Ri.setPlaybackRate,r),this.highResTimeOffset*=r/this._playbackRate,this._playbackRate=r}get playbackRate(){return this._playbackRate}addOnSongChangeEvent(r,l){this.onSongChange[l]=r,r(this.midiData)}addOnSongEndedEvent(r,l){this.onSongEnded[l]=r}addOnTimeChangeEvent(r,l){this.onTimeChange[l]=r}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=dy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(Ri.changeSong,!0)}previousSong(){this._sendMessage(Ri.changeSong,!1)}get currentTime(){return this.pausedTime?this.pausedTime:(this.synth.currentTime-this.absoluteStartTime)*this._playbackRate}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}get currentHighResolutionTime(){if(this.pausedTime)return this.pausedTime;let r=this.highResTimeOffset,l=this.absoluteStartTime,g=(performance.now()/1e3-l)*this._playbackRate,u=r+g,b=this.currentTime,A0=.01*this._playbackRate,E0=b-u;return this.highResTimeOffset+=E0*A0,u=this.highResTimeOffset+g,u}set currentTime(r){this.unpause(),this._sendMessage(Ri.setTime,r)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Ri.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){de("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}get paused(){return this.pausedTime!==void 0}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,r)}stop(){this._sendMessage(Ri.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};var wm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Iy(A){return` +`}};function Mr(A,r,l,g,u){return A<<10|r<<9|l<<8|g<<7|u}var LB=960,FB=Tr.concave,EC=[new me({srcEnum:Mr(FB,0,1,0,x7.noteOnVelocity),dest:v1.initialAttenuation,amt:LB,secSrcEnum:0,transform:0}),new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(FB,0,1,1,t6.mainVolume),dest:v1.initialAttenuation,amt:LB,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new me({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(FB,0,1,1,t6.expressionController),dest:v1.initialAttenuation,amt:LB,secSrcEnum:0,transform:0}),new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,0,0,0,x7.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,0,0,1,t6.effects2Depth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,1,0,1,t6.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,1,0,1,t6.brightness),dest:v1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0}),new me({srcEnum:Mr(Tr.linear,1,0,1,t6.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];function mC(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new me(A.chunkData));return r}var m$=128,QD=147,xo=new Int16Array(QD).fill(0);xo[t6.mainVolume]=12800;xo[t6.expressionController]=16256;xo[t6.pan]=8192;xo[t6.releaseTime]=8192;xo[t6.brightness]=8192;xo[t6.timbreHarmonicContent]=8192;xo[m$+x7.pitchWheel]=8192;xo[m$+x7.pitchWheelRange]=256;var CC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},yD=Object.keys(CC).length,wD=new Float32Array(yD);wD[CC.modulationMultiplier]=1;var XQ={velocityOverride:128};var kD="spessasynth-worklet-system",MB=350,bi=9,vD=16;var ah=class{constructor(r,l,g=!0,u=void 0,b=WQ){W5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let A0=u?.oneOutput===!0;this.eventHandler=new fC,this._voiceCap=MB,this._outputsAmount=vD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(c0=>this.resolveWhenReady=c0),this.channelProperties=[];for(let c0=0;c0this.handleMessage(c0.data),this.soundfontManager=new IC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,b.reverbEnabled&&!A0&&(this.reverbProcessor=KQ(this.context,b.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),b.chorusEnabled&&!A0&&(this.chorusProcessor=new uC(r,b.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),A0)this.worklet.connect(r,0);else for(let c0=2;c0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Cm.voicesCap,r),this._voiceCap=r}set highPerformanceMode(r){this._highPerformanceMode=r}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(r,l,g,u){this.post({channelNumber:mi,messageType:c8.setLogLevel,messageData:[r,l,g,u]})}_setMasterParam(r,l){this.post({channelNumber:mi,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Cm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case E$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,u)=>g+u.voicesAmount,0);break;case E$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case E$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case E$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case E$.ready:this.resolveWhenReady();break;case E$.soundfontError:de(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:mi})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,u]})}resetControllers(){this.post({channelNumber:mi,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(mi,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Cm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Cm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,t6.RPNMsb,0),this.controllerChange(r,t6.dataEntryMsb,l),this.controllerChange(r,t6.RPNMsb,127),this.controllerChange(r,t6.RPNLsb,127),this.controllerChange(r,t6.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[XQ.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){de("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:mi,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=JQ(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new J3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,u)=>{let b;if(Lo)b=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=u.clientX-E0.left,c0=E0.width;b=Math.floor((c0-m0)/c0*127)}else{let m0=u.clientY-E0.top,c0=E0.height;b=Math.floor(m0/c0*127)}}this.synth.noteOn(this.channel,g,b,this.enableDebugging)},l=g=>{let u=g.touches?Array.from(g.touches):[g],b=new Set;u.forEach(A0=>{let E0=document.elementFromPoint(A0.clientX,A0.clientY),m0=parseInt(E0.id.replace("note",""));b.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,A0))}),this.pressedKeys.forEach(A0=>{b.has(A0)||A(A0)})};Lo||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{A(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{A(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var ty=20,pm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,t6.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,g.channel)})}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get shown(){return this._shown}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(b=l(r-1)),r<127&&(A0=l(r+1)),A0&&b?g.classList.add("between_sharps"):b?g.classList.add("left_sharp"):A0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}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)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let u=900/(r.max-r.min+5),b=document.styleSheets[0].cssRules,A0;for(let E0 of b)if(E0.selectorText==="#keyboard .key"){A0=E0;break}if(A0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),c0=this.keyboard.getBoundingClientRect().height,u1=u/m0,R=c0*u1-c0,X0=(this._keyRange.min+this._keyRange.max)/2,F0=(r.min+r.max)/2;this._keyRange=r;let D1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(X0-F0)*D1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${R}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${u1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/u1}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=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let u=this.keys[r-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let b=u.classList.contains("sharp_key"),A0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!b&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(u1=>255-(255-u1)*A0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(u1=>u1*A0).join(", ")}, ${E0[3]})`,u.style.background=m0,this.mode==="dark"){let c0=ty*A0;u.style.boxShadow=`${m0} 0px 0px ${c0}px ${c0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let u=this.keyColors[r-this._keyRange.min];if(!u)return;let b=u.findLastIndex(A0=>A0===this.channelColors[l]);b!==-1&&(u.splice(b,1),g.style.background=u[u.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${ty}px ${u[u.length-1]}`),u.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};pm.prototype._handlePointers=ey;function C$(A,r){let l=A.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var DD="#000";function iy(A,r,l){A.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let u=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*u,l){r.fillRect(g.xPos,g.yPos-g.height*u,g.width,g.height*(u*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*u,g.yPos,g.width*(u*2+1),g.height),r.globalAlpha=1}),A.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=DD,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var TB=!1;function ry(A=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(TB){A&&requestAnimationFrame(this.render.bind(this));return}else TB=!0;else TB=!1;if(A&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let b=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||iy(b,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${BC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,BC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,BC+5),this.onRender&&this.onRender(),A&&requestAnimationFrame(this.render.bind(this))}function ny(A=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,u=r/(g+1),b=u-p$*2,A0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,c0=m0-E0,u1=A0+E0,R=c0+u1,X0=Ay/u1,F0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;F0.push(l2.pitchBendRangeSemitones*(y1/8192*u))}else F0.push(0)});let D1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,K2=T2[Y2],i3=-1;for(;K2.start<=R&&(Y2++,!(this.notesOnScreen>oy));){let r3=K2.start+K2.length;if(r3>c0&&K2.length>0){let o0=K2.length/u1*l-p$*2;if(this.notesOnScreen<1e3||o0>X0){i3===-1&&(i3=Y2-1);let y5=(K2.start-c0)/u1*l,M3;if(this._notesFall?M3=l-o0-y5+p$:M3=y5+p$,K2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;K2=T2[Y2];continue}let $3=K2.midiNote-this.keyRange.min,w6=u*$3+p$,s6,A9,J4,r4;if(this.sideways?(s6=M3,A9=w6,r4=b,J4=o0):(A9=M3,s6=w6,J4=b,r4=o0),this.notesOnScreen++,A)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+B$+p$,A9+B$,J4-B$*2,r4-B$*2);else{let K6;if(K2.start>m0||r3=T2.length)break;K2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),D1.sort((l2,y1)=>y1.height-l2.height),D1}function ay(){let A=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let u=g%4,b=Math.floor(g/4),A0=!1;for(let R=g;R0){A0=!0;break}if(!A0){let R=this.canvas.width/4,X0=this.canvas.height/4,F0=R*u,D1=X0*b+X0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(F0,D1),this.drawingContext.lineTo(F0+R,D1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=A*u,c0=r*b+r/2,u1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let R=E0.length/4,X0=A/R,F0=Math.floor(R/2),D1=E0.length-F0;for(let T2=D1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){D1=T2;break}let l2=m0,y1=D1-F0,Y2=D1+F0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function cy(){for(let A=0;A4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function gy(A){A.connectIndividualOutputs(this.channelAnalysers),A.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function hy(){for(let A of this.channelAnalysers)A.disconnect();W5("%cAnalysers disconnected!",_1.recognized)}function fy(A){this.seq=A,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),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("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function uy(){this.noteTimes&&this.noteTimes.forEach(A=>A.renderStartIndex=0)}function NB(A,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=A[A.currentIndex++]<>>0}function Qm(A,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=A&255,A>>=8;return l}var $h=.02;function dy(A){function r(c0){return c0.messageData=new J3(c0.messageData.buffer),c0.messageData.currentIndex=0,6e7/NB(c0.messageData,3)}let l=[],u=A.tracks.flat();u.sort((c0,u1)=>c0.ticks-u1.ticks);for(let c0=0;c0<16;c0++)l.push({renderStartIndex:0,notes:[]});let b=0,A0=60/(120*A.timeDivision),E0=0,m0=0;for(;E0>4,R=c0.messageStatusByte&15;if(u1===8){let X0=l[R].notes.findLast(F0=>F0.midiNote===c0.messageData[0]&&F0.length===-1);if(X0){let F0=b-X0.start;X0.length=F0<$h&&R===bi?$h:F0}m0--}else if(u1===9)if(c0.messageData[1]===0){let X0=l[R].notes.findLast(F0=>F0.midiNote===c0.messageData[0]&&F0.length===-1);if(X0){let F0=b-X0.start;X0.length=F0<$h&&R===bi?$h:F0}m0--}else l[c0.messageStatusByte&15].notes.push({midiNote:c0.messageData[0],start:b,length:-1,velocity:c0.messageData[1]/127}),m0++;else c0.messageStatusByte===81&&(A0=60/(r(c0)*A.timeDivision));if(++E0>=u.length)break;b+=A0*(u[E0].ticks-c0.ticks)}m0>0&&l.forEach((c0,u1)=>c0.notes.filter(R=>R.length===-1).forEach(R=>{let X0=b-R.start;R.length=X0<$h&&u1===bi?$h:X0})),this.noteTimes=l,W5("%cFinished loading note times and ready to render the sequence!",_1.info)}var bD=1024,_D=4096,RD=2,xD=2,pC=.6,QC=.5,B$=1,p$=1,BC=12,sy=.6,Ay=2,oy=81572,_i=class{constructor(r,l,g,u,b=""){this.noteFallingTimeMs=1e3,this.noteAfterTriggerTimeMs=0,this._keyRange={min:0,max:127},this.version="v"+b,this.visualPitchBendOffset=0,this.lineThickness=xD,this._normalAnalyserFft=bD,this._drumAnalyserFft=_D,this.waveMultiplier=RD,this._notesFall=!0,this.sideways=!1,this._renderBool=!0,this.renderAnalysers=!0,this.renderNotes=!0,this.drawActiveNotes=!0,this.showVisualPitch=!0,this._stabilizeWaveforms=!0,this.renderChannels=Array(16).fill(!0),this.canvas=g,this.drawingContext=this.canvas.getContext("2d"),this.plainColors=r,this.computeColors(),this.synth=l,this.delayNode=u,this.notesOnScreen=0,this.channelAnalysers=[],this.createChannelAnalysers(l),this.connectChannelAnalysers(l)}get stabilizeWaveforms(){return this._stabilizeWaveforms}set stabilizeWaveforms(r){this._stabilizeWaveforms=r,this.updateFftSize()}set direction(r){this._notesFall=r==="down"}get direction(){return this._notesFall?"down":"up"}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*QC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*QC*pC)),l.addColorStop(1,C$(r,g=>g*pC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*QC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*QC*pC)),l.addColorStop(1,C$(r,g=>g*pC)),l})}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}onRender;get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(r){this._normalAnalyserFft=r,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(r){this._drumAnalyserFft=r,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(r){this._renderBool=r,r===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}};_i.prototype.render=ry;_i.prototype.computeNotePositions=ny;_i.prototype.createChannelAnalysers=ly;_i.prototype.updateFftSize=cy;_i.prototype.connectChannelAnalysers=gy;_i.prototype.disconnectChannelAnalysers=hy;_i.prototype.connectSequencer=fy;_i.prototype.calculateNoteTimes=dy;_i.prototype.resetIndexes=uy;_i.prototype.renderWaveforms=ay;function yC(A){let r=[A&127];for(A>>=7;A>0;)r.unshift(A&127|128),A>>=7;return r}function wC(A){let r=[];for(let u of A.tracks){let b=[],A0=0,E0;for(let m0 of u){let c0=m0.ticks-A0,u1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?u1=[255,m0.messageStatusByte,...yC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?u1=[240,...yC(m0.messageData.length),...m0.messageData]:(u1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,u1.push(m0.messageStatusByte)),u1.push(...m0.messageData)),b.push(...yC(c0)),b.push(...u1),A0+=c0}r.push(new Uint8Array(b))}function l(u,b){for(let A0=0;A0{A.tracks.forEach((D1,l2)=>{if(A.midiPorts[l2]===F0)for(let y1=D1.length-1;y1>=0;y1--)D1[y1].messageStatusByte>=128&&D1[y1].messageStatusByte<240&&(D1[y1].messageStatusByte&15)===X0&&D1.splice(y1,1)})};g.forEach(X0=>{let F0=X0%16,D1=X0-F0,l2=A.midiPortChannelOffsets.findIndex(y1=>y1===D1);b(F0,l2),W5(`%cRemoving channel %c${X0}%c!`,_1.info,_1.recognized,_1.info)});let A0=!1,E0="gs",m0=[],c0=[];A.tracks.forEach((X0,F0)=>{X0.forEach(D1=>{let l2=D1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:F0,message:D1,channel:D1.messageStatusByte&15}):l2===K3.programChange?c0.push({track:F0,message:D1,channel:D1.messageStatusByte&15}):D1.messageStatusByte===K3.systemExclusive&&(D1.messageData[0]===67&&D1.messageData[2]===76&&D1.messageData[5]===126&&D1.messageData[6]===0?(W5("%cXG system on detected",_1.info),E0="xg",A0=!0):D1.messageData[0]===67&&D1.messageData[2]===76&&D1.messageData[3]===8&&D1.messageData[5]===3&&c0.push({track:F0,message:D1,channel:D1.messageData[4]}))})});let u1=(X0,F0,D1)=>A.tracks.reduce((l2,y1,Y2)=>{if(A.usedChannelsOnTrack[Y2].has(X0)&&A.midiPorts[Y2]===F0){let T2;D1?T2=y1.findIndex(K2=>(K2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(K2=>K2.messageStatusByte>128&&K2.messageStatusByte<240&&(K2.messageStatusByte&15)===X0&&!(K2.messageStatusByte&K3.controllerChange===240&&(K2.messageData[0]===t6.resetAllControllers||K2.messageData[0]===t6.allNotesOff||K2.messageData[0]===t6.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),R=(X0,F0,D1)=>{let l2=m0.filter(y1=>y1.channel===X0&&y1.message.messageData[0]===D1&&A.midiPorts[y1.track]===F0);for(let y1=0;y1{let F0=X0.channel,D1=F0%16,l2=F0-D1,y1=A.midiPortChannelOffsets.findIndex(o0=>o0===l2),Y2=X0.controllerValue,T2=X0.controllerNumber;R(D1,y1,T2),W5(`%cNo controller %c${T2}%c on channel %c${F0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let K2=u1(D1,y1,!0);if(K2.length===0){de("Program change but no notes... ignoring!");return}let i3=K2.reduce((o0,y5)=>A.tracks[y5.track][y5.index].ticks{let F0=X0.channel%16,D1=X0.channel-F0,l2=A.midiPortChannelOffsets.findIndex($3=>$3===D1),y1=X0.isDrum?0:X0.bank,Y2=X0.program,T2=c0.filter($3=>A.midiPorts[$3.track]===l2&&$3.channel===F0);if(R(F0,l2,t6.bankSelect),R(F0,l2,t6.lsbForControl0BankSelect),(X0.isDrum||y1>0)&&!A0&&(A.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){A0=!0,W5("%cGS on detected!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(W5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!A0)){let $3=0;A.tracks[0][0].messageStatusByte===K3.trackName&&$3++,A.tracks[0].splice($3,0,GB(0)),W5("%cGS on not detected. Adding it.",_1.info),A0=!0}for(let $3 of T2)A.tracks[$3.track].splice(A.tracks[$3.track].indexOf($3.message),1);let K2=u1(F0,l2,D1>0);if(K2.length===0){de("Program change but no notes... ignoring!");return}let i3=K2.reduce(($3,w6)=>A.tracks[w6.track][w6.index].ticks{if(A.midiPorts[T2]!==D1||!A.usedChannelsOnTrack[T2].has(F0))return;let K2=K3.noteOn|F0,i3=K3.noteOff|F0,r3=K3.polyPressure|F0;Y2.forEach(o0=>{o0.messageStatusByte!==K2&&o0.messageStatusByte!==i3&&o0.messageStatusByte!==r3||(o0.messageData[0]=Math.max(0,Math.min(127,o0.messageData[0]+l2)))})}),y1!==0){let Y2=A.tracks.find((s6,A9)=>A.usedChannelsOnTrack[A9].has(X0.channel));if(Y2===void 0){de(`Channel ${X0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|X0.channel%16,K2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(K2===-1){de(`No notes on channel ${X0.channel} but transpose requested???`);continue}let i3=Y2[K2].ticks,r3=y1*64+64,o0=K3.controllerChange|X0.channel%16,y5=new Ei(i3,o0,new J3([t6.RPNMsb,0])),M3=new Ei(i3,o0,new J3([t6.RPNLsb,1])),$3=new Ei(i3,o0,new J3([t6.dataEntryMsb,r3])),w6=new Ei(i3,o0,new J3([t6.lsbForControl6DataEntry,0]));Y2.splice(K2,0,w6),Y2.splice(K2,0,$3),Y2.splice(K2,0,M3),Y2.splice(K2,0,y5)}}i4()}function lh(A,r){let l=[],g=[],u=[],b=[];r.channelSnapshots.forEach((A0,E0)=>{if(A0.isMuted){g.push(E0);return}let m0=A0.channelTransposeKeyShift+A0.customControllers[CC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),A0.lockPreset&&u.push({channel:E0,program:A0.program,bank:A0.bank,isDrum:A0.drumChannel}),A0.lockedControllers.forEach((c0,u1)=>{if(!c0||u1>127||u1===t6.bankSelect)return;let R=A0.midiControllers[u1]>>7;b.push({channel:E0,controllerNumber:u1,controllerValue:R})})}),FD(A,u,b,g,l)}var L7={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"},Fo="utf-8",MD="Created using SpessaSynth";function Ey(A,r,l,g=0,u="Shift_JIS",b={},A0=!0){if(lr("%cWriting the RMIDI File...",_1.info),W5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${u}`,_1.info,_1.value,_1.info,_1.value),W5("metadata",b),W5("Initial bank offset",r.bankOffset),A0){let Y2=function(){let r3=0,o0=1/0;return r.tracks.forEach((y5,M3)=>{l2[M3]>=y5.length||y5[l2[M3]].tickso0>r3?o0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),o0=r.tracks[r3];if(l2[r3]>=o0.length){y1--;continue}let y5=o0[l2[r3]];l2[r3]++;let M3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?F0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?F0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(F0="gm",D1.push({tNum:r3,e:y5}));continue}let A9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+M3;i3[A9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+M3,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 A9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),J4=s6.drums?128:A9;if(s6.lastBank===void 0)continue;if(F0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===J4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(K6=>K6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,W5(`%cNo preset %c${J4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,_1.info,_1.recognized,_1.info)}else{let K6=(J4===128?F0==="xg"?127:0:A9)+g;s6.lastBank.messageData[1]=K6,W5(`%cPreset %c${J4}:${y5.messageData[0]}%c exists. Changing bank to ${K6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===t6.bankSelect&&(s6.hasBankSelect=!0,F0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,o0)=>{if(r3.hasBankSelect===!0)return;let y5=o0%16,M3=K3.programChange|y5,$3=Math.floor(o0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((K6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let A9=s6.findIndex(K6=>K6.messageStatusByte===M3);if(A9===-1){let K6=s6.findIndex(Yi=>Yi.messageStatusByte>128&&Yi.messageStatusByte<240&&(Yi.messageStatusByte&15)===y5);if(K6===-1)return;let We=s6[K6].ticks,Or=l.getPreset(0,0).program;s6.splice(K6,0,new Ei(We,K3.programChange|y5,new J3([Or]))),A9=K6}W5(`%cAdding bank select for %c${o0}`,_1.info,_1.recognized);let J4=s6[A9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(A9,0,new Ei(J4,K3.controllerChange|y5,new J3([t6.bankSelect,r4])))}),F0!=="gs"&&F0!=="xg"){for(let o0 of D1)r.tracks[o0.tNum].splice(r.tracks[o0.tNum].indexOf(o0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,GB(0))}}let E0=new J3(wC(r).buffer),m0=[Ro("INFO")],c0=new TextEncoder;if(m0.push(Ze(L7.software,c0.encode("SpessaSynth"),!0)),b.name!==void 0?(m0.push(Ze(L7.name,c0.encode(b.name),!0)),u=Fo):m0.push(Ze(L7.name,r.rawMidiName,!0)),b.creationDate!==void 0)u=Fo,m0.push(Ze(L7.creationDate,c0.encode(b.creationDate),!0));else{let F0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(L7.creationDate,Ro(F0),!0))}if(b.comment!==void 0&&(u=Fo,m0.push(Ze(L7.comment,c0.encode(b.comment)))),b.engineer!==void 0&&m0.push(Ze(L7.engineer,c0.encode(b.engineer),!0)),b.album!==void 0&&(u=Fo,m0.push(Ze(L7.album,c0.encode(b.album),!0))),b.artist!==void 0&&(u=Fo,m0.push(Ze(L7.artist,c0.encode(b.artist),!0))),b.genre!==void 0&&(u=Fo,m0.push(Ze(L7.genre,c0.encode(b.genre),!0))),b.picture!==void 0&&m0.push(Ze(L7.picture,new Uint8Array(b.picture))),b.copyright!==void 0)u=Fo,m0.push(Ze(L7.copyright,c0.encode(b.copyright),!0));else{let F0=r.copyright.length>0?r.copyright:MD;m0.push(Ze(L7.copyright,Ro(F0)))}let u1=new J3(2);$t(u1,g,2),m0.push(Ze(L7.bankOffset,u1)),b.midiEncoding!==void 0&&(m0.push(Ze(L7.midiEncoding,c0.encode(b.midiEncoding))),u=Fo),m0.push(Ze(L7.encoding,Ro(u)));let R=Sn(m0),X0=Sn([Ro("RMID"),Ze("data",E0),Ze("LIST",R),A]);return W5("%cFinished!",_1.info),i4(),Ze("RIFF",X0)}function ym(A,r){let l=0;for(;A>0;){let g=r.tempoChanges.find(b=>b.ticks=128){this.MIDIout.send(g);return}break;case Mo.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(E0=>E0[1](u)),this.unpause();break;case Mo.textEvent:let b=l;this.onTextEvent&&this.onTextEvent(b[0],b[1]);break;case Mo.timeChange:let A0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](A0)),this.unpause(),this._recalculateStartTime(A0);break;case Mo.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case Mo.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case Mo.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(r){this._sendMessage(Ri.setPlaybackRate,r),this.highResTimeOffset*=r/this._playbackRate,this._playbackRate=r}get playbackRate(){return this._playbackRate}addOnSongChangeEvent(r,l){this.onSongChange[l]=r,r(this.midiData)}addOnSongEndedEvent(r,l){this.onSongEnded[l]=r}addOnTimeChangeEvent(r,l){this.onTimeChange[l]=r}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=my,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(Ri.changeSong,!0)}previousSong(){this._sendMessage(Ri.changeSong,!1)}get currentTime(){return this.pausedTime?this.pausedTime:(this.synth.currentTime-this.absoluteStartTime)*this._playbackRate}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}get currentHighResolutionTime(){if(this.pausedTime)return this.pausedTime;let r=this.highResTimeOffset,l=this.absoluteStartTime,g=(performance.now()/1e3-l)*this._playbackRate,u=r+g,b=this.currentTime,A0=.01*this._playbackRate,E0=b-u;return this.highResTimeOffset+=E0*A0,u=this.highResTimeOffset+g,u}set currentTime(r){this.unpause(),this._sendMessage(Ri.setTime,r)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Ri.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){de("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}get paused(){return this.pausedTime!==void 0}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,r)}stop(){this._sendMessage(Ri.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};var wm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Cy(A){return` `}function Q$(A){return` - `}function Ey(A){return` + `}function By(A){return` ( c-0.461-0.162-0.966-0.084-1.367,0.203c-0.399,0.29-0.629,0.746-0.627,1.23l0.092,26.828c0.007,0.562,0.32,1.084,0.825,1.337 c0.503,0.259,1.107,0.212,1.568-0.114l5.944-4.262l0.468-0.336c6.405,6.391,15.196,10.389,24.938,10.389 c13.284,0,24.878-7.354,30.941-18.201L80.93,65.23C81.478,64.046,81.055,62.623,79.904,61.958z"/> -`}function my(A){return` +`}function py(A){return` -`}function Cy(A){return` +`}function Qy(A){return` -`}function By(A){return` +`}function yy(A){return` `}function km(A){return` @@ -37,12 +37,12 @@ var hC=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( `}function ch(A){return` -`}function py(A){return` +`}function wy(A){return` -`}function Qy(A){return` +`}function ky(A){return` -`}function kC(A){return` +`}function vC(A){return` ( V231.7z M468.7,231.7v140.5c0,8.4-3.4,16.7-12.7,26.6c-9.2,9.9-24,20.5-43.3,29.3c-8.9,4.1-18.6,8-29.3,11.3V271 C418,261.4,447.1,248,468.7,231.7z M170.4,280.3c26.5,4.4,55,6.7,85.2,6.7s58.8-2.2,85.2-6.7v169.1c-26.2,4.9-54.9,8-85.2,8 s-59-3.1-85.2-8V280.3z"/> - `}function vC(A){return` + `}function SC(A){return` -`}function yy(A){return` +`}function vy(A){return` -`}function wy(A){return` +`}function Sy(A){return` -`}function ky(A){return` +`}function Dy(A){return` -`}function SC(A){return` +`}function DC(A){return` `}function UB(A){return` -`}function gh(A,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=A,l.innerHTML=r,l}var X7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function vy(){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",A=>{this.seq.currentTime-=A.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",A=>{this.seq.currentTime+=A.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",A=>{this.seq.currentTime=A.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Sy(A=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=DB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,u)=>g+u.length,0));let l=0;for(let g of r)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),A&&(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 MD=parseFloat(getComputedStyle(document.body).fontSize);function Dy(){this.lyricsElement={};let A=document.createElement("div");A.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),A.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");wm.forEach(u1=>{let R=document.createElement("option");R.innerText=u1,R.value=u1,g.appendChild(R)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let u=document.createElement("p");u.classList.add("lyrics_text"),A.appendChild(u);let b=document.createElement("span");b.classList.add("lyrics_text_highlight"),u.appendChild(b);let A0=document.createElement("span");A0.classList.add("lyrics_text_gray"),u.appendChild(A0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let c0=document.createElement("div");c0.innerText="",E0.appendChild(c0),A.appendChild(E0),this.lyricsElement.text={highlight:b,gray:A0,main:u,other:c0},this.lyricsElement.mainDiv=A,this.lyricsElement.selector=g,this.controls.appendChild(A),this.requiresTextUpdate=!0}function by(A){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(A,""),r.innerText=A,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-MD*5)}function _y(){let A="";for(let r of this.rawOtherTextEvents)A+=`
${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=A}var Nr=32,Ry="#ccc",xy="#555",TD="#333",ND="#ddd",GD="Shift_JIS",xs=class{constructor(r,l,g){this.iconColor=Ry,this.iconDisabledColor=xy,this.controls=r,this.encoding=GD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=g}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=TD,this.iconDisabledColor=ND):(this.mode="dark",this.iconColor=Ry,this.iconDisabledColor=xy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=Q$(Nr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=Iy(Nr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let g=0;for(;;)try{return this.decoder.decode(r)}catch{g++,this.changeEncoding(wm[g]),this.encodingSelector.value=wm[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let u=this.decodeTextFix(l.buffer);switch(g){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=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?.[L7.encoding]!==void 0,l.isEmbedded){let g=(E0,m0,c0,u1="")=>this.seq.midiData.RMIDInfo?.[E0]===void 0?m0:u1+c0.decode(this.seq.midiData.RMIDInfo?.[E0]).replace(/\0$/,""),u=new TextDecoder,b=g(L7.midiEncoding,this.encoding,u),A0=g(L7.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(A0),this.changeEncoding(b)}},"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 Z0=r.getBoundingClientRect(),G0=R.clientX-Z0.left,D1=Z0.width;this.seq.currentTime=G0/D1*this.seq.duration,g.innerHTML=Q$(Nr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=gh("Play/Pause",Q$(Nr));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=u;let b=gh("Previous song",By(Nr));this.locale.bindObjectProperty(b,"title","locale.sequencerController.previousSong"),b.onclick=()=>this.switchToPreviousSong();let A0=gh("Next song",Cy(Nr));this.locale.bindObjectProperty(A0,"title","locale.sequencerController.nextSong"),A0.onclick=()=>this.switchToNextSong();let E0=gh("Loop this",Ey(Nr));this.locale.bindObjectProperty(E0,"title","locale.sequencerController.loopThis");let m0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),E0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};E0.onclick=m0,this.loopButton=E0;let c0=gh("Show lyrics",my(Nr));this.locale.bindObjectProperty(c0,"title","locale.sequencerController.lyrics.show"),c0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let u1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),c0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};c0.onclick=u1,document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case X7.playPause:R.preventDefault(),u();break;case X7.toggleLoop:R.preventDefault(),m0();break;case X7.toggleLyrics:R.preventDefault(),u1();break;default:break}}),l.appendChild(b),l.appendChild(E0),l.appendChild(g),l.appendChild(c0),l.appendChild(A0),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 X7.seekBackwards:R.preventDefault(),this.seq.currentTime-=5,g.innerHTML=Q$(Nr);break;case X7.seekForwards:R.preventDefault(),this.seq.currentTime+=5,g.innerHTML=Q$(Nr);break;case X7.previousSong:this.switchToPreviousSong();break;case X7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(R.key))){R.preventDefault();let Z0=parseInt(R.key);0<=Z0&&Z0<=9&&(this.seq.currentTime=this.seq.duration*(Z0/10),g.innerHTML=Q$(Nr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=I$(this.seq.currentTime),l=I$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};xs.prototype.createNavigatorHandler=vy;xs.prototype.updateTitleAndMediaStatus=Sy;xs.prototype.createLyrics=Dy;xs.prototype.setLyricsText=by;xs.prototype.updateOtherTextEvents=_y;function Ly(){this.controllers.forEach(A=>{A.voiceMeter.hide(),A.pitchWheel.hide(),A.pan.hide(),A.expression.hide(),A.volume.hide(),A.mod.hide(),A.chorus.hide(),A.reverb.hide(),A.brightness.hide(),A.preset.hide()})}function Fy(){this.controllers.forEach(A=>{A.voiceMeter.show(),A.pitchWheel.show(),A.pan.show(),A.expression.show(),A.volume.show(),A.mod.show(),A.chorus.show(),A.reverb.show(),A.brightness.show(),A.preset.show()})}function My(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(A=>{A.classList.toggle("synthui_button"),A.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(A=>{A.toggleMode(!0)}),this.controllers.forEach(A=>{A.voiceMeter.toggleMode(),A.pitchWheel.toggleMode(),A.pan.toggleMode(),A.expression.toggleMode(),A.volume.toggleMode(),A.mod.toggleMode(),A.chorus.toggleMode(),A.reverb.toggleMode(),A.brightness.toggleMode(),A.preset.toggleMode(),A.drumsToggle.classList.toggle("mute_button_light"),A.muteButton.classList.toggle("mute_button_light")})}var cr=class{constructor(r="none",l,g,u,b=0,A0=100,E0=!1,m0=void 0,c0=void 0,u1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=b,this.max=A0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=c0,this.unlockCallback=u1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),g.bindObjectProperty(this.div,"title",l+".description",u),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,E0){if(m0===void 0)throw new Error("No editable function given!");this.div.onmousedown=R=>{R.preventDefault(),R.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=R=>{if(!this.isActive)return;let Z0=R.currentTarget.getBoundingClientRect(),G0=Z0.left,D1=Z0.width,l2=R.clientX-G0,y1=Math.max(0,Math.min(1,l2/D1));m0(y1*(A0-b)+b)},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 g=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${g*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Ty=["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 DC=class{constructor(r,l,g,u,b=void 0,A0=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r.map(E0=>({name:E0.name,program:E0.program,bank:E0.bank,stringified:`${E0.bank.toString().padStart(3,"0")}:${E0.program.toString().padStart(3,"0")} ${E0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",g+".description",u),this.locale=l,this.localePath=g,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=b,this.selectionMenu=void 0,this.lockCallback=A0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let g=document.createElement("div");g.classList.add("voice_selector_search_wrapper"),r.appendChild(g);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),g.appendChild(u),u.onkeydown=E0=>E0.stopPropagation();let b=document.createElement("div");b.innerHTML=this.locked?SC(gt):UB(gt),this.locale.bindObjectProperty(b,"title",se+"channelController.presetReset.description",this.localeArgs),b.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&b.classList.add("voice_reset_light"),b.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?b.innerHTML=SC(gt):b.innerHTML=UB(gt)},g.appendChild(b),this.presetLock=b;let A0=document.createElement("div");A0.classList.add("voice_selector_table_wrapper"),r.appendChild(A0),this.generateTable(A0,this.elements),u.oninput=E0=>{E0.stopPropagation();let m0=u.value,c0=this.elements.filter(u1=>u1.stringified.search(new RegExp(m0,"i"))>=0);c0.length!==this.elements.length&&(A0.replaceChildren(),this.generateTable(A0,c0))},r.onclick=E0=>{E0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=E0=>{E0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0}generateTable(r,l){let g=document.createElement("table");g.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),b=parseInt(this.value.split(":")[1]),A0=-20;for(let E0 of l){let m0=document.createElement("tr"),c0=E0.program;if(c0===b&&E0.bank===u&&(m0.classList.add("voice_selector_selected"),setTimeout(()=>{m0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),m0.onclick=()=>{let l2=`${E0.bank}:${c0}`;if(this.value===l2){this.hideSelectionMenu();return}this.editCallback(l2),this.locked=!0,this.presetLock.innerHTML=SC(gt),this.hideSelectionMenu()},c0!==A0&&(A0=c0,E0.bank!==128)){let l2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=Ty[A0],l2.appendChild(y1),g.appendChild(l2)}let u1=`${E0.program.toString().padStart(3,"0")}`,R=`${E0.bank.toString().padStart(3,"0")}`,Z0=document.createElement("td");Z0.classList.add("voice_selector_preset_name"),Z0.textContent=E0.name;let G0=document.createElement("td");Z0.classList.add("voice_selector_preset_program"),G0.textContent=u1;let D1=document.createElement("td");Z0.classList.add("voice_selector_preset_program"),D1.textContent=R,m0.appendChild(D1),m0.appendChild(G0),m0.appendChild(Z0),g.appendChild(m0)}r.appendChild(g)}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),!this.isShown){this.isReloaded=!1;return}this.isReloaded=!0,this.elements.length>0&&(this.mainButton.textContent=this.getString(`${this.elements[0].bank}:${this.value.split(":")[1]}`))}set(r){if(this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown)){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let g=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),b=parseInt(this.value.split(":")[1]);for(let A0 of g.rows){if(A0.cells.length===1)continue;let E0=parseInt(A0.cells[0].textContent),m0=parseInt(A0.cells[1].textContent);E0===u&&m0===b&&(A0.classList.add("voice_selector_selected"),A0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),g=parseInt(l[0]),u=parseInt(l[1]),b=this.elements.find(A0=>A0.bank===g&&A0.program===u);return g===128||this.elements.filter(A0=>A0.program===u&&A0.bank!==128).length<2?`${u}. ${b.name}`:`${g}:${u} ${b.name}`}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value)}hide(){this.isShown=!1}};var gt=32;function Ny(A){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new cr(this.channelColors[A%this.channelColors.length],se+"channelController.voiceMeter",this.locale,[A+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new cr(this.channelColors[A%this.channelColors.length],se+"channelController.pitchBendMeter",this.locale,[A+1],-8192,8191,!0,T2=>{let K2=g.isLocked;K2&&this.synth.lockController(A,m$+x7.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(A,i3,r3),K2&&this.synth.lockController(A,m$+x7.pitchWheel,!0)},()=>this.synth.lockController(A,m$+x7.pitchWheel,!0),()=>this.synth.lockController(A,m$+x7.pitchWheel,!1));g.update(0),r.appendChild(g.div);let u=(T2,K2,i3)=>{i3.isLocked?(this.synth.lockController(A,T2,!1),this.synth.controllerChange(A,T2,K2),this.synth.lockController(A,T2,!0)):this.synth.controllerChange(A,T2,K2)},b=(T2,K2,i3)=>{let r3=new cr(this.channelColors[A%this.channelColors.length],se+K2,this.locale,[A+1],0,127,!0,o0=>u(T2,Math.round(o0),r3),()=>this.synth.lockController(A,T2,!0),()=>this.synth.lockController(A,T2,!1));return r3.update(i3),r3},A0=b(t6.pan,"channelController.panMeter",64);r.appendChild(A0.div);let E0=b(t6.expressionController,"channelController.expressionMeter",127);r.appendChild(E0.div);let m0=b(t6.mainVolume,"channelController.volumeMeter",100);r.appendChild(m0.div);let c0=b(t6.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(c0.div);let u1=b(t6.effects3Depth,"channelController.chorusMeter",0);r.appendChild(u1.div);let R=b(t6.effects1Depth,"channelController.reverbMeter",0);r.appendChild(R.div);let Z0=b(t6.brightness,"channelController.filterMeter",64);r.appendChild(Z0.div);let G0=new cr(this.channelColors[A%this.channelColors.length],se+"channelController.transposeMeter",this.locale,[A+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(A,T2,!0),G0.update(T2)});G0.update(0),r.appendChild(G0.div);let D1=new DC([],this.locale,se+"channelController.presetSelector",[A+1],async T2=>{let K2=T2.split(":");this.synth.lockController(A,mi,!1),this.synth.controllerChange(A,t6.bankSelect,parseInt(K2[0]),!0),this.synth.programChange(A,parseInt(K2[1]),!0),D1.mainButton.classList.add("locked_selector"),this.synth.lockController(A,mi,!0)},T2=>this.synth.lockController(A,mi,T2));r.appendChild(D1.mainButton);let l2=document.createElement("div");l2.innerHTML=ch(gt),this.locale.bindObjectProperty(l2,"title",se+"channelController.soloButton.description",[A+1]),l2.classList.add("controller_element"),l2.classList.add("mute_button"),l2.onclick=()=>{if(this.soloChannels.has(A)?this.soloChannels.delete(A):this.soloChannels.add(A),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(A);this.synth.muteChannel(A,!T2),y1.innerHTML=km(gt)}else this.synth.muteChannel(A,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Qy(gt)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=A===bi?kC(gt):vC(gt),this.locale.bindObjectProperty(Y2,"title",se+"channelController.drumToggleButton.description",[A+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{this.synth.setDrums(A,!this.synth.channelProperties[A].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:g,pan:A0,expression:E0,volume:m0,mod:c0,chorus:u1,reverb:R,brightness:Z0,preset:D1,drumsToggle:Y2,soloButton:l2,muteButton:y1,transpose:G0}}function Gy(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(c0)/100),this.volumeController.update(c0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new cr("",se+"mainPanMeter",this.locale,[],-1,1,!0,c0=>{this.synth.setMasterPan(c0),this.panController.update(c0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new cr("",se+"mainTransposeMeter",this.locale,[],-12,12,!0,c0=>{this.synth.transpose(Math.round(c0*2)/2),this.transposeController.update(Math.round(c0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",se+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",se+"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",se+"systemReset.title"),this.locale.bindObjectProperty(l,"title",se+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((c0,u1)=>{c0.pitchWheel.isLocked&&c0.pitchWheel.lockMeter(),c0.pan.isLocked&&c0.pan.lockMeter(),c0.expression.isLocked&&c0.expression.lockMeter(),c0.volume.isLocked&&c0.volume.lockMeter(),c0.mod.isLocked&&c0.mod.lockMeter(),c0.chorus.isLocked&&c0.chorus.lockMeter(),c0.reverb.isLocked&&c0.reverb.lockMeter(),c0.brightness.isLocked&&c0.brightness.lockMeter(),c0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(u1,mi,!1),c0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(u1,0,!0),c0.transpose.update(0),c0.soloButton.innerHTML=ch(gt),c0.muteButton.innerHTML=km(gt),this.synth.muteChannel(u1,!1)}),this.synth.resetControllers()};let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",se+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",se+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",se+"disableCustomVibrato.title"),this.locale.bindObjectProperty(u,"title",se+"disableCustomVibrato.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{this.synth.disableGSNRPparams(),u.parentNode.removeChild(u)};let b=document.createElement("a");b.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",b.target="#",b.classList.add("main_controller_element"),b.classList.add("synthui_button"),this.locale.bindObjectProperty(b,"textContent",se+"helpButton.title"),this.locale.bindObjectProperty(b,"title",se+"helpButton.description");let A0=document.createElement("select");A0.classList.add("main_controller_element"),A0.classList.add("synthui_button"),this.locale.bindObjectProperty(A0,"title",se+"interpolation.description");{let c0=document.createElement("option");c0.value="0",this.locale.bindObjectProperty(c0,"textContent",se+"interpolation.linear"),A0.appendChild(c0);let u1=document.createElement("option");u1.value="1",this.locale.bindObjectProperty(u1,"textContent",se+"interpolation.nearestNeighbor"),A0.appendChild(u1);let R=document.createElement("option");R.value="2",R.selected=!0,this.locale.bindObjectProperty(R,"textContent",se+"interpolation.cubic"),A0.appendChild(R),A0.onchange=()=>{this.synth.setInterpolationType(parseInt(A0.value))}}let E0=document.createElement("div");E0.classList.add("synthui_controller"),this.uiDiv.appendChild(E0);let m0=document.createElement("button");this.locale.bindObjectProperty(m0,"textContent",se+"toggleButton.title"),this.locale.bindObjectProperty(m0,"title",se+"toggleButton.description"),m0.classList.add("synthui_button"),m0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},A.appendChild(this.volumeController.div),A.appendChild(this.panController.div),A.appendChild(this.transposeController.div),A.appendChild(r),A.appendChild(l),A.appendChild(g),A.appendChild(u),A.appendChild(b),A.appendChild(A0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,u,m0,b,A0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(m0),E0.appendChild(A),this.mainControllerDiv=E0,this.mainControllerDiv.onclick=c0=>c0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}E0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Py(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,u=r.controllerValue;switch(l){default:break;case t6.expressionController:this.controllers[g].expression.update(u);break;case t6.mainVolume:this.controllers[g].volume.update(u);break;case t6.pan:this.controllers[g].pan.update(u);break;case t6.modulationWheel:this.controllers[g].mod.update(u);break;case t6.effects3Depth:this.controllers[g].chorus.update(u);break;case t6.effects1Depth:this.controllers[g].reverb.update(u);break;case t6.brightness:this.controllers[g].brightness.update(u)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?kC(32):vC(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),A.appendChild(r.controller),this.hideControllers()})}var se="locale.synthesizerController.",Gr=class{constructor(r,l,g){this.channelColors=r;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=g,this.hideOnDocClick=!0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case X7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case X7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case X7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case X7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let g=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(g),g<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(g=>g.bank!==128).sort((g,u)=>g.program===u.program?g.bank-u.bank:g.program-u.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,u)=>g.program-u.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((g,u)=>{let b=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;g.preset.reload(b),g.preset.set(`${b[0].bank}:${b[0].program}`)})})}};Gr.prototype.hideControllers=Ly;Gr.prototype.showControllers=Fy;Gr.prototype.toggleDarkMode=My;Gr.prototype.createChannelController=Ny;Gr.prototype.createChannelControllers=Gy;Gr.prototype.createMainSynthController=Uy;Gr.prototype.setEventListeners=Py;var vm=null,bC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=vm,this.selectedOutput=vm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,W5("%cMIDI handler created!",_1.recognized),!0}catch(r){return de("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return de("Web MIDI Api not supported!",_1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),W5(`%cPlaying MIDI to %c${r.name}`,_1.info,_1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=vm,r.connectMidiOutput(void 0),W5("%cDisconnected from MIDI out.",_1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},W5(`%cListening for messages on %c${r.name}`,_1.info,_1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=vm,r.onmidimessage=void 0,W5(`%cDisconnected from %c${r.name}`,_1.info,_1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=vm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var _C=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let g=l.data.split(",");if(g[0]!=="midi")return;g.shift();let u=g.map(b=>parseInt(b,16));r.sendMessage(u)}),W5("%cWeb MIDI Link handler created!",_1.recognized)}};var To="midi range";function Oy(A,r,l){let g=0,u=this.htmlControls.keyboard,b=()=>{let A0=document.createElement("option");A0.value=g.toString(),this.locale.bindObjectProperty(A0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),A0.style.background=r.channelColors[g%r.channelColors.length],A0.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(A0),g++};for(let A0=0;A0{A.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===To?(this.autoKeyRange=!0,this?.sequi?.seq&&(A.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,A.keyRange=this.keyboardSizes[u.sizeSelector.value],l.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===To?(this.autoKeyRange=!0,this?.sequi?.seq&&(A.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,A.keyRange=this.keyboardSizes[u.sizeSelector.value],l.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=A0=>{A0.addOnSongChangeEvent(E0=>{this.autoKeyRange&&(A.keyRange=E0.keyRange,l.keyRange=E0.keyRange),E0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{b()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",A0=>{A0.userCalled&&(A.selectChannel(A0.channel),u.channelSelector.value=A0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",A0=>{if(A0.isMuted&&A0.channel===A.channel){let E0=0;for(;r.synth.channelProperties[E0].isMuted;)E0++;E0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{A.toggleMode(),this._saveSettings()},600);return}A.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{A.shown=!A.shown,this._saveSettings()}}var Hy=` +`}function gh(A,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=A,l.innerHTML=r,l}var X7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function by(){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",A=>{this.seq.currentTime-=A.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",A=>{this.seq.currentTime+=A.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",A=>{this.seq.currentTime=A.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function _y(A=!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=bB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,u)=>g+u.length,0));let l=0;for(let g of r)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),A&&(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 Ry(){this.lyricsElement={};let A=document.createElement("div");A.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),A.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");wm.forEach(u1=>{let R=document.createElement("option");R.innerText=u1,R.value=u1,g.appendChild(R)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let u=document.createElement("p");u.classList.add("lyrics_text"),A.appendChild(u);let b=document.createElement("span");b.classList.add("lyrics_text_highlight"),u.appendChild(b);let A0=document.createElement("span");A0.classList.add("lyrics_text_gray"),u.appendChild(A0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let c0=document.createElement("div");c0.innerText="",E0.appendChild(c0),A.appendChild(E0),this.lyricsElement.text={highlight:b,gray:A0,main:u,other:c0},this.lyricsElement.mainDiv=A,this.lyricsElement.selector=g,this.controls.appendChild(A),this.requiresTextUpdate=!0}function xy(A){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(A,""),r.innerText=A,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-ND*5)}function Ly(){let A="";for(let r of this.rawOtherTextEvents)A+=`
${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=A}var Nr=32,Fy="#ccc",My="#555",GD="#333",UD="#ddd",PD="Shift_JIS",xs=class{constructor(r,l,g){this.iconColor=Fy,this.iconDisabledColor=My,this.controls=r,this.encoding=PD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=g}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=GD,this.iconDisabledColor=UD):(this.mode="dark",this.iconColor=Fy,this.iconDisabledColor=My),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=Q$(Nr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=Cy(Nr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let g=0;for(;;)try{return this.decoder.decode(r)}catch{g++,this.changeEncoding(wm[g]),this.encodingSelector.value=wm[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let u=this.decodeTextFix(l.buffer);switch(g){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=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?.[L7.encoding]!==void 0,l.isEmbedded){let g=(E0,m0,c0,u1="")=>this.seq.midiData.RMIDInfo?.[E0]===void 0?m0:u1+c0.decode(this.seq.midiData.RMIDInfo?.[E0]).replace(/\0$/,""),u=new TextDecoder,b=g(L7.midiEncoding,this.encoding,u),A0=g(L7.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(A0),this.changeEncoding(b)}},"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(),F0=R.clientX-X0.left,D1=X0.width;this.seq.currentTime=F0/D1*this.seq.duration,g.innerHTML=Q$(Nr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=gh("Play/Pause",Q$(Nr));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=u;let b=gh("Previous song",yy(Nr));this.locale.bindObjectProperty(b,"title","locale.sequencerController.previousSong"),b.onclick=()=>this.switchToPreviousSong();let A0=gh("Next song",Qy(Nr));this.locale.bindObjectProperty(A0,"title","locale.sequencerController.nextSong"),A0.onclick=()=>this.switchToNextSong();let E0=gh("Loop this",By(Nr));this.locale.bindObjectProperty(E0,"title","locale.sequencerController.loopThis");let m0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),E0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};E0.onclick=m0,this.loopButton=E0;let c0=gh("Show lyrics",py(Nr));this.locale.bindObjectProperty(c0,"title","locale.sequencerController.lyrics.show"),c0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let u1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),c0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};c0.onclick=u1,document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case X7.playPause:R.preventDefault(),u();break;case X7.toggleLoop:R.preventDefault(),m0();break;case X7.toggleLyrics:R.preventDefault(),u1();break;default:break}}),l.appendChild(b),l.appendChild(E0),l.appendChild(g),l.appendChild(c0),l.appendChild(A0),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 X7.seekBackwards:R.preventDefault(),this.seq.currentTime-=5,g.innerHTML=Q$(Nr);break;case X7.seekForwards:R.preventDefault(),this.seq.currentTime+=5,g.innerHTML=Q$(Nr);break;case X7.previousSong:this.switchToPreviousSong();break;case X7.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),g.innerHTML=Q$(Nr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=I$(this.seq.currentTime),l=I$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};xs.prototype.createNavigatorHandler=by;xs.prototype.updateTitleAndMediaStatus=_y;xs.prototype.createLyrics=Ry;xs.prototype.setLyricsText=xy;xs.prototype.updateOtherTextEvents=Ly;function Ty(){this.controllers.forEach(A=>{A.voiceMeter.hide(),A.pitchWheel.hide(),A.pan.hide(),A.expression.hide(),A.volume.hide(),A.mod.hide(),A.chorus.hide(),A.reverb.hide(),A.brightness.hide(),A.preset.hide()})}function Ny(){this.controllers.forEach(A=>{A.voiceMeter.show(),A.pitchWheel.show(),A.pan.show(),A.expression.show(),A.volume.show(),A.mod.show(),A.chorus.show(),A.reverb.show(),A.brightness.show(),A.preset.show()})}function Gy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(A=>{A.classList.toggle("synthui_button"),A.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(A=>{A.toggleMode(!0)}),this.controllers.forEach(A=>{A.voiceMeter.toggleMode(),A.pitchWheel.toggleMode(),A.pan.toggleMode(),A.expression.toggleMode(),A.volume.toggleMode(),A.mod.toggleMode(),A.chorus.toggleMode(),A.reverb.toggleMode(),A.brightness.toggleMode(),A.preset.toggleMode(),A.drumsToggle.classList.toggle("mute_button_light"),A.muteButton.classList.toggle("mute_button_light")})}var cr=class{constructor(r="none",l,g,u,b=0,A0=100,E0=!1,m0=void 0,c0=void 0,u1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=b,this.max=A0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=c0,this.unlockCallback=u1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),g.bindObjectProperty(this.div,"title",l+".description",u),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,E0){if(m0===void 0)throw new Error("No editable function given!");this.div.onmousedown=R=>{R.preventDefault(),R.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=R=>{if(!this.isActive)return;let X0=R.currentTarget.getBoundingClientRect(),F0=X0.left,D1=X0.width,l2=R.clientX-F0,y1=Math.max(0,Math.min(1,l2/D1));m0(y1*(A0-b)+b)},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 g=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${g*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Uy=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var bC=class{constructor(r,l,g,u,b=void 0,A0=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r.map(E0=>({name:E0.name,program:E0.program,bank:E0.bank,stringified:`${E0.bank.toString().padStart(3,"0")}:${E0.program.toString().padStart(3,"0")} ${E0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",g+".description",u),this.locale=l,this.localePath=g,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=b,this.selectionMenu=void 0,this.lockCallback=A0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let g=document.createElement("div");g.classList.add("voice_selector_search_wrapper"),r.appendChild(g);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),g.appendChild(u),u.onkeydown=E0=>E0.stopPropagation();let b=document.createElement("div");b.innerHTML=this.locked?DC(gt):UB(gt),this.locale.bindObjectProperty(b,"title",se+"channelController.presetReset.description",this.localeArgs),b.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&b.classList.add("voice_reset_light"),b.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?b.innerHTML=DC(gt):b.innerHTML=UB(gt)},g.appendChild(b),this.presetLock=b;let A0=document.createElement("div");A0.classList.add("voice_selector_table_wrapper"),r.appendChild(A0),this.generateTable(A0,this.elements),u.oninput=E0=>{E0.stopPropagation();let m0=u.value,c0=this.elements.filter(u1=>u1.stringified.search(new RegExp(m0,"i"))>=0);c0.length!==this.elements.length&&(A0.replaceChildren(),this.generateTable(A0,c0))},r.onclick=E0=>{E0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=E0=>{E0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0}generateTable(r,l){let g=document.createElement("table");g.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),b=parseInt(this.value.split(":")[1]),A0=-20;for(let E0 of l){let m0=document.createElement("tr"),c0=E0.program;if(c0===b&&E0.bank===u&&(m0.classList.add("voice_selector_selected"),setTimeout(()=>{m0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),m0.onclick=()=>{let l2=`${E0.bank}:${c0}`;if(this.value===l2){this.hideSelectionMenu();return}this.editCallback(l2),this.locked=!0,this.presetLock.innerHTML=DC(gt),this.hideSelectionMenu()},c0!==A0&&(A0=c0,E0.bank!==128)){let l2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=Uy[A0],l2.appendChild(y1),g.appendChild(l2)}let u1=`${E0.program.toString().padStart(3,"0")}`,R=`${E0.bank.toString().padStart(3,"0")}`,X0=document.createElement("td");X0.classList.add("voice_selector_preset_name"),X0.textContent=E0.name;let F0=document.createElement("td");X0.classList.add("voice_selector_preset_program"),F0.textContent=u1;let D1=document.createElement("td");X0.classList.add("voice_selector_preset_program"),D1.textContent=R,m0.appendChild(D1),m0.appendChild(F0),m0.appendChild(X0),g.appendChild(m0)}r.appendChild(g)}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),!this.isShown){this.isReloaded=!1;return}this.isReloaded=!0,this.elements.length>0&&(this.mainButton.textContent=this.getString(`${this.elements[0].bank}:${this.value.split(":")[1]}`))}set(r){if(this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown)){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let g=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),b=parseInt(this.value.split(":")[1]);for(let A0 of g.rows){if(A0.cells.length===1)continue;let E0=parseInt(A0.cells[0].textContent),m0=parseInt(A0.cells[1].textContent);E0===u&&m0===b&&(A0.classList.add("voice_selector_selected"),A0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),g=parseInt(l[0]),u=parseInt(l[1]),b=this.elements.find(A0=>A0.bank===g&&A0.program===u);return g===128||this.elements.filter(A0=>A0.program===u&&A0.bank!==128).length<2?`${u}. ${b.name}`:`${g}:${u} ${b.name}`}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value)}hide(){this.isShown=!1}};var gt=32;function Py(A){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new cr(this.channelColors[A%this.channelColors.length],se+"channelController.voiceMeter",this.locale,[A+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new cr(this.channelColors[A%this.channelColors.length],se+"channelController.pitchBendMeter",this.locale,[A+1],-8192,8191,!0,T2=>{let K2=g.isLocked;K2&&this.synth.lockController(A,m$+x7.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(A,i3,r3),K2&&this.synth.lockController(A,m$+x7.pitchWheel,!0)},()=>this.synth.lockController(A,m$+x7.pitchWheel,!0),()=>this.synth.lockController(A,m$+x7.pitchWheel,!1));g.update(0),r.appendChild(g.div);let u=(T2,K2,i3)=>{i3.isLocked?(this.synth.lockController(A,T2,!1),this.synth.controllerChange(A,T2,K2),this.synth.lockController(A,T2,!0)):this.synth.controllerChange(A,T2,K2)},b=(T2,K2,i3)=>{let r3=new cr(this.channelColors[A%this.channelColors.length],se+K2,this.locale,[A+1],0,127,!0,o0=>u(T2,Math.round(o0),r3),()=>this.synth.lockController(A,T2,!0),()=>this.synth.lockController(A,T2,!1));return r3.update(i3),r3},A0=b(t6.pan,"channelController.panMeter",64);r.appendChild(A0.div);let E0=b(t6.expressionController,"channelController.expressionMeter",127);r.appendChild(E0.div);let m0=b(t6.mainVolume,"channelController.volumeMeter",100);r.appendChild(m0.div);let c0=b(t6.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(c0.div);let u1=b(t6.effects3Depth,"channelController.chorusMeter",0);r.appendChild(u1.div);let R=b(t6.effects1Depth,"channelController.reverbMeter",0);r.appendChild(R.div);let X0=b(t6.brightness,"channelController.filterMeter",64);r.appendChild(X0.div);let F0=new cr(this.channelColors[A%this.channelColors.length],se+"channelController.transposeMeter",this.locale,[A+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(A,T2,!0),F0.update(T2)});F0.update(0),r.appendChild(F0.div);let D1=new bC([],this.locale,se+"channelController.presetSelector",[A+1],async T2=>{let K2=T2.split(":");this.synth.lockController(A,mi,!1),this.synth.controllerChange(A,t6.bankSelect,parseInt(K2[0]),!0),this.synth.programChange(A,parseInt(K2[1]),!0),D1.mainButton.classList.add("locked_selector"),this.synth.lockController(A,mi,!0)},T2=>this.synth.lockController(A,mi,T2));r.appendChild(D1.mainButton);let l2=document.createElement("div");l2.innerHTML=ch(gt),this.locale.bindObjectProperty(l2,"title",se+"channelController.soloButton.description",[A+1]),l2.classList.add("controller_element"),l2.classList.add("mute_button"),l2.onclick=()=>{if(this.soloChannels.has(A)?this.soloChannels.delete(A):this.soloChannels.add(A),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(A);this.synth.muteChannel(A,!T2),y1.innerHTML=km(gt)}else this.synth.muteChannel(A,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=ky(gt)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=A===bi?vC(gt):SC(gt),this.locale.bindObjectProperty(Y2,"title",se+"channelController.drumToggleButton.description",[A+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{this.synth.setDrums(A,!this.synth.channelProperties[A].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:g,pan:A0,expression:E0,volume:m0,mod:c0,chorus:u1,reverb:R,brightness:X0,preset:D1,drumsToggle:Y2,soloButton:l2,muteButton:y1,transpose:F0}}function Oy(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(c0)/100),this.volumeController.update(c0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new cr("",se+"mainPanMeter",this.locale,[],-1,1,!0,c0=>{this.synth.setMasterPan(c0),this.panController.update(c0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new cr("",se+"mainTransposeMeter",this.locale,[],-12,12,!0,c0=>{this.synth.transpose(Math.round(c0*2)/2),this.transposeController.update(Math.round(c0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",se+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",se+"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",se+"systemReset.title"),this.locale.bindObjectProperty(l,"title",se+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((c0,u1)=>{c0.pitchWheel.isLocked&&c0.pitchWheel.lockMeter(),c0.pan.isLocked&&c0.pan.lockMeter(),c0.expression.isLocked&&c0.expression.lockMeter(),c0.volume.isLocked&&c0.volume.lockMeter(),c0.mod.isLocked&&c0.mod.lockMeter(),c0.chorus.isLocked&&c0.chorus.lockMeter(),c0.reverb.isLocked&&c0.reverb.lockMeter(),c0.brightness.isLocked&&c0.brightness.lockMeter(),c0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(u1,mi,!1),c0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(u1,0,!0),c0.transpose.update(0),c0.soloButton.innerHTML=ch(gt),c0.muteButton.innerHTML=km(gt),this.synth.muteChannel(u1,!1)}),this.synth.resetControllers()};let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",se+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",se+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",se+"disableCustomVibrato.title"),this.locale.bindObjectProperty(u,"title",se+"disableCustomVibrato.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{this.synth.disableGSNRPparams(),u.parentNode.removeChild(u)};let b=document.createElement("a");b.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",b.target="#",b.classList.add("main_controller_element"),b.classList.add("synthui_button"),this.locale.bindObjectProperty(b,"textContent",se+"helpButton.title"),this.locale.bindObjectProperty(b,"title",se+"helpButton.description");let A0=document.createElement("select");A0.classList.add("main_controller_element"),A0.classList.add("synthui_button"),this.locale.bindObjectProperty(A0,"title",se+"interpolation.description");{let c0=document.createElement("option");c0.value="0",this.locale.bindObjectProperty(c0,"textContent",se+"interpolation.linear"),A0.appendChild(c0);let u1=document.createElement("option");u1.value="1",this.locale.bindObjectProperty(u1,"textContent",se+"interpolation.nearestNeighbor"),A0.appendChild(u1);let R=document.createElement("option");R.value="2",R.selected=!0,this.locale.bindObjectProperty(R,"textContent",se+"interpolation.cubic"),A0.appendChild(R),A0.onchange=()=>{this.synth.setInterpolationType(parseInt(A0.value))}}let E0=document.createElement("div");E0.classList.add("synthui_controller"),this.uiDiv.appendChild(E0);let m0=document.createElement("button");this.locale.bindObjectProperty(m0,"textContent",se+"toggleButton.title"),this.locale.bindObjectProperty(m0,"title",se+"toggleButton.description"),m0.classList.add("synthui_button"),m0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},A.appendChild(this.volumeController.div),A.appendChild(this.panController.div),A.appendChild(this.transposeController.div),A.appendChild(r),A.appendChild(l),A.appendChild(g),A.appendChild(u),A.appendChild(b),A.appendChild(A0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,u,m0,b,A0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(m0),E0.appendChild(A),this.mainControllerDiv=E0,this.mainControllerDiv.onclick=c0=>c0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}E0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function qy(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,u=r.controllerValue;switch(l){default:break;case t6.expressionController:this.controllers[g].expression.update(u);break;case t6.mainVolume:this.controllers[g].volume.update(u);break;case t6.pan:this.controllers[g].pan.update(u);break;case t6.modulationWheel:this.controllers[g].mod.update(u);break;case t6.effects3Depth:this.controllers[g].chorus.update(u);break;case t6.effects1Depth:this.controllers[g].reverb.update(u);break;case t6.brightness:this.controllers[g].brightness.update(u)}}),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?vC(32):SC(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),A.appendChild(r.controller),this.hideControllers()})}var se="locale.synthesizerController.",Gr=class{constructor(r,l,g){this.channelColors=r;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=g,this.hideOnDocClick=!0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case X7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case X7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case X7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case X7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let g=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(g),g<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(g=>g.bank!==128).sort((g,u)=>g.program===u.program?g.bank-u.bank:g.program-u.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,u)=>g.program-u.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((g,u)=>{let b=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;g.preset.reload(b),g.preset.set(`${b[0].bank}:${b[0].program}`)})})}};Gr.prototype.hideControllers=Ty;Gr.prototype.showControllers=Ny;Gr.prototype.toggleDarkMode=Gy;Gr.prototype.createChannelController=Py;Gr.prototype.createChannelControllers=Oy;Gr.prototype.createMainSynthController=Hy;Gr.prototype.setEventListeners=qy;var vm=null,_C=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=vm,this.selectedOutput=vm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,W5("%cMIDI handler created!",_1.recognized),!0}catch(r){return de("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return de("Web MIDI Api not supported!",_1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),W5(`%cPlaying MIDI to %c${r.name}`,_1.info,_1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=vm,r.connectMidiOutput(void 0),W5("%cDisconnected from MIDI out.",_1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},W5(`%cListening for messages on %c${r.name}`,_1.info,_1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=vm,r.onmidimessage=void 0,W5(`%cDisconnected from %c${r.name}`,_1.info,_1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=vm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var RC=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let g=l.data.split(",");if(g[0]!=="midi")return;g.shift();let u=g.map(b=>parseInt(b,16));r.sendMessage(u)}),W5("%cWeb MIDI Link handler created!",_1.recognized)}};var To="midi range";function Yy(A,r,l){let g=0,u=this.htmlControls.keyboard,b=()=>{let A0=document.createElement("option");A0.value=g.toString(),this.locale.bindObjectProperty(A0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),A0.style.background=r.channelColors[g%r.channelColors.length],A0.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(A0),g++};for(let A0=0;A0{A.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===To?(this.autoKeyRange=!0,this?.sequi?.seq&&(A.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,A.keyRange=this.keyboardSizes[u.sizeSelector.value],l.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===To?(this.autoKeyRange=!0,this?.sequi?.seq&&(A.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,A.keyRange=this.keyboardSizes[u.sizeSelector.value],l.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=A0=>{A0.addOnSongChangeEvent(E0=>{this.autoKeyRange&&(A.keyRange=E0.keyRange,l.keyRange=E0.keyRange),E0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{b()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",A0=>{A0.userCalled&&(A.selectChannel(A0.channel),u.channelSelector.value=A0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",A0=>{if(A0.isMuted&&A0.channel===A.channel){let E0=0;for(;r.synth.channelProperties[E0].isMuted;)E0++;E0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{A.toggleMode(),this._saveSettings()},600);return}A.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{A.shown=!A.shown,this._saveSettings()}}var Jy=`

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

${A}

\xD7 -
`;let m0=document.createElement("div");if(m0.classList.add("notification_content"),b)for(let[u1,R]of Object.entries(b))m0.style[u1]=R;A0.appendChild(m0);for(let u1 of r){let R=ew(u1,u);u1.onClick&&(R.onclick=()=>u1.onClick({div:A0,id:E0},R)),m0.appendChild(R)}g?A0.getElementsByClassName("close_btn")[0].onclick=()=>{ht(E0)}:A0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{A0.classList.add("drop")},75);let c0=setTimeout(()=>{ht(E0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(A0),MC[E0]={div:A0,timeout:c0},{div:A0,id:E0}}function ht(A){let r=MC[A].div;clearTimeout(MC[A].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),MC[A]=void 0}function tw(A,r,l){A.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(A,l.synth),this._createMidiOutputHandler(A,r)):(Lo||P7(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function iw(A,r){if(A.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of A.inputs){let u=document.createElement("option");u.value=g[0],u.innerText=g[1].name,l.appendChild(u)}l.onchange=()=>{l.value==="-1"?A.disconnectAllDevicesFromSynth():A.connectDeviceToSynth(A.inputs.get(l.value),r),this._saveSettings()}}function rw(A,r){if(!A.outputs){setTimeout(()=>{this._createMidiOutputHandler(A,r)},1e3);return}if(A.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let g of A.outputs){let u=document.createElement("option");u.value=g[0],u.innerText=g[1].name,l.appendChild(u)}l.onchange=()=>{r.seq&&(l.value==="-1"?A.disconnectSeqFromMIDI(r.seq):A.connectMIDIOutputToSeq(A.outputs.get(l.value),r.seq),this._saveSettings())}}var nw={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 sw={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 Aw={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 ow={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:nw,keyboardSettings:sw,midiSettings:Aw,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 aw={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 $w={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 lw={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:$w};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 gw={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 hw={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:gw,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:aw,settings:ow,synthesizerController:lw,sequencerController:cw};var fw={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 uw={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 Iw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:fw,keyboardSettings:uw,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 Ew={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 mw={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 Cw={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:mw};var Bw={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 pw={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 Qw={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:pw,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:Ew,settings:Iw,synthesizerController:Cw,sequencerController:Bw};var yw={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 ww={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 kw={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 vw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:yw,keyboardSettings:ww,midiSettings:kw,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 Sw={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 Dw={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 bw={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:Dw};var _w={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 Rw={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 xw={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:Rw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 + `;let m0=document.createElement("div");if(m0.classList.add("notification_content"),b)for(let[u1,R]of Object.entries(b))m0.style[u1]=R;A0.appendChild(m0);for(let u1 of r){let R=rw(u1,u);u1.onClick&&(R.onclick=()=>u1.onClick({div:A0,id:E0},R)),m0.appendChild(R)}g?A0.getElementsByClassName("close_btn")[0].onclick=()=>{ht(E0)}:A0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{A0.classList.add("drop")},75);let c0=setTimeout(()=>{ht(E0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(A0),TC[E0]={div:A0,timeout:c0},{div:A0,id:E0}}function ht(A){let r=TC[A].div;clearTimeout(TC[A].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),TC[A]=void 0}function nw(A,r,l){A.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(A,l.synth),this._createMidiOutputHandler(A,r)):(Lo||P7(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function sw(A,r){if(A.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of A.inputs){let u=document.createElement("option");u.value=g[0],u.innerText=g[1].name,l.appendChild(u)}l.onchange=()=>{l.value==="-1"?A.disconnectAllDevicesFromSynth():A.connectDeviceToSynth(A.inputs.get(l.value),r),this._saveSettings()}}function Aw(A,r){if(!A.outputs){setTimeout(()=>{this._createMidiOutputHandler(A,r)},1e3);return}if(A.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let g of A.outputs){let u=document.createElement("option");u.value=g[0],u.innerText=g[1].name,l.appendChild(u)}l.onchange=()=>{r.seq&&(l.value==="-1"?A.disconnectSeqFromMIDI(r.seq):A.connectMIDIOutputToSeq(A.outputs.get(l.value),r.seq),this._saveSettings())}}var ow={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var aw={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 $w={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 lw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:ow,keyboardSettings:aw,midiSettings:$w,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 cw={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 gw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var hw={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:gw};var fw={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 uw={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 dw={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:uw,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:cw,settings:lw,synthesizerController:hw,sequencerController:fw};var Iw={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 Ew={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 mw={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 Cw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Iw,keyboardSettings:Ew,midiSettings:mw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Bw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var pw={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 Qw={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:pw};var yw={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 ww={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 kw={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:ww,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Bw,settings:Cw,synthesizerController:Qw,sequencerController:yw};var vw={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 Sw={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 Dw={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 bw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:vw,keyboardSettings:Sw,midiSettings:Dw,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 _w={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 Rw={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 xw={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:Rw};var Lw={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 Fw={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 Mw={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:Fw,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 -\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:Sw,settings:vw,synthesizerController:bw,sequencerController:_w};var OB="en",w$={en:hw,pl:Qw,ja:xw};var HD=.2,Ci=class{constructor(r,l,g,u,b,A0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=b,this.midiDeviceHandler=A0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=w$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let c0=document.createElement("div");c0.style.position="relative",c0.classList.add("seamless_button"),c0.classList.add("settings_button"),r.appendChild(c0);let u1=document.createElement("div");u1.classList.add("seamless_button"),this.locale.bindObjectProperty(u1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(u1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(u1);let 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 Z0=document.getElementsByClassName("show_top_button")[0];Z0.innerHTML=ky(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),c0.appendChild(G0);let D1=document.createElement("div");D1.innerHTML=yy(24),D1.classList.add("gear"),c0.appendChild(D1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,c0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),u1.onclick=this.toggleMusicPlayerMode.bind(this),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=Hy,qy(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 X7.settingsShow:this.setVisibility(!this.visible);break;case X7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,b,A0,g,l)}):this.createHandlers(u,b,A0,g,l),this.topPartVisible=!0;let l2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,K2=window.outerWidth,i3;i3=Y2===K2&&y1===T2,i3!==l2&&(l2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;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"},HD*1e3)),this.visible=r}createHandlers(r,l,g,u,b){this._createRendererHandler(r),this._createMidiSettingsHandler(g,u,b),this._createKeyboardHandler(l,b,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")}}}};Ci.prototype._toggleDarkMode=jy;Ci.prototype._createInterfaceSettingsHandler=Vy;Ci.prototype._changeLayout=zy;Ci.prototype._createRendererHandler=Xy;Ci.prototype._createMidiSettingsHandler=tw;Ci.prototype._createMidiInputHandler=iw;Ci.prototype._createMidiOutputHandler=rw;Ci.prototype._createKeyboardHandler=Oy;Ci.prototype._loadSettings=Yy;Ci.prototype._serializeSettings=Ky;Ci.prototype._saveSettings=Jy;var Lw=.5,TC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=` +\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:_w,settings:bw,synthesizerController:xw,sequencerController:Lw};var OB="en",w$={en:dw,pl:kw,ja:Mw};var YD=.2,Ci=class{constructor(r,l,g,u,b,A0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=b,this.midiDeviceHandler=A0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=w$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let c0=document.createElement("div");c0.style.position="relative",c0.classList.add("seamless_button"),c0.classList.add("settings_button"),r.appendChild(c0);let u1=document.createElement("div");u1.classList.add("seamless_button"),this.locale.bindObjectProperty(u1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(u1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(u1);let 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=Dy(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),c0.appendChild(F0);let D1=document.createElement("div");D1.innerHTML=vy(24),D1.classList.add("gear"),c0.appendChild(D1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,c0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),u1.onclick=this.toggleMusicPlayerMode.bind(this),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=Jy,Ky(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 X7.settingsShow:this.setVisibility(!this.visible);break;case X7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,b,A0,g,l)}):this.createHandlers(u,b,A0,g,l),this.topPartVisible=!0;let l2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,K2=window.outerWidth,i3;i3=Y2===K2&&y1===T2,i3!==l2&&(l2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;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"},YD*1e3)),this.visible=r}createHandlers(r,l,g,u,b){this._createRendererHandler(r),this._createMidiSettingsHandler(g,u,b),this._createKeyboardHandler(l,b,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")}}}};Ci.prototype._toggleDarkMode=tw;Ci.prototype._createInterfaceSettingsHandler=Wy;Ci.prototype._changeLayout=jy;Ci.prototype._createRendererHandler=iw;Ci.prototype._createMidiSettingsHandler=nw;Ci.prototype._createMidiInputHandler=sw;Ci.prototype._createMidiOutputHandler=Aw;Ci.prototype._createKeyboardHandler=Yy;Ci.prototype._loadSettings=Vy;Ci.prototype._serializeSettings=Zy;Ci.prototype._saveSettings=zy;var Tw=.5,NC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=`
- ${wy("100%")} + ${Sy("100%")}
@@ -250,20 +250,20 @@ var hC=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>(
`;for(let g of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path"));for(let g of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(g,"title",g.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(r){document.getElementById("player_info_title").textContent=r}connectSequencer(r){this.seq=r,this.seq.addOnSongChangeEvent(l=>{let g=l.copyright.replaceAll(` -`,""),u=(G0,D1,l2=!0)=>{let y1=document.getElementById(G0);if(D1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",D1.length>30&&l2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=D1,y1.appendChild(Y2)}else y1.textContent=D1;else y1.parentElement.classList.add("hidden")};u("player_info_detail",g),u("player_info_time",I$(this.seq.duration).time),u("player_info_file_name",l.fileName,!1);let b=(G0,D1,l2,y1="")=>this.seq.midiData.RMIDInfo?.[G0]===void 0?D1:y1+l2.decode(this.seq.midiData.RMIDInfo?.[G0]).replace(/\0$/,""),A0=b("IENC","ascii",new TextDecoder),E0=new TextDecoder(A0);u("player_info_album",b("IPRD","",E0)),u("player_info_artist",b("IART","",E0)),u("player_info_genre",b("IGNR","",E0)),u("player_info_creation",b("ICRD","",E0)+b("ICRT","",E0,` -`)),u("player_info_comment",b("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],c0=this.mainDiv.getElementsByTagName("img")[0],u1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",c0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",c0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",c0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),Z0=URL.createObjectURL(R);c0.src=Z0,u1.style.setProperty("--bg-image",`url('${Z0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let u=l.clientHeight,b=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${b}px`,g.style.height=`${u}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},Lw*1e3)}else{let u=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${u}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Lw*1e3)}}};var NC=class{constructor(r){this.locale=w$[r]||w$[OB],this.fallbackLocale=w$[OB],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let g=this._resolveLocalePath(r);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}onLocaleChanged=[];_formatLocale(r,l){return r.replace(/{(\d+)}/g,(g,u)=>typeof l[u]<"u"?l[u]:g)}bindObjectProperty(r,l,g,u=[]){let b={object:r,propertyName:l,localePath:g,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(b),this._boundObjectProperties.push(b)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),u=l?this.fallbackLocale:this.locale;for(let b=1;b{this._validatePropertyIntegrity(u)}),this.locale=g,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function HB(A,r=!0,l=0,g={},u=void 0){let b=A.getChannelData(l),A0=A.getChannelData(l+1),E0=b.length,m0=2,c0=new J3(0),u1=Object.keys(g).length>0;if(u1){let o0=new TextEncoder,y5=[Ro("INFO"),Ze("ICMT",o0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",o0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",o0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",o0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",o0.encode(g.title),!0)),c0=Ze("LIST",Sn(y5))}let R=new J3(0),Z0=u?.end!==void 0&&u?.start!==void 0;if(Z0){let o0=Math.floor(u.start*A.sampleRate),y5=Math.floor(u.end*A.sampleRate),M3=new J3(24);$t(M3,0,4),$t(M3,0,4),ct(M3,"data"),$t(M3,0,4),$t(M3,0,4),$t(M3,o0,4);let $3=new J3(24);$t($3,1,4),$t($3,0,4),ct($3,"data"),$t($3,0,4),$t($3,0,4),$t($3,y5,4);let w6=Sn([new J3([2,0,0,0]),M3,$3]);R=Ze("cue ",w6)}let G0=44,D1=E0*2*m0,l2=G0+D1+c0.length+R.length-8,y1=new Uint8Array(G0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([l2&255,l2>>8&255,l2>>16&255,l2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=A.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([D1&255,D1>>8&255,D1>>16&255,D1>>24&255]),40);let K2=new Uint8Array(l2+8),i3=G0;K2.set(y1,0);let r3=32767;if(r){let o0=b.map((y5,M3)=>Math.max(Math.abs(y5),Math.abs(A0[M3]))).reduce((y5,M3)=>Math.max(y5,M3));r3=o0>0?32767/o0:1}for(let o0=0;o0>8&255,K2[i3++]=M3&255,K2[i3++]=M3>>8&255}return u1&&(K2.set(c0,i3),i3+=c0.length),Z0&&K2.set(R,i3),new Blob([K2.buffer],{type:"audio/wav"})}var GC="synthetizer/worklet_processor.min.js";var Fw=1e3;async function Mw(A=!0,r=2,l=!1,g={},u=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let b=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),A0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=P7(b,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),c0=await this.seq.getMIDI(),u1=ym(c0.loop.start,c0),R=ym(c0.loop.end,c0),Z0=R-u1,G0=c0.duration+r+Z0*u,D1=this.context.sampleRate,l2=D1*G0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:D1,length:l2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+GC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,K2;try{K2=new ah(y1.destination,T2,!1,{parsedMIDI:c0,snapshot:Y2,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(A9){throw P7(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),A9}let i3=m0.div.getElementsByTagName("p")[0],r3=m0.div.getElementsByClassName("notification_progress")[0],o0=Fw/1e3,y5=K2.currentTime,M3=G0,$3=.1,w6=setInterval(()=>{let A9=K2.currentTime-y5;y5=K2.currentTime;let J4=K2.currentTime/G0;r3.style.width=`${J4*100}%`;let r4=A9/o0,K6=(1-J4)/r4*G0;K6!==1/0&&(M3=$3*K6+(1-$3)*M3,i3.innerText=`${A0} ${I$(M3).time}`)},Fw),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(A9=>setTimeout(A9,75)),l){let A9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",J4=[],r4=new Set;for(let We of c0.usedChannelsOnTrack)We.forEach(Or=>r4.add(Or));for(let We=0;We<16;We++){let Or=!0;for(let Yi=We;Yi{let Fs=Po.textContent;Po.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(KC=>setTimeout(KC,75));let Dm=HB(s6,!1,We*2),S$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Dm,S$),Po.classList.add("green_button"),Po.textContent=Fs}})}let K6=P7(this.localeManager.getLocaleString(A9+"title"),J4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});K6.div.style.width="30rem"}else{let A9=ym(c0.firstNoteOn,c0),J4=u1-A9,r4=R-A9,K6;u===0&&(K6={start:J4,end:r4});let We=HB(s6,A,0,g,K6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}ht(m0.id),this.isExporting=!1}async function Tw(){if(this.isExporting)return;let A="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(c0,u1,R)=>this.seq.midiData.RMIDInfo?.[c0]===void 0?u1:R.decode(this.seq.midiData.RMIDInfo?.[c0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),u=new TextDecoder(g),b=l("IPRD","",u),A0=l("IART","",u),E0=l("IGNR","",u),m0=[{type:"toggle",translatePathTitle:A+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:A+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:A+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:A+"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:b,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:A0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:c0=>{ht(c0.id);let u1=c0.div.querySelector("input[normalize-volume-toggle]").checked,R=c0.div.querySelector("input[additional-time]").value,Z0=c0.div.querySelector("input[loop-count]").value,G0=c0.div.querySelector("input[separate-channels-toggle]").checked,D1=c0.div.querySelector("input[name='artist']").value,l2=c0.div.querySelector("input[name='album']").value,y1=c0.div.querySelector("input[name='song_title']").value,Y2=c0.div.querySelector("input[name='genre']").value,T2={artist:D1.length>0?D1:void 0,album:l2.length>0?l2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(u1,parseInt(R),G0,T2,parseInt(Z0))}}];P7(this.localeManager.getLocaleString(A+"title"),m0,9999999,!0,this.localeManager)}async function Nw(){let A=await this.seq.getMIDI();lh(A,await this.synth.getSynthesizerSnapshot());let r=yC(A),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Gw(A,r){ri("%cSearching for all used programs and keys...",_1.info);let l=16+A.midiPortChannelOffsets.reduce((R,Z0)=>Z0>R?Z0:R),g=[];for(let R=0;R{A0[D1]>=G0.length||G0[A0[D1]].ticks0;){let R=m0(),Z0=A.tracks[R];if(A0[R]>=Z0.length){E0--;continue}let G0=Z0[A0[R]];if(A0[R]++,G0.messageStatusByte===K3.midiPort){c0[R]=G0.messageData[0];continue}let D1=G0.messageStatusByte&240;if(D1!==K3.noteOn&&D1!==K3.controllerChange&&D1!==K3.programChange&&D1!==K3.systemExclusive)continue;let l2=(G0.messageStatusByte&15)+A.midiPortChannelOffsets[c0[R]]||0,y1=g[l2];switch(D1){case K3.programChange:y1.program=G0.messageData[0],u(y1);break;case K3.controllerChange:if(G0.messageData[0]!==t6.bankSelect||u1==="gs"&&y1.drums)continue;let Y2=G0.messageData[1],T2=Math.max(0,Y2-A.bankOffset);if(u1==="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}g[l2].bank=T2;break;case K3.noteOn:if(G0.messageData[1]===0)continue;u(y1),b[y1.string].add(`${G0.messageData[0]}-${G0.messageData[1]}`);break;case K3.systemExclusive:if(G0.messageData[0]!==65||G0.messageData[2]!==66||G0.messageData[3]!==18||G0.messageData[4]!==64||!(G0.messageData[5]&16)||G0.messageData[6]!==21){G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[5]===126&&G0.messageData[6]===0&&(u1="xg");continue}let K2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][G0.messageData[5]&15]+A.midiPortChannelOffsets[c0[R]],i3=!!(G0.messageData[7]>0&&G0.messageData[5]>>4);y1=g[K2],y1.drums=i3,y1.bank=i3?128:0,u(y1);break}}for(let R of Object.keys(b))b[R].size===0&&(W5(`%cDetected change but no keys for %c${R}`,_1.info,_1.value),delete b[R]);return i4(),b}function UC(A,r){function l(u,b){let A0=0;for(let E0=0;E0=c0.min&&Z0.key<=c0.max&&Z0.velocity>=u1.min&&Z0.velocity<=u1.max){R=!0;break}R||(W5(`%c${m0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${m0.useCount-1}`,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized),u.safeDeleteZone(E0)&&(A0++,E0--,W5(`%c${m0.sample.sampleName} %cdeleted`,_1.recognized,_1.info)),m0.sample.useCount<1&&A.deleteSample(m0.sample))}return A0}lr("%cTrimming soundfont...",_1.info);let g=Gw(r,A);ri("%cModifying soundfont...",_1.info),W5("Detected keys for midi:",g);for(let u=0;u{let R=u1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ri(`%cTrimming %c${b.presetName}`,_1.info,_1.recognized),W5(`Keys for ${b.presetName}:`,m0);let c0=0;for(let u1=0;u1=Z0.min&&l2.key<=Z0.max&&l2.velocity>=G0.min&&l2.velocity<=G0.max){D1=!0;let y1=l(R.instrument,m0);W5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,_1.info,_1.recognized,_1.info,_1.recognized);break}D1||(c0++,b.deleteZone(u1),R.instrument.useCount<1&&A.deleteInstrument(R.instrument),u1--)}W5(`%cTrimmed off %c${c0}%c zones from %c${b.presetName}`,_1.info,_1.recognized,_1.info,_1.recognized),i4()}}A.removeUnusedElements(),A.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" +`,""),u=(F0,D1,l2=!0)=>{let y1=document.getElementById(F0);if(D1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",D1.length>30&&l2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=D1,y1.appendChild(Y2)}else y1.textContent=D1;else y1.parentElement.classList.add("hidden")};u("player_info_detail",g),u("player_info_time",I$(this.seq.duration).time),u("player_info_file_name",l.fileName,!1);let b=(F0,D1,l2,y1="")=>this.seq.midiData.RMIDInfo?.[F0]===void 0?D1:y1+l2.decode(this.seq.midiData.RMIDInfo?.[F0]).replace(/\0$/,""),A0=b("IENC","ascii",new TextDecoder),E0=new TextDecoder(A0);u("player_info_album",b("IPRD","",E0)),u("player_info_artist",b("IART","",E0)),u("player_info_genre",b("IGNR","",E0)),u("player_info_creation",b("ICRD","",E0)+b("ICRT","",E0,` +`)),u("player_info_comment",b("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],c0=this.mainDiv.getElementsByTagName("img")[0],u1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",c0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",c0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",c0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),X0=URL.createObjectURL(R);c0.src=X0,u1.style.setProperty("--bg-image",`url('${X0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let u=l.clientHeight,b=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${b}px`,g.style.height=`${u}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},Tw*1e3)}else{let u=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${u}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Tw*1e3)}}};var GC=class{constructor(r){this.locale=w$[r]||w$[OB],this.fallbackLocale=w$[OB],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let g=this._resolveLocalePath(r);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}onLocaleChanged=[];_formatLocale(r,l){return r.replace(/{(\d+)}/g,(g,u)=>typeof l[u]<"u"?l[u]:g)}bindObjectProperty(r,l,g,u=[]){let b={object:r,propertyName:l,localePath:g,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(b),this._boundObjectProperties.push(b)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),u=l?this.fallbackLocale:this.locale;for(let b=1;b{this._validatePropertyIntegrity(u)}),this.locale=g,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function HB(A,r=!0,l=0,g={},u=void 0){let b=A.getChannelData(l),A0=A.getChannelData(l+1),E0=b.length,m0=2,c0=new J3(0),u1=Object.keys(g).length>0;if(u1){let o0=new TextEncoder,y5=[Ro("INFO"),Ze("ICMT",o0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",o0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",o0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",o0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",o0.encode(g.title),!0)),c0=Ze("LIST",Sn(y5))}let R=new J3(0),X0=u?.end!==void 0&&u?.start!==void 0;if(X0){let o0=Math.floor(u.start*A.sampleRate),y5=Math.floor(u.end*A.sampleRate),M3=new J3(24);$t(M3,0,4),$t(M3,0,4),ct(M3,"data"),$t(M3,0,4),$t(M3,0,4),$t(M3,o0,4);let $3=new J3(24);$t($3,1,4),$t($3,0,4),ct($3,"data"),$t($3,0,4),$t($3,0,4),$t($3,y5,4);let w6=Sn([new J3([2,0,0,0]),M3,$3]);R=Ze("cue ",w6)}let F0=44,D1=E0*2*m0,l2=F0+D1+c0.length+R.length-8,y1=new Uint8Array(F0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([l2&255,l2>>8&255,l2>>16&255,l2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=A.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([D1&255,D1>>8&255,D1>>16&255,D1>>24&255]),40);let K2=new Uint8Array(l2+8),i3=F0;K2.set(y1,0);let r3=32767;if(r){let o0=b.map((y5,M3)=>Math.max(Math.abs(y5),Math.abs(A0[M3]))).reduce((y5,M3)=>Math.max(y5,M3));r3=o0>0?32767/o0:1}for(let o0=0;o0>8&255,K2[i3++]=M3&255,K2[i3++]=M3>>8&255}return u1&&(K2.set(c0,i3),i3+=c0.length),X0&&K2.set(R,i3),new Blob([K2.buffer],{type:"audio/wav"})}var UC="synthetizer/worklet_processor.min.js";var Nw=1e3;async function Gw(A=!0,r=2,l=!1,g={},u=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let b=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),A0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=P7(b,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),c0=await this.seq.getMIDI(),u1=ym(c0.loop.start,c0),R=ym(c0.loop.end,c0),X0=R-u1,F0=c0.duration+r+X0*u,D1=this.context.sampleRate,l2=D1*F0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:D1,length:l2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+UC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,K2;try{K2=new ah(y1.destination,T2,!1,{parsedMIDI:c0,snapshot:Y2,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(A9){throw P7(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),A9}let i3=m0.div.getElementsByTagName("p")[0],r3=m0.div.getElementsByClassName("notification_progress")[0],o0=Nw/1e3,y5=K2.currentTime,M3=F0,$3=.1,w6=setInterval(()=>{let A9=K2.currentTime-y5;y5=K2.currentTime;let J4=K2.currentTime/F0;r3.style.width=`${J4*100}%`;let r4=A9/o0,K6=(1-J4)/r4*F0;K6!==1/0&&(M3=$3*K6+(1-$3)*M3,i3.innerText=`${A0} ${I$(M3).time}`)},Nw),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(A9=>setTimeout(A9,75)),l){let A9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",J4=[],r4=new Set;for(let We of c0.usedChannelsOnTrack)We.forEach(Or=>r4.add(Or));for(let We=0;We<16;We++){let Or=!0;for(let Yi=We;Yi{let Fs=Po.textContent;Po.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(VC=>setTimeout(VC,75));let Dm=HB(s6,!1,We*2),S$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Dm,S$),Po.classList.add("green_button"),Po.textContent=Fs}})}let K6=P7(this.localeManager.getLocaleString(A9+"title"),J4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});K6.div.style.width="30rem"}else{let A9=ym(c0.firstNoteOn,c0),J4=u1-A9,r4=R-A9,K6;u===0&&(K6={start:J4,end:r4});let We=HB(s6,A,0,g,K6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}ht(m0.id),this.isExporting=!1}async function Uw(){if(this.isExporting)return;let A="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(c0,u1,R)=>this.seq.midiData.RMIDInfo?.[c0]===void 0?u1:R.decode(this.seq.midiData.RMIDInfo?.[c0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),u=new TextDecoder(g),b=l("IPRD","",u),A0=l("IART","",u),E0=l("IGNR","",u),m0=[{type:"toggle",translatePathTitle:A+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:A+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:A+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:A+"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:b,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:A0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:c0=>{ht(c0.id);let u1=c0.div.querySelector("input[normalize-volume-toggle]").checked,R=c0.div.querySelector("input[additional-time]").value,X0=c0.div.querySelector("input[loop-count]").value,F0=c0.div.querySelector("input[separate-channels-toggle]").checked,D1=c0.div.querySelector("input[name='artist']").value,l2=c0.div.querySelector("input[name='album']").value,y1=c0.div.querySelector("input[name='song_title']").value,Y2=c0.div.querySelector("input[name='genre']").value,T2={artist:D1.length>0?D1:void 0,album:l2.length>0?l2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(u1,parseInt(R),F0,T2,parseInt(X0))}}];P7(this.localeManager.getLocaleString(A+"title"),m0,9999999,!0,this.localeManager)}async function Pw(){let A=await this.seq.getMIDI();lh(A,await this.synth.getSynthesizerSnapshot());let r=wC(A),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Ow(A,r){ri("%cSearching for all used programs and keys...",_1.info);let l=16+A.midiPortChannelOffsets.reduce((R,X0)=>X0>R?X0:R),g=[];for(let R=0;R{A0[D1]>=F0.length||F0[A0[D1]].ticks0;){let R=m0(),X0=A.tracks[R];if(A0[R]>=X0.length){E0--;continue}let F0=X0[A0[R]];if(A0[R]++,F0.messageStatusByte===K3.midiPort){c0[R]=F0.messageData[0];continue}let D1=F0.messageStatusByte&240;if(D1!==K3.noteOn&&D1!==K3.controllerChange&&D1!==K3.programChange&&D1!==K3.systemExclusive)continue;let l2=(F0.messageStatusByte&15)+A.midiPortChannelOffsets[c0[R]]||0,y1=g[l2];switch(D1){case K3.programChange:y1.program=F0.messageData[0],u(y1);break;case K3.controllerChange:if(F0.messageData[0]!==t6.bankSelect||u1==="gs"&&y1.drums)continue;let Y2=F0.messageData[1],T2=Math.max(0,Y2-A.bankOffset);if(u1==="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}g[l2].bank=T2;break;case K3.noteOn:if(F0.messageData[1]===0)continue;u(y1),b[y1.string].add(`${F0.messageData[0]}-${F0.messageData[1]}`);break;case K3.systemExclusive:if(F0.messageData[0]!==65||F0.messageData[2]!==66||F0.messageData[3]!==18||F0.messageData[4]!==64||!(F0.messageData[5]&16)||F0.messageData[6]!==21){F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0&&(u1="xg");continue}let K2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][F0.messageData[5]&15]+A.midiPortChannelOffsets[c0[R]],i3=!!(F0.messageData[7]>0&&F0.messageData[5]>>4);y1=g[K2],y1.drums=i3,y1.bank=i3?128:0,u(y1);break}}for(let R of Object.keys(b))b[R].size===0&&(W5(`%cDetected change but no keys for %c${R}`,_1.info,_1.value),delete b[R]);return i4(),b}function PC(A,r){function l(u,b){let A0=0;for(let E0=0;E0=c0.min&&X0.key<=c0.max&&X0.velocity>=u1.min&&X0.velocity<=u1.max){R=!0;break}R||(W5(`%c${m0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${m0.useCount-1}`,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized),u.safeDeleteZone(E0)&&(A0++,E0--,W5(`%c${m0.sample.sampleName} %cdeleted`,_1.recognized,_1.info)),m0.sample.useCount<1&&A.deleteSample(m0.sample))}return A0}lr("%cTrimming soundfont...",_1.info);let g=Ow(r,A);ri("%cModifying soundfont...",_1.info),W5("Detected keys for midi:",g);for(let u=0;u{let R=u1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ri(`%cTrimming %c${b.presetName}`,_1.info,_1.recognized),W5(`Keys for ${b.presetName}:`,m0);let c0=0;for(let u1=0;u1=X0.min&&l2.key<=X0.max&&l2.velocity>=F0.min&&l2.velocity<=F0.max){D1=!0;let y1=l(R.instrument,m0);W5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,_1.info,_1.recognized,_1.info,_1.recognized);break}D1||(c0++,b.deleteZone(u1),R.instrument.useCount<1&&A.deleteInstrument(R.instrument),u1--)}W5(`%cTrimmed off %c${c0}%c zones from %c${b.presetName}`,_1.info,_1.recognized,_1.info,_1.recognized),i4()}}A.removeUnusedElements(),A.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" -`+A.soundFontInfo.ICMT,W5("%cSoundfont modified!",_1.recognized),i4(),i4()}function Uw(){let A=4;for(let g of this.instruments)A+=g.instrumentZones.reduce((u,b)=>(b.generators=b.generators.filter(A0=>A0.generatorType!==v1.sampleID&&A0.generatorType!==v1.keyRange&&A0.generatorType!==v1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:v1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:v1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(b.sample)}),b.generators.length*4+u),0);let r=new J3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.generatorZoneStartIndex=l;for(let b of u.generators)Q9(r,b.generatorType),Q9(r,b.generatorValue),l++}return lt(r,0),ze(new Ee("igen",r.length,r))}function Pw(A,r,l,g,u){let b=this.samples.map((c0,u1)=>{l&&c0.compressSample(g,u);let R=c0.getRawData();return W5(`%cEncoded sample %c${u1}. ${c0.sampleName}%c of %c${this.samples.length}`,_1.info,_1.recognized,_1.info,_1.recognized),R}),A0=this.samples.reduce((c0,u1,R)=>c0+b[R].length+46,0),E0=new J3(A0);this.samples.forEach((c0,u1)=>{let R=b[u1],Z0,G0,D1=R.length;c0.isCompressed?(Z0=E0.currentIndex,G0=Z0+R.length):(Z0=E0.currentIndex/2,G0=Z0+R.length/2,D1+=46),A.push(Z0),E0.set(R,E0.currentIndex),E0.currentIndex+=D1,r.push(G0)});let m0=ze(new Ee("smpl",E0.length,E0),new J3([115,100,116,97]));return ze(new Ee("LIST",m0.length,m0))}function Ow(A,r){let g=new J3(46*(this.samples.length+1));return this.samples.forEach((u,b)=>{ct(g,u.sampleName,20);let A0=A[b];lt(g,A0);let E0=r[b];lt(g,E0);let m0=u.sampleLoopStartIndex/2+A0,c0=u.sampleLoopEndIndex/2+A0;u.isCompressed&&(m0-=A0,c0-=A0),lt(g,m0),lt(g,c0),lt(g,u.sampleRate),g[g.currentIndex++]=u.samplePitch,g[g.currentIndex++]=u.samplePitchCorrection,Q9(g,u.sampleLink),Q9(g,u.sampleType)}),ct(g,"EOS",46),ze(new Ee("shdr",g.length,g))}function Hw(){let A=10;for(let g of this.instruments)A+=g.instrumentZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new J3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)Q9(r,b.sourceEnum),Q9(r,b.modulatorDestination),Q9(r,b.transformAmount),Q9(r,b.secondarySourceEnum),Q9(r,b.transformType),l++}return $t(r,0,10),ze(new Ee("imod",r.length,r))}function qw(){let A=this.instruments.reduce((b,A0)=>A0.instrumentZones.length*4+b,4),r=new J3(A),l=0,g=0,u=0;for(let b of this.instruments){b.instrumentZoneIndex=l;for(let A0 of b.instrumentZones)A0.zoneID=l,Q9(r,g),Q9(r,u),g+=A0.generators.length,u+=A0.modulators.length,l++}return Q9(r,g),Q9(r,u),ze(new Ee("ibag",r.length,r))}function Yw(){let A=this.instruments.length*22+22,r=new J3(A),l=0,g=0;for(let u of this.instruments)ct(r,u.instrumentName,20),Q9(r,l),l+=u.instrumentZones.length,u.instrumentID=g,g++;return ct(r,"EOI",20),Q9(r,l),ze(new Ee("inst",r.length,r))}function Jw(){let A=4;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>(b.generators=b.generators.filter(A0=>A0.generatorType!==v1.instrument&&A0.generatorType!==v1.keyRange&&A0.generatorType!==v1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:v1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:v1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(b.instrument)}),b.generators.length*4+u),0);let r=new J3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.generatorZoneStartIndex=l;for(let b of u.generators)Q9(r,b.generatorType),Q9(r,b.generatorValue);l+=u.generators.length}return Q9(r,0),Q9(r,0),ze(new Ee("pgen",r.length,r))}function Kw(){let A=10;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new J3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)Q9(r,b.sourceEnum),Q9(r,b.modulatorDestination),Q9(r,b.transformAmount),Q9(r,b.secondarySourceEnum),Q9(r,b.transformType),l++}return $t(r,0,10),ze(new Ee("pmod",r.length,r))}function Vw(){let A=this.presets.reduce((b,A0)=>A0.presetZones.length*4+b,4),r=new J3(A),l=0,g=0,u=0;for(let b of this.presets){b.presetZoneStartIndex=l;for(let A0 of b.presetZones)A0.zoneID=l,Q9(r,g),Q9(r,u),g+=A0.generators.length,u+=A0.modulators.length,l++}return Q9(r,g),Q9(r,u),ze(new Ee("pbag",r.length,r))}function zw(){let A=this.presets.length*38+38,r=new J3(A),l=0;for(let g of this.presets)ct(r,g.presetName,20),Q9(r,g.program),Q9(r,g.bank),Q9(r,l),lt(r,g.library),lt(r,g.genre),lt(r,g.morphology),l+=g.presetZones.length;return ct(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),lt(r,0),lt(r,0),lt(r,0),ze(new Ee("phdr",r.length,r))}var qD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Zw(A=qD){if(A.compress&&typeof A.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ri("%cSaving soundfont...",_1.info),W5(`%cCompression: %c${A?.compress||"false"}%c quality: %c${A?.compressionQuality||"none"}`,_1.info,_1.recognized,_1.info,_1.recognized),W5("%cWriting INFO...",_1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",A?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let o0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),M3=new J3(4);Q9(M3,o0),Q9(M3,y5),r.push(ze(new Ee(i3,4,M3)))}else if(i3==="DMOD")r.push(ze(new Ee(i3,r3.length,r3)));else{let o0=new J3(r3.length);ct(o0,r3),r.push(ze(new Ee(i3,r3.length,o0)))}let l=Sn([new J3([73,78,70,79]),...r]),g=ze(new Ee("LIST",l.length,l));W5("%cWriting SDTA...",_1.info);let u=[],b=[],A0=Pw.call(this,u,b,A?.compress,A?.compressionQuality||.5,A.compressionFunction);W5("%cWriting PDTA...",_1.info),W5("%cWriting SHDR...",_1.info);let E0=Ow.call(this,u,b);W5("%cWriting IGEN...",_1.info);let m0=Uw.call(this);W5("%cWriting IMOD...",_1.info);let c0=Hw.call(this);W5("%cWriting IBAG...",_1.info);let u1=qw.call(this);W5("%cWriting INST...",_1.info);let R=Yw.call(this),Z0=Jw.call(this);W5("%cWriting PMOD...",_1.info);let G0=Kw.call(this);W5("%cWriting PBAG...",_1.info);let D1=Vw.call(this);W5("%cWriting PHDR...",_1.info);let l2=zw.call(this),y1=Sn([new J3([112,100,116,97]),l2,D1,G0,Z0,R,u1,c0,m0,E0]),Y2=ze(new Ee("LIST",y1.length,y1));W5("%cWriting the output file...",_1.info);let T2=Sn([new J3([115,102,98,107]),g,A0,Y2]),K2=ze(new Ee("RIFF",T2.length,T2));return W5(`%cSaved succesfully! Final file size: %c${K2.length}`,_1.info,_1.recognized),i4(),K2}var k$=class A{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=IC.map(l=>me.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}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()}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()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}getPresetNoFallback(r,l,g=!1){let u=this.presets.find(b=>b.bank===r&&b.program===l);if(u)return u;if(g!==!1)return r===128?this.presets.find(b=>b.bank===128):this.presets.find(b=>b.program===l)}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPreset(r,l){let g=this.presets.find(u=>u.bank===r&&u.program===l);return g||(r===128?(g=this.presets.find(u=>u.bank===128&&u.program===l),g||(g=this.presets.find(u=>u.bank===128))):g=this.presets.find(u=>u.program===l&&u.bank!==128),g&&de(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,_1.warn,_1.recognized)),g||(de(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(r){let l=this.presets.find(g=>g.presetName===r);return l||(de("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}static mergeSoundfonts(...r){let l=r.shift(),g=l.presets;for(;r.length;)r.shift().presets.forEach(b=>{g.find(A0=>A0.bank===b.bank&&A0.program===b.program)===void 0&&g.push(b)});return new A({presets:g,info:l.soundFontInfo})}};k$.prototype.write=Zw;function Ww(A){ri("%cLoading instruments...",_1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let g=r;g{b.sample.isSampleLoaded||b.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(r,l){let g=this.foundSamplesAndGenerators[r][l];if(g)return g;if(this.presetZones.length<1)return[];function u(R,Z0,G0){return G0>=R&&G0<=Z0}function b(R,Z0){R.push(...Z0.filter(G0=>!R.find(D1=>D1.generatorType===G0.generatorType)))}function A0(R,Z0){R.push(...Z0.filter(G0=>!R.find(D1=>me.isIdentical(G0,D1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],c0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>u(R.keyRange.min,R.keyRange.max,r)&&u(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let Z0=R.generators,G0=R.modulators,D1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],l2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>u(Y2.keyRange.min,Y2.keyRange.max,r)&&u(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],K2=[...Y2.modulators];b(Z0,m0),b(T2,D1),A0(G0,c0),A0(K2,l2),A0(K2,this.defaultModulators);let i3=[...K2];for(let r3=0;r3me.isIdentical(o0,M3));y5!==-1?i3[y5]=i3[y5].sumTransform(o0):i3.push(o0)}E0.push({instrumentGenerators:T2,presetGenerators:Z0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=E0,E0}};var Sm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var Go=class extends Sm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},uh=class extends Sm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var dh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var PC=class extends fh{constructor(r,l){super(IC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new dh,this.DLSInstrument.addUseCount();let u=new uh;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function jw(A){this.verifyHeader(A,"LIST"),this.verifyText(Ie(A.chunkData,4),"ins ");let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(d4(A.chunkData));let l=r.find(G0=>G0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=A3(l.chunkData,4),u=A3(l.chunkData,4),b=A3(l.chunkData,4),A0=new PC(u,b),E0="unnamedPreset",m0=Di(r,"INFO");if(m0){let G0=d4(m0.chunkData);for(;G0.header!=="INAM";)G0=d4(m0.chunkData);E0=Ie(G0.chunkData,G0.chunkData.length).trim()}A0.presetName=E0,A0.DLSInstrument.instrumentName=E0,lr(`%cParsing %c"${E0}"%c...`,_1.info,_1.recognized,_1.info);let c0=Di(r,"lrgn");if(!c0)throw i4(),new Error("No region list!");let u1=new Go;u1.isGlobal=!0;let R=Di(r,"lart"),Z0=Di(r,"lar2");this.readLart(R,Z0,u1),A0.DLSInstrument.instrumentZones.push(u1);for(let G0=0;G0>10&15;Y2===Tr.linear&&y1!==Tr.linear&&(Y2=y1);let T2=g>>14&1,K2=g>>15&1;A0===v1.initialAttenuation&&(K2=!K2),R=Mr(Y2,T2,K2,E0.isCC,E0.enum)}let Z0=g>>4&15,G0=g>>8&1,D1=g>>9&1,l2=Mr(Z0,G0,D1,u1.isCC,u1.enum);if(m0){let y1=l2;l2=R,R=y1}return new me({srcEnum:R,secSrcEnum:l2,dest:A0,transform:0,amt:u})}function qB(A,r){let l=A.chunkData,g=[],u=[];A3(l,4);let b=A3(l,4);for(let A0=0;A0>16;if(E0===0&&m0===0&&u1===0){let G0;switch(c0){case m6.pan:G0=new X6(v1.pan,Z0);break;case m6.gain:G0=new X6(v1.initialAttenuation,-Z0*10/.4);break;case m6.filterCutoff:G0=new X6(v1.initialFilterFc,Z0);break;case m6.filterQ:G0=new X6(v1.initialFilterQ,Z0);break;case m6.modLfoFreq:G0=new X6(v1.freqModLFO,Z0);break;case m6.modLfoDelay:G0=new X6(v1.delayModLFO,Z0);break;case m6.vibLfoFreq:G0=new X6(v1.freqVibLFO,Z0);break;case m6.vibLfoDelay:G0=new X6(v1.delayVibLFO,Z0);break;case m6.volEnvDelay:G0=new X6(v1.delayVolEnv,Z0);break;case m6.volEnvAttack:G0=new X6(v1.attackVolEnv,Z0);break;case m6.volEnvHold:G0=new X6(v1.holdVolEnv,Z0);break;case m6.volEnvDecay:G0=new X6(v1.decayVolEnv,Z0);break;case m6.volEnvRelease:G0=new X6(v1.releaseVolEnv,Z0);break;case m6.volEnvSustain:let D1=(1e3-Z0)/10;G0=new X6(v1.sustainVolEnv,D1*10);break;case m6.modEnvDelay:G0=new X6(v1.delayModEnv,Z0);break;case m6.modEnvAttack:G0=new X6(v1.attackModEnv,Z0);break;case m6.modEnvHold:G0=new X6(v1.holdModEnv,Z0);break;case m6.modEnvDecay:G0=new X6(v1.decayModEnv,Z0);break;case m6.modEnvRelease:G0=new X6(v1.releaseModEnv,Z0);break;case m6.modEnvSustain:let l2=1e3-Z0;G0=new X6(v1.sustainModEnv,l2);break;case m6.reverbSend:G0=new X6(v1.reverbEffectsSend,Z0);break;case m6.chorusSend:G0=new X6(v1.chorusEffectsSend,Z0);break;case m6.pitch:let y1=Math.floor(Z0/100),Y2=Math.floor(Z0-y1*100);G0=new X6(v1.fineTune,Y2),g.push(new X6(v1.coarseTune,y1));break}G0&&g.push(G0)}else{let G0=!0;if(m0===w4.none)if(E0===w4.modLfo&&c0===m6.pitch)g.push(new X6(v1.modLfoToPitch,Z0));else if(E0===w4.modLfo&&c0===m6.gain)g.push(new X6(v1.modLfoToVolume,Z0));else if(E0===w4.modLfo&&c0===m6.filterCutoff)g.push(new X6(v1.modLfoToFilterFc,Z0));else if(E0===w4.vibratoLfo&&c0===m6.pitch)g.push(new X6(v1.vibLfoToPitch,Z0));else if(E0===w4.modEnv&&c0===m6.pitch)g.push(new X6(v1.modEnvToPitch,Z0));else if(E0===w4.modEnv&&c0===m6.filterCutoff)g.push(new X6(v1.modEnvToFilterFc,Z0));else if(E0===w4.keyNum&&c0===m6.volEnvHold){g.push(new X6(v1.keyNumToVolEnvHold,Z0/-128));let D1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.holdVolEnv&&(l2.generatorValue+=D1)})}else if(E0===w4.keyNum&&c0===m6.volEnvDecay){g.push(new X6(v1.keyNumToVolEnvDecay,Z0/-128));let D1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.decayVolEnv&&(l2.generatorValue+=D1)})}else if(E0===w4.keyNum&&c0===m6.modEnvHold){g.push(new X6(v1.keyNumToModEnvHold,Z0/-128));let D1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.holdModEnv&&(l2.generatorValue+=D1)})}else if(E0===w4.keyNum&&c0===m6.modEnvDecay){g.push(new X6(v1.keyNumToModEnvDecay,Z0/-128));let D1=Math.round(60/128*Z0);g.forEach(l2=>{l2.generatorType===v1.decayModEnv&&(l2.generatorValue+=D1)})}else G0=!1;else G0=!1;if(G0===!1){let D1=ek(E0,m0,c0,u1,Z0);D1?(u.push(D1),W5("%cSucceeded converting to SF2 Modulator!",_1.recognized)):de("Failed converting to SF2 Modulator!")}}}return u.find(A0=>A0.modulatorDestination===v1.reverbEffectsSend)===void 0&&u.push(new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(A0=>A0.modulatorDestination===v1.chorusEffectsSend)===void 0&&u.push(new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&u.push(new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:g}}function tk(A,r,l){if(A)for(;A.chunkData.currentIndexA.chunkData.currentIndex;)r.push(d4(A.chunkData));let l=r.find(M3=>M3.header==="rgnh"),g=A3(l.chunkData,2),u=A3(l.chunkData,2),b=A3(l.chunkData,2),A0=A3(l.chunkData,2),E0=new OC({min:g,max:u},{min:b,max:A0});A3(l.chunkData,2);let m0=A3(l.chunkData,2);m0!==0&&E0.generators.push(new X6(v1.exclusiveClass,m0));let c0=Di(r,"lart"),u1=Di(r,"lar2");this.readLart(c0,u1,E0),E0.isGlobal=!1;let R=r.find(M3=>M3.header==="wsmp");A3(R.chunkData,4);let Z0=A3(R.chunkData,2),G0=_o(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),l2=(A3(R.chunkData,4)|0)/-655360;A3(R.chunkData,4);let y1=A3(R.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{A3(R.chunkData,4),A3(R.chunkData,4)===0?Y2=1:Y2=3,T2.start=A3(R.chunkData,4);let $3=A3(R.chunkData,4);T2.end=T2.start+$3}let K2=r.find(M3=>M3.header==="wlnk");if(K2===void 0)return;A3(K2.chunkData,2),A3(K2.chunkData,2),A3(K2.chunkData,4);let i3=A3(K2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(l2||r3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,Z0,r3,i3,G0),E0}var Ih=class{constructor(r,l,g,u,b,A0,E0,m0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=u,this.sampleLink=b,this.sampleType=A0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(A0&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{de(`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 HC=class extends Ih{constructor(r,l,g,u,b,A0,E0,m0){super(r,l,g,u,0,1,b*2,(A0-1)*2),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}sampleDbAttenuation;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 rk(A){ri("%cLoading Wave samples...",_1.recognized);let r=0;for(;A.chunkData.currentIndex$3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");if(A3(u.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(A3(u.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=A3(u.chunkData,4);A3(u.chunkData,4),A3(u.chunkData,2);let m0=A3(u.chunkData,2),c0=m0/8,u1=Math.pow(2,c0*8-1),R=Math.pow(2,c0*8),Z0,G0=!1;m0===8?(Z0=255,G0=!0):Z0=u1;let D1=g.find($3=>$3.header==="data");if(!D1)throw new Error("No data chunk in the wave chunk!");let l2=D1.size/c0,y1=new Float32Array(l2);for(let $3=0;$3=u1&&(w6-=R),y1[$3]=w6/Z0)}let Y2=60,T2=0,K2=0,i3=y1.length-1,r3=0,o0=g.find($3=>$3.header==="wsmp");if(o0){if(A3(o0.chunkData,4),Y2=A3(o0.chunkData,2),T2=_o(o0.chunkData[o0.chunkData.currentIndex++],o0.chunkData[o0.chunkData.currentIndex++]),r3=(A3(o0.chunkData,4)|0)/-655360,A3(o0.chunkData,4),A3(o0.chunkData,4)===1){A3(o0.chunkData,8),K2=A3(o0.chunkData,4);let s6=A3(o0.chunkData,4);i3=K2+s6}}else de("No wsmp chunk in wave... using sane defaults.");let y5=Di(g,"INFO"),M3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndex(b.generators=b.generators.filter(A0=>A0.generatorType!==v1.sampleID&&A0.generatorType!==v1.keyRange&&A0.generatorType!==v1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:v1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:v1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(b.sample)}),b.generators.length*4+u),0);let r=new J3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.generatorZoneStartIndex=l;for(let b of u.generators)Q9(r,b.generatorType),Q9(r,b.generatorValue),l++}return lt(r,0),ze(new Ee("igen",r.length,r))}function qw(A,r,l,g,u){let b=this.samples.map((c0,u1)=>{l&&c0.compressSample(g,u);let R=c0.getRawData();return W5(`%cEncoded sample %c${u1}. ${c0.sampleName}%c of %c${this.samples.length}`,_1.info,_1.recognized,_1.info,_1.recognized),R}),A0=this.samples.reduce((c0,u1,R)=>c0+b[R].length+46,0),E0=new J3(A0);this.samples.forEach((c0,u1)=>{let R=b[u1],X0,F0,D1=R.length;c0.isCompressed?(X0=E0.currentIndex,F0=X0+R.length):(X0=E0.currentIndex/2,F0=X0+R.length/2,D1+=46),A.push(X0),E0.set(R,E0.currentIndex),E0.currentIndex+=D1,r.push(F0)});let m0=ze(new Ee("smpl",E0.length,E0),new J3([115,100,116,97]));return ze(new Ee("LIST",m0.length,m0))}function Yw(A,r){let g=new J3(46*(this.samples.length+1));return this.samples.forEach((u,b)=>{ct(g,u.sampleName,20);let A0=A[b];lt(g,A0);let E0=r[b];lt(g,E0);let m0=u.sampleLoopStartIndex+A0,c0=u.sampleLoopEndIndex+A0;u.isCompressed&&(m0-=A0,c0-=A0),lt(g,m0),lt(g,c0),lt(g,u.sampleRate),g[g.currentIndex++]=u.samplePitch,g[g.currentIndex++]=u.samplePitchCorrection,Q9(g,u.sampleLink),Q9(g,u.sampleType)}),ct(g,"EOS",46),ze(new Ee("shdr",g.length,g))}function Jw(){let A=10;for(let g of this.instruments)A+=g.instrumentZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new J3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)Q9(r,b.sourceEnum),Q9(r,b.modulatorDestination),Q9(r,b.transformAmount),Q9(r,b.secondarySourceEnum),Q9(r,b.transformType),l++}return $t(r,0,10),ze(new Ee("imod",r.length,r))}function Kw(){let A=this.instruments.reduce((b,A0)=>A0.instrumentZones.length*4+b,4),r=new J3(A),l=0,g=0,u=0;for(let b of this.instruments){b.instrumentZoneIndex=l;for(let A0 of b.instrumentZones)A0.zoneID=l,Q9(r,g),Q9(r,u),g+=A0.generators.length,u+=A0.modulators.length,l++}return Q9(r,g),Q9(r,u),ze(new Ee("ibag",r.length,r))}function Vw(){let A=this.instruments.length*22+22,r=new J3(A),l=0,g=0;for(let u of this.instruments)ct(r,u.instrumentName,20),Q9(r,l),l+=u.instrumentZones.length,u.instrumentID=g,g++;return ct(r,"EOI",20),Q9(r,l),ze(new Ee("inst",r.length,r))}function zw(){let A=4;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>(b.generators=b.generators.filter(A0=>A0.generatorType!==v1.instrument&&A0.generatorType!==v1.keyRange&&A0.generatorType!==v1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:v1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:v1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(b.instrument)}),b.generators.length*4+u),0);let r=new J3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.generatorZoneStartIndex=l;for(let b of u.generators)Q9(r,b.generatorType),Q9(r,b.generatorValue);l+=u.generators.length}return Q9(r,0),Q9(r,0),ze(new Ee("pgen",r.length,r))}function Zw(){let A=10;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new J3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)Q9(r,b.sourceEnum),Q9(r,b.modulatorDestination),Q9(r,b.transformAmount),Q9(r,b.secondarySourceEnum),Q9(r,b.transformType),l++}return $t(r,0,10),ze(new Ee("pmod",r.length,r))}function Ww(){let A=this.presets.reduce((b,A0)=>A0.presetZones.length*4+b,4),r=new J3(A),l=0,g=0,u=0;for(let b of this.presets){b.presetZoneStartIndex=l;for(let A0 of b.presetZones)A0.zoneID=l,Q9(r,g),Q9(r,u),g+=A0.generators.length,u+=A0.modulators.length,l++}return Q9(r,g),Q9(r,u),ze(new Ee("pbag",r.length,r))}function jw(){let A=this.presets.length*38+38,r=new J3(A),l=0;for(let g of this.presets)ct(r,g.presetName,20),Q9(r,g.program),Q9(r,g.bank),Q9(r,l),lt(r,g.library),lt(r,g.genre),lt(r,g.morphology),l+=g.presetZones.length;return ct(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),lt(r,0),lt(r,0),lt(r,0),ze(new Ee("phdr",r.length,r))}var JD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Xw(A=JD){if(A.compress&&typeof A.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ri("%cSaving soundfont...",_1.info),W5(`%cCompression: %c${A?.compress||"false"}%c quality: %c${A?.compressionQuality||"none"}`,_1.info,_1.recognized,_1.info,_1.recognized),W5("%cWriting INFO...",_1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",A?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let o0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),M3=new J3(4);Q9(M3,o0),Q9(M3,y5),r.push(ze(new Ee(i3,4,M3)))}else if(i3==="DMOD")r.push(ze(new Ee(i3,r3.length,r3)));else{let o0=new J3(r3.length);ct(o0,r3),r.push(ze(new Ee(i3,r3.length,o0)))}let l=Sn([new J3([73,78,70,79]),...r]),g=ze(new Ee("LIST",l.length,l));W5("%cWriting SDTA...",_1.info);let u=[],b=[],A0=qw.call(this,u,b,A?.compress,A?.compressionQuality||.5,A.compressionFunction);W5("%cWriting PDTA...",_1.info),W5("%cWriting SHDR...",_1.info);let E0=Yw.call(this,u,b);W5("%cWriting IGEN...",_1.info);let m0=Hw.call(this);W5("%cWriting IMOD...",_1.info);let c0=Jw.call(this);W5("%cWriting IBAG...",_1.info);let u1=Kw.call(this);W5("%cWriting INST...",_1.info);let R=Vw.call(this),X0=zw.call(this);W5("%cWriting PMOD...",_1.info);let F0=Zw.call(this);W5("%cWriting PBAG...",_1.info);let D1=Ww.call(this);W5("%cWriting PHDR...",_1.info);let l2=jw.call(this),y1=Sn([new J3([112,100,116,97]),l2,D1,F0,X0,R,u1,c0,m0,E0]),Y2=ze(new Ee("LIST",y1.length,y1));W5("%cWriting the output file...",_1.info);let T2=Sn([new J3([115,102,98,107]),g,A0,Y2]),K2=ze(new Ee("RIFF",T2.length,T2));return W5(`%cSaved succesfully! Final file size: %c${K2.length}`,_1.info,_1.recognized),i4(),K2}var k$=class A{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=EC.map(l=>me.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}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()}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()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}getPresetNoFallback(r,l,g=!1){let u=this.presets.find(b=>b.bank===r&&b.program===l);if(u)return u;if(g!==!1)return r===128?this.presets.find(b=>b.bank===128):this.presets.find(b=>b.program===l)}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPreset(r,l){let g=this.presets.find(u=>u.bank===r&&u.program===l);return g||(r===128?(g=this.presets.find(u=>u.bank===128&&u.program===l),g||(g=this.presets.find(u=>u.bank===128))):g=this.presets.find(u=>u.program===l&&u.bank!==128),g&&de(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,_1.warn,_1.recognized)),g||(de(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(r){let l=this.presets.find(g=>g.presetName===r);return l||(de("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}static mergeSoundfonts(...r){let l=r.shift(),g=l.presets;for(;r.length;)r.shift().presets.forEach(b=>{g.find(A0=>A0.bank===b.bank&&A0.program===b.program)===void 0&&g.push(b)});return new A({presets:g,info:l.soundFontInfo})}};k$.prototype.write=Xw;function ek(A){ri("%cLoading instruments...",_1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let g=r;g{b.sample.isSampleLoaded||b.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(r,l){let g=this.foundSamplesAndGenerators[r][l];if(g)return g;if(this.presetZones.length<1)return[];function u(R,X0,F0){return F0>=R&&F0<=X0}function b(R,X0){R.push(...X0.filter(F0=>!R.find(D1=>D1.generatorType===F0.generatorType)))}function A0(R,X0){R.push(...X0.filter(F0=>!R.find(D1=>me.isIdentical(F0,D1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],c0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>u(R.keyRange.min,R.keyRange.max,r)&&u(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let X0=R.generators,F0=R.modulators,D1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],l2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>u(Y2.keyRange.min,Y2.keyRange.max,r)&&u(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],K2=[...Y2.modulators];b(X0,m0),b(T2,D1),A0(F0,c0),A0(K2,l2),A0(K2,this.defaultModulators);let i3=[...K2];for(let r3=0;r3me.isIdentical(o0,M3));y5!==-1?i3[y5]=i3[y5].sumTransform(o0):i3.push(o0)}E0.push({instrumentGenerators:T2,presetGenerators:X0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=E0,E0}};var Sm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var Go=class extends Sm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},uh=class extends Sm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var dh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}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 OC=class extends fh{constructor(r,l){super(EC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new dh,this.DLSInstrument.addUseCount();let u=new uh;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function tk(A){this.verifyHeader(A,"LIST"),this.verifyText(Ie(A.chunkData,4),"ins ");let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(d4(A.chunkData));let l=r.find(F0=>F0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=A3(l.chunkData,4),u=A3(l.chunkData,4),b=A3(l.chunkData,4),A0=new OC(u,b),E0="unnamedPreset",m0=Di(r,"INFO");if(m0){let F0=d4(m0.chunkData);for(;F0.header!=="INAM";)F0=d4(m0.chunkData);E0=Ie(F0.chunkData,F0.chunkData.length).trim()}A0.presetName=E0,A0.DLSInstrument.instrumentName=E0,lr(`%cParsing %c"${E0}"%c...`,_1.info,_1.recognized,_1.info);let c0=Di(r,"lrgn");if(!c0)throw i4(),new Error("No region list!");let u1=new Go;u1.isGlobal=!0;let R=Di(r,"lart"),X0=Di(r,"lar2");this.readLart(R,X0,u1),A0.DLSInstrument.instrumentZones.push(u1);for(let F0=0;F0>10&15;Y2===Tr.linear&&y1!==Tr.linear&&(Y2=y1);let T2=g>>14&1,K2=g>>15&1;A0===v1.initialAttenuation&&(K2=!K2),R=Mr(Y2,T2,K2,E0.isCC,E0.enum)}let X0=g>>4&15,F0=g>>8&1,D1=g>>9&1,l2=Mr(X0,F0,D1,u1.isCC,u1.enum);if(m0){let y1=l2;l2=R,R=y1}return new me({srcEnum:R,secSrcEnum:l2,dest:A0,transform:0,amt:u})}function qB(A,r){let l=A.chunkData,g=[],u=[];A3(l,4);let b=A3(l,4);for(let A0=0;A0>16;if(E0===0&&m0===0&&u1===0){let F0;switch(c0){case m6.pan:F0=new X6(v1.pan,X0);break;case m6.gain:F0=new X6(v1.initialAttenuation,-X0*10/.4);break;case m6.filterCutoff:F0=new X6(v1.initialFilterFc,X0);break;case m6.filterQ:F0=new X6(v1.initialFilterQ,X0);break;case m6.modLfoFreq:F0=new X6(v1.freqModLFO,X0);break;case m6.modLfoDelay:F0=new X6(v1.delayModLFO,X0);break;case m6.vibLfoFreq:F0=new X6(v1.freqVibLFO,X0);break;case m6.vibLfoDelay:F0=new X6(v1.delayVibLFO,X0);break;case m6.volEnvDelay:F0=new X6(v1.delayVolEnv,X0);break;case m6.volEnvAttack:F0=new X6(v1.attackVolEnv,X0);break;case m6.volEnvHold:F0=new X6(v1.holdVolEnv,X0);break;case m6.volEnvDecay:F0=new X6(v1.decayVolEnv,X0);break;case m6.volEnvRelease:F0=new X6(v1.releaseVolEnv,X0);break;case m6.volEnvSustain:let D1=(1e3-X0)/10;F0=new X6(v1.sustainVolEnv,D1*10);break;case m6.modEnvDelay:F0=new X6(v1.delayModEnv,X0);break;case m6.modEnvAttack:F0=new X6(v1.attackModEnv,X0);break;case m6.modEnvHold:F0=new X6(v1.holdModEnv,X0);break;case m6.modEnvDecay:F0=new X6(v1.decayModEnv,X0);break;case m6.modEnvRelease:F0=new X6(v1.releaseModEnv,X0);break;case m6.modEnvSustain:let l2=1e3-X0;F0=new X6(v1.sustainModEnv,l2);break;case m6.reverbSend:F0=new X6(v1.reverbEffectsSend,X0);break;case m6.chorusSend:F0=new X6(v1.chorusEffectsSend,X0);break;case m6.pitch:let y1=Math.floor(X0/100),Y2=Math.floor(X0-y1*100);F0=new X6(v1.fineTune,Y2),g.push(new X6(v1.coarseTune,y1));break}F0&&g.push(F0)}else{let F0=!0;if(m0===w4.none)if(E0===w4.modLfo&&c0===m6.pitch)g.push(new X6(v1.modLfoToPitch,X0));else if(E0===w4.modLfo&&c0===m6.gain)g.push(new X6(v1.modLfoToVolume,X0));else if(E0===w4.modLfo&&c0===m6.filterCutoff)g.push(new X6(v1.modLfoToFilterFc,X0));else if(E0===w4.vibratoLfo&&c0===m6.pitch)g.push(new X6(v1.vibLfoToPitch,X0));else if(E0===w4.modEnv&&c0===m6.pitch)g.push(new X6(v1.modEnvToPitch,X0));else if(E0===w4.modEnv&&c0===m6.filterCutoff)g.push(new X6(v1.modEnvToFilterFc,X0));else if(E0===w4.keyNum&&c0===m6.volEnvHold){g.push(new X6(v1.keyNumToVolEnvHold,X0/-128));let D1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdVolEnv&&(l2.generatorValue+=D1)})}else if(E0===w4.keyNum&&c0===m6.volEnvDecay){g.push(new X6(v1.keyNumToVolEnvDecay,X0/-128));let D1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayVolEnv&&(l2.generatorValue+=D1)})}else if(E0===w4.keyNum&&c0===m6.modEnvHold){g.push(new X6(v1.keyNumToModEnvHold,X0/-128));let D1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdModEnv&&(l2.generatorValue+=D1)})}else if(E0===w4.keyNum&&c0===m6.modEnvDecay){g.push(new X6(v1.keyNumToModEnvDecay,X0/-128));let D1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayModEnv&&(l2.generatorValue+=D1)})}else F0=!1;else F0=!1;if(F0===!1){let D1=rk(E0,m0,c0,u1,X0);D1?(u.push(D1),W5("%cSucceeded converting to SF2 Modulator!",_1.recognized)):de("Failed converting to SF2 Modulator!")}}}return u.find(A0=>A0.modulatorDestination===v1.reverbEffectsSend)===void 0&&u.push(new me({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(A0=>A0.modulatorDestination===v1.chorusEffectsSend)===void 0&&u.push(new me({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&u.push(new me({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new me({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:g}}function nk(A,r,l){if(A)for(;A.chunkData.currentIndexA.chunkData.currentIndex;)r.push(d4(A.chunkData));let l=r.find(M3=>M3.header==="rgnh"),g=A3(l.chunkData,2),u=A3(l.chunkData,2),b=A3(l.chunkData,2),A0=A3(l.chunkData,2),E0=new HC({min:g,max:u},{min:b,max:A0});A3(l.chunkData,2);let m0=A3(l.chunkData,2);m0!==0&&E0.generators.push(new X6(v1.exclusiveClass,m0));let c0=Di(r,"lart"),u1=Di(r,"lar2");this.readLart(c0,u1,E0),E0.isGlobal=!1;let R=r.find(M3=>M3.header==="wsmp");A3(R.chunkData,4);let X0=A3(R.chunkData,2),F0=_o(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),l2=(A3(R.chunkData,4)|0)/-655360;A3(R.chunkData,4);let y1=A3(R.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{A3(R.chunkData,4),A3(R.chunkData,4)===0?Y2=1:Y2=3,T2.start=A3(R.chunkData,4);let $3=A3(R.chunkData,4);T2.end=T2.start+$3}let K2=r.find(M3=>M3.header==="wlnk");if(K2===void 0)return;A3(K2.chunkData,2),A3(K2.chunkData,2),A3(K2.chunkData,4);let i3=A3(K2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(l2||r3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,X0,r3,i3,F0),E0}var Ih=class{constructor(r,l,g,u,b,A0,E0,m0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=u,this.sampleLink=b,this.sampleType=A0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(A0&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{de(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var qC=class extends Ih{constructor(r,l,g,u,b,A0,E0,m0){super(r,l,g,u,0,1,b,A0-1),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}sampleDbAttenuation;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 Ak(A){ri("%cLoading Wave samples...",_1.recognized);let r=0;for(;A.chunkData.currentIndex$3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");if(A3(u.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(A3(u.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=A3(u.chunkData,4);A3(u.chunkData,4),A3(u.chunkData,2);let m0=A3(u.chunkData,2),c0=m0/8,u1=Math.pow(2,c0*8-1),R=Math.pow(2,c0*8),X0,F0=!1;m0===8?(X0=255,F0=!0):X0=u1;let D1=g.find($3=>$3.header==="data");if(!D1)throw new Error("No data chunk in the wave chunk!");let l2=D1.size/c0,y1=new Float32Array(l2);for(let $3=0;$3=u1&&(w6-=R),y1[$3]=w6/X0)}let Y2=60,T2=0,K2=0,i3=y1.length-1,r3=0,o0=g.find($3=>$3.header==="wsmp");if(o0){if(A3(o0.chunkData,4),Y2=A3(o0.chunkData,2),T2=_o(o0.chunkData[o0.chunkData.currentIndex++],o0.chunkData[o0.chunkData.currentIndex++]),r3=(A3(o0.chunkData,4)|0)/-655360,A3(o0.chunkData,4),A3(o0.chunkData,4)===1){A3(o0.chunkData,8),K2=A3(o0.chunkData,4);let s6=A3(o0.chunkData,4);i3=K2+s6}}else de("No wsmp chunk in wave... using sane defaults.");let y5=Di(g,"INFO"),M3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndexm0.header==="colh");if(!b)throw i4(),new Error("No colh chunk!");this.instrumentAmount=A3(b.chunkData,4),W5(`%cInstruments amount: %c${this.instrumentAmount}`,_1.info,_1.recognized);let A0=Di(g,"wvpl");this.readDLSSamples(A0);let E0=Di(g,"lins");if(!E0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(E0),this.presets.sort((m0,c0)=>m0.program-c0.program+(m0.bank-c0.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ls.prototype.readDLSInstrumentList=Ww;Ls.prototype.readDLSInstrument=jw;Ls.prototype.readRegion=ik;Ls.prototype.readLart=tk;Ls.prototype.readDLSSamples=rk;var Uo=Uo!==void 0?Uo:{},nk=!1,sk;Uo.isInitialized=new Promise(A=>sk=A);var KD=function(A){var r,l,g,u,b,A0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c0="",u1=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=m0.indexOf(A.charAt(u1++)),b=m0.indexOf(A.charAt(u1++)),A0=m0.indexOf(A.charAt(u1++)),E0=m0.indexOf(A.charAt(u1++)),r=u<<2|b>>4,l=(15&b)<<4|A0>>2,g=(3&A0)<<6|E0,c0+=String.fromCharCode(r),A0!==64&&(c0+=String.fromCharCode(l)),E0!==64&&(c0+=String.fromCharCode(g));while(u11&&(o0.thisProgram=process.argv[1].replace(/\\/g,"/")),o0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof O$))throw R0}),process.on("unhandledRejection",function(R0,X0){process.exit(1)}),o0.quit=function(R0){process.exit(R0)},o0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(o0.read=function(X0){return read(X0)}),o0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(gr(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?o0.arguments=scriptArgs:typeof arguments<"u"&&(o0.arguments=arguments),typeof quit=="function"&&(o0.quit=function(R0){quit(R0)})):(M3||$3)&&(M3?document.currentScript&&(A9=document.currentScript.src):A9=self.location.href,A9=A9.indexOf("blob:")!==0?A9.split("/").slice(0,-1).join("/")+"/":"",o0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(o0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),o0.readAsync=function(X0,C1,S2){var Z3=new XMLHttpRequest;Z3.open("GET",X0,!0),Z3.responseType="arraybuffer",Z3.onload=function(){if(Z3.status==200||Z3.status==0&&Z3.response){C1(Z3.response);return}S2()},Z3.onerror=S2,Z3.send(null)},o0.setWindowTitle=function(R0){document.title=R0});var r4=o0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),K6=o0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(A in y5)y5.hasOwnProperty(A)&&(o0[A]=y5[A]);function We(R0){var X0=G0;return G0=G0+R0+15&-16,X0}function Or(R0){var X0=m0[K2>>2],C1=X0+R0+15&-16;return m0[K2>>2]=C1,C1>=_9&&!Hr()?(m0[K2>>2]=X0,0):X0}function Yi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function Po(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 gr(X0%8==0),X0/8}}function Fs(R0){Fs.shown||(Fs.shown={}),Fs.shown[R0]||(Fs.shown[R0]=1,K6(R0))}y5=void 0;var Dm={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},S$=[];function KC(R0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function D$(R0,X0,C1){return C1&&C1.length?o0["dynCall_"+R0].apply(null,[X0].concat(C1)):o0["dynCall_"+R0].call(null,X0)}var Oo=0,mh=0;function gr(R0,X0){R0||Ji("Assertion failed: "+X0)}function Ho(R0){var X0=o0["_"+R0];return gr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var bm={stackSave:function(){Gm()},stackRestore:function(){P$()},arrayToC:function(R0){var X0,C1,S2=qo(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=qo(C1),Rm(R0,X0,C1)}return X0}},Ms={string:bm.stringToC,array:bm.arrayToC};function Ch(R0,X0,C1,S2,Z3){var g9=Ho(R0),J9=[],h6=0;if(S2)for(var E7=0;E7>0]=X0;break;case"i16":A0[R0>>1]=X0;break;case"i32":m0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+Qh(tempDouble=X0)>=1?tempDouble>0?(0|wh(+yh(tempDouble/4294967296),4294967295))>>>0:~~+G$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[R0>>2]=tempI64[0],m0[R0+4>>2]=tempI64[1];break;case"float":u1[R0>>2]=X0;break;case"double":R[R0>>3]=X0;break;default:Ji("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 A0[R0>>1];case"i32":case"i64":return m0[R0>>2];case"float":return u1[R0>>2];case"double":return R[R0>>3];default:Ji("invalid type for getValue: "+X0)}return null}function ep(R0,X0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var Z3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Os=="function"?Os:We,qo,We,Or][C1===void 0?2:C1](Math.max(J9,Z3?1:X0.length)),g9){for(S2=h6,gr((3&h6)==0),E7=h6+(-4&J9);S2>2]=0;for(E7=h6+J9;S2>0]=0;return h6}if(Z3==="i8")return R0.subarray||R0.slice?b.set(R0,h6):b.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,E7,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;)Z3=String.fromCharCode.apply(String,b.subarray(R0,R0+Math.min(X0,1024))),h6=h6?h6+Z3:Z3,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&&_m)return _m.decode(Te.subarray(je,Se));for(var h9,Mt,Fi,m7,Tt,Mi,Ti="";;){if(!(h9=Te[je++]))return Ti;if(!(128&h9)){Ti+=String.fromCharCode(h9);continue}if(Mt=63&Te[je++],(224&h9)==192){Ti+=String.fromCharCode((31&h9)<<6|Mt);continue}if(Fi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|Mt<<6|Fi:(m7=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|Mt<<12|Fi<<6|m7:(Tt=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|Mt<<18|Fi<<12|m7<<6|Tt:(1&h9)<<30|Mt<<24|Fi<<18|m7<<12|Tt<<6|(Mi=63&Te[je++]))),h9<65536)Ti+=String.fromCharCode(h9);else{var Ln=h9-65536;Ti+=String.fromCharCode(55296|Ln>>10,56320|1023&Ln)}}}(b,C1)}function tp(R0){for(var X0="";;){var C1=u[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ts(R0,X0){return function(S2,Z3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(u[Z3>>0]=0)}(R0,X0,!1)}var _m=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(R0,X0,C1,S2){if(!(S2>0))return 0;for(var Z3=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-Z3}function Rm(R0,X0,C1){return Rn(R0,b,X0,C1)}function Ns(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 xm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ip(R0){for(var X0=R0,C1=X0>>1;A0[C1];)++C1;if((X0=C1<<1)-R0>32&&xm)return xm.decode(b.subarray(R0,X0));for(var S2=0,Z3="";;){var g9=A0[R0+2*S2>>1];if(g9==0)return Z3;++S2,Z3+=String.fromCharCode(g9)}}function rp(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,X0+=2}return A0[X0>>1]=0,X0-S2}function np(R0){return 2*R0.length}function sp(R0){for(var X0=0,C1="";;){var S2=m0[R0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var Z3=S2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(S2)}}function Ap(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,Z3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),m0[X0>>2]=J9,(X0+=4)+4>Z3)break}return m0[X0>>2]=0,X0-S2}function op(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function ap(R0){var X0=Ns(R0)+1,C1=Os(X0);return C1&&Rn(R0,u,C1,X0),C1}function $p(R0){var X0=Ns(R0)+1,C1=qo(X0);return Rn(R0,u,C1,X0),C1}function Lm(R0){return R0}function zC(){var R0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(Z3){S2=Z3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return o0.extraStackTrace&&(X0+=` -`+o0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,Z3=S2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function Bh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function Fm(R0){o0.buffer=g=R0}function Y9(){o0.HEAP8=u=new Int8Array(g),o0.HEAP16=A0=new Int16Array(g),o0.HEAP32=m0=new Int32Array(g),o0.HEAPU8=b=new Uint8Array(g),o0.HEAPU16=E0=new Uint16Array(g),o0.HEAPU32=c0=new Uint32Array(g),o0.HEAPF32=u1=new Float32Array(g),o0.HEAPF64=R=new Float64Array(g)}function Hr(){var R0=o0.usingWasm?65536:16777216,X0=2147483648-R0;if(m0[K2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Bh(2*_9,R0):Math.min(Bh((3*_9+2147483648)/4,R0),X0);var S2=o0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Fm(S2),Y9(),!0):(_9=C1,!1)}Z0=G0=l2=y1=Y2=T2=K2=0,D1=!1,o0.reallocBuffer||(o0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(g,R0);else{var X0,C1=u;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!jC(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$=o0.TOTAL_STACK||5242880,_9=o0.TOTAL_MEMORY||16777216;function x$(){return _9}function Gs(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?o0.dynCall_v(C1):o0.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 Qh=Math.abs,G$=Math.ceil,yh=Math.floor,wh=Math.min,xn=0,kh=null,Ps=null;function lp(R0){return R0}o0.preloadedImages={},o0.preloadedAudios={};var Nm="data:application/octet-stream;base64,";function U$(R0){return String.prototype.startsWith?R0.startsWith(Nm):R0.indexOf(Nm)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";U$(X0)||(X0=J4(X0)),U$(C1)||(C1=J4(C1)),U$(S2)||(S2=J4(S2));var Z3={global:null,env:null,asm2wasm:Dm,parent:o0},g9=null;function J9(Se){return Se}function h6(){try{if(o0.wasmBinary)return new Uint8Array(o0.wasmBinary);if(o0.readBinary)return o0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ji(Se)}}o0.asmPreload=o0.asm;var E7=o0.reallocBuffer,Te=function(Se){Se=Bh(Se,o0.usingWasm?65536:16777216);var h9=o0.buffer.byteLength;if(o0.usingWasm)try{var Mt=o0.wasmMemory.grow((Se-h9)/65536);return Mt!==-1?o0.buffer=o0.wasmMemory.buffer:null}catch{return null}};o0.reallocBuffer=function(Se){return je==="asmjs"?E7(Se):Te(Se)};var je="";o0.asm=function(Se,h9,Mt){var Fi;if(!(h9=Fi=h9).table){var m7,Tt=o0.wasmTableSize;Tt===void 0&&(Tt=1024);var Mi=o0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Mi!==void 0?h9.table=new WebAssembly.Table({initial:Tt,maximum:Mi,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:Tt,element:"anyfunc"}):h9.table=Array(Tt),o0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=o0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),m7=function(Ln,hr,Um){if(typeof WebAssembly!="object")return K6("no native wasm support detected"),!1;if(!(o0.wasmMemory instanceof WebAssembly.Memory))return K6("no native wasm Memory in use"),!1;function vh(fr,Ki){if((g9=fr.exports).memory){var Yo,Hs,qs;Yo=g9.memory,Hs=o0.buffer,Yo.byteLength0?C1:Ns(R0)+1,Z3=Array(S2),g9=Rn(R0,Z3,0,Z3.length);return X0&&(Z3.length=g9),Z3}function WC(R0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}G0+=16,K2=We(4),Y2=(l2=y1=Yi(G0))+R$,T2=Yi(Y2),m0[K2>>2]=T2,D1=!0,o0.wasmTableSize=4,o0.wasmMaxTableSize=4,o0.asmGlobalArg={},o0.asmLibraryArg={abort:Ji,assert:gr,enlargeMemory:Hr,getTotalMemory:x$,abortOnCannotGrowMemory:function(){Ji("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 Z3=Gm();try{return o0.dynCall_iii(X0,C1,S2)}catch(g9){if(P$(Z3),typeof g9!="number"&&g9!=="longjmp")throw g9;o0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,Z3){Ji("Assertion failed: "+_$(X0)+", at: "+[C1?_$(C1):"unknown filename",S2,Z3?_$(Z3):"unknown function"])},___setErrNo:function(X0){return o0.___errno_location&&(m0[o0.___errno_location()>>2]=X0),X0},_abort:function(){o0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return b.set(b.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:yh,DYNAMICTOP_PTR:K2,tempDoublePtr:Ft,ABORT:Oo,STACKTOP:y1,STACK_MAX:Y2};var Jr=o0.asm(o0.asmGlobalArg,o0.asmLibraryArg,g);o0.asm=Jr,o0.___errno_location=function(){return o0.asm.___errno_location.apply(null,arguments)};var jC=o0._emscripten_replace_memory=function(){return o0.asm._emscripten_replace_memory.apply(null,arguments)};o0._free=function(){return o0.asm._free.apply(null,arguments)};var Os=o0._malloc=function(){return o0.asm._malloc.apply(null,arguments)};o0._memcpy=function(){return o0.asm._memcpy.apply(null,arguments)},o0._memset=function(){return o0.asm._memset.apply(null,arguments)},o0._sbrk=function(){return o0.asm._sbrk.apply(null,arguments)},o0._stb_vorbis_js_channels=function(){return o0.asm._stb_vorbis_js_channels.apply(null,arguments)},o0._stb_vorbis_js_close=function(){return o0.asm._stb_vorbis_js_close.apply(null,arguments)},o0._stb_vorbis_js_decode=function(){return o0.asm._stb_vorbis_js_decode.apply(null,arguments)},o0._stb_vorbis_js_open=function(){return o0.asm._stb_vorbis_js_open.apply(null,arguments)},o0._stb_vorbis_js_sample_rate=function(){return o0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},o0.establishStackSpace=function(){return o0.asm.establishStackSpace.apply(null,arguments)},o0.getTempRet0=function(){return o0.asm.getTempRet0.apply(null,arguments)},o0.runPostSets=function(){return o0.asm.runPostSets.apply(null,arguments)},o0.setTempRet0=function(){return o0.asm.setTempRet0.apply(null,arguments)},o0.setThrew=function(){return o0.asm.setThrew.apply(null,arguments)};var qo=o0.stackAlloc=function(){return o0.asm.stackAlloc.apply(null,arguments)},P$=o0.stackRestore=function(){return o0.asm.stackRestore.apply(null,arguments)},Gm=o0.stackSave=function(){return o0.asm.stackSave.apply(null,arguments)};function O$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function H$(R0){R0=R0||o0.arguments,!(xn>0)&&(function(){if(o0.preRun)for(typeof o0.preRun=="function"&&(o0.preRun=[o0.preRun]);o0.preRun.length;)ZC(o0.preRun.shift());Gs(qr)}(),!(xn>0)&&(o0.calledRun||(o0.setStatus?(o0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o0.setStatus("")},1),X0()},1)):X0())));function X0(){!o0.calledRun&&(o0.calledRun=!0,Oo||(M$||(M$=!0,Gs(L$)),Gs(ph),o0.onRuntimeInitialized&&o0.onRuntimeInitialized(),function(){if(o0.postRun)for(typeof o0.postRun=="function"&&(o0.postRun=[o0.postRun]);o0.postRun.length;)Li(o0.postRun.shift());Gs(F$)}()))}}function XC(R0,X0){(!X0||!o0.noExitRuntime||R0!==0)&&(o0.noExitRuntime||(Oo=!0,mh=R0,y1=r3,Gs(Bi),xi=!0,o0.onExit&&o0.onExit(R0)),o0.quit(R0,new O$(R0)))}function Ji(R0){throw o0.onAbort&&o0.onAbort(R0),R0!==void 0?(r4(R0),K6(R0),R0=JSON.stringify(R0)):R0="",Oo=!0,mh=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(o0.dynCall_iii=function(){return o0.asm.dynCall_iii.apply(null,arguments)},o0.asm=Jr,o0.ccall=Ch,o0.cwrap=function(X0,C1,S2,Z3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!Z3?Ho(X0):function(){return Ch(X0,C1,S2,arguments,Z3)}},O$.prototype=Error(),O$.prototype.constructor=O$,Ps=function R0(){o0.calledRun||H$(),o0.calledRun||(Ps=R0)},o0.run=H$,o0.abort=Ji,o0.preInit)for(typeof o0.preInit=="function"&&(o0.preInit=[o0.preInit]);o0.preInit.length>0;)o0.preInit.pop()();o0.noExitRuntime=!0,H$(),o0.onRuntimeInitialized=()=>{nk=!0,sk()},Uo.decode=function(R0){return function(C1){if(!nk)throw Error("Not initialized");var S2={};function Z3(hr){return new Int32Array(o0.HEAPU8.buffer,hr,1)[0]}function g9(hr,Um){var vh=new ArrayBuffer(Um*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(vh);return y8.set(new Float32Array(o0.HEAPU8.buffer,hr,Um)),y8}S2.open=o0.cwrap("stb_vorbis_js_open","number",[]),S2.close=o0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=o0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=o0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=o0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,E7,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,E7=o0._malloc(h6),(Te=new Uint8Array(o0.HEAPU8.buffer,E7,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=o0._malloc(4),Mt=o0._malloc(4),Fi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,Mt);if(o0._free(Se.byteOffset),Fi<0)throw S2.close(je),o0._free(h9),Error("stbvorbis decode failed: "+Fi);for(var m7=S2.channels(je),Tt=Array(m7),Mi=new Int32Array(o0.HEAPU32.buffer,Z3(h9),m7),Ti=0;TiA.chunkData.currentIndex;){let b=VD(u,A.chunkData,r,l);g.push(b),u++}return g.length>1&&g.pop(),g}function VD(A,r,l,g){let u=Ie(r,20),b=A3(r,4)*2,A0=A3(r,4)*2,E0=A3(r,4)*2,m0=A3(r,4)*2,c0=A3(r,4),u1=r[r.currentIndex++];u1===255&&(u1=60);let R=zQ(r[r.currentIndex++]),Z0=A3(r,2),G0=A3(r,2);return new YB(u,b,A0,E0,m0,c0,u1,R,Z0,G0,l,A,g)}var JB=class extends dh{constructor(r){super(),this.instrumentName=Ie(r.chunkData,20).trim(),this.instrumentZoneIndex=A3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;gA.chunkData.currentIndex;){let g=new JB(A);if(l.length>0){let u=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(u,r)}l.push(g)}return l.length>1&&l.pop(),l}var KB=class extends Go{constructor(r){super(),this.generatorZoneStartIndex=A3(r,2),this.modulatorZoneStartIndex=A3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function ak(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new KB(A.chunkData);if(u.length>0){let A0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(A0,E0),u[u.length-1].getGenerators(r),u[u.length-1].getModulators(l),u[u.length-1].getSample(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(b)}return u.length>1&&u.pop(),u}var VB=class extends uh{constructor(r){super(),this.generatorZoneStartIndex=A3(r,2),this.modulatorZoneStartIndex=A3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function $k(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new VB(A.chunkData);if(u.length>0){let A0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(A0,E0),u[u.length-1].getGenerators(r),u[u.length-1].getModulators(l),u[u.length-1].getInstrument(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(b)}return u.length>1&&u.pop(),u}var zB=class extends fh{constructor(r,l){super(l),this.presetName=Ie(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=A3(r.chunkData,2),this.bank=A3(r.chunkData,2),this.presetZoneStartIndex=A3(r.chunkData,2),this.library=A3(r.chunkData,4),this.genre=A3(r.chunkData,4),this.morphology=A3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;gA.chunkData.currentIndex;){let u=new zB(A,l);if(g.length>0){let b=u.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(b,r)}g.push(u)}return g.length>1&&g.pop(),g}var qC=class extends k${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J3(r),lr("%cParsing SoundFont...",_1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let u=Ie(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let b=u==="sfpk",A0=d4(this.dataArray);for(this.verifyHeader(A0,"list"),Ie(A0.chunkData,4);A0.chunkData.length>A0.chunkData.currentIndex;){let w6=d4(A0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${A3(w6.chunkData,2)}.${A3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ie(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let A9=EC(w6);A9.pop(),s6=`Modulators: ${A9.length}`;let J4=this.defaultModulators;this.defaultModulators=A9,this.defaultModulators.push(...J4.filter(r4=>!this.defaultModulators.find(K6=>me.isIdentical(r4,K6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ie(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}W5(`%c"${w6.header}": %c"${s6}"`,_1.info,_1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ie(this.dataArray,4),"sdta"),W5("%cVerifying smpl chunk...",_1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let c0;if(b){W5("%cSF2Pack detected, attempting to decode the smpl chunk...",_1.info);try{c0=Uo.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}W5(`%cDecoded the smpl chunk! Length: %c${c0.length}`,_1.info,_1.value)}else c0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;W5(`%cSkipping sample chunk, length: %c${E0.size-12}`,_1.info,_1.value),this.dataArray.currentIndex+=E0.size-12,W5("%cLoading preset data chunk...",_1.warn);let u1=d4(this.dataArray);this.verifyHeader(u1,"list"),Ie(u1.chunkData,4);let R=d4(u1.chunkData);this.verifyHeader(R,"phdr");let Z0=d4(u1.chunkData);this.verifyHeader(Z0,"pbag");let G0=d4(u1.chunkData);this.verifyHeader(G0,"pmod");let D1=d4(u1.chunkData);this.verifyHeader(D1,"pgen");let l2=d4(u1.chunkData);this.verifyHeader(l2,"inst");let y1=d4(u1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(u1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(u1.chunkData);this.verifyHeader(T2,"igen");let K2=d4(u1.chunkData);this.verifyHeader(K2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Ak(K2,c0,!b));let i3=xB(T2),r3=EC(Y2),o0=ak(y1,i3,r3,this.samples);this.instruments=ok(l2,o0);let y5=xB(D1),M3=EC(G0),$3=$k(Z0,y5,M3,this.instruments);this.presets.push(...lk(R,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4(),b&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Eh(A){let r=A.slice(8,12),l=new J3(r);return Ie(l,4,void 0,!1).toLowerCase()==="dls "?new Ls(A):new qC(A,!1)}async function ck(){let A="locale.exportAudio.formats.formats.soundfont.options.";P7(this.localeManager.getLocaleString(A+"title"),[{type:"toggle",translatePathTitle:A+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:A+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:A+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,g=r.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(r.div.querySelector("input[type='range']").value)/10;ht(r.id),lr("%cExporting minified soundfont...",_1.info);let b=await this.seq.getMIDI(),A0=Eh(b.embeddedSoundFont||this.soundFont);lh(b,await this.synth.getSynthesizerSnapshot()),l&&UC(A0,b);let E0=A0.write({compress:g,compressionQuality:u,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),c0=A0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${A0.soundFontInfo.INAM||"unnamed"}.${c0}`),i4()}}],99999999,!0,this.localeManager)}async function gk(){let A="locale.exportAudio.formats.";P7(this.localeManager.getLocaleString(A+"title"),[{type:"button",translatePathTitle:A+"formats.wav.button",onClick:r=>{ht(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:A+"formats.midi.button",onClick:r=>{ht(r.id),this.exportMidi()}},{type:"button",translatePathTitle:A+"formats.soundfont.button",onClick:r=>{ht(r.id);try{this._exportSoundfont()}catch{P7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:A+"formats.rmidi.button",onClick:r=>{ht(r.id);try{this._exportRMIDI()}catch{P7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function hk(){let A=(R,Z0,G0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?Z0:G0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),r=A("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=A("IPRD","",l),u=A("IART","",l),b=A("IGNR","",l),A0=A("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",u1=P7(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:b,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:A0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async R=>{let Z0=R.div.querySelector("input[compress-toggle='1']").checked,G0=parseInt(R.div.querySelector("input[type='range']").value)/10,D1=R.div.querySelector("input[name='album']").value,l2=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,K2=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];ht(R.id),ri("%cExporting RMIDI...",_1.info);let o0="locale.exportAudio.formats.formats.rmidi.progress.",y5=P7(this.localeManager.getLocaleString(o0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(o0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(K6=>setTimeout(K6,500));let M3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Eh($3.embeddedSoundFont||this.soundFont);M3.textContent=this.localeManager.getLocaleString(o0+"modifyingMIDI"),await new Promise(K6=>setTimeout(K6,75)),lh($3,await this.synth.getSynthesizerSnapshot()),M3.textContent=this.localeManager.getLocaleString(o0+"modifyingSoundfont"),await new Promise(K6=>setTimeout(K6,75)),UC(w6,$3);let s6=w6.write({compress:Z0,compressionQuality:G0,compressionFunction:this.compressionFunc});M3.textContent=this.localeManager.getLocaleString(o0+"saving"),await new Promise(K6=>setTimeout(K6,75));let A9;r3?.type.split("/")[0]==="image"?A9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(A9=$3.RMIDInfo.IPIC.buffer);let J4=uy(s6,$3,w6,K2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:A9,album:D1.length>0?D1:void 0,artist:l2.length>0?l2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([J4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),M3.textContent=this.localeManager.getLocaleString(o0+"done"),ht(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");u1.oninput=()=>{u1.files[0]&&(u1.parentElement.firstChild.textContent=u1.files[0].name)}}var YC={init:function(){var A;A||(A=(typeof A<"u"?A:null)||{});var r={};for(var l in A)A.hasOwnProperty(l)&&(r[l]=A[l]);var g=typeof window=="object",u=typeof process=="object"&&typeof hC=="function"&&!g,b=typeof importScripts=="function",A0=!g&&!u&&!b;if(u){A.print||(A.print=function($){process.stdout.write($+` + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ls.prototype.readDLSInstrumentList=ek;Ls.prototype.readDLSInstrument=tk;Ls.prototype.readRegion=sk;Ls.prototype.readLart=nk;Ls.prototype.readDLSSamples=Ak;var Uo=Uo!==void 0?Uo:{},ok=!1,ak;Uo.isInitialized=new Promise(A=>ak=A);var zD=function(A){var r,l,g,u,b,A0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c0="",u1=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=m0.indexOf(A.charAt(u1++)),b=m0.indexOf(A.charAt(u1++)),A0=m0.indexOf(A.charAt(u1++)),E0=m0.indexOf(A.charAt(u1++)),r=u<<2|b>>4,l=(15&b)<<4|A0>>2,g=(3&A0)<<6|E0,c0+=String.fromCharCode(r),A0!==64&&(c0+=String.fromCharCode(l)),E0!==64&&(c0+=String.fromCharCode(g));while(u11&&(o0.thisProgram=process.argv[1].replace(/\\/g,"/")),o0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof O$))throw R0}),process.on("unhandledRejection",function(R0,j0){process.exit(1)}),o0.quit=function(R0){process.exit(R0)},o0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(o0.read=function(j0){return read(j0)}),o0.readBinary=function(j0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(j0)):(gr(typeof(C1=read(j0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?o0.arguments=scriptArgs:typeof arguments<"u"&&(o0.arguments=arguments),typeof quit=="function"&&(o0.quit=function(R0){quit(R0)})):(M3||$3)&&(M3?document.currentScript&&(A9=document.currentScript.src):A9=self.location.href,A9=A9.indexOf("blob:")!==0?A9.split("/").slice(0,-1).join("/")+"/":"",o0.read=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.send(null),C1.responseText},$3&&(o0.readBinary=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),o0.readAsync=function(j0,C1,S2){var Z3=new XMLHttpRequest;Z3.open("GET",j0,!0),Z3.responseType="arraybuffer",Z3.onload=function(){if(Z3.status==200||Z3.status==0&&Z3.response){C1(Z3.response);return}S2()},Z3.onerror=S2,Z3.send(null)},o0.setWindowTitle=function(R0){document.title=R0});var r4=o0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),K6=o0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(A in y5)y5.hasOwnProperty(A)&&(o0[A]=y5[A]);function We(R0){var j0=F0;return F0=F0+R0+15&-16,j0}function Or(R0){var j0=m0[K2>>2],C1=j0+R0+15&-16;return m0[K2>>2]=C1,C1>=_9&&!Hr()?(m0[K2>>2]=j0,0):j0}function Yi(R0,j0){return j0||(j0=16),R0=Math.ceil(R0/j0)*j0}function Po(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 j0=parseInt(R0.substr(1));return gr(j0%8==0),j0/8}}function Fs(R0){Fs.shown||(Fs.shown={}),Fs.shown[R0]||(Fs.shown[R0]=1,K6(R0))}y5=void 0;var Dm={"f64-rem":function(R0,j0){return R0%j0},debugger:function(){}},S$=[];function VC(R0,j0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(j0>>>0):+(R0>>>0)+4294967296*+(0|j0)}function D$(R0,j0,C1){return C1&&C1.length?o0["dynCall_"+R0].apply(null,[j0].concat(C1)):o0["dynCall_"+R0].call(null,j0)}var Oo=0,mh=0;function gr(R0,j0){R0||Ji("Assertion failed: "+j0)}function Ho(R0){var j0=o0["_"+R0];return gr(j0,"Cannot call unknown function "+R0+", make sure it is exported"),j0}var bm={stackSave:function(){Gm()},stackRestore:function(){P$()},arrayToC:function(R0){var j0,C1,S2=qo(R0.length);return j0=R0,C1=S2,u.set(j0,C1),S2},stringToC:function(R0){var j0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;j0=qo(C1),Rm(R0,j0,C1)}return j0}},Ms={string:bm.stringToC,array:bm.arrayToC};function Ch(R0,j0,C1,S2,Z3){var g9=Ho(R0),J9=[],h6=0;if(S2)for(var E7=0;E7>0]=j0;break;case"i16":A0[R0>>1]=j0;break;case"i32":m0[R0>>2]=j0;break;case"i64":tempI64=[j0>>>0,+Qh(tempDouble=j0)>=1?tempDouble>0?(0|wh(+yh(tempDouble/4294967296),4294967295))>>>0:~~+G$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[R0>>2]=tempI64[0],m0[R0+4>>2]=tempI64[1];break;case"float":u1[R0>>2]=j0;break;case"double":R[R0>>3]=j0;break;default:Ji("invalid type for setValue: "+C1)}}function E3(R0,j0,C1){switch((j0=j0||"i8").charAt(j0.length-1)==="*"&&(j0="i32"),j0){case"i1":case"i8":return u[R0>>0];case"i16":return A0[R0>>1];case"i32":case"i64":return m0[R0>>2];case"float":return u1[R0>>2];case"double":return R[R0>>3];default:Ji("invalid type for getValue: "+j0)}return null}function ep(R0,j0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var Z3=typeof j0=="string"?j0:null;if(h6=C1==4?S2:[typeof Os=="function"?Os:We,qo,We,Or][C1===void 0?2:C1](Math.max(J9,Z3?1:j0.length)),g9){for(S2=h6,gr((3&h6)==0),E7=h6+(-4&J9);S2>2]=0;for(E7=h6+J9;S2>0]=0;return h6}if(Z3==="i8")return R0.subarray||R0.slice?b.set(R0,h6):b.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,E7,Te,je,Se,h9=0;h9>0],(S2!=0||j0)&&(J9++,!j0||J9!=j0););j0||(j0=J9);var h6="";if(g9<128){for(;j0>0;)Z3=String.fromCharCode.apply(String,b.subarray(R0,R0+Math.min(j0,1024))),h6=h6?h6+Z3:Z3,R0+=1024,j0-=1024;return h6}return C1=R0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&_m)return _m.decode(Te.subarray(je,Se));for(var h9,Mt,Fi,m7,Tt,Mi,Ti="";;){if(!(h9=Te[je++]))return Ti;if(!(128&h9)){Ti+=String.fromCharCode(h9);continue}if(Mt=63&Te[je++],(224&h9)==192){Ti+=String.fromCharCode((31&h9)<<6|Mt);continue}if(Fi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|Mt<<6|Fi:(m7=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|Mt<<12|Fi<<6|m7:(Tt=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|Mt<<18|Fi<<12|m7<<6|Tt:(1&h9)<<30|Mt<<24|Fi<<18|m7<<12|Tt<<6|(Mi=63&Te[je++]))),h9<65536)Ti+=String.fromCharCode(h9);else{var Ln=h9-65536;Ti+=String.fromCharCode(55296|Ln>>10,56320|1023&Ln)}}}(b,C1)}function tp(R0){for(var j0="";;){var C1=u[R0++>>0];if(!C1)return j0;j0+=String.fromCharCode(C1)}}function Ts(R0,j0){return function(S2,Z3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(u[Z3>>0]=0)}(R0,j0,!1)}var _m=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(R0,j0,C1,S2){if(!(S2>0))return 0;for(var Z3=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;j0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;j0[C1++]=192|h6>>6,j0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;j0[C1++]=224|h6>>12,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;j0[C1++]=240|h6>>18,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;j0[C1++]=248|h6>>24,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else{if(C1+5>=g9)break;j0[C1++]=252|h6>>30,j0[C1++]=128|h6>>24&63,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}}return j0[C1]=0,C1-Z3}function Rm(R0,j0,C1){return Rn(R0,b,j0,C1)}function Ns(R0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&R0.charCodeAt(++C1)),S2<=127?++j0:S2<=2047?j0+=2:S2<=65535?j0+=3:S2<=2097151?j0+=4:S2<=67108863?j0+=5:j0+=6}return j0}var xm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ip(R0){for(var j0=R0,C1=j0>>1;A0[C1];)++C1;if((j0=C1<<1)-R0>32&&xm)return xm.decode(b.subarray(R0,j0));for(var S2=0,Z3="";;){var g9=A0[R0+2*S2>>1];if(g9==0)return Z3;++S2,Z3+=String.fromCharCode(g9)}}function rp(R0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=j0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,j0+=2}return A0[j0>>1]=0,j0-S2}function np(R0){return 2*R0.length}function sp(R0){for(var j0=0,C1="";;){var S2=m0[R0+4*j0>>2];if(S2==0)return C1;if(++j0,S2>=65536){var Z3=S2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(S2)}}function Ap(R0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=j0,Z3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),m0[j0>>2]=J9,(j0+=4)+4>Z3)break}return m0[j0>>2]=0,j0-S2}function op(R0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&++C1,j0+=4}return j0}function ap(R0){var j0=Ns(R0)+1,C1=Os(j0);return C1&&Rn(R0,u,C1,j0),C1}function $p(R0){var j0=Ns(R0)+1,C1=qo(j0);return Rn(R0,u,C1,j0),C1}function Lm(R0){return R0}function ZC(){var R0,j0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(Z3){S2=Z3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return o0.extraStackTrace&&(j0+=` +`+o0.extraStackTrace()),(R0=j0).replace(/__Z[\w\d_]+/g,function(C1){var S2,Z3=S2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function Bh(R0,j0){return R0%j0>0&&(R0+=j0-R0%j0),R0}function Fm(R0){o0.buffer=g=R0}function Y9(){o0.HEAP8=u=new Int8Array(g),o0.HEAP16=A0=new Int16Array(g),o0.HEAP32=m0=new Int32Array(g),o0.HEAPU8=b=new Uint8Array(g),o0.HEAPU16=E0=new Uint16Array(g),o0.HEAPU32=c0=new Uint32Array(g),o0.HEAPF32=u1=new Float32Array(g),o0.HEAPF64=R=new Float64Array(g)}function Hr(){var R0=o0.usingWasm?65536:16777216,j0=2147483648-R0;if(m0[K2>>2]>j0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Bh(2*_9,R0):Math.min(Bh((3*_9+2147483648)/4,R0),j0);var S2=o0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Fm(S2),Y9(),!0):(_9=C1,!1)}X0=F0=l2=y1=Y2=T2=K2=0,D1=!1,o0.reallocBuffer||(o0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)j0=ArrayBuffer.transfer(g,R0);else{var j0,C1=u;j0=new ArrayBuffer(R0),new Int8Array(j0).set(C1)}}catch{return!1}return!!XC(j0)&&j0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(j0){return j0.byteLength}}var R$=o0.TOTAL_STACK||5242880,_9=o0.TOTAL_MEMORY||16777216;function x$(){return _9}function Gs(R0){for(;R0.length>0;){var j0=R0.shift();if(typeof j0=="function"){j0();continue}var C1=j0.func;typeof C1=="number"?j0.arg===void 0?o0.dynCall_v(C1):o0.dynCall_vi(C1,j0.arg):C1(j0.arg===void 0?null:j0.arg)}}_9=0?R0:j0<=32?2*Math.abs(1<=S2&&(j0<=32||R0>S2)&&(R0=-2*S2+R0),R0}var Qh=Math.abs,G$=Math.ceil,yh=Math.floor,wh=Math.min,xn=0,kh=null,Ps=null;function lp(R0){return R0}o0.preloadedImages={},o0.preloadedAudios={};var Nm="data:application/octet-stream;base64,";function U$(R0){return String.prototype.startsWith?R0.startsWith(Nm):R0.indexOf(Nm)===0}(function(){var j0="main.wast",C1="main.wasm",S2="main.temp.asm.js";U$(j0)||(j0=J4(j0)),U$(C1)||(C1=J4(C1)),U$(S2)||(S2=J4(S2));var Z3={global:null,env:null,asm2wasm:Dm,parent:o0},g9=null;function J9(Se){return Se}function h6(){try{if(o0.wasmBinary)return new Uint8Array(o0.wasmBinary);if(o0.readBinary)return o0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ji(Se)}}o0.asmPreload=o0.asm;var E7=o0.reallocBuffer,Te=function(Se){Se=Bh(Se,o0.usingWasm?65536:16777216);var h9=o0.buffer.byteLength;if(o0.usingWasm)try{var Mt=o0.wasmMemory.grow((Se-h9)/65536);return Mt!==-1?o0.buffer=o0.wasmMemory.buffer:null}catch{return null}};o0.reallocBuffer=function(Se){return je==="asmjs"?E7(Se):Te(Se)};var je="";o0.asm=function(Se,h9,Mt){var Fi;if(!(h9=Fi=h9).table){var m7,Tt=o0.wasmTableSize;Tt===void 0&&(Tt=1024);var Mi=o0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Mi!==void 0?h9.table=new WebAssembly.Table({initial:Tt,maximum:Mi,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:Tt,element:"anyfunc"}):h9.table=Array(Tt),o0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=o0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),m7=function(Ln,hr,Um){if(typeof WebAssembly!="object")return K6("no native wasm support detected"),!1;if(!(o0.wasmMemory instanceof WebAssembly.Memory))return K6("no native wasm Memory in use"),!1;function vh(fr,Ki){if((g9=fr.exports).memory){var Yo,Hs,qs;Yo=g9.memory,Hs=o0.buffer,Yo.byteLength0?C1:Ns(R0)+1,Z3=Array(S2),g9=Rn(R0,Z3,0,Z3.length);return j0&&(Z3.length=g9),Z3}function jC(R0){for(var j0=[],C1=0;C1255&&(S2&=255),j0.push(String.fromCharCode(S2))}return j0.join("")}F0+=16,K2=We(4),Y2=(l2=y1=Yi(F0))+R$,T2=Yi(Y2),m0[K2>>2]=T2,D1=!0,o0.wasmTableSize=4,o0.wasmMaxTableSize=4,o0.asmGlobalArg={},o0.asmLibraryArg={abort:Ji,assert:gr,enlargeMemory:Hr,getTotalMemory:x$,abortOnCannotGrowMemory:function(){Ji("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(j0,C1,S2){var Z3=Gm();try{return o0.dynCall_iii(j0,C1,S2)}catch(g9){if(P$(Z3),typeof g9!="number"&&g9!=="longjmp")throw g9;o0.setThrew(1,0)}},___assert_fail:function(j0,C1,S2,Z3){Ji("Assertion failed: "+_$(j0)+", at: "+[C1?_$(C1):"unknown filename",S2,Z3?_$(Z3):"unknown function"])},___setErrNo:function(j0){return o0.___errno_location&&(m0[o0.___errno_location()>>2]=j0),j0},_abort:function(){o0.abort()},_emscripten_memcpy_big:function(j0,C1,S2){return b.set(b.subarray(C1,C1+S2),j0),j0},_llvm_floor_f64:yh,DYNAMICTOP_PTR:K2,tempDoublePtr:Ft,ABORT:Oo,STACKTOP:y1,STACK_MAX:Y2};var Jr=o0.asm(o0.asmGlobalArg,o0.asmLibraryArg,g);o0.asm=Jr,o0.___errno_location=function(){return o0.asm.___errno_location.apply(null,arguments)};var XC=o0._emscripten_replace_memory=function(){return o0.asm._emscripten_replace_memory.apply(null,arguments)};o0._free=function(){return o0.asm._free.apply(null,arguments)};var Os=o0._malloc=function(){return o0.asm._malloc.apply(null,arguments)};o0._memcpy=function(){return o0.asm._memcpy.apply(null,arguments)},o0._memset=function(){return o0.asm._memset.apply(null,arguments)},o0._sbrk=function(){return o0.asm._sbrk.apply(null,arguments)},o0._stb_vorbis_js_channels=function(){return o0.asm._stb_vorbis_js_channels.apply(null,arguments)},o0._stb_vorbis_js_close=function(){return o0.asm._stb_vorbis_js_close.apply(null,arguments)},o0._stb_vorbis_js_decode=function(){return o0.asm._stb_vorbis_js_decode.apply(null,arguments)},o0._stb_vorbis_js_open=function(){return o0.asm._stb_vorbis_js_open.apply(null,arguments)},o0._stb_vorbis_js_sample_rate=function(){return o0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},o0.establishStackSpace=function(){return o0.asm.establishStackSpace.apply(null,arguments)},o0.getTempRet0=function(){return o0.asm.getTempRet0.apply(null,arguments)},o0.runPostSets=function(){return o0.asm.runPostSets.apply(null,arguments)},o0.setTempRet0=function(){return o0.asm.setTempRet0.apply(null,arguments)},o0.setThrew=function(){return o0.asm.setThrew.apply(null,arguments)};var qo=o0.stackAlloc=function(){return o0.asm.stackAlloc.apply(null,arguments)},P$=o0.stackRestore=function(){return o0.asm.stackRestore.apply(null,arguments)},Gm=o0.stackSave=function(){return o0.asm.stackSave.apply(null,arguments)};function O$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function H$(R0){R0=R0||o0.arguments,!(xn>0)&&(function(){if(o0.preRun)for(typeof o0.preRun=="function"&&(o0.preRun=[o0.preRun]);o0.preRun.length;)WC(o0.preRun.shift());Gs(qr)}(),!(xn>0)&&(o0.calledRun||(o0.setStatus?(o0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o0.setStatus("")},1),j0()},1)):j0())));function j0(){!o0.calledRun&&(o0.calledRun=!0,Oo||(M$||(M$=!0,Gs(L$)),Gs(ph),o0.onRuntimeInitialized&&o0.onRuntimeInitialized(),function(){if(o0.postRun)for(typeof o0.postRun=="function"&&(o0.postRun=[o0.postRun]);o0.postRun.length;)Li(o0.postRun.shift());Gs(F$)}()))}}function eB(R0,j0){(!j0||!o0.noExitRuntime||R0!==0)&&(o0.noExitRuntime||(Oo=!0,mh=R0,y1=r3,Gs(Bi),xi=!0,o0.onExit&&o0.onExit(R0)),o0.quit(R0,new O$(R0)))}function Ji(R0){throw o0.onAbort&&o0.onAbort(R0),R0!==void 0?(r4(R0),K6(R0),R0=JSON.stringify(R0)):R0="",Oo=!0,mh=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(o0.dynCall_iii=function(){return o0.asm.dynCall_iii.apply(null,arguments)},o0.asm=Jr,o0.ccall=Ch,o0.cwrap=function(j0,C1,S2,Z3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!Z3?Ho(j0):function(){return Ch(j0,C1,S2,arguments,Z3)}},O$.prototype=Error(),O$.prototype.constructor=O$,Ps=function R0(){o0.calledRun||H$(),o0.calledRun||(Ps=R0)},o0.run=H$,o0.abort=Ji,o0.preInit)for(typeof o0.preInit=="function"&&(o0.preInit=[o0.preInit]);o0.preInit.length>0;)o0.preInit.pop()();o0.noExitRuntime=!0,H$(),o0.onRuntimeInitialized=()=>{ok=!0,ak()},Uo.decode=function(R0){return function(C1){if(!ok)throw Error("Not initialized");var S2={};function Z3(hr){return new Int32Array(o0.HEAPU8.buffer,hr,1)[0]}function g9(hr,Um){var vh=new ArrayBuffer(Um*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(vh);return y8.set(new Float32Array(o0.HEAPU8.buffer,hr,Um)),y8}S2.open=o0.cwrap("stb_vorbis_js_open","number",[]),S2.close=o0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=o0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=o0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=o0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,E7,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,E7=o0._malloc(h6),(Te=new Uint8Array(o0.HEAPU8.buffer,E7,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=o0._malloc(4),Mt=o0._malloc(4),Fi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,Mt);if(o0._free(Se.byteOffset),Fi<0)throw S2.close(je),o0._free(h9),Error("stbvorbis decode failed: "+Fi);for(var m7=S2.channels(je),Tt=Array(m7),Mi=new Int32Array(o0.HEAPU32.buffer,Z3(h9),m7),Ti=0;TiA.chunkData.currentIndex;){let b=ZD(u,A.chunkData,r,l);g.push(b),u++}return g.length>1&&g.pop(),g}function ZD(A,r,l,g){let u=Ie(r,20),b=A3(r,4)*2,A0=A3(r,4)*2,E0=A3(r,4),m0=A3(r,4),c0=A3(r,4),u1=r[r.currentIndex++];u1===255&&(u1=60);let R=jQ(r[r.currentIndex++]),X0=A3(r,2),F0=A3(r,2);return new YB(u,b,A0,E0,m0,c0,u1,R,X0,F0,l,A,g)}var JB=class extends dh{constructor(r){super(),this.instrumentName=Ie(r.chunkData,20).trim(),this.instrumentZoneIndex=A3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;gA.chunkData.currentIndex;){let g=new JB(A);if(l.length>0){let u=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(u,r)}l.push(g)}return l.length>1&&l.pop(),l}var KB=class extends Go{constructor(r){super(),this.generatorZoneStartIndex=A3(r,2),this.modulatorZoneStartIndex=A3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function ck(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new KB(A.chunkData);if(u.length>0){let A0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(A0,E0),u[u.length-1].getGenerators(r),u[u.length-1].getModulators(l),u[u.length-1].getSample(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(b)}return u.length>1&&u.pop(),u}var VB=class extends uh{constructor(r){super(),this.generatorZoneStartIndex=A3(r,2),this.modulatorZoneStartIndex=A3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function gk(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new VB(A.chunkData);if(u.length>0){let A0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,E0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(A0,E0),u[u.length-1].getGenerators(r),u[u.length-1].getModulators(l),u[u.length-1].getInstrument(g),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(b)}return u.length>1&&u.pop(),u}var zB=class extends fh{constructor(r,l){super(l),this.presetName=Ie(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=A3(r.chunkData,2),this.bank=A3(r.chunkData,2),this.presetZoneStartIndex=A3(r.chunkData,2),this.library=A3(r.chunkData,4),this.genre=A3(r.chunkData,4),this.morphology=A3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;gA.chunkData.currentIndex;){let u=new zB(A,l);if(g.length>0){let b=u.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(b,r)}g.push(u)}return g.length>1&&g.pop(),g}var YC=class extends k${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J3(r),lr("%cParsing SoundFont...",_1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let u=Ie(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let b=u==="sfpk",A0=d4(this.dataArray);for(this.verifyHeader(A0,"list"),Ie(A0.chunkData,4);A0.chunkData.length>A0.chunkData.currentIndex;){let w6=d4(A0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${A3(w6.chunkData,2)}.${A3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ie(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let A9=mC(w6);A9.pop(),s6=`Modulators: ${A9.length}`;let J4=this.defaultModulators;this.defaultModulators=A9,this.defaultModulators.push(...J4.filter(r4=>!this.defaultModulators.find(K6=>me.isIdentical(r4,K6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ie(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}W5(`%c"${w6.header}": %c"${s6}"`,_1.info,_1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ie(this.dataArray,4),"sdta"),W5("%cVerifying smpl chunk...",_1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let c0;if(b){W5("%cSF2Pack detected, attempting to decode the smpl chunk...",_1.info);try{c0=Uo.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}W5(`%cDecoded the smpl chunk! Length: %c${c0.length}`,_1.info,_1.value)}else c0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;W5(`%cSkipping sample chunk, length: %c${E0.size-12}`,_1.info,_1.value),this.dataArray.currentIndex+=E0.size-12,W5("%cLoading preset data chunk...",_1.warn);let u1=d4(this.dataArray);this.verifyHeader(u1,"list"),Ie(u1.chunkData,4);let R=d4(u1.chunkData);this.verifyHeader(R,"phdr");let X0=d4(u1.chunkData);this.verifyHeader(X0,"pbag");let F0=d4(u1.chunkData);this.verifyHeader(F0,"pmod");let D1=d4(u1.chunkData);this.verifyHeader(D1,"pgen");let l2=d4(u1.chunkData);this.verifyHeader(l2,"inst");let y1=d4(u1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(u1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(u1.chunkData);this.verifyHeader(T2,"igen");let K2=d4(u1.chunkData);this.verifyHeader(K2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...$k(K2,c0,!b));let i3=xB(T2),r3=mC(Y2),o0=ck(y1,i3,r3,this.samples);this.instruments=lk(l2,o0);let y5=xB(D1),M3=mC(F0),$3=gk(X0,y5,M3,this.instruments);this.presets.push(...hk(R,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4(),b&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Eh(A){let r=A.slice(8,12),l=new J3(r);return Ie(l,4,void 0,!1).toLowerCase()==="dls "?new Ls(A):new YC(A,!1)}async function fk(){let A="locale.exportAudio.formats.formats.soundfont.options.";P7(this.localeManager.getLocaleString(A+"title"),[{type:"toggle",translatePathTitle:A+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:A+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:A+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,g=r.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(r.div.querySelector("input[type='range']").value)/10;ht(r.id),lr("%cExporting minified soundfont...",_1.info);let b=await this.seq.getMIDI(),A0=Eh(b.embeddedSoundFont||this.soundFont);lh(b,await this.synth.getSynthesizerSnapshot()),l&&PC(A0,b);let E0=A0.write({compress:g,compressionQuality:u,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),c0=A0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${A0.soundFontInfo.INAM||"unnamed"}.${c0}`),i4()}}],99999999,!0,this.localeManager)}async function uk(){let A="locale.exportAudio.formats.";P7(this.localeManager.getLocaleString(A+"title"),[{type:"button",translatePathTitle:A+"formats.wav.button",onClick:r=>{ht(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:A+"formats.midi.button",onClick:r=>{ht(r.id),this.exportMidi()}},{type:"button",translatePathTitle:A+"formats.soundfont.button",onClick:r=>{ht(r.id);try{this._exportSoundfont()}catch{P7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:A+"formats.rmidi.button",onClick:r=>{ht(r.id);try{this._exportRMIDI()}catch{P7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function dk(){let A=(R,X0,F0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?X0:F0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),r=A("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=A("IPRD","",l),u=A("IART","",l),b=A("IGNR","",l),A0=A("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",u1=P7(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:b,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:A0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async R=>{let X0=R.div.querySelector("input[compress-toggle='1']").checked,F0=parseInt(R.div.querySelector("input[type='range']").value)/10,D1=R.div.querySelector("input[name='album']").value,l2=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,K2=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];ht(R.id),ri("%cExporting RMIDI...",_1.info);let o0="locale.exportAudio.formats.formats.rmidi.progress.",y5=P7(this.localeManager.getLocaleString(o0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(o0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(K6=>setTimeout(K6,500));let M3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Eh($3.embeddedSoundFont||this.soundFont);M3.textContent=this.localeManager.getLocaleString(o0+"modifyingMIDI"),await new Promise(K6=>setTimeout(K6,75)),lh($3,await this.synth.getSynthesizerSnapshot()),M3.textContent=this.localeManager.getLocaleString(o0+"modifyingSoundfont"),await new Promise(K6=>setTimeout(K6,75)),PC(w6,$3);let s6=w6.write({compress:X0,compressionQuality:F0,compressionFunction:this.compressionFunc});M3.textContent=this.localeManager.getLocaleString(o0+"saving"),await new Promise(K6=>setTimeout(K6,75));let A9;r3?.type.split("/")[0]==="image"?A9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(A9=$3.RMIDInfo.IPIC.buffer);let J4=Ey(s6,$3,w6,K2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:A9,album:D1.length>0?D1:void 0,artist:l2.length>0?l2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([J4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),M3.textContent=this.localeManager.getLocaleString(o0+"done"),ht(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");u1.oninput=()=>{u1.files[0]&&(u1.parentElement.firstChild.textContent=u1.files[0].name)}}var JC={init:function(){var A;A||(A=(typeof A<"u"?A:null)||{});var r={};for(var l in A)A.hasOwnProperty(l)&&(r[l]=A[l]);var g=typeof window=="object",u=typeof process=="object"&&typeof hC=="function"&&!g,b=typeof importScripts=="function",A0=!g&&!u&&!b;if(u){A.print||(A.print=function($){process.stdout.write($+` `)}),A.printErr||(A.printErr=function($){process.stderr.write($+` -`)});var E0=void 0,m0=void 0;A.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},A.readBinary=function($){return A.read($,!0)},A.load=function($){u1(read($))},A.thisProgram||(process.argv.length>1?A.thisProgram=process.argv[1].replace(/\\/g,"/"):A.thisProgram="unknown-program"),A.arguments=process.argv.slice(2),typeof module<"u"&&A!=null,process.on("uncaughtException",function(i){if(!(i instanceof Jo))throw i}),A.inspect=function(){return"[Emscripten Module object]"}}else if(A0)A.print||(A.print=print),typeof printErr<"u"&&(A.printErr=printErr),typeof read<"u"?A.read=read:A.read=function(){throw"no read() available (jsc?)"},A.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return K4(typeof h=="object"),h},typeof scriptArgs<"u"?A.arguments=scriptArgs:typeof arguments<"u"&&(A.arguments=arguments);else if(g||b){if(A.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(A.arguments=arguments),typeof console<"u")A.print||(A.print=function($){console.log($)}),A.printErr||(A.printErr=function($){console.log($)});else{var c0=!1;A.print||(A.print=c0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}b&&(A.load=importScripts),typeof A.setWindowTitle>"u"&&(A.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function u1(i){eval.call(null,i)}!A.load&&A.read&&(A.load=function($){u1(A.read($))}),A.print||(A.print=function(){}),A.printErr||(A.printErr=A.print),A.arguments||(A.arguments=[]),A.thisProgram||(A.thisProgram="./this.program"),A.print=A.print,A.printErr=A.printErr,A.preRun=[],A.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(A[l]=r[l]);var R={setTempRet0:function(i){K6=i},getTempRet0:function(){return K6},stackSave:function(){return Bi},stackRestore:function(i){Bi=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,$),A["dynCall_"+i].apply(null,h)):A["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Us){var h=ZC();if(!h)return xi=$,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};A.Runtime=R;var Z0=0,G0=!1,D1=0,l2=0,y1,Y2,T2,K2,i3,r3,o0,y5,M3,$3,w6,s6,A9,J4,r4,K6,We,Or,Yi,Po,Fs,Dm,S$,KC,mk;function K4(i,$){i||Ys("Assertion failed: "+$)}var Ck=this;function VC(i){var $=A["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var D$,Oo;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(W0){var t1=R.stackAlloc(W0.length);return qo(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=R.stackAlloc((W0.length<<2)+1),Os(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};Oo=function(t1,D2,s,o1,C){var w5=VC(t1),p2=[],T5=0;if(o1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Hr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":J4=[$>>>0,(s6=$,+H$(s6)>=1?s6>0?(Mt(+Te(s6/4294967296),4294967295)|0)>>>0:~~+E7((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=J4[0],_9[i+4>>2]=J4[1];break;case"float":Y$[i>>2]=$;break;case"double":x$[i>>3]=$;break;default:Ys("invalid type for setValue: "+h)}}A.setValue=mh;function gr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Hr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return Y$[i>>2];case"double":return x$[i>>3];default:Ys("invalid type for setValue: "+$)}return null}A.getValue=gr;var Ho=0,bm=1,Ms=2,Ch=3,T3=4;A.ALLOC_NORMAL=Ho,A.ALLOC_STACK=bm,A.ALLOC_STATIC=Ms,A.ALLOC_DYNAMIC=Ch,A.ALLOC_NONE=T3;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==T3?t1=d:t1=[Sh,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Ms:h](Math.max(e,W0?1:$.length)),P){var d=t1,D2;for(K4((t1&3)==0),D2=t1+(e&-4);d>2]=0;for(D2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?pi.set(i,t1):pi.set(new Uint8Array(i),t1),t1;for(var s=0,o1,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,pi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return A.UTF8ToString(i)}A.Pointer_stringify=b$;function _$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}A.AsciiToString=_$;function tp(i,$){return P$(i,$,!1)}A.stringToAscii=tp;function Ts(i,$){for(var h,d,P,e,W0,t1,D2="";;){if(h=i[$++],!h)return D2;if(!(h&128)){D2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){D2+=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)D2+=String.fromCharCode(h);else{var s=h-65536;D2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}A.UTF8ArrayToString=Ts;function _m(i){return Ts(pi,i)}A.UTF8ToString=_m;function Rn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}A.stringToUTF8Array=Rn;function Rm(i,$,h){return Rn(i,pi,$,h)}A.stringToUTF8=Rm;function Ns(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 $}A.lengthBytesUTF8=Ns;function xm(i){for(var $=0,h="";;){var d=Hr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}A.UTF16ToString=xm;function ip(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Hr[$>>1]=0,$-d}A.stringToUTF16=ip;function rp(i){return i.length*2}A.lengthBytesUTF16=rp;function np(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)}}A.UTF32ToString=np;function sp(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}A.stringToUTF32=sp;function Ap(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}A.lengthBytesUTF32=Ap;function op(i){var $=!!A.___cxa_demangle;if($)try{var h=Sh(i.length);Os(i.substr(1),h);var d=Sh(4),P=A.___cxa_demangle(h,0,0,d);if(gr(d,"i32")===0&&P)return b$(P)}catch{}finally{h&&tB(h),d&&tB(d),P&&tB(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=[],D2=!0;function s(p2){p2&&A.print(p2),A.print(i);for(var T5="",R9=0;R9"}else O9=V9;e:for(;e0;){var ur=i[e++];if(ur in W0)I4.push(W0[ur]);else switch(ur){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var K$=i.indexOf("E",e),h8=K$-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+="?"+ur;break e}}return!R9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=b$(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 ap(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=op($);return $===h?$:$+" ["+h+"]"})}function $p(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Lm(){return ap($p())}A.stackTrace=Lm;var zC=4096;function Bh(i){return i%4096>0&&(i+=4096-i%4096),i}var Fm,Y9,pi,Hr,R$,_9,q$,Y$,x$,Gs=0,qr=0,L$=!1,ph=0,Bi=0,F$=0,M$=0,xi=0;function ZC(){Ys("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Us+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Mm=A.TOTAL_STACK||5242880,Us=A.TOTAL_MEMORY||16777216,Yr=64*1024;Yr0;){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 Tm=[],N$=[],Qh=[],G$=[],yh=[],wh=!1,xn=!1;function kh(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)Ft(A.preRun.shift());T$(Tm)}function Ps(){wh||(wh=!0,T$(N$))}function lp(){T$(Qh)}function Nm(){T$(G$),xn=!0}function U$(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)WC(A.postRun.shift());T$(yh)}function Ft(i){Tm.unshift(i)}A.addOnPreRun=A.addOnPreRun=Ft;function cp(i){N$.unshift(i)}A.addOnInit=A.addOnInit=cp;function gp(i){Qh.unshift(i)}A.addOnPreMain=A.addOnPreMain=gp;function hp(i){G$.unshift(i)}A.addOnExit=A.addOnExit=hp;function WC(i){yh.unshift(i)}A.addOnPostRun=A.addOnPostRun=WC;function Jr(i,$,h){var d=h>0?h:Ns(i)+1,P=new Array(d),e=Rn(i,P,0,P.length);return $&&(P.length=e),P}A.intArrayFromString=Jr;function jC(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}A.intArrayToString=jC;function Os(i,$,h){for(var d=Jr(i,h),P=0;P>0]=e,P=P+1}}A.writeStringToMemory=Os;function qo(i,$){for(var h=0;h>0]=i[h]}A.writeArrayToMemory=qo;function P$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}A.writeAsciiToMemory=P$;function Gm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function O$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var H$=Math.abs,XC=Math.cos,Ji=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,Z3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,E7=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,Mt=Math.min,Fi=Math.clz32,m7=0,Tt=null,Mi=null;function Ti(i){return i}function Ln(i){m7++,A.monitorRunDependencies&&A.monitorRunDependencies(m7)}A.addRunDependency=Ln;function hr(i){if(m7--,A.monitorRunDependencies&&A.monitorRunDependencies(m7),m7==0&&(Tt!==null&&(clearInterval(Tt),Tt=null),Mi)){var $=Mi;Mi=null,$()}}A.removeRunDependency=hr,A.preloadedImages={},A.preloadedAudios={};var Um=null,vh=[];Gs=8,qr=Gs+553552,N$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+41032),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+72464),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+551416);var y8=R.alignMemory(E3(12,"i8",Ms),8);K4(y8%8==0);function eB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function fr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var Ki=XC,Yo=H$,Hs=0;function qs(i){return _9[Hs>>2]=i,i}var L2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function fp(i){switch(i){case 30:return zC;case 85:return Yr/zC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return qs(L2.EINVAL),-1}A._memset=tv;var up=!0;A._strlen=Wk,A._strcat=jk,A._bitshift64Shl=sv;function Bk(){A.abort()}A._i64Add=Xk;var pk=Te,Qk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Fn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Fn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Fn.stream_ops)},stream_ops:{open:function(i){var $=Fn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(L2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var E0=void 0,m0=void 0;A.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},A.readBinary=function($){return A.read($,!0)},A.load=function($){u1(read($))},A.thisProgram||(process.argv.length>1?A.thisProgram=process.argv[1].replace(/\\/g,"/"):A.thisProgram="unknown-program"),A.arguments=process.argv.slice(2),typeof module<"u"&&A!=null,process.on("uncaughtException",function(i){if(!(i instanceof Jo))throw i}),A.inspect=function(){return"[Emscripten Module object]"}}else if(A0)A.print||(A.print=print),typeof printErr<"u"&&(A.printErr=printErr),typeof read<"u"?A.read=read:A.read=function(){throw"no read() available (jsc?)"},A.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return K4(typeof h=="object"),h},typeof scriptArgs<"u"?A.arguments=scriptArgs:typeof arguments<"u"&&(A.arguments=arguments);else if(g||b){if(A.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(A.arguments=arguments),typeof console<"u")A.print||(A.print=function($){console.log($)}),A.printErr||(A.printErr=function($){console.log($)});else{var c0=!1;A.print||(A.print=c0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}b&&(A.load=importScripts),typeof A.setWindowTitle>"u"&&(A.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function u1(i){eval.call(null,i)}!A.load&&A.read&&(A.load=function($){u1(A.read($))}),A.print||(A.print=function(){}),A.printErr||(A.printErr=A.print),A.arguments||(A.arguments=[]),A.thisProgram||(A.thisProgram="./this.program"),A.print=A.print,A.printErr=A.printErr,A.preRun=[],A.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(A[l]=r[l]);var R={setTempRet0:function(i){K6=i},getTempRet0:function(){return K6},stackSave:function(){return Bi},stackRestore:function(i){Bi=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,$),A["dynCall_"+i].apply(null,h)):A["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Us){var h=WC();if(!h)return xi=$,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};A.Runtime=R;var X0=0,F0=!1,D1=0,l2=0,y1,Y2,T2,K2,i3,r3,o0,y5,M3,$3,w6,s6,A9,J4,r4,K6,We,Or,Yi,Po,Fs,Dm,S$,VC,pk;function K4(i,$){i||Ys("Assertion failed: "+$)}var Qk=this;function zC(i){var $=A["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var D$,Oo;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(Z0){var t1=R.stackAlloc(Z0.length);return qo(Z0,t1),t1},stringToC:function(Z0){var t1=0;return Z0!=null&&Z0!==0&&(t1=R.stackAlloc((Z0.length<<2)+1),Os(Z0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};Oo=function(t1,D2,s,o1,C){var w5=zC(t1),p2=[],T5=0;if(o1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Hr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":J4=[$>>>0,(s6=$,+H$(s6)>=1?s6>0?(Mt(+Te(s6/4294967296),4294967295)|0)>>>0:~~+E7((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=J4[0],_9[i+4>>2]=J4[1];break;case"float":Y$[i>>2]=$;break;case"double":x$[i>>3]=$;break;default:Ys("invalid type for setValue: "+h)}}A.setValue=mh;function gr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Hr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return Y$[i>>2];case"double":return x$[i>>3];default:Ys("invalid type for setValue: "+$)}return null}A.getValue=gr;var Ho=0,bm=1,Ms=2,Ch=3,T3=4;A.ALLOC_NORMAL=Ho,A.ALLOC_STACK=bm,A.ALLOC_STATIC=Ms,A.ALLOC_DYNAMIC=Ch,A.ALLOC_NONE=T3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var Z0=typeof $=="string"?$:null,t1;if(h==T3?t1=d:t1=[Sh,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Ms:h](Math.max(e,Z0?1:$.length)),P){var d=t1,D2;for(K4((t1&3)==0),D2=t1+(e&-4);d>2]=0;for(D2=t1+e;d>0]=0;return t1}if(Z0==="i8")return i.subarray||i.slice?pi.set(i,t1):pi.set(new Uint8Array(i),t1),t1;for(var s=0,o1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var Z0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,pi.subarray(i,i+Math.min($,Z0))),e=e?e+t1:t1,i+=Z0,$-=Z0;return e}return A.UTF8ToString(i)}A.Pointer_stringify=b$;function _$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}A.AsciiToString=_$;function tp(i,$){return P$(i,$,!1)}A.stringToAscii=tp;function Ts(i,$){for(var h,d,P,e,Z0,t1,D2="";;){if(h=i[$++],!h)return D2;if(!(h&128)){D2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){D2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(Z0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|Z0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|Z0<<6|t1))),h<65536)D2+=String.fromCharCode(h);else{var s=h-65536;D2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}A.UTF8ArrayToString=Ts;function _m(i){return Ts(pi,i)}A.UTF8ToString=_m;function Rn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,Z0=0;Z0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++Z0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}A.stringToUTF8Array=Rn;function Rm(i,$,h){return Rn(i,pi,$,h)}A.stringToUTF8=Rm;function Ns(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 $}A.lengthBytesUTF8=Ns;function xm(i){for(var $=0,h="";;){var d=Hr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}A.UTF16ToString=xm;function ip(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=Z0,$+=2}return Hr[$>>1]=0,$-d}A.stringToUTF16=ip;function rp(i){return i.length*2}A.lengthBytesUTF16=rp;function np(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)}}A.UTF32ToString=np;function sp(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&Z0<=57343){var t1=i.charCodeAt(++e);Z0=65536+((Z0&1023)<<10)|t1&1023}if(_9[$>>2]=Z0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}A.stringToUTF32=sp;function Ap(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}A.lengthBytesUTF32=Ap;function op(i){var $=!!A.___cxa_demangle;if($)try{var h=Sh(i.length);Os(i.substr(1),h);var d=Sh(4),P=A.___cxa_demangle(h,0,0,d);if(gr(d,"i32")===0&&P)return b$(P)}catch{}finally{h&&iB(h),d&&iB(d),P&&iB(P)}var e=3,Z0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],D2=!0;function s(p2){p2&&A.print(p2),A.print(i);for(var T5="",R9=0;R9"}else O9=V9;e:for(;e0;){var ur=i[e++];if(ur in Z0)I4.push(Z0[ur]);else switch(ur){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var K$=i.indexOf("E",e),h8=K$-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+="?"+ur;break e}}return!R9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=b$(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 ap(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=op($);return $===h?$:$+" ["+h+"]"})}function $p(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Lm(){return ap($p())}A.stackTrace=Lm;var ZC=4096;function Bh(i){return i%4096>0&&(i+=4096-i%4096),i}var Fm,Y9,pi,Hr,R$,_9,q$,Y$,x$,Gs=0,qr=0,L$=!1,ph=0,Bi=0,F$=0,M$=0,xi=0;function WC(){Ys("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Us+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Mm=A.TOTAL_STACK||5242880,Us=A.TOTAL_MEMORY||16777216,Yr=64*1024;Yr0;){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 Tm=[],N$=[],Qh=[],G$=[],yh=[],wh=!1,xn=!1;function kh(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)Ft(A.preRun.shift());T$(Tm)}function Ps(){wh||(wh=!0,T$(N$))}function lp(){T$(Qh)}function Nm(){T$(G$),xn=!0}function U$(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)jC(A.postRun.shift());T$(yh)}function Ft(i){Tm.unshift(i)}A.addOnPreRun=A.addOnPreRun=Ft;function cp(i){N$.unshift(i)}A.addOnInit=A.addOnInit=cp;function gp(i){Qh.unshift(i)}A.addOnPreMain=A.addOnPreMain=gp;function hp(i){G$.unshift(i)}A.addOnExit=A.addOnExit=hp;function jC(i){yh.unshift(i)}A.addOnPostRun=A.addOnPostRun=jC;function Jr(i,$,h){var d=h>0?h:Ns(i)+1,P=new Array(d),e=Rn(i,P,0,P.length);return $&&(P.length=e),P}A.intArrayFromString=Jr;function XC(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}A.intArrayToString=XC;function Os(i,$,h){for(var d=Jr(i,h),P=0;P>0]=e,P=P+1}}A.writeStringToMemory=Os;function qo(i,$){for(var h=0;h>0]=i[h]}A.writeArrayToMemory=qo;function P$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}A.writeAsciiToMemory=P$;function Gm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function O$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,Z0=h&65535;return P*Z0+(d*Z0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var H$=Math.abs,eB=Math.cos,Ji=Math.sin,R0=Math.tan,j0=Math.acos,C1=Math.asin,S2=Math.atan,Z3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,E7=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,Mt=Math.min,Fi=Math.clz32,m7=0,Tt=null,Mi=null;function Ti(i){return i}function Ln(i){m7++,A.monitorRunDependencies&&A.monitorRunDependencies(m7)}A.addRunDependency=Ln;function hr(i){if(m7--,A.monitorRunDependencies&&A.monitorRunDependencies(m7),m7==0&&(Tt!==null&&(clearInterval(Tt),Tt=null),Mi)){var $=Mi;Mi=null,$()}}A.removeRunDependency=hr,A.preloadedImages={},A.preloadedAudios={};var Um=null,vh=[];Gs=8,qr=Gs+553552,N$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+41032),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+72464),E3([1],"i8",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,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",T3,R.GLOBAL_BASE+551416);var y8=R.alignMemory(E3(12,"i8",Ms),8);K4(y8%8==0);function tB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function fr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var Ki=eB,Yo=H$,Hs=0;function qs(i){return _9[Hs>>2]=i,i}var L2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function fp(i){switch(i){case 30:return ZC;case 85:return Yr/ZC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return qs(L2.EINVAL),-1}A._memset=nv;var up=!0;A._strlen=ev,A._strcat=tv,A._bitshift64Shl=av;function yk(){A.abort()}A._i64Add=iv;var wk=Te,kk={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"},Fn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Fn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Fn.stream_ops)},stream_ops:{open:function(i){var $=Fn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(L2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,Z0=0;Z00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` `)):typeof readline=="function"&&($=readline(),$!==null&&($+=` -`));if(!$)return null;i.input=Jr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(A.print(Ts(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.print(Ts(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(A.printErr(Ts(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.printErr(Ts(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(L2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[L2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(L2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(L2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(K4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,D2=i.type==="remote"?i.db:$.db,s=D2.transaction([C7.DB_STORE_NAME],"readwrite"),o1=s.objectStore(C7.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"?C7.loadRemoteEntry(o1,w5,function(p2,T5){if(p2)return C(p2);C7.storeLocalEntry(w5,T5,C)}):C7.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);C7.storeRemoteEntry(o1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?C7.removeLocalEntry(w5,C):C7.removeRemoteEntry(o1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(u),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=B7.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=B7.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(B7.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);B7.utimesSync(h,d,d)}$.size!==void 0&&B7.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?B7.mkdirSync(e,P.mode):B7.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(L2[W0.code]):W0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{B7.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{B7.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{B7.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return B7.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{B7.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=B7.readlinkSync($),$=Ep.relative(Ep.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=B7.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&B7.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(L2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=B7.readSync(i.nfd,e,0,d,P)}catch(D2){throw new k.ErrnoError(L2[D2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(L2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(L2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,D2,s,o1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=D2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=o1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?L2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:L2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return L2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return L2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return L2.EBUSY}else if(k.isDir(d.mode))return L2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?L2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?L2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):L2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(L2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(L2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(L2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(L2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},D2=i.mount(t1);return D2.mount=t1,t1.root=D2,d?k.root=D2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),D2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(L2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var D2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=D2}}),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(L2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,D2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),D2=W0.node}catch{throw new k.ErrnoError(L2.EBUSY)}if(!t1||!D2)throw new k.ErrnoError(L2.ENOENT);if(t1.mount!==D2.mount)throw new k.ErrnoError(L2.EXDEV);var s=k.lookupNode(t1,P),o1=c9.relative(i,d);if(o1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(o1=c9.relative($,h),o1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var C;try{C=k.lookupNode(D2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(D2,e,w5):k.mayCreate(D2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(L2.EBUSY);if(D2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,D2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(L2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===L2.EISDIR&&(e=L2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(L2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(L2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(L2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(L2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(L2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(L2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(L2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(L2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(L2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var D2=k.mayOpen(e,$);if(D2)throw new k.ErrnoError(D2)}$&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),A.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,A.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var o1=0;($&2097155)!==1&&(o1|=k.tracking.openFlags.READ),$&2097155&&(o1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,o1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(L2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(L2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(L2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(D2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+D2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(L2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(L2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(L2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(L2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Ts(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(Ns($)+1),e=Rn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(L2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Fn.register(k.makedev(5,0),Fn.default_tty_ops),Fn.register(k.makedev(6,0),Fn.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 u?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(){A.stdin?k.createDevice("/dev","stdin",A.stdin):k.symlink("/dev/tty","/dev/stdin"),A.stdout?k.createDevice("/dev","stdout",null,A.stdout):k.symlink("/dev/tty","/dev/stdout"),A.stderr?k.createDevice("/dev","stderr",null,A.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[yk>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[wk>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[kk>>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 L2)if(L2[P]===d){this.code=P;break}},this.setErrno($),this.message=Qk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[L2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){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(),A.stdin=i||A.stdin,A.stdout=$||A.stdout,A.stderr=h||A.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,R9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;R9||(O9=p2);var I4=function(V9,h8){if(V9>h8)throw new Error("invalid range ("+V9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var V4=new XMLHttpRequest;if(V4.open("GET",h,!1),p2!==O9&&V4.setRequestHeader("Range","bytes="+V9+"-"+h8),typeof Uint8Array<"u"&&(V4.responseType="arraybuffer"),V4.overrideMimeType&&V4.overrideMimeType("text/plain; charset=x-user-defined"),V4.send(null),!(V4.status>=200&&V4.status<300||V4.status===304))throw new Error("Couldn't load "+h+". Status: "+V4.status);return V4.response!==void 0?new Uint8Array(V4.response||[]):Jr(V4.responseText||"",!0)},w8=this;w8.setDataGetter(function(V9){var h8=V9*O9,V4=(V9+1)*O9-1;if(V4=Math.min(V4,p2-1),typeof w8.chunks[V9]>"u"&&(w8.chunks[V9]=I4(h8,V4)),typeof w8.chunks[V9]>"u")throw new Error("doXHR failed!");return w8.chunks[V9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!b)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 D2=k.createFile(i,$,t1,d,P);t1.contents?D2.contents=t1.contents:t1.url&&(D2.contents=null,D2.url=t1.url),Object.defineProperty(D2,"usedBytes",{get:function(){return this.contents.length}});var s={},o1=Object.keys(D2.stream_ops);return o1.forEach(function(C){var w5=D2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(D2))throw new k.ErrnoError(L2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,R9,O9){if(!k.forceLoadFile(D2))throw new k.ErrnoError(L2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,R9);if(K4(w8>=0),I4.slice)for(var V9=0;V9=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 o1=0;o1=0&&s[C]==="";C--);return o1>C?[]:s.slice(o1,C-o1+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(),D2=J1.mainLoop.queue.shift();if(D2.func(D2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,o1=s%1==0?s-1:Math.floor(s);D2.counted?J1.mainLoop.remainingBlockers=o1:(o1=o1+.5,J1.mainLoop.remainingBlockers=(8*s+o1)/9)}console.log('main loop blocker "'+D2.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"&&A.ctx&&(A.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?Pm(0,1e3/$):Pm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,dp(h,0,!1,J1.mainLoop.arg,!0),Pm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(A.setStatus){var i=A.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."),A.noImageDecoding=!0);var i={};i.canHandle=function(e){return!A.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,D2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(p2){R.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var o1=new J1.BlobBuilder;o1.append(new Uint8Array(e).buffer),s=o1.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 R9=T5.getContext("2d");R9.drawImage(w5,0,0),A.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),D2&&D2()},w5.src=C},A.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!A.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,D2){var s=!1;function o1(R9){s||(s=!0,A.preloadedAudios[W0]=R9,t1&&t1(e))}function C(){s||(s=!0,A.preloadedAudios[W0]=new Audio,D2&&D2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){o1(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 V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",V4="",Ni=0,Gi=0,ur=0;ur=6;){var K$=Ni>>Gi-6&63;Gi-=6,V4+=V9[K$]}return Gi==2?(V4+=V9[(Ni&3)<<4],V4+=h8+h8):Gi==4&&(V4+=V9[(Ni&15)<<2],V4+=h8),V4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),o1(T5)},T5.src=p2,J1.safeSetTimeout(function(){o1(T5)},1e4)}else return C()},A.preloadPlugins.push($);var h=A.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),A.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&A.ctx&&i==A.canvas)return A.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"),A.ctx=P,$&&GL.makeContextCurrent(e),A.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(D2){D2()}),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=A.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()),A.onFullScreen&&A.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(!G0)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(){G0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return A.noExitRuntime=!0,setTimeout(function(){G0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return A.noExitRuntime=!0,setInterval(function(){G0||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 $=A.canvas.getBoundingClientRect(),h=A.canvas.width,d=A.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),D2=W0.pageY-(e+$.top);t1=t1*(h/$.width),D2=D2*(d/$.height);var s={x:t1,y:D2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var o1=J1.touches[W0.identifier];o1||(o1=s),J1.lastTouches[W0.identifier]=o1,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||hr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Ln("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=A.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=A.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=q$[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=q$[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(A.forcedAspectRatio&&A.forcedAspectRatio>0&&(d/P>2]=$),$}function Pk(){A.printErr("missing function: floor0_exportbundle"),Ys(-1)}if(Hs=R.staticAlloc(4),_9[Hs>>2]=0,A.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},A.requestAnimationFrame=function($){J1.requestAnimationFrame($)},A.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},A.pauseMainLoop=function(){J1.mainLoop.pause()},A.resumeMainLoop=function(){J1.mainLoop.resume()},A.getUserMedia=function(){J1.getUserMedia()},A.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),N$.unshift(function(){!A.noFSInit&&!k.init.initialized&&k.init()}),Qh.push(function(){k.ignorePermissions=!1}),G$.push(function(){k.quit()}),A.FS_createFolder=k.createFolder,A.FS_createPath=k.createPath,A.FS_createDataFile=k.createDataFile,A.FS_createPreloadedFile=k.createPreloadedFile,A.FS_createLazyFile=k.createLazyFile,A.FS_createLink=k.createLink,A.FS_createDevice=k.createDevice,N$.unshift(function(){Fn.init()}),G$.push(function(){Fn.shutdown()}),u)var B7=void 0,Ep=void 0;ph=Bi=R.alignMemory(qr),L$=!0,F$=ph+Mm,M$=xi=R.alignMemory(F$),K4(M$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function wb(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Bv(t){t=t|0,q6=t}function pv(){return q6|0}function nB(t){t=t|0;var n=0,o=0,a=0,c=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,o=t+8|0,e[o>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,c=t+16|0,e[c>>2]=256}function Qv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,o=n>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(S=o<<3,w=n-S|0,y=t+8|0,D=e[y>>2]|0,Q=D+o|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=o,c=8+(w<<2)|0,f=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&f,p=m&255,d[Q>>0]=p)}function U2(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0;O0=C,f=o>>>0>32;do if(!f){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,n0=t0+-4|0,w0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,w0)N=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(P0=t+8|0,V0=e[P0>>2]|0,I=t0+256|0,m=Pi(V0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,S=e[t>>2]|0,w=m+S|0,e[a>>2]=w,N=w}y=8+(o<<2)|0,D=e[y>>2]|0,Q=D&n,L=t+4|0,x=e[L>>2]|0,F=x+o|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,H=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=H,$0=(F|0)>15,$0&&(Z=e[L>>2]|0,V=16-Z|0,a0=Q>>>V,i0=a0&255,r0=e[a>>2]|0,K=r0+2|0,d[K>>0]=i0,h0=(F|0)>23,h0&&(s0=e[L>>2]|0,g0=24-s0|0,j=Q>>>g0,l0=j&255,f0=e[a>>2]|0,d0=f0+3|0,d[d0>>0]=l0,C0=(F|0)>31,C0))))if(k0=e[L>>2]|0,u0=(k0|0)==0,u0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,K0=S0+4|0,d[K0>>0]=I0;break}while(!1);F0=(F|0)/8&-1,T0=e[t>>2]|0,U0=T0+F0|0,e[t>>2]=U0,y0=e[a>>2]|0,q0=y0+F0|0,e[a>>2]=q0,x0=F&7,e[L>>2]=x0;return}while(!1);b0=t+8|0,M0=e[b0>>2]|0,J0=(M0|0)==0,J0||I2(M0),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 sB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;f=C,n=t+8|0,o=e[n>>2]|0,a=(o|0)==0,a||I2(o),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 ft(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,n=t+12|0,o=e[n>>2]|0,a=(o|0)==0,!a&&(c=t+8|0,f=e[c>>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 AB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=n>>>0>32,a)return o=-1,o|0;if(c=8+(n<<2)|0,D=e[c>>2]|0,z=t+4|0,V=e[z>>2]|0,f0=V+n|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,u0=k0+-4|0,f=(w0|0)<(u0|0),!f){if(E=f0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return o=-1,o|0;if(B=(f0|0)==0,B)return o=0,o|0}return v=t+12|0,S=e[v>>2]|0,w=d[S>>0]|0,y=w&255,Q=y>>>V,_=(f0|0)>8,_?(L=S+1|0,x=d[L>>0]|0,F=x&255,M=8-V|0,T=F<16,G?(O=S+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=S+3|0,U=d[X>>0]|0,$0=U&255,Z=24-V|0,a0=$0<>0]|0,s0=h0&255,g0=32-V|0,j=s0<>2]|0,v=a+n|0,S=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=v+7|0,Q=D>>3,_=y-Q|0,L=(S|0)>(_|0),L){B=t+12|0,e[B>>2]=0,e[t>>2]=y,x=1,e[o>>2]=x;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,m=S+c|0,e[t>>2]=m,p=v&7,x=p,e[o>>2]=x;return}}function Z4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0;b0=C,m=n>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,Q0=c;else{if(p=8+(n<<2)|0,F=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,u0=K+n|0,L0=e[t>>2]|0,F0=t+16|0,T0=e[F0>>2]|0,U0=T0+-4|0,B=(L0|0)<(U0|0),!B){if(v=u0+7|0,S=v>>3,w=T0-S|0,y=(L0|0)>(w|0),y){f=t,E=e0,Q0=T0;break}if(D=(u0|0)==0,D)return o=0,o|0}return Q=t+12|0,_=e[Q>>2]|0,L=d[_>>0]|0,x=L&255,M=x>>>K,T=(u0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-K|0,Y=O<16,J?(W=_+2|0,H=d[W>>0]|0,X=H&255,U=16-K|0,$0=X<24,V?(a0=_+3|0,n0=d[a0>>0]|0,i0=n0&255,r0=24-K|0,h0=i0<>0]|0,d0=f0&255,w0=32-K|0,C0=d0<>2]=I0,S0=L0+p0|0,e[t>>2]=S0,K0=u0&7,e[e0>>2]=K0,o=B0,o|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[f>>2]=Q0,e[E>>2]=1,o=-1,o|0}function p7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,o=t+4|0,a=e[o>>2]|0,c=a+7|0,f=(c|0)/8&-1,E=f+n|0,E|0}function Jp(t){t=t|0;var n=0,o=0,a=0,c=0;return c=C,n=t+8|0,o=e[n>>2]|0,o|0}function yv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0;if(T=C,c=(t|0)==0,c)return o=-1,o|0;Ae(t|0,0,360)|0,f=t+4|0,e[f>>2]=16384,S=t+24|0,e[S>>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 v=t+336|0,e[v>>2]=n,o=0,o|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),Ae(t|0,0,360)|0,o=-1,o|0}function wv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,n=(t|0)==0,n||(o=e[t>>2]|0,a=(o|0)==0,a||I2(o),c=t+16|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),Ae(t|0,0,360)|0),0}function kv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0;if(T0=C,n=(t|0)==0,!n){if(o=e[t>>2]|0,w=o+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,u0=e[t>>2]|0,B0=u0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,S=S0>>>24,y=f+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^S,L=144+(_<<2)|0,x=e[L>>2]|0,F=x^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=F,Q0=M;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,L0=0;;)if(N=_0<<8,O=_0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^N,X=L0+1|0,U=(X|0)<(I|0),U)_0=H,L0=X;else{K0=H;break}else K0=I0;Z=K0&255,V=e[t>>2]|0,a0=V+22|0,d[a0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,K=r0+23|0,d[K>>0]=i0,h0=K0>>>16,s0=h0&255,g0=e[t>>2]|0,l0=g0+24|0,d[l0>>0]=s0,f0=K0>>>24,d0=f0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function vv(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,b0=(S0|0)==0,b0))return I=-1,I|0;if(D0=(n|0)==0,D0)return I=0,I|0;z0=(o|0)>0;e:do if(z0){for(u2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,s2=(O1|0)<0,y=2147483647-O1|0,O=(u2|0)>(y|0),F2=s2|O,F2){I=-1;break}if(Z=O1+u2|0,n0=y2+1|0,i0=(n0|0)<(o|0),i0)u2=Z,y2=n0;else{n2=Z;break e}}return I|0}else n2=0;while(!1);r0=(n2|0)/255&-1,K=r0+1|0,h0=t+12|0,s0=e[h0>>2]|0,g0=(s0|0)==0,w=t+8|0,g0||(l0=e[w>>2]|0,f0=l0-s0|0,e[w>>2]=f0,d0=(l0|0)==(s0|0),d0||(w0=S0+s0|0,Wo(S0|0,w0|0,f0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,u0=k0-n2|0,B0=e[w>>2]|0,p0=(u0|0)>(B0|0);do if(!p0){if(I0=2147483647-n2|0,K0=(k0|0)>(I0|0),K0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=t+16|0,F0=e[L0>>2]|0,T0=(F0|0)==0,T0||I2(F0),U0=t+20|0,y0=e[U0>>2]|0,q0=(y0|0)==0,q0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(x0=k0+n2|0,M0=(x0|0)<2147482623,J0=x0+1024|0,E=M0?J0:x0,Y0=e[t>>2]|0,P0=Pi(Y0,E)|0,V0=(P0|0)==0,!V0){e[C0>>2]=E,e[t>>2]=P0;break}return N0=e[t>>2]|0,O0=(N0|0)==0,O0||I2(N0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Sv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=n+(v2<<3)|0,R1=e[Q1>>2]|0,x1=(n+(v2<<3)|0)+4|0,S1=e[x1>>2]|0,s4(B1|0,R1|0,S1|0)|0,L1=e[x1>>2]|0,F1=e[w>>2]|0,G1=F1+L1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(o|0),!e2;)p1=G1,v2=k1;if(l1=(n2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,A1=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=A1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,b1=N1,K1=e[b1>>2]|0,H1=N1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=m1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=K1,P1=r2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,f2=(z1|0)<(r0|0),f2;)C2=z1;b2=d1?r0:1,B=I1,a2=m1,w2=b2}else m=t+20|0,v=e[m>>2]|0,S=t+352|0,B=S,a2=v,w2=0;return E2=(n2|0)%255&-1,A2=a1+w2|0,V1=A1+(A2<<2)|0,e[V1>>2]=E2,h2=a2+(A2<<3)|0,t2=h2,$2=t2,e[$2>>2]=c,i2=t2+4|0,o2=i2,e[o2>>2]=f,X1=B,D=X1,e[D>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=f,L=A1+(a1<<2)|0,x=e[L>>2]|0,F=x|256,e[L>>2]=F,M=a1+K|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=Vs(z|0,J|0,1,0)|0,e0=q6,H=T,X=H,e[X>>2]=W,U=H+4|0,$0=U,e[$0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Jm(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,C=C+16|0,Q=L,o=e[n>>2]|0,e[Q>>2]=o,a=n+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=n+12|0,v=e[B>>2]|0,S=n+16|0,w=S,y=w,D=e[y>>2]|0,c=w+4|0,f=c,E=e[f>>2]|0,I=vv(t,Q,1,v,D,E)|0,C=L,I|0}function Kp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0;return c=C,o=zp(t,n,1,4096)|0,o|0}function Vp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(o=0,o|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?D=0:(v=t+332|0,S=e[v>>2]|0,w=(S|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=zp(t,n,D,4096)|0,o=y,o|0)}function Sv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0;return l0=C,c=t+24|0,f=e[c>>2]|0,Q=f-n|0,Y=t+28|0,a0=e[Y>>2]|0,r0=(Q|0)>(a0|0),r0?(a=0,a|0):(K=2147483647-n|0,h0=(f|0)>(K|0),h0?(s0=e[t>>2]|0,g0=(s0|0)==0,g0||I2(s0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),Ae(t|0,0,360)|0,a=-1,a|0):(S=f+n|0,w=(S|0)<2147483615,y=S+32|0,o=w?y:S,D=t+16|0,_=e[D>>2]|0,L=o<<2,x=Pi(_,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=o<<3,H=Pi(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[D>>2]|0,V=(Z|0)==0,V||I2(Z),n0=e[J>>2]|0,i0=(n0|0)==0,i0||I2(n0),Ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=H,e[c>>2]=o,a=0,a|0))))}function zp(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(L1=e[t>>2]|0,q1=(L1|0)==0,A2=(c|0)==0,y3=A2|q1,y3))return f=0,f|0;e2=t+332|0,q2=e[e2>>2]|0,Z2=(q2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(F0=(l3|0)<(c|0),!F0){I=o,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,q5=l3,O5=14;break e}if(V0=e[C0>>2]|0,H0=V0+(l3<<2)|0,e1=e[H0>>2]|0,D0=e1&255,i1=(D0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=o,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,q5=$1,O5=14;break}}else if(L=(c|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,Z5=0,R3=0,C3=0;;){if(f1=(C5|0)>(a|0),g1=(Z5|0)>3,N3=f1&g1,N3){E=1,G5=S5,_5=g5,H2=a5,I5=W2,o5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,A1=n1+C5|0,z0=(n1|0)==255,z0?(h5=S5,J2=g5,f5=a5,i5=W2,R5=g2,j2=p5,$5=t5,x2=s5,i6=0,G3=R3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,w1=B1&255,S1=zs(B1|0,R1|0,8)|0,F1=q6,G1=S1&255,k1=zs(B1|0,R1|0,16)|0,U1=q6,Z1=k1&255,N1=zs(B1|0,R1|0,24)|0,b1=q6,K1=N1&255,O1=R1&255,H1=zs(B1|0,R1|0,40)|0,Y1=q6,j1=H1&255,r2=zs(B1|0,R1|0,48)|0,W1=q6,P1=r2&255,c2=zs(B1|0,R1|0,56)|0,z1=q6,f2=c2&255,h5=w1,J2=Z1,f5=K1,i5=O1,R5=j1,j2=P1,$5=f2,x2=G1,i6=x1,G3=x1),s2=C3+1|0,E2=(s2|0)<(c|0),E2)C5=A1,S5=h5,g5=J2,a5=f5,W2=i5,g2=R5,p5=j2,t5=$5,s5=x2,Z5=i6,R3=G3,C3=s2;else{E=o,G5=h5,_5=J2,H2=f5,I5=i5,o5=R5,c5=j2,B5=$5,M1=x2,c3=s2;break}}V1=(c3|0)==255,V1?(n3=G5,m3=_5,F5=H2,J5=I5,w3=o5,f3=c5,B3=B5,V3=M1,U5=255):(I=E,Q5=G5,H5=_5,j5=H2,E5=I5,u3=o5,h3=c5,Y5=B5,X5=M1,q5=c3,O5=14)}else I=o,Q5=-1,H5=-1,j5=-1,E5=-1,u3=-1,h3=-1,Y5=-1,X5=-1,q5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return f=0,f|0;n3=Q5,m3=H5,F5=j5,J5=E5,w3=u3,f3=h3,B3=Y5,V3=X5,U5=q5}if(a2=t+40|0,d[a2>>0]=79,d[a2+1>>0]=103,d[a2+2>>0]=103,d[a2+3>>0]=83,t2=t+44|0,d[t2>>0]=0,$2=t+45|0,d[$2>>0]=0,i2=t+16|0,o2=e[i2>>2]|0,X1=e[o2>>2]|0,n2=X1>>>8,v=n2&1,u2=v^1,y2=u2|2,m=Z2?y2:u2,a3=m&255,d[$2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),V5=C2&F2,V5&&(p=Z2?y2:u2,b2=p|4,N2=b2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,V2=t+47|0,d[V2>>0]=V3,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]=w3,A5=t+52|0,d[A5>>0]=f3,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,D5=X2>>>8,u5=D5&255,v5=t+55|0,d[v5>>0]=u5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,n5=m5&255,R2=t+57|0,d[R2>>0]=n5,_2=t+340|0,B2=e[_2>>2]|0,x=(B2|0)==-1,x?(e[_2>>2]=0,M=0):M=B2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,H=e0&255,X=t+61|0,d[X>>0]=H,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,V=(U5|0)>0,V){if(a0=e[o2>>2]|0,n0=a0&255,r0=t+67|0,d[r0>>0]=n0,K=a0&255,b5=(U5|0)==1,b5)B=K;else for(s0=1,k0=K;;)if(S=e[i2>>2]|0,h0=S+(s0<<2)|0,g0=e[h0>>2]|0,j=g0&255,l0=s0+27|0,f0=(t+40|0)+l0|0,d[f0>>0]=j,d0=g0&255,w0=d0+k0|0,u0=s0+1|0,d5=(u0|0)==(U5|0),d5){B=w0;break}else s0=u0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,Q0=w,y0=y,x0=D,L5=B}else Q0=L1,y0=_,x0=o2,L5=0;return e[n>>2]=a2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=n+4|0,e[I0>>2]=B0,S0=t+12|0,K0=e[S0>>2]|0,_0=Q0+K0|0,L0=n+8|0,e[L0>>2]=_0,T0=n+12|0,e[T0>>2]=L5,U0=y0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,b0=U0<<2,Wo(x0|0,q0|0,b0|0)|0,M0=t+20|0,J0=e[M0>>2]|0,Y0=J0+(U5<<3)|0,P0=e[Q>>2]|0,N0=P0<<3,Wo(J0|0,Y0|0,N0|0)|0,O0=e[S0>>2]|0,r1=O0+L5|0,e[S0>>2]=r1,kv(n),f=1,f|0}function Dv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0;return H0=C,a=t+104|0,c=e[a>>2]|0,D=t+88|0,z=c+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,V=e[z>>2]|0,ft(V),f0=c+16|0,_0=e[f0>>2]|0,ft(_0),J0=c+20|0,N0=e[J0>>2]|0,ft(N0),O0=c+24|0,f=e[O0>>2]|0,ft(f),E=c+28|0,I=e[E>>2]|0,ft(I),m=c+32|0,p=e[m>>2]|0,ft(p),B=c+36|0,v=e[B>>2]|0,ft(v),S=c+40|0,w=e[S>>2]|0,ft(w),y=c+44|0,Q=e[y>>2]|0,ft(Q),_=c+48|0,L=e[_>>2]|0,ft(L),x=c+52|0,F=e[x>>2]|0,ft(F),M=c+56|0,T=e[M>>2]|0,ft(T),N=c+60|0,G=e[N>>2]|0,ft(G),O=c+64|0,Y=e[O>>2]|0,ft(Y),t0=c+68|0,J=e[t0>>2]|0,ft(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=vQ[H&1](t)|0,U=(X|0)==0,U?($0=(n|0)==0,$0?(o=0,o|0):(Z=_h(t)|0,a0=(Z|0)==0,a0?(n0=t+4|0,i0=Jp(n0)|0,e[n>>2]=i0,r0=p7(n0)|0,K=n+4|0,e[K>>2]=r0,h0=n+8|0,e[h0>>2]=0,s0=t+44|0,g0=e[s0>>2]|0,j=n+12|0,e[j>>2]=g0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,u0=k0,B0=e[u0>>2]|0,p0=n+16|0,I0=p0,S0=I0,e[S0>>2]=C0,K0=I0+4|0,Q0=K0,e[Q0>>2]=B0,L0=t+56|0,F0=L0,T0=F0,U0=e[T0>>2]|0,y0=F0+4|0,q0=y0,x0=e[q0>>2]|0,b0=n+24|0,M0=b0,Y0=M0,e[Y0>>2]=U0,P0=M0+4|0,V0=P0,e[V0>>2]=x0,o=0,o|0):(o=-131,o|0))):(o=X,o|0)}function bv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0;C0=C,o=t+28|0,a=e[o>>2]|0,d0=n,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(s0=t+8|0,g0=e[s0>>2]|0,j=e[a>>2]|0,l0=j>>1,f0=a+4|0,c=e[f0>>2]|0,f=(c|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,p=+(m|0),B=+(l0|0),v=p*B,S=+(g0|0),w=v/S,D=+Ui(w),Q=~~D,_=n+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,F=+(x|0),M=F*B,T=M/S,N=+Ui(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/S,H=+Ui(e0),X=~~H,U=n+20|0,e[U>>2]=X,$0=n+32|0,o1[$0>>3]=7,V=+(O|0),a0=a+3376|0,n0=+o1[a0>>3],i0=V*n0,r0=~~i0,K=n+8|0,e[K>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function _v(t){t=t|0;var n=0,o=0,a=0,c=0;a=C,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function _h(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,o=t+64|0,a=e[o>>2]|0,c=a+104|0,f=e[c>>2]|0,E=f+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function Rv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0;if(D6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,x2=k2+4|0,F5=e[x2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=g2+112|0,T=+o1[v>>3],X=+Ui(T),s0=~~X,p0=(B+12|0)+(s0<<2)|0,q0=e[p0>>2]|0,H0=p7(q0)|0,n1=H0<<3,R1=t+28|0,b1=e[R1>>2]|0,f2=(b1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,f2?(x5=g2+100|0,D5=e[x5>>2]|0,U=d2,k0=x5,I0=D5):(Z2=g2+104|0,u5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=r5(u5,d2)|0,m5=r5(u5,P5)|0,U=l5,k0=v5,I0=m5),n5=M5+(b1<<2)|0,R2=e[n5>>2]|0,_2=R2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),d5=M5+3376|0,b5=+o1[d5>>3],G5=L5*b5,H2=~~G5,I5=g2+80|0,o5=e[I5>>2]|0,c5=(o5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,o=0,o|0):(o=-1,o|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){f2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+o1[h5>>3],f5=15/J2,i5=g2+84|0,R5=e[i5>>2]|0,j2=n1-$5|0,Q5=R5+j2|0,H5=(Q5|0)>(H2|0);e:do if(H5)if(j5=(s0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(u3=n1-$5|0,h3=u3+R5|0,Y5=(h3|0)>(H2|0),Y5)for(P3=s0;;){if(X5=P3+-1|0,n3=(B+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,J5=p7(m3)|0,w3=J5<<3,f3=(P3|0)>1,B3=(w3|0)>($5|0),v6=B3&f3,!v6){K5=X5;break e}if(I=e[i5>>2]|0,V3=w3-$5|0,N3=V3+I|0,V5=(N3|0)>(H2|0),V5)P3=X5;else{K5=X5;break}}else K5=s0;else K5=s0;else if(y3=(Q5|0)<(H2|0),y3)if(Z5=s0+1|0,i6=(Z5|0)<15,G3=(n1|0)<($5|0),j3=G3&i6,j3)if(a3=n1-$5|0,l3=a3+R5|0,c3=(l3|0)<(H2|0),c3)for(q5=Z5;;){if(C3=(B+12|0)+(q5<<2)|0,U5=e[C3>>2]|0,O5=p7(U5)|0,k5=O5<<3,U3=q5+1|0,A6=(U3|0)<15,e3=(k5|0)<($5|0),B6=e3&A6,!B6){K5=q5;break e}if(E=e[i5>>2]|0,o3=k5-$5|0,x3=o3+E|0,f6=(x3|0)<(H2|0),f6)q5=U3;else{K5=q5;break}}else K5=s0;else K5=s0;else K5=s0;while(!1);p3=+(K5|0),k3=+o1[v>>3],Q3=p3-k3,r6=+Ui(Q3),W3=+(_2|0),S=r6/W3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*S,_=-f5,L=Q<_,C6=L?_:Q,x=C6>f5,S3=x?f5:C6,F=S3/D,M=F*W3,N=M+k3,o1[v>>3]=N,G=+Ui(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=p7(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,v3=O,X3=J}else W=d2,v3=s0,X3=n1;e0=(W|0)>0,H=(X3|0)<(U|0),c6=H&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,V=X3-U|0,a0=V+Z|0,n0=(a0|0)<0,n0)for(g3=v3,e6=X3;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){O3=i0,u6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,h0=e[K>>2]|0,g0=p7(h0)|0,j=g0<<3,l0=e[$0>>2]|0,f0=j-U|0,d0=f0+l0|0,w0=(d0|0)<0,w0)g3=i0,e6=j;else{O3=i0,u6=j;break}}else O3=v3,u6=X3;else O3=v3,u6=X3;while(!1);C0=e[k0>>2]|0,u0=(C0|0)>0,B0=(u6|0)>(I0|0),p6=B0&u0;e:do if(p6)if(S0=g2+88|0,K0=e[S0>>2]|0,_0=u6-I0|0,Q0=_0+K0|0,L0=e[B2>>2]|0,F0=(Q0|0)>(L0|0),F0)for(l6=O3,H3=u6;;){if(T0=l6+-1|0,U0=(l6|0)<1,U0){d3=T0,D3=H3;break e}if(y0=(B+12|0)+(T0<<2)|0,x0=e[y0>>2]|0,b0=p7(x0)|0,M0=b0<<3,J0=e[S0>>2]|0,Y0=M0-I0|0,P0=Y0+J0|0,V0=e[B2>>2]|0,N0=(P0|0)>(V0|0),N0)l6=T0,H3=M0;else{d3=T0,D3=M0;break}}else d3=O3,D3=u6;else d3=O3,D3=u6;while(!1);if(O0=(d3|0)<0,O0)r1=e[B2>>2]|0,e1=g2+88|0,D0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-D0|0,$1=(c1|0)/8&-1,f1=g2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=p7(l1)|0,a1=(s1|0)>($1|0),a1?(A1=e[g1>>2]|0,z0=$1<<3,Qv(A1,z0),I1=e[g1>>2]|0,h1=p7(I1)|0,m1=h1<<3,q3=m1):q3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=p7(L1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),K1=(k6|0)>1,O1=e[S1>>2]|0,K1)N1=O1,k6=Z1;else{f=O1;break}else f=U1;H1=p7(f)|0,q1=H1<<3,q3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?z3=37:(r2=e[k0>>2]|0,W1=(r2|0)>0,W1&&(z3=37));do if((z3|0)==37){if(P1=(I0|0)>0,c2=(q3|0)>(I0|0),R6=P1&c2,R6){s2=q3-I0|0,E2=g2+88|0,A2=e[E2>>2]|0,V1=s2+A2|0,e[E2>>2]=V1;break}if(h2=(U|0)>0,a2=(q3|0)<(U|0),Y6=h2&a2,Y6){t2=q3-U|0,$2=g2+88|0,i2=e[$2>>2]|0,o2=t2+i2|0,e[$2>>2]=o2;break}if(n2=g2+88|0,u2=e[n2>>2]|0,e2=(u2|0)>(H2|0),e2)if(P1){y2=q3-I0|0,v2=u2+y2|0,w2=(v2|0)<(H2|0),n=w2?H2:v2,e[n2>>2]=n;break}else{e[n2>>2]=H2;break}else if(h2){C2=q3-U|0,F2=u2+C2|0,b2=(F2|0)>(H2|0),a=b2?H2:F2,e[n2>>2]=a;break}else{e[n2>>2]=H2;break}}while(!1);return N2=e[g5>>2]|0,V2=(N2|0)>0,V2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),A5=q3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=A5+X2|0,e[T1>>2]=e5,o=0,o|0):(o=0,o|0)}function Zp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,D=c+120|0,z=e[D>>2]|0,V=(z|0)==0,V?(o=0,o|0):(f0=(n|0)==0,f0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,f=k0+104|0,E=e[f>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?u0=7:(p=c+124|0,B=e[p>>2]|0,u0=B),v=(w0+12|0)+(u0<<2)|0,S=e[v>>2]|0,w=Jp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=p7(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,H=e0,e[H>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,n0=e[a0>>2]|0,i0=Z+4|0,r0=i0,K=e[r0>>2]|0,h0=n+24|0,s0=h0,g0=s0,e[g0>>2]=n0,j=s0+4|0,l0=j,e[l0>>2]=K),e[D>>2]=0,o=1,o|0)}function xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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(o=n+64|0,e[o>>2]=t,a=n+76|0,e[a>>2]=0,p=n+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(S=n4(1,72)|0,w=n+104|0,e[w>>2]=S,y=S+4|0,s[y>>2]=-9999,D=n+4|0,Q=S+12|0,c=S+40|0,L=0;;)if(f=(L|0)==7,f){e[c>>2]=D,nB(D),L=8;continue}else{if(E=n4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,nB(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function O7(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=n+7|0,a=o&-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?(c=(O|0)==0,c||(f=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+x|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=f,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function Lv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,f=e[W>>2]|0,E=(f|0)==0,n=t+68|0,o=e[n>>2]|0,E?Q=o:(I=t+76|0,m=e[I>>2]|0,p=m+f|0,B=Pi(o,p)|0,e[n>>2]=B,v=e[W>>2]|0,S=e[I>>2]|0,w=S+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(c|0)==0,L){U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}else H=0;for(;;){if(x=(c+12|0)+(H<<2)|0,F=e[x>>2]|0,sB(F),M=(H|0)==7,M){H=8;continue}if(T=e[x>>2]|0,I2(T),N=H+1|0,e0=(N|0)==15,e0)break;H=N}I2(c),U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}function Fv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=Tv(t,n,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=uS(n)|0,v=p+60|0,e[v>>2]=B,S=n4(1,180)|0,e[p>>2]=S,Ov(S,n),w=p+80|0,bv(n,w),y=t+64|0,D=y,f=D,e[f>>2]=3,E=D+4|0,I=E,e[I>>2]=0,o=0,o|0):(o=1,o|0)}function Wp(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,q0=(p0|0)!=0,q0?(H0=p0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,R1=t+104|0,b1=e[R1>>2]|0,z1=(b1|0)!=0,z1){if(o2=e[b1>>2]|0,S=(o2|0)==0,S||(Hv(o2),N=e[b1>>2]|0,I2(N)),U=b1+12|0,g0=e[U>>2]|0,d0=(g0|0)==0,d0||(w0=e[g0>>2]|0,cB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),u0=e[U>>2]|0,I2(u0)),B0=b1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(K0=e[I0>>2]|0,cB(K0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),L0=e[B0>>2]|0,I2(L0)),F0=b1+48|0,T0=e[F0>>2]|0,U0=(T0|0)==0,!U0){if(x0=(y0|0)==0,x0)d1=T0;else if(b0=y0+16|0,M0=e[b0>>2]|0,J0=(M0|0)>0,J0){if(Y0=y0+800|0,P0=e[Y0>>2]|0,V0=25640+(P0<<2)|0,N0=e[V0>>2]|0,O0=N0+16|0,r1=e[O0>>2]|0,e1=e[T0>>2]|0,Ws[r1&7](e1),D0=e[b0>>2]|0,i1=(D0|0)>1,i1)for($1=1;n=e[F0>>2]|0,c1=Y0+($1<<2)|0,f1=e[c1>>2]|0,g1=25640+(f1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,A1=n+($1<<2)|0,z0=e[A1>>2]|0,Ws[a1&7](z0),I1=$1+1|0,h1=e[b0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;o=e[F0>>2]|0,d1=o}else d1=T0;I2(d1)}if(E1=b1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)V1=B1;else if(x1=y0+20|0,w1=e[x1>>2]|0,S1=(w1|0)>0,S1){if(L1=y0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,Ws[Z1&7](N1),K1=e[x1>>2]|0,O1=(K1|0)>1,O1)for(q1=1;a=e[E1>>2]|0,H1=L1+(q1<<2)|0,Y1=e[H1>>2]|0,j1=25648+(Y1<<2)|0,r2=e[j1>>2]|0,W1=r2+16|0,P1=e[W1>>2]|0,c2=a+(q1<<2)|0,f2=e[c2>>2]|0,Ws[P1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,A2=(s2|0)<(E2|0),A2;)q1=s2;c=e[E1>>2]|0,V1=c}else V1=B1;I2(V1)}if(h2=b1+56|0,a2=e[h2>>2]|0,t2=(a2|0)==0,!t2){if($2=(y0|0)==0,$2)b2=a2;else if(i2=y0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if(AQ(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(v2=1;f=e[h2>>2]|0,y2=f+(v2*52|0)|0,AQ(y2),w2=v2+1|0,C2=e[i2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,b2=E}else b2=a2;I2(b2)}w=b1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||dS(y),Q=b1+80|0,_v(Q),_=b1+20|0,dQ(_),L=b1+32|0,dQ(L)}if(x=t+8|0,F=e[x>>2]|0,M=(F|0)==0,!M){if(q0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,f0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=f0:(I2(t0),m=e[T>>2]|0,H=m),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[x>>2]|0,Y=I,f0=H,N2=W;p=e[x>>2]|0,X=p}else X=F;else X=F;I2(X),$0=t+12|0,Z=e[$0>>2]|0,V=(Z|0)==0,V||I2(Z)}z1&&(a0=b1+64|0,n0=e[a0>>2]|0,i0=(n0|0)==0,i0||I2(n0),r0=b1+68|0,K=e[r0>>2]|0,h0=(K|0)==0,h0||I2(K),s0=b1+72|0,j=e[s0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(b1)),d2=t,q2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(q2|0))}}function jp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0;if(q0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,r0=W+64|0,k0=e[r0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[r0>>2]=0,L0=W+68|0,F0=e[L0>>2]|0,T0=(F0|0)==0,T0||I2(F0),e[L0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,S=t+20|0,w=e[S>>2]|0,y=w+n|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)o=m+4|0,f=e[o>>2]|0,X=f,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=Pi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,a0=e[G>>2]|0,n0=a0+(i0<<2)|0,K=e[n0>>2]|0,h0=a<<2,s0=Pi(K,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=s0,l0=i0+1|0,f0=e[M>>2]|0,d0=(l0|0)<(f0|0),d0)i0=l0;else{X=f0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[S>>2]|0,V=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,u0=e[C0>>2]|0,B0=u0+(Z<<2)|0,p0=e[V>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,K0=(S0|0)<(X|0),K0)U0=S0;else{c=V;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function Mv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,u0=C0+n|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(u0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=u0,S0=t+28|0,K0=e[S0>>2]|0,_0=(K0|0)==0,!_0||(Q0=t+48|0,L0=e[Q0>>2]|0,F0=u0-L0|0,U0=W+4|0,y0=e[U0>>2]|0,q0=(F0|0)>(y0|0),!q0)?(a=0,C=P0,a|0):(eQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,T0=t+28|0,x0=e[T0>>2]|0,b0=(x0|0)==0,b0&&eQ(t),M0=W+4|0,p=e[M0>>2]|0,B=p*3|0,jp(t,B)|0,v=t+20|0,S=e[v>>2]|0,w=t+32|0,e[w>>2]=S,y=e[M0>>2]|0,D=y*3|0,Q=S+D|0,e[v>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=P0,a|0;for(M=t+8|0,T=S,J0=0;;){if(N=(T|0)>64,N?(G=e[M0>>2]|0,O=(T|0)>(G|0),o=O?G:T,z=e[M>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=T-o|0,J=t0+(f<<2)|0,+tQ(J,k0,o,32),e0=e[M>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,a0=V-U|0,iQ(k0,Z,32,$0,a0)):(n0=e[M>>2]|0,i0=n0+(J0<<2)|0,K=e[i0>>2]|0,h0=K+(T<<2)|0,s0=e[v>>2]|0,g0=s0-T|0,j=g0<<2,Ae(h0|0,0,j|0)|0),l0=J0+1|0,f0=e[_>>2]|0,d0=(l0|0)<(f0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,J0=l0}return C=P0,a|0}function Xp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0;if(A4=C,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,k5=e[s2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,u6=S6+60|0,d6=e[u6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,b0=t9-S0|0,D0=n+104|0,z0=e[D0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,D5=(G2|0)==-1,D5))return a=0,a|0;B2=qv(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[u2>>2]|0,u3=(J2|0)==0,u3)return a=0,a|0;V3=t+44|0,e[V3>>2]=0,f=V3,P3=0;break}else if(C3=e[k5>>2]|0,U3=k5+4|0,M5=e[U3>>2]|0,A6=(C3|0)==(M5|0),e3=t+44|0,A6){e[e3>>2]=0,f=e3,P3=0;break}else{e[e3>>2]=B2,f=e3,P3=B2;break}while(!1);if(o3=e[G6>>2]|0,x3=e[w>>2]|0,f6=k5+(x3<<2)|0,p3=e[f6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+o3|0,W3=k5+(P3<<2)|0,K5=e[W3>>2]|0,v3=(K5|0)/4&-1,g3=Q3+v3|0,O3=(K5|0)/2&-1,l6=g3+O3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=n+84|0,j3=e[B6>>2]|0,c6=(j3|0)==0,!c6)for(I9=j3;p6=I9+4|0,R6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(R6|0)==0,!C6;)I9=R6;S3=n+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(H3=n+68|0,D3=e[H3>>2]|0,q3=n+76|0,z3=e[q3>>2]|0,D6=z3+X3|0,o6=Pi(D3,D6)|0,e[H3>>2]=o6,t3=e[S3>>2]|0,O6=e[q3>>2]|0,s3=O6+t3|0,e[q3>>2]=s3,e[S3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[B6>>2]=0,b3=t+36|0,N6=e[b3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,x6=n+28|0,e[x6>>2]=Q6,V6=e[f>>2]|0,I6=n+32|0,e[I6>>2]=V6,J6=(Q6|0)==0;do if(J6)if(s9=Yv(t)|0,L6=(s9|0)==0,U6=z0+8|0,L6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(L3=(N6|0)==0,W6=(V6|0)==0,N9=L3|W6,e9=z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);b6=n+64|0,e[b6>>2]=t,z6=t+64|0,y6=z6,F6=y6,F3=e[F6>>2]|0,M6=y6+4|0,o9=M6,j6=e[o9>>2]|0,f9=Vs(F3|0,j6|0,1,0)|0,u9=q6,d9=z6,a9=d9,e[a9>>2]=f9,$9=d9+4|0,T9=$9,e[T9>>2]=u9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=F3,D=T6+4|0,Q=D,e[Q>>2]=j6,_=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=k5+(W<<2)|0,H=e[e0>>2]|0,X=n+36|0,e[X>>2]=H,U=z0+4|0,Z=+s[U>>2],V=+s[d6>>2],a0=Z>V,a0?(s[d6>>2]=Z,n0=Z):n0=V,i0=+mS(n0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=S+4|0,K=e[r0>>2]|0,h0=K<<2,s0=h0+7|0,g0=s0&-8,l0=e[a6>>2]|0,f0=g0+l0|0,d0=n+76|0,w0=e[d0>>2]|0,C0=(f0|0)>(w0|0),k0=n+68|0,u0=e[k0>>2]|0,C0?(B0=(u0|0)==0,B0||(p0=u0,I0=S9(8)|0,K0=e[S3>>2]|0,_0=K0+l0|0,e[S3>>2]=_0,Q0=e[B6>>2]|0,L0=I0+4|0,e[L0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=g0,F0=S9(g0)|0,e[k0>>2]=F0,e[a6>>2]=0,c=e[r0>>2]|0,U0=F0,y0=0,M0=c,N0=g0):(U0=u0,y0=l0,M0=K,N0=w0),T0=U0+y0|0,q0=y0+g0|0,e[a6>>2]=q0,e[n>>2]=T0,x0=M0<<2,J0=x0+7|0,Y0=J0&-8,P0=Y0+q0|0,V0=(P0|0)>(N0|0),V0?(O0=(U0|0)==0,O0||(r1=U0,H0=S9(8)|0,e1=e[S3>>2]|0,i1=e1+q0|0,e[S3>>2]=i1,c1=e[B6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[B6>>2]=H0),e[d0>>2]=Y0,f1=S9(Y0)|0,e[k0>>2]=f1,e[a6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,O5=Y0):(l1=U0,s1=q0,n1=M0,O5=N0),g1=l1+s1|0,a1=s1+Y0|0,e[a6>>2]=a1,e[z0>>2]=g1,A1=(n1|0)>0;e:do if(A1)for(I1=t+8|0,Q1=a1,x1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+b0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,k1=e[S3>>2]|0,U1=k1+Q1|0,e[S3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,b1=S9(B1)|0,e[k0>>2]=b1,e[a6>>2]=0,H1=b1,q1=0):(H1=S1,q1=Q1),K1=H1+q1|0,Y1=q1+B1|0,e[a6>>2]=Y1,j1=e[z0>>2]|0,r2=j1+(i9<<2)|0,e[r2>>2]=K1,W1=e[z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,f2=z1+(i9<<2)|0,A2=e[f2>>2]|0,s4(c2|0,A2|0,d1|0)|0,V1=e[z0>>2]|0,h2=V1+(i9<<2)|0,a2=e[h2>>2]|0,t2=a2+(b0<<2)|0,$2=e[n>>2]|0,i2=$2+(i9<<2)|0,e[i2>>2]=t2,o2=i9+1|0,X1=e[r0>>2]|0,n2=(o2|0)<(X1|0),!n2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,x1=m,S1=p,i9=o2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[u2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,b2=e[F2>>2]|0,N2=(b2|0)/2&-1,d2=g3-N2|0,V2=(d2|0)>0,!V2)return a=1,a|0;if(q2=e[S6>>2]|0,Jv(q2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,A5=(z2|0)>0,A5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,x5=X2+(d2<<2)|0,e5=P2<<2,Wo(X2|0,x5|0,e5|0)|0,Z2=e[r0>>2]|0,u5=(Z2|0)>1,u5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,n5=B<<2,Wo(k2|0,m5|0,n5|0)|0,R2=l5+1|0,_2=e[r0>>2]|0,C5=(R2|0)<(_2|0),C5;)l5=R2;return L5=e[w>>2]|0,e[b3>>2]=L5,d5=e[f>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,b5=e[u2>>2]|0,G5=(b5|0)==0,G5?(f3=(d2|0)<0,B3=f3<<31>>31,N3=_,V5=N3,y3=e[V5>>2]|0,Z5=N3+4|0,i6=Z5,R3=e[i6>>2]|0,G3=Vs(y3|0,R3|0,d2|0,B3|0)|0,a3=q6,l3=_,c3=l3,e[c3>>2]=G3,q5=l3+4|0,U5=q5,e[U5>>2]=a3,a=1,a|0):(_5=b5-d2|0,H2=(_5|0)<1,o=H2?-1:_5,e[u2>>2]=o,I5=(o|0)>(N2|0),I5?($5=(d2|0)<0,x2=$5<<31>>31,Q5=_,H5=Q5,j5=e[H5>>2]|0,E5=Q5+4|0,h3=E5,Y5=e[h3>>2]|0,X5=Vs(j5|0,Y5|0,d2|0,x2|0)|0,n3=q6,m3=_,F5=m3,e[F5>>2]=X5,J5=m3+4|0,w3=J5,e[w3>>2]=n3,a=1,a|0):(o5=o+d2|0,c5=o5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=Vs(W2|0,t5|0,c5|0,S5|0)|0,h5=q6,f5=_,i5=f5,e[i5>>2]=s5,R5=f5+4|0,j2=R5,e[j2>>2]=h5,a=1,a|0))}function Tv(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0;if(i5=C,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,$2=(P1|0)<1,$2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,R5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(R5|0));s0=n4(1,136)|0,p0=t+104|0,e[p0>>2]=s0,q0=t+4|0,e[q0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=F7(n1)|0,B1=s0+44|0,e[B1>>2]=E1,Q1=n4(1,4)|0,R1=s0+12|0,e[R1>>2]=Q1,x1=n4(1,4)|0,w1=s0+16|0,e[w1>>2]=x1,S1=n4(1,20)|0,e[Q1>>2]=S1,L1=n4(1,20)|0,e[x1>>2]=L1,F1=e[B>>2]|0,G1=F1>>X,lB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,b1=N1>>X,lB(U1,b1),K1=e[B>>2]|0,O1=F7(K1)|0,H1=O1+-7|0,q1=s0+4|0,e[q1>>2]=H1,Y1=e[k2>>2]|0,j1=F7(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,c2=(o|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(d5=B+24|0,b5=e[d5>>2]|0,G5=n4(b5,56)|0,e[B2>>2]=G5,H2=e[d5>>2]|0,I5=(H2|0)>0,I5)){for(m1=H2,p5=0;;){if(o5=(B+1824|0)+(p5<<2)|0,c5=e[o5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=GS(a5,c5)|0,S=(W2|0)==0,!S){f5=20;break}if(w=e[o5>>2]|0,gB(w),e[o5>>2]=0,y=p5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,p5=y;else break e}if((f5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,A1=(a1|0)==0,A1?h1=d1:(gB(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 Wp(t),a=-1,a|0}}else{if(z1=s0+20|0,f2=e[B>>2]|0,uQ(z1,f2),s2=s0+32|0,E2=e[k2>>2]|0,uQ(s2,E2),A2=B+2848|0,V1=e[A2>>2]|0,h2=(V1|0)==0,h2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=n4(t2,56)|0,e[A2>>2]=i2,o2=e[a2>>2]|0,X1=(o2|0)>0,X1&&(n2=B+1824|0,u2=e[n2>>2]|0,fQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,b2=e[C2>>2]|0,fQ(v2,b2)|0,N2=w2+1|0,d2=e[a2>>2]|0,V2=(N2|0)<(d2|0),V2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,M2=n4(q2,52)|0,P2=s0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,A5=(z2|0)>0;t:do if(A5)for(T1=B+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(x5=e5+(g2*52|0)|0,D5=(B+2852|0)+(g2<<2)|0,Z2=e[D5>>2]|0,u5=e[Z2>>2]|0,v5=B+(u5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,ES(x5,Z2,T1,l5,m5),n5=g2+1|0,R2=e[G2>>2]|0,_2=(n5|0)<(R2|0),!_2)break t;f=e[P2>>2]|0,e5=f,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,L=t+16|0,e[L>>2]=_,x=n+4|0,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(H=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(H<<2)|0,e[e0>>2]=W,U=H+1|0,$0=(U|0)<(F|0),$0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,a0=e[k2>>2]|0,n0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,K=B+16|0,h0=e[K>>2]|0,g0=n4(h0,4)|0,j=s0+48|0,e[j>>2]=g0,l0=B+20|0,f0=e[l0>>2]|0,d0=n4(f0,4)|0,w0=s0+52|0,e[w0>>2]=d0,C0=e[K>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,K0=25640+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0+8|0,L0=e[Q0>>2]|0,F0=(B+1056|0)+(t5<<2)|0,T0=e[F0>>2]|0,U0=ut[L0&15](t,T0)|0,y0=e[j>>2]|0,x0=y0+(t5<<2)|0,e[x0>>2]=U0,b0=t5+1|0,M0=e[K>>2]|0,J0=(b0|0)<(M0|0),J0;)t5=b0;if(u0=e[l0>>2]|0,B0=(u0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(s5<<2)|0,P0=e[Y0>>2]|0,V0=25648+(P0<<2)|0,N0=e[V0>>2]|0,O0=N0+8|0,r1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,D0=e[e1>>2]|0,i1=ut[r1&15](t,D0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,f1=s5+1|0,g1=e[l0>>2]|0,l1=(f1|0)<(g1|0),l1)s5=f1;else{a=0;break}return a|0}function eQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,C=C+64|0,c=_0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,n=Y,a0=C,C=C+((1*n|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,u0=Q-k0|0,B0=(u0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,S=Q,p0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,D=y+(p0<<2)|0,_=e[D>>2]|0,I0=0;L=I0^-1,x=S+L|0,F=_+(x<<2)|0,M=e[F>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(S|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=S-O|0,+tQ(a0,c,z,16),t0=e[f>>2]|0,J=e[C0>>2]|0,o=t0-J|0,W=a0+(o<<2)|0,a=o+-16|0,e0=a0+(a<<2)|0,iQ(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;V=a0+(S0<<2)|0,n0=e[V>>2]|0,i0=S0^-1,r0=H+i0|0,K=Z+(r0<<2)|0,e[K>>2]=n0,h0=S0+1|0,s0=(H|0)>(h0|0),s0;)S0=h0;if(g0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,f0=e[l0>>2]|0,w0=(g0|0)<(f0|0),w0)S=H,p0=g0;else break}C=_0}function Nv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0;o2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,b0=e[S0>>2]|0,c=d[b0>>0]|0,D0=c,P1=1;;){if(z0=D0<<24>>24==0,z0){W1=P1;break e}if(w1=b0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)D0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==($0|0);e:do if(L){if(U2(n,1,1),x=t+8|0,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,H1=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,H=d[e0>>0]|0,X=J<<24>>24>H<<24>>24,X)for(U=H<<24>>24,Z=J<<24>>24,n0=y,q1=H1,a2=U;;)if(V=z1-q1|0,a0=n0-q1|0,i0=F7(a0)|0,U2(n,V,i0),r0=a2+1|0,r2=(r0|0)==(Z|0),f=e[I>>2]|0,r2){s0=f,Y1=z1;break}else n0=f,q1=z1,a2=r0;else s0=y,Y1=H1;if(K=z1+1|0,h0=(K|0)<(s0|0),h0)y=s0,H1=Y1,z1=K;else{a=s0,O1=Y1,c2=K;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,l0=a-O1|0,f0=F7(l0)|0,U2(n,g0,f0)}else{U2(n,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,s2=0;;){if(u0=k0+s2|0,B0=d[u0>>0]|0,p0=B0<<24>>24==0,p0){f2=s2;break t}if(I0=s2+1|0,K0=(I0|0)<(d0|0),K0)s2=I0;else{f2=I0;break}}else f2=0;while(!1);if(_0=(f2|0)==(d0|0),_0){if(U2(n,0,1),Q0=e[I>>2]|0,L0=(Q0|0)>0,!L0)break;for(F0=t+8|0,E2=0;;)if(T0=e[F0>>2]|0,U0=T0+E2|0,y0=d[U0>>0]|0,q0=y0<<24>>24,x0=q0+-1|0,U2(n,x0,5),M0=E2+1|0,J0=e[I>>2]|0,Y0=(M0|0)<(J0|0),Y0)E2=M0;else break e}if(U2(n,1,1),P0=e[I>>2]|0,V0=(P0|0)>0,V0)for(N0=t+8|0,A2=0;O0=e[N0>>2]|0,r1=O0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[N0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,f1=$1<<24>>24,g1=f1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,A1=e[n1>>2]|0,U2(n,A1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)i2=28;else if(I1|0)return o=-1,o|0;do if((i2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return o=-1,o|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(n,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(n,Q1,32),R1=t+24|0,x1=e[R1>>2]|0,S1=x1+-1|0,U2(n,S1,4),L1=t+28|0,F1=e[L1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)k1=MS(t)|0,$2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,$2=N1;else break;if(b1=($2|0)>0,b1)for(V1=0;K1=e[h1>>2]|0,p=K1+(V1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,t2=0-B|0,v=h2?B:t2,S=e[R1>>2]|0,U2(n,v,S),w=V1+1|0,j1=(w|0)==($2|0),!j1;)V1=w}while(!1);return o=0,o|0}function Rh(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,c=(n|0)<0,c||(f=t+12|0,Q=e[f>>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,p=d[m>>0]|0,B=p<<24>>24,U2(o,G,B),v=e[f>>2]|0,S=v+8|0,w=e[S>>2]|0,y=w+n|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function Km(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=xh(t,n)|0,I=(E|0)>-1,!I)?(o=-1,o|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,o=v,o|0)}function Gv(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,F=(p|0)>0,!F)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,$0=C,C=C+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,r0=0;;){if(N=xh(t,o)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[V>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,H=(W|0)<(X|0),H)r0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,n0=E|I,n0)return c=0,C=j,c|0;for(K=0,s0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],_=h0+s0|0,L=n+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=K+1|0,v=s0+X|0,S=(B|0)<(a0|0),S)K=B,s0=v;else{c=0;break}}return C=j,c|0}function Uv(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return c=0,c|0;if(I0=e[t>>2]|0,x0=(I0|0)>8,x0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(K1=t+16|0,X1=0;;){if(Z=xh(t,o)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(a0=e[K1>>2]|0,n0=e[t>>2]|0,i0=r5(n0,Z)|0,r0=(n0|0)>0,r0){for(K=(n0|0)>1,O2=K?n0:1,u2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,s0=a0+(z<<2)|0,j=+s[s0>>2],l0=u2+1|0,f0=n+(u2<<2)|0,d0=+s[f0>>2],w0=d0+j,s[f0>>2]=w0,C0=(h0|0)<(n0|0),C0;)u2=l0,d2=h0;f2=X1+O2|0,n2=f2}else n2=X1;if(J=(n2|0)<(a|0),J)X1=n2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,A1=(a|0)>0,A1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(H=xh(t,o)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=H,Q=U,T1=19;break t}case 3:{v=H,_=U,T1=21;break t}case 7:{I=H,w=U,T1=13;break t}case 6:{m=H,y=U,T1=15;break t}case 8:{f=U,E=H,T1=12;break t}case 5:{p=H,D=U,T1=17;break t}case 1:{V1=H,a2=U,N2=e2,A5=0;break t}case 2:{S=H,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,u0=f+(k0<<2)|0,B0=+s[u0>>2],p0=e2+1|0,S0=n+(e2<<2)|0,K0=+s[S0>>2],_0=K0+B0,s[S0>>2]=_0,F0=k0,U0=f,y2=p0,V2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,F0=Q0,U0=w,y2=e2,V2=0,T1=14):(T1|0)==15?(T1=0,Y0=m*6|0,V0=Y0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=D,w2=e2,q2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,P1=L,b2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,L0=V2+1|0,O=V2+F0|0,T0=U0+(O<<2)|0,y0=+s[T0>>2],q0=y2+1|0,b0=n+(y2<<2)|0,M0=+s[b0>>2],J0=M0+y0,s[b0>>2]=J0,V0=F0,O0=U0,v2=q0,G2=L0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+V0|0,N0=O0+(G<<2)|0,r1=+s[N0>>2],H0=v2+1|0,D0=n+(v2<<2)|0,i1=+s[D0>>2],c1=i1+r1,s[D0>>2]=c1,g1=V0,s1=O0,w2=H0,q2=P0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,N=q2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,z0=n+(w2<<2)|0,I1=+s[z0>>2],h1=I1+a1,s[z0>>2]=h1,E1=g1,p1=s1,C2=n1,M2=f1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],R1=C2+1|0,w1=n+(C2<<2)|0,S1=+s[w1>>2],L1=S1+Q1,s[w1>>2]=L1,k1=E1,Z1=p1,F2=R1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],b1=F2+1|0,O1=n+(F2<<2)|0,H1=+s[O1>>2],q1=H1+N1,s[O1>>2]=q1,r2=k1,P1=Z1,b2=b1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+r2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=b2+1|0,s2=n+(b2<<2)|0,E2=+s[s2>>2],A2=E2+c2,s[s2>>2]=A2,V1=r2,a2=P1,N2=z1,A5=j1),x=A5+V1|0,h2=a2+(x<<2)|0,t2=+s[h2>>2],$2=N2+1|0,i2=n+(N2<<2)|0,o2=+s[i2>>2],W=o2+t2,s[i2>>2]=W,e0=($2|0)<(a|0),e0)e2=$2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function Pv(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0;if(g0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(o|0)/(a|0)&-1,e0=f+o|0,H=(e0|0)/(a|0)&-1,X=(W|0)<(H|0),!X))return I=0,I|0;for(U=t+16|0,V=0,i0=W;;){if(Z=xh(t,c)|0,S=(Z|0)==-1,S){I=-1,s0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=r5(y,Z)|0,Q=(y|0)>0,Q)for(n0=V,K=i0,h0=0;;)if(p=h0+D|0,_=w+(p<<2)|0,L=+s[_>>2],x=n0+1|0,F=n+(n0<<2)|0,M=e[F>>2]|0,N=M+(K<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+K|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)n0=E,K=m,h0=t0;else{a0=E,r0=m;break}else a0=V,r0=i0;if($0=(r0|0)<(H|0),$0)V=a0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function xh(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0;h1=C,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=AB(n,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,Y0=e[Q0>>2]|0,c1=Y0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,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,oB(n,x),o=w,o|0}else F=t+8|0,M=e[F>>2]|0,f1=M,l1=0;while(!1);if(T=AB(n,f)|0,N=(T|0)<0,G=(f|0)>1,O=N&G,O)for(z0=f;;)if(z=z0+-1|0,t0=AB(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)z0=z;else{a=J,n1=t0,A1=z;break}else a=N,n1=T,A1=f;if(a)return o=-1,o|0;if(H=n1>>>16,X=n1<<16,U=H|X,$0=U>>>8,Z=$0&16711935,V=U<<8,n0=V&-16711936,i0=Z|n0,r0=i0>>>4,K=r0&252645135,h0=i0<<4,s0=h0&-252645136,g0=K|s0,j=g0>>>2,l0=j&858993459,f0=g0<<2,w0=f0&-858993460,C0=l0|w0,k0=C0>>>1,u0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=u0|p0,S0=f1-l1|0,K0=(S0|0)>1,K0)for(_0=t+20|0,L0=e[_0>>2]|0,T0=S0,g1=f1,a1=l1;;)if(F0=T0>>1,U0=F0+a1|0,y0=L0+(U0<<2)|0,q0=e[y0>>2]|0,x0=q0>>>0>I0>>>0,b0=x0?0:F0,M0=b0+a1|0,J0=x0?F0:0,P0=g1-J0|0,V0=P0-M0|0,N0=(V0|0)>1,N0)T0=V0,g1=P0,a1=M0;else{s1=M0;break}else s1=l1;return O0=t+28|0,r1=e[O0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,D0=e1<<24>>24,i1=(D0|0)>(A1|0),i1?(oB(n,A1),o=-1,o|0):(oB(n,D0),o=s1,o|0)}function Ov(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;for(c1=C,p=n+28|0,B=e[p>>2]|0,M=n+4|0,H=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,Y0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=Y0,e[t>>2]=H,V0=t+164|0,e[V0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|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,lB(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),F=x*.024736950028266088,T=+Tn(+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,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,a0=t+120|0,e[a0>>2]=17,n0=t+124|0,e[n0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,s0=4,D0=0;;){if(K=s0<<2,g0=S9(K)|0,j=((t+40|0)+(D0<<4)|0)+8|0,e[j>>2]=g0,l0=(s0|0)>0,l0){for(f0=+(s0|0),d0=((t+40|0)+(D0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/f0,u0=k0*3.141592653589793,p0=+Tn(+u0),I0=p0,S0=g0+(e1<<2)|0,s[S0>>2]=I0,K0=_0+I0,Q0=e1+1|0,N0=(Q0|0)==(s0|0),N0){o=K0;break}else _0=K0,e1=Q0;s[d0>>2]=o,E=d0,F0=o}else c=((t+40|0)+(D0<<4)|0)+12|0,I=+s[c>>2],E=c,F0=I;if(L0=1/F0,s[E>>2]=L0,T0=D0+1|0,O0=(T0|0)==7,O0)break;a=((t+40|0)+(T0<<4)|0)+4|0,f=e[a>>2]|0,s0=f,D0=T0}U0=H*7|0,q0=n4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,b0=e[V0>>2]|0,M0=n4(b0,4)|0,J0=t+160|0,e[J0>>2]=M0}function Hv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,cB(n),o=t+48|0,w=e[o>>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),c=t+128|0,f=e[c>>2]|0,I2(f),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),S=t+160|0,y=e[S>>2]|0,I2(y),Ae(t|0,0,180)|0}function qv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=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,K=e0+2868|0,u0=t+104|0,U0=e[u0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,S=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(v|0)&-1,Q=D+-4|0,_=(S|0)<0,n=_?0:S,L=D+2|0,x=O0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=O0+160|0,G=e[N>>2]|0,O=L<<2,z=Pi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,H=O0+40|0,X=O0+152|0,b1=n;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,V=e[O0>>2]|0,a0=(V|0)>0,a0){for(N1=0,q1=0;;)if(h0=e[W>>2]|0,s0=h0+(N1<<2)|0,g0=e[s0>>2]|0,j=e[I>>2]|0,l0=r5(j,b1)|0,f0=g0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=Kv(O0,K,f0,H,C0)|0,B0=k0|q1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,q1=B0;else{c=B0;break}K0=b1+2|0,_0=e[J>>2]|0,Q0=_0+(K0<<2)|0,e[Q0>>2]=0,L0=c&1,F0=(L0|0)==0,F0||(T0=_0+(b1<<2)|0,e[T0>>2]=1,y0=b1+1|0,q0=_0+(y0<<2)|0,e[q0>>2]=1),x0=c&2,b0=(x0|0)==0,b0||(M0=_0+(b1<<2)|0,e[M0>>2]=1,J0=(b1|0)>0,J0&&(Y0=b1+-1|0,P0=_0+(Y0<<2)|0,e[P0>>2]=1)),V0=c&4,N0=(V0|0)==0,N0||(e[t0>>2]=-1)}else n0=b1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=b1+1|0,Z1=(r1|0)==(Q|0),Z1)break;b1=r1}if(H0=e[I>>2]|0,e1=r5(H0,Q)|0,e[s1>>2]=e1,D0=t+48|0,i1=e[D0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,f1=e0+($1<<2)|0,g1=e[f1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,A1=e[n1>>2]|0,z0=(A1|0)/2&-1,I1=a1+z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return o=-1,o|0;for(x1=O0+160|0,K1=B1;;){if(L1=(K1|0)<(d1|0),!L1){o=1,Y1=22;break}if(e[E1>>2]=K1,F1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&m,w1=H0+K1|0,H1){O1=K1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)K1=w1;else{o=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,o=0,o|0):(Y1|0)==22?o|0:0}function Yv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0;if(B0=C,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,s0=a0+28|0,g0=e[s0>>2]|0,j=t+48|0,l0=e[j>>2]|0,f0=t+40|0,E=e[f0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,v=p+l0|0,S=(E|0)==0,S?(G=e[g0>>2]|0,O=(G|0)/4&-1,o=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,o=N,a=L),d0=B-a|0,w0=v+o|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return n=1,n|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(d0|0)/(H|0)&-1,U=(w0|0)/(H|0)&-1,$0=(X|0)<(U|0),!$0)return n=0,n|0;for(Z=Q+160|0,V=e[Z>>2]|0,C0=X;;){if(r0=V+(C0<<2)|0,K=e[r0>>2]|0,h0=(K|0)==0,n0=C0+1|0,!h0){n=1,u0=9;break}if(i0=(n0|0)<(U|0),i0)C0=n0;else{n=0,u0=9;break}}return(u0|0)==9?n|0:0}function Jv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=t+168|0,a=e[o>>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,c=L-x|0,f=c<<2,Wo(M|0,T|0,f|0)|0,E=e[o>>2]|0,I=E-n|0,e[o>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D;return}v=p-n|0,e[m>>2]=v,S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D}function Kv(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,F2=+s[$2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,x2=(g2|0)>5,F5=(g2|0)/2&-1,f=x2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,F0=+(C0|0),V0=i0-F0,g1=V0<0,f6=g1?0:V0,E1=f6>i0,p3=E1?i0:f6,k1=(t0|0)>0,k1)for(r2=t+36|0,a2=e[r2>>2]|0,O5=0;i2=o+(O5<<2)|0,o2=+s[i2>>2],X1=a2+(O5<<2)|0,n2=+s[X1>>2],u2=n2*o2,e2=k2+(O5<<2)|0,s[e2>>2]=u2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,rQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,b2=C2,N2=k2+4|0,d2=+s[N2>>2],V2=d2,G2=V2*V2,q2=G2*.7,M2=q2+b2,P2=k2+8|0,z2=+s[P2>>2],A5=z2,T1=A5*A5,X2=T1*.2,x5=M2+X2,e5=x5,D5=c+140|0,Z2=e[D5>>2]|0,u5=(Z2|0)==0,u5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,H2=l5):(n5=c+132|0,R2=+s[n5>>2],_2=R2+e5,s[n5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],L5=C5+e5,s[B2>>2]=L5,T=n5,H2=_2),d5=(c+72|0)+(Z2<<2)|0,b5=+s[d5>>2],G5=H2-b5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[D5>>2]|0,o5=I5+1|0,c5=(I5|0)>13,E=c5?0:o5,e[D5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=H2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,f5=J2,L=f5,L0=w2,k5=0;;){if(Q0=L0*L0,T0=k5|1,U0=k2+(T0<<2)|0,y0=+s[U0>>2],q0=y0*y0,x0=q0+Q0,b0=(s[p2>>2]=x0,e[p2>>2]|0),M0=b0&2147483647,J0=+(M0>>>0),Y0=J0*35885571492144663e-23,P0=Y0+-382.30810546875,N0=P0>1,H0=k2+(r1<<2)|0,s[H0>>2]=z,e1=k5+2|0,D0=(e1|0)<(B5|0),!D0)break e;i1=L+-8,F=k2+(e1<<2)|0,M=+s[F>>2],L=i1,L0=M,k5=e1}while(!1);if(i5=(f|0)>0,i5)o3=0,P3=0;else{for(e3=0,W3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,U3=0;;)if(A1=s1+U3|0,z0=k2+(A1<<2)|0,I1=+s[z0>>2],h1=n1+(U3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=U3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,U3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(e3<<4)|0)+12|0,x1=+s[R1>>2],w1=x1*R3,S1=(c+(e3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=b1?U1:w1,K1=v+-99999,O1=N1+99999,H1=(c+(e3*144|0)|0)+(L1<<2)|0,s[H1>>2]=w1,q1=e[S1>>2]|0,Y1=q1+1|0,j1=(q1|0)>15,D=j1?0:Y1,e[S1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+p3,z1=O1>c2,f2=W3|5,K5=z1?f2:W3,s2=(n+32|0)+(e3<<2)|0,E2=+s[s2>>2],A2=E2-p3,V1=K1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(o3<<4)|0,n0=e[w0>>2]|0,k0=(a+(o3<<4)|0)+8|0,s0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=n0+M5|0,r0=k2+(a0<<2)|0,K=+s[r0>>2],h0=s0+(M5<<2)|0,g0=+s[h0>>2],j=g0*K,l0=j+l3,f0=M5+1|0,d0=(f0|0)<(j2|0),d0)l3=l0,M5=f0;else{G3=l0;break}else G3=0;for(u0=(a+(o3<<4)|0)+12|0,B0=+s[u0>>2],h3=B0*G3,X5=(c+(o3*144|0)|0)+68|0,u3=e[X5>>2]|0,p0=(u3|0)<1,B=p0?16:-1,m=B+u3|0,I0=(c+(o3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],K0=h3S0,S=_0?S0:h3,A6=0,x3=m,k3=-99999,Q3=99999;;)if(e0=(x3|0)<1,y=e0?16:-1,w=y+x3|0,H=(c+(o3*144|0)|0)+(w<<2)|0,X=+s[H>>2],U=k3X,N=Z?X:Q3,V=A6+1|0,q5=(V|0)==(f|0),q5){x=$0,G=N;break}else A6=V,x3=w,k3=$0,Q3=N;if(Q5=S-G,H5=j5-x,E5=(c+(o3*144|0)|0)+(u3<<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)+(o3<<2)|0,w3=+s[J5>>2],f3=w3+p3,B3=H5>f3,V3=P3|5,v3=B3?V3:P3,N3=(n+32|0)+(o3<<2)|0,V5=+s[N3>>2],y3=V5-p3,Z5=Q5>2]|0,C2=n+1288|0,j3=e[C2>>2]|0,F3=n+1284|0,E6=e[F3>>2]|0,E9=(E6|0)>0,E9){for(f8=0;W4=p4+(f8<<2)|0,e[W4>>2]=-200,Be=f8+1|0,pe=(Be|0)==(E6|0),!pe;)f8=Be;if(E9){for(Y3=0;u4=c4+(Y3<<2)|0,e[u4>>2]=-200,W=Y3+1|0,l4=(W|0)==(E6|0),!l4;)Y3=W;if(E9){for(r0=E6<<2,Ae(M8|0,0,r0|0)|0,w9=0;k0=be+(w9<<2)|0,e[k0>>2]=1,T0=w9+1|0,Ue=(T0|0)==(E6|0),!Ue;)w9=T0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return te=0,C=e4,te|0;for(U1=j3+-1|0,W1=J+1112|0,t2=E6+-1|0,M=e[n>>2]|0,C4=M,B9=0,Qe=0;;){D4=B9+1|0,b4=n+(D4<<2)|0,R4=e[b4>>2]|0,M4=P6+(B9*56|0)|0,Me=M4,b7=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(b7|0));if(e[M4>>2]=C4,T4=(P6+(B9*56|0)|0)+4|0,e[T4>>2]=R4,U9=(R4|0)<(j3|0),t7=U9?R4:U1,N4=(t7|0)<(C4|0),N4)k8=0,X8=0,D8=0,b8=0,m8=0,Fe=0,i7=0,q9=0,K8=0,R8=0,H7=0,q7=0;else for(k4=C4,u8=0,Pe=0,O4=0,j9=0,ye=0,o8=0,I3=0,b9=0,$8=0,p9=0,a7=0,x8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],x4=O*7.314285755157471,f4=x4+1023.5,Ce=~~f4,H9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=H9?1023:E,Ne=(v|0)==0;do if(Ne)H8=u8,i8=Pe,n8=O4,E8=j9,He=ye,Q4=o8,B8=I3,Y8=b9,q4=$8,Ke=p9,ne=a7,V8=x8;else if(Xe=o+(k4<<2)|0,G4=+s[Xe>>2],Ge=+s[W1>>2],U4=Ge+G4,j4=!(U4>=O),j4){ae=k4+o8|0,W9=v+x8|0,$e=r5(k4,k4)|0,le=$e+j9|0,B4=r5(v,v)|0,e0=B4+p9|0,H=r5(v,k4)|0,X=H+b9|0,U=Pe+1|0,H8=u8,i8=U,n8=O4,E8=le,He=ye,Q4=ae,B8=I3,Y8=X,q4=$8,Ke=e0,ne=a7,V8=W9;break}else{De=k4+ye|0,e8=v+a7|0,Z9=r5(k4,k4)|0,oe=Z9+O4|0,_6=r5(v,v)|0,P4=_6+$8|0,L9=r5(v,k4)|0,$4=L9+I3|0,_4=u8+1|0,H8=_4,i8=Pe,n8=oe,E8=j9,He=De,Q4=o8,B8=$4,Y8=b9,q4=P4,Ke=p9,ne=e8,V8=x8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(t7|0),Z)k4=$0,u8=H8,Pe=i8,O4=n8,j9=E8,ye=He,o8=Q4,I3=B8,b9=Y8,$8=q4,p9=Ke,a7=ne,x8=V8;else{k8=H8,X8=i8,D8=n8,b8=E8,m8=He,Fe=Q4,i7=B8,q9=Y8,K8=q4,R8=Ke,H7=ne,q7=V8;break}}if(V=(P6+(B9*56|0)|0)+8|0,e[V>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=H7,n0=(P6+(B9*56|0)|0)+16|0,e[n0>>2]=D8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=K8,K=(P6+(B9*56|0)|0)+24|0,e[K>>2]=i7,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,s0=(P6+(B9*56|0)|0)+32|0,e[s0>>2]=Fe,g0=(P6+(B9*56|0)|0)+36|0,e[g0>>2]=q7,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=b8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=R8,f0=(P6+(B9*56|0)|0)+48|0,e[f0>>2]=q9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(D4|0)==(t2|0),g6){f7=w0;break}else C4=R4,B9=D4,Qe=w0}}else ue=9}else ue=9}else ue=9}else ue=9;if((ue|0)==9){if(N0=(E6|0)==0,!N0)return te=0,C=e4,te|0;F2=P6+4|0,Me=P6,b7=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(b7|0));if(e[F2>>2]=j3,O2=(j3|0)<1,O2)P8=0,j8=0,q8=0,I8=0,A8=0,X9=0,C8=0,ie=0,s7=0,A7=0,M7=0,T7=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,r8=0,ge=0,he=0,fe=0,H4=0,re=0,a8=0,Je=0,v7=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,x2=g2+1023.5,F5=~~x2,R3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,B=R3?1023:f,P3=(B|0)==0;do if(P3)O8=v8,xe=d8,Le=r8,s8=ge,Oe=he,we=fe,qe=H4,Ye=re,_8=a8,o7=Je,S7=v7,D7=l8;else if(c6=o+(g4<<2)|0,q3=+s[c6>>2],n6=+s[k2>>2],s9=n6+q3,L6=!(s9>=G),L6){f9=g4+fe|0,u9=B+l8|0,d9=r5(g4,g4)|0,a9=d9+ge|0,$9=r5(B,B)|0,T9=$9+Je|0,T6=r5(B,g4)|0,i9=T6+re|0,N9=d8+1|0,O8=v8,xe=N9,Le=r8,s8=a9,Oe=he,we=f9,qe=H4,Ye=i9,_8=a8,o7=T9,S7=v7,D7=u9;break}else{U6=g4+he|0,b6=B+v7|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(B,B)|0,M6=F6+a8|0,t9=r5(B,g4)|0,o9=t9+H4|0,j6=v8+1|0,O8=j6,xe=d8,Le=y6,s8=ge,Oe=U6,we=fe,qe=o9,Ye=re,_8=M6,o7=Je,S7=b6,D7=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(j3|0),C9){P8=O8,j8=xe,q8=Le,I8=s8,A8=Oe,X9=we,C8=qe,ie=Ye,s7=_8,A7=o7,M7=S7,T7=D7;break}else g4=I9,v8=O8,d8=xe,r8=Le,ge=s8,he=Oe,fe=we,H4=qe,re=Ye,a8=_8,Je=o7,v7=S7,l8=D7}E4=P6+8|0,e[E4>>2]=A8,A4=P6+12|0,e[A4>>2]=M7,h4=P6+16|0,e[h4>>2]=q8,G9=P6+20|0,e[G9>>2]=s7,z9=P6+24|0,e[z9>>2]=C8,D9=P6+28|0,e[D9>>2]=P8,H6=P6+32|0,e[H6>>2]=X9,r9=P6+36|0,e[r9>>2]=T7,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=A7,o4=P6+48|0,e[o4>>2]=ie,y9=P6+52|0,e[y9>>2]=j8,f7=P8}if(C0=(f7|0)==0,C0)return te=0,C=e4,te|0;e[n7>>2]=-200,e[J8>>2]=-200,u0=E6+-1|0,aB(P6,u0,n7,J8,J)|0,B0=e[n7>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,K0=(E6|0)>2;do if(K0){_0=J+1112|0,Q0=J+1096|0,L0=J+1100|0,F0=J+1104|0,F4=2;e:for(;;){U0=(n+520|0)+(F4<<2)|0,y0=e[U0>>2]|0,q0=M8+(y0<<2)|0,x0=e[q0>>2]|0,b0=be+(y0<<2)|0,M0=e[b0>>2]|0,J0=Z8+(x0<<2)|0,Y0=e[J0>>2]|0,P0=(Y0|0)==(M0|0);t:do if(!P0){if(V0=(n+520|0)+(x0<<2)|0,O0=e[V0>>2]|0,r1=(n+520|0)+(M0<<2)|0,H0=e[r1>>2]|0,e[J0>>2]=M0,e1=(J+836|0)+(x0<<2)|0,D0=e[e1>>2]|0,i1=(J+836|0)+(M0<<2)|0,c1=e[i1>>2]|0,$1=p4+(x0<<2)|0,f1=e[$1>>2]|0,g1=(f1|0)<0,s1=c4+(x0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=f1:(A1=a1+f1|0,z0=A1>>1,y=z0)),I1=p4+(M0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(M0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,w1=(Q|0)==-1,w7=x1|w1,w7){ue=38;break e}S1=Q-y|0,L1=c1-D0|0,Re=(S1|0)>-1,k9=0-S1|0,F1=Re?S1:k9,G1=(S1|0)/(L1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(D0<<2)|0,Y=+s[N1>>2],b1=Y*7.314285755157471,K1=b1+1023.5,O1=~~K1,H1=(O1|0)>1023,q1=(O1|0)<0,I=q1?0:O1,S=H1?1023:I,Y1=r5(G1,L1)|0,l7=(Y1|0)>-1,h7=0-Y1|0,j1=l7?Y1:h7,r2=F1-j1|0,P1=y-S|0,c2=r5(P1,P1)|0,z1=o+(D0<<2)|0,f2=+s[z1>>2],s2=+s[_0>>2],E2=s2+f2,A2=!(E2>=Y),A2?ue=42:(V1=+(y|0),h2=+s[Q0>>2],a2=h2+V1,$2=+(S|0),i2=a2<$2,i2||(o2=+s[L0>>2],X1=V1-o2,n2=X1>$2,n2||(ue=42)));i:do if((ue|0)==42){if(ue=0,u2=D0+1|0,e2=(u2|0)<(c1|0),e2)for(d2=u2,X4=0,y7=c2,U8=1,u7=y;;){if(y2=X4+r2|0,v2=(y2|0)<(L1|0),w2=v2?0:Z1,b2=v2?0:L1,L4=y2-b2|0,F=u7+G1|0,r7=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],V2=z*7.314285755157471,G2=V2+1023.5,q2=~~G2,M2=(q2|0)>1023,P2=(q2|0)<0,m=P2?0:q2,D=M2?1023:m,z2=r7-D|0,A5=r5(z2,z2)|0,T1=A5+y7|0,X2=U8+1|0,x5=o+(d2<<2)|0,e5=+s[x5>>2],D5=e5+s2,Z2=D5>=z,u5=(D|0)!=0,e7=Z2&u5,e7&&(v5=+(r7|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(D|0),n5=l5>2],_2=v5-R2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,X4=L4,y7=T1,U8=X2,u7=r7;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],b5=d5*d5,G5=+(G8|0),H2=b5/G5,I5=+s[F0>>2],o5=H2>I5,!o5&&(c5=+s[L0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(F4<<2)|0,e[l3>>2]=-200,c3=c4+(F4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=aB(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,f5=aB(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,R5=e[_e>>2]|0,e[N8>>2]=R5),j2=(f5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(F4<<2)|0,e[Q5>>2]=-200,H5=c4+(F4<<2)|0,e[H5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(x0|0)==0,E5&&(e[p4>>2]=j5),u3=e[N8>>2]|0,h3=p4+(F4<<2)|0,e[h3>>2]=u3,Y5=e[_e>>2]|0,X5=c4+(F4<<2)|0,e[X5>>2]=Y5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(M0|0)==1,m3&&(e[I0>>2]=n3),J5=Y5&u3,w3=(J5|0)>-1,w3){f3=(y0|0)>0;i:do if(f3)for(z8=y0;;){if(Q7=z8+-1|0,V3=be+(Q7<<2)|0,N3=e[V3>>2]|0,V5=(N3|0)==(M0|0),!V5)break i;if(e[V3>>2]=F4,y3=(z8|0)>1,y3)z8=Q7;else break}while(!1);if(g7=y0+1|0,B3=(g7|0)<(E6|0),B3)for(F8=g7;;){if(Z5=M8+(F8<<2)|0,i6=e[Z5>>2]|0,G3=(i6|0)==(x0|0),!G3)break t;if(e[Z5>>2]=F4,c7=F8+1|0,a3=(c7|0)<(E6|0),a3)F8=c7;else break}}}while(!1);if(C3=F4+1|0,q5=(C3|0)<(E6|0),q5)F4=C3;else{ue=68;break}}if((ue|0)==38)uv(1);else if((ue|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,A6=N;break}}else k5=B0,A6=B0;while(!1);if(U5=E6<<2,O5=O7(t,U5)|0,U3=(k5|0)<0,U3?w=A6:(e3=(A6|0)<0,e3?w=k5:(o3=A6+k5|0,x3=o3>>1,w=x3)),e[O5>>2]=w,f6=e[S0>>2]|0,p3=(f6|0)<0,k3=e[I0>>2]|0,p3?L=k3:(Q3=(k3|0)<0,Q3?L=f6:(r6=k3+f6|0,W3=r6>>1,L=W3)),K5=O5+4|0,e[K5>>2]=L,K0)ee=2;else return te=O5,C=e4,te|0;for(;;)if(v3=ee+-2|0,g3=(n+1032|0)+(v3<<2)|0,O3=e[g3>>2]|0,l6=(n+780|0)+(v3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(O3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(O3<<2)|0,R6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,S3=(J+836|0)+(ee<<2)|0,X3=e[S3>>2]|0,e6=R6&32767,u6=C6&32767,H3=u6-e6|0,D3=B6-v6|0,$7=(H3|0)>-1,S8=0-H3|0,z3=$7?H3:S8,D6=X3-v6|0,o6=r5(z3,D6)|0,t3=(o6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+e6|0,a6=p4+(ee<<2)|0,d6=e[a6>>2]|0,b3=(d6|0)<0,N6=c4+(ee<<2)|0,Q6=e[N6>>2]|0,b3?p=Q6:(x6=(Q6|0)<0,x6?p=d6:(V6=Q6+d6|0,I6=V6>>1,p=I6)),J6=(p|0)<0,L3=(_|0)==(p|0),k7=J6|L3,W6=_|32768,c=k7?W6:p,G6=O5+(ee<<2)|0,e[G6>>2]=c,e9=ee+1|0,ce=(e9|0)==(E6|0),ce){te=O5;break}else ee=e9;return C=e4,te|0}function L8(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;if(a0=C,f=n+1284|0,E=e[f>>2]|0,_=(o|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=O7(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=o+(U<<2)|0,H=e[e0>>2]|0,I=H&32767,m=r5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=r5(v,c)|0,w=m+32768|0,y=w+S|0,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[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function Vv(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0;if(M6=C,C=C+336|0,L6=M6+64|0,g3=M6+32|0,L3=M6,D=o+1296|0,Q=e[D>>2]|0,h2=o+1284|0,R2=e[h2>>2]|0,o5=n+64|0,s5=e[o5>>2]|0,j5=s5+4|0,f3=e[j5>>2]|0,l3=f3+28|0,o3=e[l3>>2]|0,_=o3+2848|0,t0=e[_>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),x5=n+36|0,e5=e[x5>>2]|0,D5=(e5|0)/2&-1,Z2=D5<<2,Ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(R2|0)>0,w0)for(L0=Q+832|0,u6=0;P0=a+(u6<<2)|0,f1=e[P0>>2]|0,d1=f1&32767,G1=e[L0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?(a2=d1>>>3,U6=a2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,u5=f1&32768,v5=u5|U6,e[P0>>2]=v5,P5=u6+1|0,C6=(P5|0)==(R2|0),!C6;)u6=P5;if(l5=e[a>>2]|0,e[L6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,n5=L6+4|0,e[n5>>2]=m5,_2=(R2|0)>2,B2=o+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,L5=(o+1032|0)+(C5<<2)|0,d5=e[L5>>2]|0,b5=(o+780|0)+(C5<<2)|0,G5=e[b5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,H2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-H2|0,q3=(t5|0)>-1,W6=0-t5|0,J2=q3?t5:W6,f5=W2-H2|0,i5=r5(J2,f5)|0,R5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-R5|0,m=j2?$5:R5,I=m+g2|0,x2=a+(H3<<2)|0,Q5=e[x2>>2]|0,H5=Q5&32768,E5=(H5|0)!=0,u3=(Q5|0)==(I|0),s9=E5|u3,s9)h3=I|32768,e[x2>>2]=h3,Y5=L6+(H3<<2)|0,e[Y5>>2]=0;else{X5=e[B2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),f=m3?n3:I,F5=Q5-I|0,J5=(F5|0)<0;do if(J5)if(w3=0-f|0,B3=(F5|0)<(w3|0),B3){V3=F5^-1,N3=f+V3|0,b6=N3;break}else{V5=F5<<1,y3=V5^-1,b6=y3;break}else if(Z5=(f|0)>(F5|0),Z5){R3=F5<<1,b6=R3;break}else{i6=f+F5|0,b6=i6;break}while(!1);G3=L6+(H3<<2)|0,e[G3>>2]=b6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(R2|0),Y6)break;H3=C3}v=e[L6>>2]|0,S=e[n5>>2]|0,r6=v,v3=S}else r6=l5,v3=m5;if(U2(t,1,1),q5=o+1308|0,U5=e[q5>>2]|0,O5=U5+1|0,e[q5>>2]=O5,k5=e[B2>>2]|0,U3=k5+-1|0,M5=F7(U3)|0,A6=M5<<1,e3=o+1304|0,x3=e[e3>>2]|0,f6=x3+A6|0,e[e3>>2]=f6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=F7(k3)|0,U2(t,r6,Q3),W3=e[B2>>2]|0,P3=W3+-1|0,K5=F7(P3)|0,U2(t,v3,K5),L=e[Q>>2]|0,x=(L|0)>0,x)for(F=o+1300|0,D3=0,o6=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[L3>>2]=0,e[L3+4>>2]=0,e[L3+8>>2]=0,e[L3+12>>2]=0,e[L3+16>>2]=0,e[L3+20>>2]=0,e[L3+24>>2]=0,e[L3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,f0=e[l0>>2]|0,d0=(f0|0)<0,d0?y=1:(C0=(o3+1824|0)+(f0<<2)|0,k0=e[C0>>2]|0,u0=k0+4|0,B0=e[u0>>2]|0,y=B0),p0=L3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,k6=0,a6=0;;)if(K0=g3+(a6<<2)|0,_0=e[K0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(H=L3+(N6<<2)|0,X=e[H>>2]|0,$0=(U|0)<(X|0),$0){n6=N6,F3=31;break}if(Z=N6+1|0,V=(Z|0)<(Y|0),V)N6=Z;else{F3=33;break}}if((F3|0)==31?(F3=0,a0=g3+(d6<<2)|0,e[a0>>2]=n6,r0=n6):(F3|0)==33&&(F3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<>2]|0,x0=t0+(q0*56|0)|0,b0=Rh(x0,d3,t)|0,M0=e[F>>2]|0,J0=M0+b0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(b3=0;V0=g3+(b3<<2)|0,N0=e[V0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(N0<<2)|0,r1=e[O0>>2]|0,H0=(r1|0)>-1,H0&&(e1=b3+o6|0,D0=L6+(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)),A1=b3+1|0,p6=(A1|0)==(G|0),!p6;)b3=A1;if(z0=G+o6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,o6=z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=r5(p1,E1)|0,R1=n+28|0,x1=e[R1>>2]|0,w1=o3+(x1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(X3=0,t3=1,Q6=0,I6=Q1;;){if(K1=(o+260|0)+(t3<<2)|0,O1=e[K1>>2]|0,H1=a+(O1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,r2=(Y1|0)==(q1|0),r2)if(W1=e[B1>>2]|0,P1=r5(W1,q1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,f2=P1-I6|0,s2=z1-Q6|0,z3=(f2|0)>-1,G6=0-f2|0,E2=z3?f2:G6,A2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=r5(A2,s2)|0,D6=($2|0)>-1,e9=0-$2|0,i2=D6?$2:e9,o2=E2-i2|0,X1=(L1|0)>(z1|0),z6=X1?z1:L1,n2=(z6|0)>(Q6|0),n2&&(u2=c+(Q6<<2)|0,e[u2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+o2|0,C2=(v2|0)<(s2|0),F2=C2?0:t2,b2=C2?0:s2,B6=v2-b2|0,B=y6+A2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,V2=d2+1|0,c6=(V2|0)==(z6|0),c6){e6=z1,x6=z1,J6=P1;break}else d2=V2,S6=B6,y6=F6;else e6=z1,x6=z1,J6=P1;else e6=X3,x6=Q6,J6=I6;if(G2=t3+1|0,q2=e[h2>>2]|0,M2=(G2|0)<(q2|0),M2)X3=e6,t3=G2,Q6=x6,I6=J6;else{S3=e6,V6=J6;break}}else S3=0,V6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,b1=(S3|0)<(N1|0),b1)O6=S3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=V6,A5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(A5|0)<(T1|0),X2)O6=A5;else{E=1;break}return C=M6,E|0}function aB(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0;if(A5=C,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,F0=(n|0)>0,F0)for(V0=c+1108|0,g1=+s[V0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,T=v+k1|0,H=+(T|0),X=H*g1,U=v+1|0,$0=+(U|0),Z=X/$0,V=Z,a0=V+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,K=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,s0=e[h0>>2]|0,g0=+(s0|0),j=g0*a0,l0=K+w2,f0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),u0=(t+(X1*56|0)|0)+12|0,B0=e[u0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+q2,K0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,L0=+(Q0|0),T0=(t+(X1*56|0)|0)+16|0,U0=e[T0>>2]|0,y0=+(U0|0),q0=y0*a0,x0=L0+u2,b0=x0+q0,M0=(t+(X1*56|0)|0)+48|0,J0=e[M0>>2]|0,Y0=+(J0|0),P0=(t+(X1*56|0)|0)+24|0,N0=e[P0>>2]|0,O0=+(N0|0),r1=O0*a0,H0=Y0+N2,e1=H0+r1,D0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=D0+t2,f1=$1+c1,l1=X1+1|0,o2=(l1|0)==(n|0),o2){a2=f1,n2=b0,v2=f0,b2=e1,G2=K0;break}else t2=f1,X1=l1,u2=b0,w2=f0,N2=e1,q2=K0;else a2=0,n2=0,v2=0,b2=0,G2=0;return s1=e[o>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),A1=v2+n1,z0=+(s1|0),I1=z0+G2,h1=r5(p,p)|0,m1=+(h1|0),d1=n2+m1,B1=r5(s1,p)|0,p1=+(B1|0),Q1=p1+b2,R1=a2+1,$2=R1,e2=d1,C2=A1,d2=Q1,M2=I1):($2=a2,e2=n2,C2=v2,d2=b2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(S1=+(C0|0),L1=C2+S1,F1=+(x1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,b1=r5(x1,C0)|0,K1=+(b1|0),O1=K1+d2,H1=$2+1,i2=H1,y2=N1,F2=L1,V2=O1,P2=G1):(i2=$2,y2=e2,F2=C2,V2=d2,P2=M2),q1=y2*i2,Y1=F2*F2,j1=q1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*V2,z1=P1-c2,f2=z1/j1,s2=V2*i2,E2=F2*P2,A2=s2-E2,V1=A2/j1,h2=+(p|0),S=V1*h2,w=S+f2,y=+Ui(w),D=~~y,e[o>>2]=D,Q=+(C0|0),_=V1*Q,L=_+f2,x=+Ui(L),F=~~x,e[a>>2]=F,M=e[o>>2]|0,N=(M|0)>1023,N?(e[o>>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[o>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[o>>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[o>>2]=0,e[a>>2]=0,f=1,f|0)}function zv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=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(F0=t+4|0,J0=0,H0=-1;;)if(B=F0+(J0<<2)|0,v=e[B>>2]|0,U2(n,v,4),S=e[B>>2]|0,w=(H0|0)<(S|0),o=w?S:H0,y=J0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)J0=y,H0=o;else{a=o;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,q0=t+192|0,m=t+256|0,p=t+320|0,Y0=0;;){if(_=y0+(Y0<<2)|0,x=e[_>>2]|0,F=x+-1|0,U2(n,F,3),M=q0+(Y0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(V0=0,e1=8):(O=m+(Y0<<2)|0,z=e[O>>2]|0,U2(n,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(V0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(V0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),H=V0+1|0,X=e[M>>2]|0,U=1<>2]|0,n0=a0+-1|0,U2(n,n0,2),r0=L+-1|0,K=F7(r0)|0,U2(n,K,4),h0=F7(r0)|0,s0=e[t>>2]|0,g0=(s0|0)>0,!!g0)for(j=t+4|0,l0=t+128|0,T0=s0,x0=0,P0=0,N0=0;;){if(f0=j+(P0<<2)|0,d0=e[f0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,u0=k0+x0|0,B0=(N0|0)<(u0|0),B0){for(r1=N0;p0=r1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(n,S0,h0),K0=r1+1|0,b0=(K0|0)==(u0|0),!b0;)r1=K0;f=e[t>>2]|0,L0=f,O0=u0}else L0=T0,O0=N0;if(_0=P0+1|0,Q0=(_0|0)<(L0|0),Q0)T0=L0,x0=u0,P0=_0,N0=O0;else break}}function Zv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,Q=e[D>>2]|0,Y=n4(1,1120)|0,a0=Z4(n,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,r2=-1;;){if(x=Z4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=x,M=(x|0)<0,M)break e;if(T=(r2|0)<(x|0),c=T?x:r2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,r2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=Z4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=Z4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,H=(W|0)<0,H||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=Z4(n,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),V=(Z|0)<0,V)||(n0=e[_>>2]|0,i0=(Z|0)<(n0|0),!i0))break e;if(r0=e[e0>>2]|0,K=(r0|0)==31,!K)for(H1=0;;){if(l0=Z4(n,8)|0,f0=l0+-1|0,w0=(L+(N1<<5)|0)+(H1<<2)|0,e[w0>>2]=f0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,u0=(l0|0)>(k0|0),g0=H1+1|0,u0))break e;if(h0=e[e0>>2]|0,s0=1<>2]=S0,_0=Z4(n,4)|0,L0=(_0|0)<0,!L0)){if(F0=e[Y>>2]|0,T0=(F0|0)>0,T0)for(U0=Y+4|0,y0=Y+128|0,q0=Y+836|0,x0=1<<_0,G1=F0,U1=0,b1=0,q1=0;;){if(b0=U0+(b1<<2)|0,M0=e[b0>>2]|0,J0=y0+(M0<<2)|0,P0=e[J0>>2]|0,V0=P0+U1|0,N0=(V0|0)>63,N0)break e;if(O0=(q1|0)<(V0|0),O0){for(j1=q1;;){if(r1=Z4(n,_0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=r1,D0=(r1|0)>-1,i1=(r1|0)<(x0|0),W1=D0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(V0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=b1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=V0,b1=g1,q1=Y1;else{m=q0,p=x0,k1=V0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=k1+2|0,A1=(k1|0)>-2,A1)for(K1=0;z0=m+(K1<<2)|0,I1=P1+(K1<<2)|0,e[I1>>2]=z0,h1=K1+1|0,d1=(h1|0)<(n1|0),d1;)K1=h1;Lh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,S=e[v>>2]|0,w1=S,O1=1;Q1=P1+(O1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(w1|0)==(x1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)w1=x1,O1=B1;else break t;if(L1=(Y|0)==0,L1)o=0;else break e;return C=z1,o|0}while(!1);return o=Y,C=z1,o|0}while(!1);return I2(Y),o=0,C=z1,o|0}function Wv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0;if(L1=C,C=C+272|0,w1=L1,a=n4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,V=e[z>>2]|0,f0=a+1288|0,e[f0>>2]=V,_0=e[n>>2]|0,J0=(_0|0)>0,J0){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,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(_0|0),S)g1=v,Q1=B;else{o=B;break}w=o+2|0,y=a+1284|0,e[y>>2]=w,Q=(o|0)>-2,Q?(M=w,p1=o,S1=7):(Lh(w1,w,4,8),B1=o)}else r1=a+1284|0,e[r1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,F=(x|0)<(M|0),F;)l1=x;for(Lh(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,H=N+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,n0=O+(a0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for($0=a+260|0,n1=0;;)if(K=$0+(n1<<2)|0,h0=e[K>>2]|0,s0=D+(h0<<2)|0,g0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,l0=n1+1|0,d0=(l0|0)<(M|0),d0)n1=l0;else{B1=p1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(u0=a+1292|0,e[u0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=L1,a|0;for(S0=a+1032|0,K0=a+780|0,A1=0;;){for(Q0=A1+2|0,L0=D+(Q0<<2)|0,F0=e[L0>>2]|0,T0=e[f0>>2]|0,D0=1,$1=T0,z0=0,I1=0,d1=0;;)if(U0=D+(z0<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)>(d1|0),x0=(y0|0)<(F0|0),R1=q0&x0,h1=R1?z0:I1,E1=R1?y0:d1,b0=(y0|0)<($1|0),M0=(y0|0)>(F0|0),x1=b0&M0,i1=x1?z0:D0,f1=x1?y0:$1,Y0=z0+1|0,P0=(Y0|0)<(Q0|0),P0)D0=i1,$1=f1,z0=Y0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(V0=S0+(A1<<2)|0,e[V0>>2]=m1,N0=K0+(A1<<2)|0,e[N0>>2]=c1,O0=A1+1|0,e1=(O0|0)==(B1|0),e1)break;A1=O0}return C=L1,a|0}function jv(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function Xv(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function eS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,f=n+1296|0,E=e[f>>2]|0,r0=t+64|0,k0=e[r0>>2]|0,T0=k0+4|0,N0=e[T0>>2]|0,l1=N0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=Z4(I,1)|0,J=(L|0)==1,!J)return o=0,o|0;U=n+1284|0,$0=e[U>>2]|0,Z=$0<<2,V=O7(t,Z)|0,a0=n+1292|0,n0=e[a0>>2]|0,i0=n0+-1|0,K=F7(i0)|0,h0=Z4(I,K)|0,e[V>>2]=h0,s0=e[a0>>2]|0,g0=s0+-1|0,j=F7(g0)|0,l0=Z4(I,j)|0,f0=V+4|0,e[f0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){i2=0,n2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,S0=e[I0>>2]|0,K0=(E+128|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,L0=e[Q0>>2]|0,F0=1<>2]|0,x0=W1+(q0*56|0)|0,b0=Km(x0,I)|0,M0=(b0|0)==-1,M0){o=0,v2=25;break}else t2=b0;if(J0=(_0|0)>0,J0)for(Y0=F0+-1|0,$2=t2,u2=0;;){if(P0=$2&Y0,V0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[V0>>2]|0,r1=$2>>L0,H0=(O0|0)>-1,H0){if(e1=W1+(O0*56|0)|0,D0=Km(e1,I)|0,i1=u2+n2|0,c1=V+(i1<<2)|0,e[c1>>2]=D0,$1=(D0|0)==-1,$1){o=0,v2=25;break t}}else f1=u2+n2|0,g1=V+(f1<<2)|0,e[g1>>2]=0;if(s1=u2+1|0,a1=(s1|0)<(_0|0),a1)$2=r1,u2=s1;else break}if(n1=_0+n2|0,A1=i2+1|0,z0=e[E>>2]|0,I1=(A1|0)<(z0|0),I1)i2=A1,n2=n1;else break e}if((v2|0)==25)return o|0}while(!1);if(C0=e[U>>2]|0,u0=(C0|0)>2,!u0)return o=V,o|0;for(B0=n+1032|0,p0=n+780|0,o2=2;;){if(h1=o2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,w1=e[x1>>2]|0,S1=V+(d1<<2)|0,L1=e[S1>>2]|0,F1=V+(R1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(o2<<2)|0,Z1=e[k1>>2]|0,N1=L1&32767,b1=G1&32767,K1=b1-N1|0,O1=w1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=r5(H1,q1)|0,j1=(Y1|0)/(O1|0)&-1,r2=(K1|0)<0,P1=0-j1|0,c=r2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,f2=V+(o2<<2)|0,s2=e[f2>>2]|0,E2=(s2|0)==0,E2)W=a|32768,e[f2>>2]=W;else{A2=(z1|0)<(a|0),V1=A2?z1:a,h2=V1<<1,a2=(s2|0)<(h2|0);do if(a2)if(S=s2&1,w=(S|0)==0,w){_=s2>>1,y2=_;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);x=y2+a|0,F=x&32767,e[f2>>2]=F,M=e[m1>>2]|0,T=V+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=V+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=o2+1|0,H=e[U>>2]|0,X=(e0|0)<(H|0),X)o2=e0;else{o=V;break}}return o|0}function tS(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,E=n+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,F0=C0+28|0,V0=e[F0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,m=V0+(f1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(o|0)==0,v)return c1=B<<2,Ae(a|0,0,c1|0)|0,c=0,c|0;if(S=e[o>>2]|0,w=I+832|0,y=e[w>>2]|0,D=r5(y,S)|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,A1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=o+(W<<2)|0,H=e[e0>>2]|0,X=H&32767,U=(X|0)==(H|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,V=r5(y,H)|0,a0=(V|0)<0,n0=(V|0)>255,r0=n0?255:V,K=a0?0:r0,h0=K-Q1|0,s0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,g0=I1?h0:x1,j=(h0|0)/(s0|0)&-1,l0=h0>>31,f0=l0|1,d0=r5(j,s0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=g0-w0|0,u0=(B|0)>(Z|0),S1=u0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,K0=+s[S0>>2],_0=K0*I0,s[S0>>2]=_0),Q0=E1+1|0,L0=(Q0|0)<(S1|0),L0)for(J0=Q0,g1=0,L1=Q1;;)if(T0=g1+k0|0,U0=(T0|0)<(s0|0),y0=U0?0:f0,q0=U0?0:s0,l1=T0-q0|0,f=L1+j|0,F1=f+y0|0,x0=1768+(F1<<2)|0,b0=+s[x0>>2],M0=a+(J0<<2)|0,Y0=+s[M0>>2],P0=Y0*b0,s[M0>>2]=P0,N0=J0+1|0,a1=(N0|0)==(S1|0),a1){z0=Z,B1=Z,R1=K;break}else J0=N0,g1=l1,L1=F1;else z0=Z,B1=Z,R1=K;else z0=A1,B1=E1,R1=Q1;if(O0=m1+1|0,r1=(O0|0)<(T|0),r1)A1=z0,m1=O0,E1=B1,Q1=R1;else{n1=z0,p1=R1;break}}else n1=0,p1=F;if(O=(n1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],D0=e1*Y,s[H0>>2]=D0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function iS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,o=e[t>>2]|0,a=e[o>>2]|0,c=e[n>>2]|0,f=e[c>>2]|0,E=a-f|0,E|0}function rS(t){t=t|0;var n=0,o=0;o=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function nS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;a0=C,c=Z$(n|0)|0,f=Z$(o|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,hB(J|0,n|0)|0,Z=Z$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,pQ(J|0,o|0)|0,W=e[t>>2]|0,e0=t+8|0,H=e[e0>>2]|0,X=H<<2,U=X+8|0,E=Pi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Pi(m,v)|0,e[I>>2]=S,w=Z$(J|0)|0,y=e[e0>>2]|0,D=S+(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,hB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function sS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,F=(x|0)>0,F){for(_=x,T=f,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),o=e[L>>2]|0,m=o),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,p=a}else p=f;I2(p)}B=t+4|0,v=e[B>>2]|0,S=(v|0)==0,S||I2(v),w=t+12|0,y=e[w>>2]|0,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 AS(t){t=t|0;var n=0,o=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=n4(1,3664)|0,o=t+28|0,e[o>>2]=n}function $B(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=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,n0=e[t0>>2]|0,w0=(n0|0)>0,w0)for(g1=n0,A1=0;n1=(E+32|0)+(A1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),n=e[t0>>2]|0,v=n),p=A1+1|0,B=(p|0)<(v|0),B;)g1=v,A1=p;if(L0=E+12|0,P0=e[L0>>2]|0,f1=(P0|0)>0,f1)for(l1=P0,z0=0;D=(E+544|0)+(z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(z0<<2)|0,F=e[x>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,Ws[G&7](Q),o=e[L0>>2]|0,Y=o),O=z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,z0=O;if(S=E+16|0,w=e[S>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;H=(E+1056|0)+(I1<<2)|0,X=e[H>>2]|0,U=(X|0)==0,U?s0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,V=25640+(Z<<2)|0,a0=e[V>>2]|0,i0=a0+12|0,r0=e[i0>>2]|0,Ws[r0&7](X),a=e[S>>2]|0,s0=a),K=I1+1|0,h0=(K|0)<(s0|0),h0;)s1=s0,I1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?F0=a1:(u0=(E+1312|0)+(h1<<2)|0,B0=e[u0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,K0=e[S0>>2]|0,Ws[K0&7](C0),c=e[J>>2]|0,F0=c),_0=h1+1|0,Q0=(_0|0)<(F0|0),Q0;)a1=F0,h1=_0;if(g0=E+24|0,j=e[g0>>2]|0,l0=(j|0)>0,f0=E+2848|0,l0)for(m1=0;T0=(E+1824|0)+(m1<<2)|0,U0=e[T0>>2]|0,y0=(U0|0)==0,y0||gB(U0),q0=e[f0>>2]|0,x0=(q0|0)==0,x0||(b0=q0+(m1*56|0)|0,NS(b0)),M0=m1+1|0,J0=e[g0>>2]|0,Y0=(M0|0)<(J0|0),Y0;)m1=M0;if(V0=e[f0>>2]|0,N0=(V0|0)==0,N0||I2(V0),O0=E+28|0,r1=e[O0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,D0=e[e1>>2]|0,IS(D0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function oS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+24>>2]=0,e[o+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,f=-129,C=W2,f|0;if(c2=p+4|0,i2=e[c2>>2]|0,b2=(i2|0)<1,b2)S5=-129,a5=27;else if(nB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,H=(M|0)<64,H)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),A1=p+16|0,z0=e[A1>>2]|0,U2(M1,z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=F7(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,R1=F7(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,S1=(w1|0)==0,S1||I2(w1),L1=p7(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=p7(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[x1>>2]|0,e[o>>2]=Z1,b1=p7(M1)|0,K1=o+4|0,e[K1>>2]=b1,O1=o+8|0,e[O1>>2]=1,H1=o+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,ft(M1),aS(M1,n),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),r2=p7(M1)|0,W1=S9(r2)|0,e[q1>>2]=W1,P1=e[G1>>2]|0,z1=p7(M1)|0,s4(W1|0,P1|0,z1|0)|0,f2=e[q1>>2]|0,e[a>>2]=f2,s2=p7(M1)|0,E2=a+4|0,e[E2>>2]=s2,A2=a+8|0,V1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=V1,a2=h2,e[a2>>2]=1,t2=h2+4|0,$2=t2,e[$2>>2]=0,ft(M1),o2=e[T1>>2]|0,X1=(o2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),n2=o2+24|0,u2=e[n2>>2]|0,e2=u2+-1|0,U2(M1,e2,8),y2=e[n2>>2]|0,v2=(y2|0)>0,v2)for(H2=0;;){if(N2=(o2+1824|0)+(H2<<2)|0,d2=e[N2>>2]|0,V2=Nv(d2,M1)|0,G2=(V2|0)==0,C2=H2+1|0,!G2)break e;if(w2=e[n2>>2]|0,F2=(C2|0)<(w2|0),F2)H2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=o2+16|0,M2=e[q2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[q2>>2]|0,A5=(z2|0)>0,A5)for(I5=0;;){if(O2=(o2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),x5=e[O2>>2]|0,e5=25640+(x5<<2)|0,D5=e[e5>>2]|0,Z2=e[D5>>2]|0,u5=(Z2|0)==0,u5)break e;if(v5=(o2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,IB[Z2&3](P5,M1),l5=I5+1|0,k2=e[q2>>2]|0,n5=(l5|0)<(k2|0),n5)I5=l5;else break}if(R2=o2+20|0,_2=e[R2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[R2>>2]|0,L5=(C5|0)>0,L5)for(o5=0;d5=(o2+1312|0)+(o5<<2)|0,b5=e[d5>>2]|0,U2(M1,b5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(o2+1568|0)+(o5<<2)|0,y=e[w>>2]|0,IB[S&3](y,M1),D=o5+1|0,Q=e[R2>>2]|0,_=(D|0)<(Q|0),_;)o5=D;if(L=o2+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=(o2+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=(o2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,SQ[J&1](p,e0,M1),X=c5+1|0,U=e[L>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=o2+8|0,V=e[Z>>2]|0,a0=V+-1|0,U2(M1,a0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(B5=0;r0=(o2+32|0)+(B5<<2)|0,K=e[r0>>2]|0,s0=e[K>>2]|0,U2(M1,s0,1),g0=e[r0>>2]|0,j=g0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),f0=e[r0>>2]|0,d0=f0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,k0=C0+12|0,u0=e[k0>>2]|0,U2(M1,u0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),K0=Q1+72|0,_0=e[K0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=p7(M1)|0,F0=S9(L0)|0,e[K0>>2]=F0,T0=e[G1>>2]|0,U0=p7(M1)|0,s4(F0|0,T0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=p7(M1)|0,b0=c+4|0,e[b0>>2]=x0,M0=c+8|0,J0=c+24|0,e[M0>>2]=0,e[M0+4>>2]=0,e[M0+8>>2]=0,e[M0+12>>2]=0,Y0=J0,P0=Y0,e[P0>>2]=2,V0=Y0+4|0,N0=V0,e[N0>>2]=0,sB(M1),f=0,C=W2,f|0}while(!1);e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+24>>2]=0,e[o+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=x1,g5=-130}return(a5|0)==27&&(e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+24>>2]=0,e[o+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),sB(M1),O0=e[I>>2]|0,H0=(O0|0)==0,H0||I2(O0),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,f1=($1|0)==0,f1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=g5,C=W2,f|0}function aS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),o=1200,c=44;E=c+-1|0,I=o+1|0,L=d[o>>0]|0,J=L<<24>>24,U2(t,J,8),H=(E|0)==0,!H;)o=I,c=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(V=n+4|0,a0=0;;){if(m=e[n>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(S=e[V>>2]|0,w=S+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(a0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(F=e[n>>2]|0,M=F+(a0<<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=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function tQ(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,F=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=C,C=C+((1*f|0)+15&-16)|0,u0=(m|0)==0,u0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(o|0),O0)for(m1=0,L1=U0;;)if(s1=t+(L1<<2)|0,I1=+s[s1>>2],B=I1,v=L1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,D=y*B,Q=D+m1,_=L1+1|0,S1=(_|0)==(o|0),S1){h1=Q;break}else m1=Q,L1=_;else h1=0;if(L=F+(U0<<3)|0,o1[L>>3]=h1,x=U0+-1|0,M=(U0|0)==0,M)break;U0=x}I=+o1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,z0=Q1,C=Y1,+z0;for(;;){if(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=K+(U1<<3)|0,n0=+o1[a0>>3],i0=F1-U1|0,r0=F+(i0<<3)|0,h0=+o1[r0>>3],s0=h0*n0,g0=O1-s0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(l0=E/E1,f0=K+(F1<<3)|0,o1[f0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=K+(N1<<3)|0,p0=+o1[B0>>3],I0=C0-N1|0,S0=K+(I0<<3)|0,K0=+o1[S0>>3],_0=K0*l0,Q0=_0+p0,o1[B0>>3]=Q0,L0=p0*l0,F0=+o1[S0>>3],T0=F0+L0,o1[S0>>3]=T0,y0=N1+1|0,q0=(y0|0)<(d0|0),q0;)N1=y0;H1=k0?d0:1,P0=l0,Z1=H1}else P0=l0,Z1=0}else Z=U/E1,V=K+(F1<<3)|0,o1[V>>3]=Z,P0=Z,Z1=0;if(x0=F1&1,b0=(x0|0)==0,b0||(M0=K+(Z1<<3)|0,J0=+o1[M0>>3],Y0=J0*P0,V0=Y0+J0,o1[M0>>3]=V0),N0=P0*P0,r1=1-N0,H0=r1*E1,e1=(k1|0)<(a|0),e1)E1=H0,F1=k1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,b1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;D0=K+(b1<<3)|0,i1=+o1[D0>>3],c1=i1*d1,o1[D0>>3]=c1,$1=d1*.99,f1=b1+1|0,x1=(f1|0)==(a|0),!x1;)d1=$1,b1=f1;if(z)K1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;;)if(g1=K+(K1<<3)|0,l1=+o1[g1>>3],a1=l1,n1=n+(K1<<2)|0,s[n1>>2]=a1,A1=K1+1|0,R1=(A1|0)==(a|0),R1){Q1=p1;break}else K1=A1;return z0=Q1,C=Y1,+z0}function iQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(V=C,I=c+o|0,m=I<<2,f=m,x=C,C=C+((1*f|0)+15&-16)|0,M=(n|0)==0,T=(o|0)>0,M?T&&(G=o<<2,Ae(x|0,0,G|0)|0):T&&(N=o<<2,s4(x|0,n|0,N|0)|0),O=(c|0)>0,!O){C=V;return}if(z=(o|0)>0,z)W=0,e0=o;else{Y=c<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=V;return}for(;;){for(X=W,U=o,$0=0;;)if(S=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=$0-L,t0=(S|0)==(e0|0),t0){E=F;break}else X=S,U=D,$0=F;if(p=x+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,H=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=H}C=V}function $S(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[n>>2]|0,f=(c|0)>1,f?(U2(o,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(o,Y,4)):U2(o,0,1),a0=n+1156|0,f0=e[a0>>2]|0,d0=(f0|0)>0,d0){if(U2(o,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(o,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=n+1160|0,m=t+4|0,p=n+2184|0,u0=0;B=I+(u0<<2)|0,v=e[B>>2]|0,S=e[m>>2]|0,w=S+-1|0,y=F7(w)|0,U2(o,v,y),D=p+(u0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,F=F7(x)|0,U2(o,_,F),M=u0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)u0=M}else U2(o,0,1);if(U2(o,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(o,Z,4),V=B0+1|0,n0=e[z>>2]|0,i0=(V|0)<(n0|0),i0;)B0=V;a=e[n>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(H=(e0|0)>0,!H)))for(X=n+1028|0,U=n+1092|0,p0=0;U2(o,0,8),r0=X+(p0<<2)|0,K=e[r0>>2]|0,U2(o,K,8),h0=U+(p0<<2)|0,s0=e[h0>>2]|0,U2(o,s0,8),g0=p0+1|0,j=e[n>>2]|0,l0=(g0|0)<(j|0),l0;)p0=g0}function lS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,c=n4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,Ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=Z4(n,1)|0,Y0=(Q0|0)<0,Y0)a1=24;else{if(H0=(Q0|0)==0,H0)e[c>>2]=1;else if(e1=Z4(n,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=Z4(n,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=Z4(n,8)|0,S=v+1|0,w=c+1156|0,e[w>>2]=S,y=(v|0)<0,y)break;for(D=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,D0=0;;){if(M=T+-1|0,N=F7(M)|0,G=Z4(n,N)|0,O=D+(D0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=F7(t0)|0,W=Z4(n,J)|0,e0=_+(D0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),V=(W|0)<($0|0),f1=Z&V,x=D0+1|0,!f1))break e;if(L=e[w>>2]|0,F=(x|0)<(L|0),F)T=$0,D0=x;else break}}if(n0=Z4(n,2)|0,i0=(n0|0)==0,i0){if(r0=e[c>>2]|0,K=(r0|0)>1,K){if(h0=e[Y>>2]|0,s0=(h0|0)>0,s0)for(g0=c+4|0,i1=0;;){if(I0=Z4(n,4)|0,S0=g0+(i1<<2)|0,e[S0>>2]=I0,K0=e[c>>2]|0,_0=(I0|0)>=(K0|0),L0=(I0|0)<0,g1=L0|_0,B0=i1+1|0,g1)break e;if(u0=e[Y>>2]|0,p0=(B0|0)<(u0|0),p0)i1=B0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return o=c,o|0;for(f0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(Z4(n,8)|0,y0=Z4(n,8)|0,q0=f0+(c1<<2)|0,e[q0>>2]=y0,x0=e[w0>>2]|0,b0=(y0|0)>=(x0|0),M0=(y0|0)<0,l1=M0|b0,l1||(J0=Z4(n,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=J0,V0=e[k0>>2]|0,N0=(J0|0)>=(V0|0),O0=(J0|0)<0,s1=O0|N0,T0=c1+1|0,s1))break e;if(F0=e[c>>2]|0,U0=(T0|0)<(F0|0),U0)c1=T0;else{o=c;break}}return o|0}}}while(!1);return(a1|0)==24&&(r1=(c|0)==0,r1)?(o=0,o|0):(I2(c),o=0,o|0)}function cS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function gS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,Pn=0,iA=0,Zr=0,rA=0,nA=0,sA=0,On=0,AA=0,Hn=0,qn=0,oA=0,Wr=0,Yn=0,jr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Xr=0,Vn=0,cA=0,Ir=0,en=0,gA=0,hA=0,tn=0,li=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,dA=0,ci=0,rn=0,IA=0,Xn=0,EA=0,mA=0,CA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,nn=0,Er=0,sn=0,vA=0,Zi=0,SA=0,is=0,An=0,rs=0,on=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,mr=0,as=0,gi=0,an=0,Cr=0,Wi=0,Br=0,Oi=0,pr=0,$s=0,Hi=0,Qi=0,yi=0,jt=0,wi=0,Qr=0,ji=0,Xi=0,yr=0,hi=0,RA=0,at=0,j$=0,$n=0,ln=0;if($n=C,_=t+64|0,L=e[_>>2]|0,t2=L+4|0,P3=e[t2>>2]|0,_4=P3+28|0,q4=e[_4>>2]|0,gA=L+104|0,ci=e[gA>>2]|0,yA=t+104|0,An=e[yA>>2]|0,x=t+36|0,W=e[x>>2]|0,r0=P3+4|0,k0=e[r0>>2]|0,T0=k0<<2,a=T0,N0=C,C=C+((1*a|0)+15&-16)|0,l1=O7(t,T0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=O7(t,U1)|0,$2=e[r0>>2]|0,F2=$2<<2,O2=O7(t,F2)|0,k2=An+4|0,_5=+s[k2>>2],g2=e[r0>>2]|0,x2=g2<<2,c=x2,F5=C,C=C+((1*c|0)+15&-16)|0,R3=An+8|0,M5=e[R3>>2]|0,K5=t+28|0,c6=e[K5>>2]|0,q3=(q4+544|0)+(c6<<2)|0,n6=e[q3>>2]|0,L6=ci+56|0,f9=e[L6>>2]|0,E4=(c6|0)!=0,o4=E4?2:0,D=o4+M5|0,a4=f9+(D*52|0)|0,U4=t+40|0,e[U4>>2]=c6,ae=(g2|0)>0,ae)for(l4=+(W|0),Y3=4/l4,g7=(s[p2>>2]=Y3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,D8=g7&2147483647,A8=+(D8>>>0),Q4=A8*7177114298428933e-22,Ye=Q4+-764.6162109375,A7=Ye,ne=A7+.345,tt=ne,it=ci+4|0,Yt=t+24|0,$i=t+32|0,G7=tt+-764.6162109375,zr=W+-1|0,rA=(zr|0)>1,Jn=tt+-382.30810546875,pr=_5,Hi=0;;){if(hA=e[t>>2]|0,tn=hA+(Hi<<2)|0,li=e[tn>>2]|0,zn=O7(t,S8)|0,fA=W1+(Hi<<2)|0,e[fA>>2]=zn,uA=O7(t,S8)|0,Zn=l1+(Hi<<2)|0,e[Zn>>2]=uA,Wn=e[Yt>>2]|0,jn=e[K5>>2]|0,dA=e[$i>>2]|0,JS(li,it,q4,Wn,jn,dA),rn=e[K5>>2]|0,IA=(ci+12|0)+(rn<<2)|0,Xn=e[IA>>2]|0,EA=e[Xn>>2]|0,mA=e[Zn>>2]|0,rQ(EA,li,mA),CA=e[K5>>2]|0,es=(ci+20|0)+(CA*12|0)|0,PS(es,li),BA=e[li>>2]|0,pA=BA&2147483647,QA=+(pA>>>0),ts=QA*7177114298428933e-22,wA=G7+ts,kA=wA,nn=kA+.345,Er=nn,s[li>>2]=Er,sn=F5+(Hi<<2)|0,s[sn>>2]=Er,rA)for(O=Er,Qr=1;;)if(vA=li+(Qr<<2)|0,Zi=+s[vA>>2],SA=Zi*Zi,is=Qr+1|0,rs=li+(is<<2)|0,on=+s[rs>>2],DA=on*on,ns=DA+SA,ss=(s[p2>>2]=ns,e[p2>>2]|0),bA=ss&2147483647,As=+(bA>>>0),os=As*35885571492144663e-23,_A=Jn+os,mr=_A,F=mr+.345,M=F,T=is>>1,N=li+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[sn>>2]=M,Ir=M):Ir=O,z=Qr+2|0,Y=(z|0)<(zr|0),Y)O=Ir,Qr=z;else{J=Ir;break}else J=Er;if(t0=J>0,t0?(s[sn>>2]=0,H=0):H=J,e0=H>pr,$s=e0?H:pr,X=Hi+1|0,U=e[r0>>2]|0,$0=(X|0)<(U|0),$0)pr=$s,Hi=X;else{p=S8,v=k8,Oi=$s;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,Oi=_5;Z=O7(t,p)|0,V=O7(t,p)|0,a0=e[r0>>2]|0,n0=(a0|0)>0;e:do if(n0){if(i0=(W|0)>1,K=ci+48|0,i0)yi=0;else{for(Qi=0;;){e6=(n6+4|0)+(Qi<<2)|0,u6=e[e6>>2]|0,H3=l1+(Qi<<2)|0,D3=e[H3>>2]|0,z3=e[t>>2]|0,D6=z3+(Qi<<2)|0,o6=e[D6>>2]|0,t3=o6+(v<<2)|0,e[U4>>2]=c6,O6=O7(t,60)|0,s3=O2+(Qi<<2)|0,e[s3>>2]=O6,at=O6,ln=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(ln|0));if(oQ(a4,t3,Z),a6=F5+(Qi<<2)|0,d6=+s[a6>>2],aQ(a4,o6,V,Oi,d6),z$(a4,Z,V,1,o6,D3,t3),b3=(n6+1028|0)+(u6<<2)|0,N6=e[b3>>2]|0,Q6=(q4+800|0)+(N6<<2)|0,x6=e[Q6>>2]|0,V6=(x6|0)==1,!V6){o=-1;break}if(I6=e[K>>2]|0,J6=I6+(N6<<2)|0,L3=e[J6>>2]|0,W6=V$(t,L3,t3,o6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=W6,s9=_h(t)|0,U6=(s9|0)==0,U6||(b6=e[s3>>2]|0,z6=b6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(z$(a4,Z,V,2,o6,D3,t3),F3=e[b3>>2]|0,M6=e[K>>2]|0,t9=M6+(F3<<2)|0,o9=e[t9>>2]|0,j6=V$(t,o9,t3,o6)|0,u9=e[s3>>2]|0,d9=u9+56|0,e[d9>>2]=j6,z$(a4,Z,V,0,o6,D3,t3),a9=e[b3>>2]|0,$9=e[K>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=V$(t,E6,t3,o6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[b3>>2]|0,I9=e[K>>2]|0,A4=I9+(N9<<2)|0,h4=e[A4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,D9=G9+28|0,E9=e[D9>>2]|0,H6=L8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=H6,S4=e[b3>>2]|0,y9=e[K>>2]|0,D4=y9+(S4<<2)|0,b4=e[D4>>2]|0,R4=e[s3>>2]|0,M4=e[R4>>2]|0,W4=R4+28|0,C4=e[W4>>2]|0,T4=L8(t,b4,M4,C4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,x4=e[b3>>2]|0,f4=e[K>>2]|0,Ce=f4+(x4<<2)|0,H9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,G4=L8(t,H9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,j4=Ge+12|0,e[j4>>2]=G4,De=e[b3>>2]|0,e8=e[K>>2]|0,Z9=e8+(De<<2)|0,oe=e[Z9>>2]|0,u4=e[s3>>2]|0,_6=e[u4>>2]|0,P4=u4+28|0,L9=e[P4>>2]|0,$4=L8(t,oe,_6,L9,37449)|0,W9=e[s3>>2]|0,$e=W9+16|0,e[$e>>2]=$4,le=e[b3>>2]|0,B4=e[K>>2]|0,X4=B4+(le<<2)|0,L4=e[X4>>2]|0,ce=e[s3>>2]|0,C9=e[ce>>2]|0,g6=ce+28|0,Ue=e[g6>>2]|0,pe=L8(t,L4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[b3>>2]|0,be=e[K>>2]|0,_e=be+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,f8=g4+28|0,w9=e[f8>>2]|0,B9=L8(t,t8,k4,w9,56173)|0,F4=e[s3>>2]|0,ee=F4+24|0,e[ee>>2]=B9,$7=e[b3>>2]|0,Re=e[K>>2]|0,l7=Re+($7<<2)|0,Q7=e[l7>>2]|0,z8=e[s3>>2]|0,c7=z8+28|0,F8=e[c7>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=L8(t,Q7,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,y7=e[b3>>2]|0,G8=e[K>>2]|0,U8=G8+(y7<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,u8=v8+28|0,O8=e[u8>>2]|0,H8=v8+56|0,j8=e[H8>>2]|0,X8=L8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,xe=e[b3>>2]|0,i8=e[K>>2]|0,k9=i8+(xe<<2)|0,h7=e[k9>>2]|0,Qe=e[s3>>2]|0,f7=Qe+28|0,w7=e[f7>>2]|0,e7=Qe+56|0,k7=e[e7>>2]|0,te=L8(t,h7,w7,k7,28086)|0,t7=e[s3>>2]|0,q8=t7+40|0,e[q8>>2]=te,r8=e[b3>>2]|0,O4=e[K>>2]|0,Le=O4+(r8<<2)|0,n8=e[Le>>2]|0,I8=e[s3>>2]|0,b8=I8+28|0,ge=e[b8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=L8(t,n8,ge,s8,37449)|0,m8=e[s3>>2]|0,he=m8+44|0,e[he>>2]=E8,ye=e[b3>>2]|0,Oe=e[K>>2]|0,He=Oe+(ye<<2)|0,X9=e[He>>2]|0,Fe=e[s3>>2]|0,fe=Fe+28|0,o8=e[fe>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,i7=L8(t,X9,o8,C8,46811)|0,H4=e[s3>>2]|0,I3=H4+48|0,e[I3>>2]=i7,qe=e[b3>>2]|0,B8=e[K>>2]|0,ie=B8+(qe<<2)|0,q9=e[ie>>2]|0,re=e[s3>>2]|0,b9=re+28|0,Y8=e[b9>>2]|0,u7=re+56|0,r7=e[u7>>2]|0,n7=L8(t,q9,Y8,r7,56173)|0,J8=e[s3>>2]|0,s7=J8+52|0,e[s7>>2]=n7)),K8=Qi+1|0,a8=e[r0>>2]|0,$8=(K8|0)<(a8|0),$8)Qi=K8;else{B=K,R8=a8;break e}}return C=$n,o|0}for(;;){R6=(n6+4|0)+(yi<<2)|0,d0=e[R6>>2]|0,Y6=l1+(yi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,S3=C6+(yi<<2)|0,j=e[S3>>2]|0,h0=j+(v<<2)|0,e[U4>>2]=c6,X3=O7(t,60)|0,Q0=O2+(yi<<2)|0,e[Q0>>2]=X3,at=X3,ln=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(ln|0));for(ji=0;W3=l0+(ji<<2)|0,v3=e[W3>>2]|0,g3=v3&2147483647,O3=+(g3>>>0),l6=O3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=ji+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,j3=ji+1|0,p6=(j3|0)<(v|0),p6;)ji=j3;if(oQ(a4,h0,Z),s0=F5+(yi<<2)|0,g0=+s[s0>>2],aQ(a4,j,V,Oi,g0),z$(a4,Z,V,1,j,l0,h0),f0=(n6+1028|0)+(d0<<2)|0,w0=e[f0>>2]|0,C0=(q4+800|0)+(w0<<2)|0,u0=e[C0>>2]|0,B0=(u0|0)==1,!B0){o=-1;break}if(p0=e[K>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,K0=V$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,L0=_0+28|0,e[L0>>2]=K0,F0=_h(t)|0,U0=(F0|0)==0,U0||(y0=e[Q0>>2]|0,q0=y0+28|0,x0=e[q0>>2]|0,b0=(x0|0)==0,b0||(z$(a4,Z,V,2,j,l0,h0),M0=e[f0>>2]|0,J0=e[K>>2]|0,Y0=J0+(M0<<2)|0,P0=e[Y0>>2]|0,V0=V$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,r1=O0+56|0,e[r1>>2]=V0,z$(a4,Z,V,0,j,l0,h0),H0=e[f0>>2]|0,e1=e[K>>2]|0,D0=e1+(H0<<2)|0,i1=e[D0>>2]|0,c1=V$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,f1=e[f0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,A1=e[n1>>2]|0,z0=n1+28|0,I1=e[z0>>2]|0,h1=L8(t,a1,A1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[f0>>2]|0,p1=e[K>>2]|0,Q1=p1+(E1<<2)|0,R1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=L8(t,R1,w1,L1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[f0>>2]|0,N1=e[K>>2]|0,b1=N1+(Z1<<2)|0,K1=e[b1>>2]|0,O1=e[Q0>>2]|0,H1=e[O1>>2]|0,q1=O1+28|0,Y1=e[q1>>2]|0,j1=L8(t,K1,H1,Y1,28086)|0,r2=e[Q0>>2]|0,P1=r2+12|0,e[P1>>2]=j1,c2=e[f0>>2]|0,z1=e[K>>2]|0,f2=z1+(c2<<2)|0,s2=e[f2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,V1=E2+28|0,h2=e[V1>>2]|0,a2=L8(t,s2,A2,h2,37449)|0,i2=e[Q0>>2]|0,o2=i2+16|0,e[o2>>2]=a2,X1=e[f0>>2]|0,n2=e[K>>2]|0,u2=n2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,b2=L8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=b2,V2=e[f0>>2]|0,G2=e[K>>2]|0,q2=G2+(V2<<2)|0,M2=e[q2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,A5=P2+28|0,T1=e[A5>>2]|0,X2=L8(t,M2,z2,T1,56173)|0,x5=e[Q0>>2]|0,e5=x5+24|0,e[e5>>2]=X2,D5=e[f0>>2]|0,Z2=e[K>>2]|0,u5=Z2+(D5<<2)|0,v5=e[u5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,R2=e[n5>>2]|0,_2=L8(t,v5,m5,R2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,L5=e[f0>>2]|0,d5=e[K>>2]|0,b5=d5+(L5<<2)|0,G5=e[b5>>2]|0,H2=e[Q0>>2]|0,I5=H2+28|0,o5=e[I5>>2]|0,c5=H2+56|0,B5=e[c5>>2]|0,M1=L8(t,G5,o5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[f0>>2]|0,W2=e[K>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,f5=s5+56|0,i5=e[f5>>2]|0,R5=L8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=R5,Q5=e[f0>>2]|0,H5=e[K>>2]|0,j5=H5+(Q5<<2)|0,E5=e[j5>>2]|0,u3=e[Q0>>2]|0,h3=u3+28|0,Y5=e[h3>>2]|0,X5=u3+56|0,n3=e[X5>>2]|0,m3=L8(t,E5,Y5,n3,37449)|0,J5=e[Q0>>2]|0,w3=J5+44|0,e[w3>>2]=m3,f3=e[f0>>2]|0,B3=e[K>>2]|0,V3=B3+(f3<<2)|0,N3=e[V3>>2]|0,V5=e[Q0>>2]|0,y3=V5+28|0,Z5=e[y3>>2]|0,i6=V5+56|0,G3=e[i6>>2]|0,a3=L8(t,N3,Z5,G3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[f0>>2]|0,q5=e[K>>2]|0,U5=q5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,U3=k5+28|0,A6=e[U3>>2]|0,e3=k5+56|0,o3=e[e3>>2]|0,x3=L8(t,O5,A6,o3,56173)|0,f6=e[Q0>>2]|0,p3=f6+52|0,e[p3>>2]=x3)),k3=yi+1|0,Q3=e[r0>>2]|0,r6=(k3|0)<(Q3|0),r6)yi=k3;else{B=K,R8=Q3;break e}}return C=$n,o|0}else y=ci+48|0,B=y,R8=a0;while(!1);for(s[k2>>2]=Oi,_8=R8<<2,f=_8,Je=C,C=C+((1*f|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,o7=_h(t)|0,Ke=(o7|0)!=0,M7=Ke?0:7,H7=ci+44|0,v7=t+24|0,a7=t+32|0,S7=q4+2868|0,T7=ci+52|0,hi=M7;;){if(q7=(An+12|0)+(hi<<2)|0,l8=e[q7>>2]|0,U2(l8,0,1),x8=e[H7>>2]|0,U2(l8,c6,x8),D7=e[K5>>2]|0,V8=(D7|0)==0,V8||(Me=e[v7>>2]|0,U2(l8,Me,1),ue=e[a7>>2]|0,U2(l8,ue,1)),e4=e[r0>>2]|0,b7=(e4|0)>0,b7)for(jt=0;;)if(Gt=(n6+4|0)+(jt<<2)|0,Ut=e[Gt>>2]|0,Pt=W1+(jt<<2)|0,dt=e[Pt>>2]|0,Y7=(n6+1028|0)+(Ut<<2)|0,It=e[Y7>>2]|0,J7=e[B>>2]|0,Et=J7+(It<<2)|0,K7=e[Et>>2]|0,mt=O2+(jt<<2)|0,si=e[mt>>2]|0,Ot=si+(hi<<2)|0,Ct=e[Ot>>2]|0,Bt=Vv(l8,t,K7,Ct,dt)|0,Ai=N0+(jt<<2)|0,e[Ai>>2]=Bt,pt=jt+1|0,rt=e[r0>>2]|0,oi=(pt|0)<(rt|0),oi)jt=pt;else{I=rt;break}else I=e4;if(Ht=e[K5>>2]|0,qt=((q4+3240|0)+(Ht*60|0)|0)+(hi<<2)|0,Jt=e[qt>>2]|0,CS(hi,S7,a4,n6,l1,W1,N0,Jt,I),nt=e[n6>>2]|0,Qt=(nt|0)>0,Qt)for(wi=0;;){if(Kt=(n6+1092|0)+(wi<<2)|0,V7=e[Kt>>2]|0,st=e[r0>>2]|0,N7=(st|0)>0,N7)for(en=st,gi=0,Xi=0;;)if(z7=(n6+4|0)+(Xi<<2)|0,ai=e[z7>>2]|0,Vt=(ai|0)==(wi|0),Vt?(yt=p9+(gi<<2)|0,zt=N0+(Xi<<2)|0,wt=e[zt>>2]|0,RA=(wt|0)!=0,n=RA&1,e[yt>>2]=n,kt=W1+(Xi<<2)|0,Zt=e[kt>>2]|0,vt=gi+1|0,Z7=Je+(gi<<2)|0,e[Z7>>2]=Zt,m=e[r0>>2]|0,At=m,an=vt):(At=en,an=gi),St=Xi+1|0,Wt=(St|0)<(At|0),Wt)en=At,gi=an,Xi=St;else{as=an;break}else as=0;if(Dt=(q4+1312|0)+(V7<<2)|0,ke=e[Dt>>2]|0,bt=25648+(ke<<2)|0,_7=e[bt>>2]|0,ot=_7+20|0,n9=e[ot>>2]|0,d7=e[T7>>2]|0,p8=d7+(V7<<2)|0,I7=e[p8>>2]|0,R7=EB[n9&7](t,I7,Je,p9,as)|0,dr=e[r0>>2]|0,js=(dr|0)>0,js)for(Wi=0,yr=0;;)if(Gn=(n6+4|0)+(yr<<2)|0,Xs=e[Gn>>2]|0,Un=(Xs|0)==(wi|0),Un?(eA=W1+(yr<<2)|0,tA=e[eA>>2]|0,Pn=Wi+1|0,iA=Je+(Wi<<2)|0,e[iA>>2]=tA,Br=Pn):Br=Wi,Zr=yr+1|0,nA=(Zr|0)<(dr|0),nA)Wi=Br,yr=Zr;else{Cr=Br;break}else Cr=0;if(sA=e[Dt>>2]|0,On=25648+(sA<<2)|0,AA=e[On>>2]|0,Hn=AA+24|0,qn=e[Hn>>2]|0,oA=e[T7>>2]|0,Wr=oA+(V7<<2)|0,Yn=e[Wr>>2]|0,DQ[qn&3](l8,t,Yn,Je,p9,Cr,R7,wi)|0,jr=wi+1|0,Kn=e[n6>>2]|0,aA=(jr|0)<(Kn|0),aA)wi=jr;else break}if($A=hi+1|0,lA=_h(t)|0,Xr=(lA|0)!=0,Vn=Xr?14:7,cA=(hi|0)<(Vn|0),cA)hi=$A;else{o=0;break}}return C=$n,o|0}function hS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0;if(x2=C,S=t+64|0,w=e[S>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,u5=t+28|0,L5=e[u5>>2]|0,y=V1+(L5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,K0=e[l0>>2]|0,M0=K0<<2,c=M0,i1=C,C=C+((1*c|0)+15&-16)|0,f=M0,z0=C,C=C+((1*f|0)+15&-16)|0,E=M0,I1=C,C=C+((1*E|0)+15&-16)|0,I=M0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=n+4|0,p1=n+1028|0,Q1=M2+48|0,R1=O<<1,x1=R1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,b1=e[N1>>2]|0,K1=(V1+800|0)+(b1<<2)|0,O1=e[K1>>2]|0,H1=25640+(O1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(b1<<2)|0,c2=e[P1>>2]|0,z1=ut[r2&15](t,c2)|0,f2=h1+(W2<<2)|0,e[f2>>2]=z1,s2=I1+(W2<<2)|0,j2=(z1|0)!=0,o=j2&1,e[s2>>2]=o,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,Ae(h2|0,0,x1|0)|0,a2=W2+1|0,t2=e[l0>>2]|0,$2=(a2|0)<(t2|0),$2)W2=a2;else{n1=t2;break}else n1=d1;if(w1=n+1156|0,S1=e[w1>>2]|0,L1=(S1|0)>0,L1)for(G1=n+1160|0,k1=n+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,b2=k1+(g2<<2)|0,N2=e[b2>>2]|0,F2?(d2=I1+(N2<<2)|0,V2=e[d2>>2]|0,G2=(V2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,q2=I1+(N2<<2)|0,e[q2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(i2=e[n>>2]|0,o2=(i2|0)>0,o2){for(X1=n+1092|0,n2=M2+52|0,u2=n+4|0,A5=n1,p5=0;;){if(O2=(A5|0)>0,O2)for(A1=A5,g5=0,f5=0;;)if(T1=u2+(f5<<2)|0,X2=e[T1>>2]|0,x5=(X2|0)==(p5|0),x5?(e5=I1+(f5<<2)|0,D5=e[e5>>2]|0,Z2=z0+(g5<<2)|0,R5=(D5|0)!=0,a=R5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(f5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=A1,a5=g5),n5=f5+1|0,R2=(n5|0)<(_2|0),R2)A1=_2,g5=a5,f5=n5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(V1+1312|0)+(C5<<2)|0,b5=e[d5>>2]|0,G5=25648+(b5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,I5=e[H2>>2]|0,o5=e[n2>>2]|0,c5=o5+(C5<<2)|0,B5=e[c5>>2]|0,EB[I5&7](t,B5,i1,z0,S5)|0,M1=p5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[l0>>2]|0,A5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;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,H=e[e0>>2]|0,X=F+(H<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,V=e[$0>>2]|0,a0=F+(V<<2)|0,n0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],K=n0+(i5<<2)|0,h0=+s[K>>2],s0=r0>0,g0=h0>0;do if(s0)if(g0){s[i0>>2]=r0,j=r0-h0,s[K>>2]=j;break}else{s[K>>2]=r0,f0=h0+r0,s[i0>>2]=f0;break}else if(g0){s[i0>>2]=r0,d0=h0+r0,s[K>>2]=d0;break}else{s[K>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=x2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,L0=e[Q0>>2]|0,F0=(V1+800|0)+(L0<<2)|0,T0=e[F0>>2]|0,U0=25640+(T0<<2)|0,y0=e[U0>>2]|0,q0=y0+24|0,x0=e[q0>>2]|0,b0=e[W>>2]|0,J0=b0+(L0<<2)|0,Y0=e[J0>>2]|0,P0=h1+(h5<<2)|0,V0=e[P0>>2]|0,dB[x0&3](t,Y0,V0,I0)|0,N0=h5+1|0,O0=e[l0>>2]|0,r1=(N0|0)<(O0|0),r1)h5=N0;else{m=O0;break}if(u0=(m|0)>0,!u0)return C=x2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,D0=e[e1>>2]|0,c1=e[u5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,fS(g1,D0,D0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=x2,0}function lB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0;if(w1=C,o=(n|0)/4&-1,a=o<<2,y=S9(a)|0,O=o+n|0,Z=O<<2,l0=S9(Z)|0,K0=n>>1,M0=+(n|0),i1=M0,I1=+Kr(+i1),c=I1*1.4426950408889634,f=+Ui(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(n|0)>3,!B){z0=4/M0,h1=t+16|0,s[h1>>2]=z0;return}for(v=+(n|0),S=3.141592653589793/v,w=n<<1,D=+(w|0),Q=3.141592653589793/D,B1=0;M=B1<<2,T=+(M|0),N=S*T,G=+zo(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Tn(+N),W=J,e0=-W,H=Y|1,X=l0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),$0=Q*U,V=+zo(+$0),a0=V,n0=Y+K0|0,i0=l0+(n0<<2)|0,s[i0>>2]=a0,r0=+Tn(+$0),K=r0,h0=n0+1|0,s0=l0+(h0<<2)|0,s[s0>>2]=K,g0=B1+1|0,j=(g0|0)<(o|0),j;)B1=g0;if(_=(n|0)/8&-1,L=(n|0)>7,!L){z0=4/M0,h1=t+16|0,s[h1>>2]=z0;return}for(x=+(n|0),F=3.141592653589793/x,p1=0;f0=p1<<2,d0=f0|2,w0=+(d0|0),C0=F*w0,k0=+zo(+C0),u0=k0*.5,B0=u0,p0=p1<<1,I0=p0+n|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Tn(+C0),Q0=_0*-.5,L0=Q0,F0=I0+1|0,T0=l0+(F0<<2)|0,s[T0>>2]=L0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=z0;return}for(;;){for(V0=Y0,m1=0,R1=0;;)if(P0=V0&Q1,N0=(P0|0)==0,O0=1<>H0,D0=(e1|0)==0,D0){E1=d1;break}else V0=e1,m1=d1,R1=H0;if(c1=E1^-1,$1=b0&c1,f1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=f1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,A1=(n1|0)<(_|0),A1)Q1=n1;else break}z0=4/M0,h1=t+16|0,s[h1>>2]=z0}function cB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(o=t+8|0,a=e[o>>2]|0,c=(a|0)==0,c||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 fS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0;for(O3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,V2=n+(a<<2)|0,c=I+W1|0,e5=o+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=V2,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,k0=-r0,T0=+s[U5>>2],N0=c3+8|0,l1=+s[N0>>2],B1=l1*T0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],$2=+s[x>>2],y2=$2*P1,v2=+s[B3>>2],w2=+s[N0>>2],C2=w2*v2,F2=y2-C2,b2=k3+-12|0,s[b2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,q2=+s[G2>>2],M2=d2*q2,P2=-M2,z2=U5+16|0,A5=+s[z2>>2],O2=+s[c3>>2],T1=O2*A5,X2=P2-T1,x5=k3+-8|0,s[x5>>2]=X2,D5=+s[z2>>2],Z2=+s[G2>>2],u5=Z2*D5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=u5-l5,m5=k3+-4|0,s[m5>>2]=k2,n5=U5+-32|0,R2=c3+16|0,B2=n5>>>0>>0,!B2;)c3=R2,U5=n5,k3=E5;for(C5=o+(I<<2)|0,f=I+-8|0,L5=n+(f<<2)|0,C3=h5,O5=L5,Q3=e5;d5=C3+-16|0,b5=O5+16|0,G5=+s[b5>>2],_5=C3+-4|0,H2=+s[_5>>2],I5=H2*G5,o5=O5+24|0,B5=+s[o5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[Q3>>2]=a5,W2=+s[b5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[o5>>2],s5=+s[_5>>2],J2=s5*t5,f5=p5-J2,i5=Q3+4|0,s[i5>>2]=f5,R5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],x2=$5*R5,Q5=O5+8|0,H5=+s[Q5>>2],j5=+s[d5>>2],u3=j5*H5,h3=u3+x2,Y5=Q3+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],w3=J5*F5,f3=m3-w3,V3=Q3+12|0,s[V3>>2]=f3,N3=O5+-32|0,V5=Q3+16|0,y3=N3>>>0>>0,!y3;)C3=d5,O5=N3,Q3=V5;for(A6=t+4|0,e3=e[A6>>2]|0,nQ(e3,c5,C5,I),o3=e[t>>2]|0,x3=e[_2>>2]|0,f6=t+12|0,p3=e[f6>>2]|0,sQ(o3,x3,p3,o),Z5=e[_2>>2]|0,i6=Z5+(I<<2)|0,q5=i6,k5=o,r6=e5,K5=e5;R3=r6+-16|0,G3=+s[k5>>2],a3=q5+4|0,l3=+s[a3>>2],p=l3*G3,B=k5+4|0,v=+s[B>>2],S=+s[q5>>2],w=S*v,y=p-w,D=r6+-4|0,s[D>>2]=y,Q=+s[k5>>2],_=+s[q5>>2],L=_*Q,F=+s[B>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[K5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],$0=U*H,Z=J-$0,V=r6+-8|0,s[V>>2]=Z,a0=+s[O>>2],n0=+s[X>>2],i0=n0*a0,K=+s[e0>>2],h0=+s[Y>>2],s0=h0*K,g0=i0+s0,j=-g0,l0=K5+4|0,s[l0>>2]=j,f0=k5+16|0,d0=+s[f0>>2],w0=q5+20|0,C0=+s[w0>>2],u0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=q5+16|0,S0=+s[I0>>2],K0=S0*p0,_0=u0-K0,Q0=r6+-12|0,s[Q0>>2]=_0,L0=+s[f0>>2],F0=+s[I0>>2],U0=F0*L0,y0=+s[B0>>2],q0=+s[w0>>2],x0=q0*y0,b0=U0+x0,M0=-b0,J0=K5+8|0,s[J0>>2]=M0,Y0=k5+24|0,P0=+s[Y0>>2],V0=q5+28|0,O0=+s[V0>>2],r1=O0*P0,H0=k5+28|0,e1=+s[H0>>2],D0=q5+24|0,i1=+s[D0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[D0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[V0>>2],A1=n1*a1,z0=s1+A1,I1=-z0,h1=K5+12|0,s[h1>>2]=I1,m1=K5+16|0,d1=k5+32|0,E1=q5+32|0,p1=d1>>>0>>0,p1;)q5=E1,k5=d1,r6=R3,K5=m1;for(Q1=o+(W1<<2)|0,U3=e5,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=U3+-16|0,w1=U3+-4|0,S1=+s[w1>>2],L1=W3+-4|0,s[L1>>2]=S1,F1=-S1,s[v3>>2]=F1,G1=U3+-8|0,k1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=k1,N1=-k1,b1=v3+4|0,s[b1>>2]=N1,K1=U3+-12|0,O1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=O1,q1=-O1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,r2=-j1,c2=v3+12|0,s[c2>>2]=r2,z1=v3+16|0,f2=z1>>>0>>0,f2)U3=x1,W3=R1,v3=z1;else{M5=e5,P3=e5;break}for(;s2=P3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[s2>>2]=A2,V1=M5+8|0,h2=e[V1>>2]|0,a2=P3+-12|0,e[a2>>2]=h2,t2=M5+4|0,i2=e[t2>>2]|0,o2=P3+-8|0,e[o2>>2]=i2,X1=e[M5>>2]|0,n2=P3+-4|0,e[n2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,P3=s2}function rQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,b2=t+8|0,T1=e[b2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=n+(f<<2)|0,f0=a1+-1|0,_0=f0>>>1,J0=_0<<1,P0=y+-2|0,V0=P0-J0|0,N0=c+-4|0,O0=_0<<2,H0=N0-O0|0,n5=D,b5=0,h5=i2,R5=V;e1=h5+-16|0,D0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[R5>>2],f1=$1+c1,g1=+s[e1>>2],l1=R5+8|0,s1=+s[l1>>2],n1=s1+g1,A1=n5+-4|0,z0=+s[A1>>2],I1=n1*z0,h1=+s[D0>>2],m1=h1*f1,d1=m1+I1,v=b5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[D0>>2],p1=B1*n1,R1=+s[A1>>2],x1=R1*f1,w1=p1-x1,S1=b5|1,S=S1+y|0,L1=N1+(S<<2)|0,s[L1>>2]=w1,F1=R5+16|0,G1=b5+2|0,k1=(G1|0)<(a1|0),k1;)n5=D0,b5=G1,h5=e1,R5=F1;U1=J0+2|0,g2=T1+(V0<<2)|0,p5=n+(H0<<2)|0,O2=V0,m5=g2,d5=U1,s5=p5}else O2=y,m5=D,d5=0,s5=i2;if(Z1=n+4|0,b1=y-a1|0,K1=(d5|0)<(b1|0),K1){for(O1=y+-1|0,H1=O1-d5|0,q1=H1-a1|0,Y1=q1>>>1,j1=Y1<<1,r2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;f2=_2+-8|0,s2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],V1=+s[$5>>2],h2=A2-V1,a2=+s[s2>>2],t2=$5+8|0,$2=+s[t2>>2],o2=a2-$2,X1=_2+-4|0,n2=+s[X1>>2],u2=o2*n2,e2=+s[f2>>2],y2=e2*h2,v2=y2+u2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[f2>>2],F2=C2*o2,N2=+s[X1>>2],d2=N2*h2,V2=F2-d2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=V2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(b1|0),z2;)_2=f2,_5=P2,J2=s2,$5=M2;A5=r2+2|0,a5=n+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,R2=W2,G5=A5,j2=a5}else R2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(x5=n+(w<<2)|0,B2=R2,H2=G5,f5=x5,x2=j2;e5=B2+-8|0,D5=f5+-16|0,Z2=f5+-8|0,u5=+s[Z2>>2],v5=-u5,P5=+s[x2>>2],l5=v5-P5,k2=+s[D5>>2],Q=-k2,_=x2+8|0,L=+s[_>>2],x=Q-L,F=B2+-4|0,M=+s[F>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=H2+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,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,$0=x2+16|0,Z=H2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,H2=Z,f5=D5,x2=$0;if(o5=t+4|0,c5=e[o5>>2]|0,nQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[b2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,sQ(g5,B5,S5,N1),n0=(r1|0)>0,!n0){C=H5;return}for(i0=o+(y<<2)|0,r0=e[b2>>2]|0,K=r0+(y<<2)|0,h0=t+16|0,C5=K,I5=0,t5=N1,i5=i0;s0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],l0=j*g0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],u0=k0*w0,B0=u0+l0,p0=+s[h0>>2],I0=B0*p0,S0=o+(I5<<2)|0,s[S0>>2]=I0,K0=+s[t5>>2],Q0=+s[C0>>2],L0=Q0*K0,F0=+s[d0>>2],T0=+s[C5>>2],U0=T0*F0,y0=L0-U0,q0=+s[h0>>2],x0=y0*q0,s[s0>>2]=x0,b0=t5+8|0,M0=C5+8|0,Y0=I5+1|0,L5=(Y0|0)==(r1|0),!L5;)C5=M0,I5=Y0,t5=b0,i5=s0;C=H5}function nQ(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0;if(dr=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=o+(I<<2)|0,b3=a>>1,B=b3+-8|0,z8=o+(B<<2)|0,c=n,d7=P5,I7=z8;l8=d7+24|0,Pt=+s[l8>>2],Ct=I7+24|0,Qt=+s[Ct>>2],wt=Pt-Qt,C0=d7+28|0,F0=+s[C0>>2],V0=I7+28|0,g1=+s[V0>>2],E1=F0-g1,k1=Qt+Pt,s[l8>>2]=k1,r2=+s[V0>>2],a2=r2+F0,s[C0>>2]=a2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*wt,$5=W2+l5,s[Ct>>2]=$5,m3=+s[c>>2],i6=m3*E1,U3=+s[w2>>2],W3=U3*wt,B6=i6-W3,s[V0>>2]=B6,H3=d7+16|0,N6=+s[H3>>2],s9=I7+16|0,j6=+s[s9>>2],I9=N6-j6,S4=d7+20|0,N4=+s[S4>>2],Ge=I7+20|0,$4=+s[Ge>>2],g6=N4-$4,k4=j6+N6,s[H3>>2]=k4,c7=+s[Ge>>2],P8=c7+N4,s[S4>>2]=P8,i8=c+20|0,q8=+s[i8>>2],E8=q8*g6,we=c+16|0,b9=+s[we>>2],_8=b9*I9,a7=_8+E8,s[s9>>2]=a7,q7=+s[we>>2],x8=q7*g6,D7=+s[i8>>2],V8=D7*I9,Me=x8-V8,s[Ge>>2]=Me,ue=d7+8|0,e4=+s[ue>>2],b7=I7+8|0,tt=+s[b7>>2],Gt=e4-tt,Ut=d7+12|0,dt=+s[Ut>>2],Y7=I7+12|0,It=+s[Y7>>2],J7=dt-It,Et=tt+e4,s[ue>>2]=Et,K7=+s[Y7>>2],mt=K7+dt,s[Ut>>2]=mt,it=c+36|0,si=+s[it>>2],Ot=si*J7,Bt=c+32|0,Ai=+s[Bt>>2],pt=Ai*Gt,rt=pt+Ot,s[b7>>2]=rt,oi=+s[Bt>>2],Ht=oi*J7,qt=+s[it>>2],Yt=qt*Gt,Jt=Ht-Yt,s[Y7>>2]=Jt,nt=+s[d7>>2],Kt=+s[I7>>2],V7=nt-Kt,st=d7+4|0,N7=+s[st>>2],z7=I7+4|0,ai=+s[z7>>2],Vt=N7-ai,$i=Kt+nt,s[d7>>2]=$i,yt=+s[z7>>2],zt=yt+N7,s[st>>2]=zt,kt=c+52|0,Zt=+s[kt>>2],vt=Zt*Vt,Z7=c+48|0,St=+s[Z7>>2],Wt=St*V7,At=Wt+vt,s[I7>>2]=At,G7=+s[Z7>>2],Dt=G7*Vt,ke=+s[kt>>2],k0=ke*V7,u0=Dt-k0,s[z7>>2]=u0,B0=d7+-32|0,p0=I7+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,d7=B0,I7=p0;if(K0=(d0|0)>1,K0)for(_7=1;;){if(_0=1<<_7,Q0=(_7|0)==31,!Q0)for(L0=a>>_7,T0=4<<_7,m=L0+-8|0,U0=L0>>1,v=U0+-8|0,N=T0+1|0,$0=T0<<1,i0=$0|1,h0=T0*3|0,g0=h0+1|0,l0=T0<<2,ot=0;;){for(q0=r5(ot,L0)|0,x0=o+(q0<<2)|0,E=m+q0|0,b0=o+(E<<2)|0,a0=v+q0|0,M0=o+(a0<<2)|0,f=n,p8=b0,R7=M0;J0=p8+24|0,Y0=+s[J0>>2],P0=R7+24|0,N0=+s[P0>>2],O0=Y0-N0,r1=p8+28|0,H0=+s[r1>>2],e1=R7+28|0,D0=+s[e1>>2],i1=H0-D0,c1=N0+Y0,s[J0>>2]=c1,$1=+s[e1>>2],f1=$1+H0,s[r1>>2]=f1,l1=f+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[f>>2],A1=n1*O0,z0=A1+a1,s[P0>>2]=z0,I1=+s[f>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=f+(T0<<2)|0,Q1=p8+16|0,R1=+s[Q1>>2],x1=R7+16|0,w1=+s[x1>>2],S1=R1-w1,L1=p8+20|0,F1=+s[L1>>2],G1=R7+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+R1,s[Q1>>2]=N1,b1=+s[G1>>2],K1=b1+F1,s[L1>>2]=K1,O1=f+(N<<2)|0,H1=+s[O1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],f2=z1*S1,s2=c2-f2,s[G1>>2]=s2,E2=f+($0<<2)|0,A2=p8+8|0,V1=+s[A2>>2],h2=R7+8|0,t2=+s[h2>>2],$2=V1-t2,i2=p8+12|0,o2=+s[i2>>2],X1=R7+12|0,n2=+s[X1>>2],u2=o2-n2,e2=t2+V1,s[A2>>2]=e2,y2=+s[X1>>2],v2=y2+o2,s[i2>>2]=v2,C2=f+(i0<<2)|0,F2=+s[C2>>2],b2=F2*u2,N2=+s[E2>>2],d2=N2*$2,V2=d2+b2,s[h2>>2]=V2,G2=+s[E2>>2],q2=G2*u2,M2=+s[C2>>2],P2=M2*$2,A5=q2-P2,s[X1>>2]=A5,O2=f+(h0<<2)|0,T1=+s[p8>>2],X2=+s[R7>>2],x5=T1-X2,e5=p8+4|0,D5=+s[e5>>2],Z2=R7+4|0,u5=+s[Z2>>2],v5=D5-u5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],n5=m5+D5,s[e5>>2]=n5,R2=f+(g0<<2)|0,_2=+s[R2>>2],B2=_2*v5,C5=+s[O2>>2],L5=C5*x5,d5=L5+B2,s[R7>>2]=d5,b5=+s[O2>>2],_5=b5*v5,H2=+s[R2>>2],I5=H2*x5,o5=_5-I5,s[Z2>>2]=o5,c5=f+(l0<<2)|0,B5=p8+-32|0,M1=R7+-32|0,S5=M1>>>0>>0,!S5;)f=c5,p8=B5,R7=M1;if(g5=ot+1|0,a5=(g5|0)<(_0|0),a5)ot=g5;else break}if(g2=_7+1|0,bt=(g2|0)==(d0|0),bt)break;_7=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;p5=o+(n9<<2)|0,p=n9|30,t5=o+(p<<2)|0,s5=+s[t5>>2],T=n9|14,h5=o+(T<<2)|0,J2=+s[h5>>2],f5=s5-J2,U=n9|31,i5=o+(U<<2)|0,R5=+s[i5>>2],n0=n9|15,j2=o+(n0<<2)|0,x2=+s[j2>>2],Q5=R5-x2,H5=J2+s5,s[t5>>2]=H5,j5=x2+R5,s[i5>>2]=j5,s[h5>>2]=f5,s[j2>>2]=Q5,r0=n9|28,E5=o+(r0<<2)|0,u3=+s[E5>>2],K=n9|12,h3=o+(K<<2)|0,Y5=+s[h3>>2],X5=u3-Y5,s0=n9|29,n3=o+(s0<<2)|0,F5=+s[n3>>2],j=n9|13,J5=o+(j<<2)|0,w3=+s[J5>>2],f3=F5-w3,B3=Y5+u3,s[E5>>2]=B3,V3=w3+F5,s[n3>>2]=V3,N3=X5*.9238795042037964,V5=f3*.3826834261417389,y3=N3-V5,s[h3>>2]=y3,Z5=X5*.3826834261417389,R3=f3*.9238795042037964,G3=R3+Z5,s[J5>>2]=G3,f0=n9|26,a3=o+(f0<<2)|0,l3=+s[a3>>2],S=n9|10,c3=o+(S<<2)|0,C3=+s[c3>>2],q5=l3-C3,w=n9|27,U5=o+(w<<2)|0,O5=+s[U5>>2],y=n9|11,k5=o+(y<<2)|0,M5=+s[k5>>2],A6=O5-M5,e3=C3+l3,s[a3>>2]=e3,o3=M5+O5,s[U5>>2]=o3,x3=q5-A6,f6=x3*.7071067690849304,s[c3>>2]=f6,p3=A6+q5,k3=p3*.7071067690849304,s[k5>>2]=k3,D=n9|24,Q3=o+(D<<2)|0,r6=+s[Q3>>2],Q=n9|8,P3=o+(Q<<2)|0,K5=+s[P3>>2],v3=r6-K5,_=n9|25,g3=o+(_<<2)|0,O3=+s[g3>>2],L=n9|9,l6=o+(L<<2)|0,d3=+s[l6>>2],k6=O3-d3,v6=K5+r6,s[Q3>>2]=v6,S6=d3+O3,s[g3>>2]=S6,j3=v3*.3826834261417389,c6=k6*.9238795042037964,p6=j3-c6,R6=k6*.3826834261417389,Y6=v3*.9238795042037964,C6=R6+Y6,x=n9|22,S3=o+(x<<2)|0,X3=+s[S3>>2],F=n9|6,e6=o+(F<<2)|0,u6=+s[e6>>2],D3=X3-u6,M=n9|7,q3=o+(M<<2)|0,z3=+s[q3>>2],G=n9|23,D6=o+(G<<2)|0,o6=+s[D6>>2],t3=z3-o6,O6=u6+X3,s[S3>>2]=O6,s3=o6+z3,s[D6>>2]=s3,s[e6>>2]=t3,s[q3>>2]=D3,O=n9|4,a6=o+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=o+(z<<2)|0,Q6=+s[n6>>2],x6=d6-Q6,Y=n9|5,V6=o+(Y<<2)|0,I6=+s[V6>>2],t0=n9|21,J6=o+(t0<<2)|0,L3=+s[J6>>2],W6=I6-L3,G6=Q6+d6,s[n6>>2]=G6,e9=L3+I6,s[J6>>2]=e9,L6=W6*.9238795042037964,U6=x6*.3826834261417389,b6=L6+U6,z6=W6*.3826834261417389,y6=x6*.9238795042037964,F6=z6-y6,J=n9|2,F3=o+(J<<2)|0,M6=+s[F3>>2],W=n9|18,t9=o+(W<<2)|0,o9=+s[t9>>2],f9=M6-o9,e0=n9|3,u9=o+(e0<<2)|0,d9=+s[u9>>2],H=n9|19,a9=o+(H<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=o9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+f9,N9=i9*.7071067690849304,E4=T9-f9,A4=E4*.7071067690849304,h4=+s[p5>>2],X=n9|16,G9=o+(X<<2)|0,z9=+s[G9>>2],D9=h4-z9,Z=n9|1,E9=o+(Z<<2)|0,H6=+s[E9>>2],V=n9|17,r9=o+(V<<2)|0,m4=+s[r9>>2],o4=H6-m4,y9=z9+h4,s[G9>>2]=y9,D4=m4+H6,s[r9>>2]=D4,b4=o4*.3826834261417389,R4=D9*.9238795042037964,M4=b4+R4,W4=o4*.9238795042037964,C4=D9*.3826834261417389,T4=W4-C4,U9=T4-C6,a4=M4-p6,x4=M4+p6,f4=T4+C6,Ce=a4+U9,H9=U9-a4,m9=+s[k5>>2],Be=A4-m9,Ne=+s[c3>>2],Xe=Ne-N9,G4=Ne+N9,U4=m9+A4,j4=+s[h3>>2],De=j4-b6,e8=+s[J5>>2],Z9=e8-F6,oe=j4+b6,u4=e8+F6,_6=De-Z9,P4=Z9+De,L9=+s[h5>>2],_4=L9-t3,ae=+s[j2>>2],W9=ae-D3,$e=t3+L9,le=D3+ae,B4=_4+Be,X4=_4-Be,L4=_6+Ce,ce=L4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ce+B4,s[e6>>2]=l4,pe=B4-ce,s[a6>>2]=pe,p4=P4-H9,c4=p4*.7071067690849304,P6=W9-Xe,be=c4+X4,s[p5>>2]=be,_e=X4-c4,s[F3>>2]=_e,t8=P4+H9,g4=t8*.7071067690849304,f8=W9+Xe,Y3=P6+Ue,s[u9>>2]=Y3,w9=P6-Ue,s[E9>>2]=w9,B9=f8+g4,s[q3>>2]=B9,F4=f8-g4,s[V6>>2]=F4,ee=$e+G4,$7=$e-G4,Re=x4+oe,l7=oe-x4,Q7=ee+Re,s[h5>>2]=Q7,g7=ee-Re,s[h3>>2]=g7,F8=u4-f4,M8=le-U4,T8=$7+F8,s[P3>>2]=T8,N8=$7-F8,s[c3>>2]=N8,Z8=u4+f4,W8=le+U4,y7=M8+l7,s[k5>>2]=y7,G8=M8-l7,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[J5>>2]=k8,v8=+s[g3>>2],u8=D4-v8,O8=+s[Q3>>2],H8=y9-O8,j8=O8+y9,X8=v8+D4,d8=H8+u8,Pe=u8-H8,xe=+s[a9>>2],S8=+s[U5>>2],k9=xe-S8,h7=+s[a3>>2],Qe=+s[t9>>2],f7=h7-Qe,w7=Qe+h7,e7=S8+xe,k7=+s[E5>>2],te=+s[n6>>2],t7=k7-te,D8=+s[n3>>2],r8=+s[J6>>2],O4=D8-r8,Le=te+k7,n8=r8+D8,I8=t7-O4,b8=O4+t7,ge=+s[t5>>2],j9=+s[S3>>2],s8=ge-j9,A8=+s[i5>>2],m8=+s[D6>>2],he=A8-m8,ye=j9+ge,Oe=m8+A8,He=s8+k9,X9=s8-k9,Fe=I8+d8,fe=Fe*.7071067690849304,o8=I8-d8,Q4=o8*.7071067690849304,C8=fe+He,s[S3>>2]=C8,i7=He-fe,s[n6>>2]=i7,H4=b8-Pe,I3=H4*.7071067690849304,qe=he-f7,B8=I3+X9,s[G9>>2]=B8,ie=X9-I3,s[t9>>2]=ie,q9=b8+Pe,re=q9*.7071067690849304,Ye=he+f7,Y8=qe+Q4,s[a9>>2]=Y8,u7=qe-Q4,s[r9>>2]=u7,r7=Ye+re,s[D6>>2]=r7,n7=Ye-re,s[J6>>2]=n7,J8=ye+w7,s7=ye-w7,K8=Le+j8,a8=Le-j8,$8=J8+K8,s[t5>>2]=$8,q4=J8-K8,s[E5>>2]=q4,A7=n8-X8,R8=Oe-e7,Je=s7+A7,s[Q3>>2]=Je,p9=s7-A7,s[a3>>2]=p9,o7=n8+X8,Ke=Oe+e7,M7=R8+a8,s[U5>>2]=M7,H7=R8-a8,s[g3>>2]=H7,v7=Ke+o7,s[i5>>2]=v7,S7=Ke-o7,s[n3>>2]=S7,ne=n9+32|0,T7=(ne|0)<(a|0),T7;)n9=ne}function sQ(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0;for(m1=C,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,A1=o,z0=a,I1=w;$0=e[A1>>2]|0,c=$0+S|0,j=a+(c<<2)|0,S0=A1+4|0,b0=e[S0>>2]|0,f=b0+S|0,D0=a+(f<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=f+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,H=e0*.5,X=_-L,U=X*.5,Z=z+H,s[z0>>2]=Z,V=H-z,a0=I1+-8|0,s[a0>>2]=V,n0=J+U,i0=z0+4|0,s[i0>>2]=n0,r0=J-U,K=I1+-4|0,s[K>>2]=r0,h0=A1+8|0,s0=e[h0>>2]|0,m=s0+S|0,g0=a+(m<<2)|0,l0=A1+12|0,f0=e[l0>>2]|0,p=f0+S|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,u0=+s[k0>>2],B0=C0-u0,p0=+s[g0>>2],I0=+s[d0>>2],K0=I0+p0,_0=n1+8|0,Q0=+s[_0>>2],L0=K0*Q0,F0=n1+12|0,T0=+s[F0>>2],U0=T0*B0,y0=U0+L0,q0=T0*K0,x0=Q0*B0,M0=q0-x0,J0=u0+C0,Y0=J0*.5,P0=p0-I0,V0=P0*.5,N0=y0+Y0,O0=z0+8|0,s[O0>>2]=N0,r1=Y0-y0,s[W>>2]=r1,H0=M0+V0,e1=z0+12|0,s[e1>>2]=H0,i1=M0-V0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,f1=A1+16|0,g1=z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,A1=f1,z0=g1,I1=W}function uS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,n=t+28|0,o=e[n>>2]|0,a=o+2868|0,c=n4(1,36)|0,f=t+4|0,E=e[f>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function dS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function IS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function ES(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=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[o>>2]|0,L=t+36|0,e[L>>2]=_,t2=+(_|0),j5=t2*8,f3=j5,l3=+Kr(+f3),o3=l3*1.4426950408889634,g3=+Ui(o3),R6=g3+-1,D6=~~R6,x=t+32|0,e[x>>2]=D6,W=+(c|0),r0=W*.25,k0=r0,T0=k0*.5,N0=+(a|0),l1=T0/N0,B1=+Kr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=D6+1|0,F2=1<<$2,O2=+(F2|0),k2=O2*W1,_5=+(_|0),g2=k2-_5,$5=~~g2,x2=t+28|0,e[x2>>2]=$5,Q5=+(a|0),H5=Q5+.25,E5=H5*W,u3=E5,h3=u3*.5,Y5=h3/N0,X5=+Kr(+Y5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,J5=F5+.5,w3=~~J5,B3=1-$5|0,V3=B3+w3|0,N3=t+40|0,e[N3>>2]=V3,V5=a<<2,y3=S9(V5)|0,Z5=t+16|0,e[Z5>>2]=y3,i6=S9(V5)|0,R3=t+20|0,e[R3>>2]=i6,G3=S9(V5)|0,a3=t+24|0,e[a3>>2]=G3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[q5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[q5>>2]=1.274999976158142)}while(!1);U3=N0*2,M5=+(c|0),A6=(a|0)>0,p3=A6,z6=0,j6=0;e:for(;;){for(p=p3^1,y6=z6;;){if(Q3=y6+1|0,r6=+(Q3|0),W3=r6*.08664337545633316,P3=W3+2.7488713472395148,K5=+Nn(+P3),v3=U3*K5,O3=v3/M5,l6=+Ui(O3),d3=~~l6,m=(d3|0)<=(j6|0),V6=m|p,!V6){E=Q3,I=d3,F6=y6;break}if(k6=(Q3|0)<87,k6)y6=Q3;else{o9=j6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],c6=j3-S6,p6=I-j6|0,Y6=+(p6|0),C6=c6/Y6,S3=j6-I|0,X3=j6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,e3=j6-T9|0,x6=S6,f9=j6;u6=x6+100,H3=y3+(f9<<2)|0,s[H3>>2]=u6,D3=x6+C6,q3=f9+1|0,G6=(q3|0)==(e3|0),!G6;)x6=D3,f9=q3;if(x3=(e3|0)<(a|0),f6=(E|0)<87,f6)p3=x3,z6=E,j6=e3;else{o9=e3;break}}if(k3=(o9|0)<(a|0),k3)for(u9=o9;N6=u9+-1|0,n6=y3+(N6<<2)|0,Q6=e[n6>>2]|0,F=y3+(u9<<2)|0,e[F>>2]=Q6,M=u9+1|0,W6=(M|0)==(a|0),!W6;)u9=M;if(z3=(a|0)>0,z3){for(o6=a<<1,t3=(c|0)/(o6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,b3=n+112|0,L6=1,F3=0,d9=-99;;){Y=r5(t3,F3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Js(+e0),X=H*13.100000381469727,U=r5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,V=Z,a0=+Js(+V),n0=a0*2.240000009536743,i0=n0+X,K=t0*9999999747378752e-20,h0=K,s0=i0+h0,g0=s0,j=s3+d9|0,l0=(j|0)<(F3|0);e:do if(l0)for(f0=+s[b3>>2],d0=g0-f0,w0=d0,$9=d9;;){if(C0=r5($9,t3)|0,u0=+(C0|0),B0=u0*.0007399999885819852,p0=B0,I0=+Js(+p0),S0=I0*13.100000381469727,K0=r5(C0,C0)|0,_0=+(K0|0),Q0=_0*18499999754340024e-24,L0=Q0,F0=+Js(+L0),U0=F0*2.240000009536743,y0=u0*9999999747378752e-20,q0=y0,x0=S0+q0,b0=x0+U0,M0=b0(a|0);e:do if(J0)U6=L6;else for(Y0=e[a6>>2]|0,P0=Y0+F3|0,b6=L6;;){if(H0=(b6|0)<(P0|0),!H0&&(e1=r5(b6,t3)|0,D0=+(e1|0),i1=D0*.0007399999885819852,c1=i1,$1=+Js(+c1),f1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,A1=+Js(+n1),z0=A1*2.240000009536743,I1=D0*9999999747378752e-20,h1=I1,m1=f1+h1,d1=m1+z0,E1=+s[d6>>2],p1=E1+g0,Q1=p1,R1=d1>2]=F1,k1=F3+1|0,L3=(k1|0)==(a|0),L3)break;L6=U6,F3=k1,d9=a9}if(z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),f2=n+36|0,s2=w/N0,E2=s2,A2=n+24|0,V1=+s[A2>>2],h2=n+28|0,a2=+s[h2>>2],i2=BS(f2,E2,a,V1,a2)|0,o2=t+8|0,e[o2>>2]=i2,X1=S9(12)|0,n2=t+12|0,e[n2>>2]=X1,u2=S9(V5)|0,e[X1>>2]=u2,e2=S9(V5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(V5)|0,w2=X1+8|0,e[w2>>2]=v2,!!z3)for(C2=e[c3>>2]|0,S=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,D=e[v>>2]|0,t9=0;b2=+(t9|0),N2=b2+.5,d2=N2*M5,V2=d2/U3,G2=+Kr(+V2),q2=G2*2.885390043258667,M2=q2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,f=e9>=16,s9=f?16:e9,A5=~~s9,T1=+(A5|0),X2=s9-T1,x5=X2,e5=1-x5,D5=A5+1|0,Z2=(C2+132|0)+(A5<<2)|0,u5=+s[Z2>>2],v5=u5,P5=v5*e5,l5=(C2+132|0)+(D5<<2)|0,m5=+s[l5>>2],n5=m5*X2,R2=n5,_2=R2+P5,B2=_2,C5=S+(t9<<2)|0,s[C5>>2]=B2,L5=(C2+200|0)+(A5<<2)|0,d5=+s[L5>>2],b5=d5,G5=b5*e5,H2=(C2+200|0)+(D5<<2)|0,I5=+s[H2>>2],o5=I5*X2,c5=o5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(A5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(D5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,f5=J2+p5,i5=f5,R5=D+(t9<<2)|0,s[R5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function AQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0;if(N0=C,o=(t|0)==0,!o){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,K0=(l0|0)==0,K0||I2(l0),x0=t+24|0,b0=e[x0>>2]|0,M0=(b0|0)==0,M0||I2(b0),c=t+8|0,f=e[c>>2]|0,E=(f|0)==0,!E){for(m=f,Y0=0;I=m+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,S=v+(Y0<<2)|0,w=e[S>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[c>>2]|0,L=_+(Y0<<2)|0,x=e[L>>2]|0,F=x+8|0,M=e[F>>2]|0,I2(M),T=e[c>>2]|0,N=T+(Y0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(Y0<<2)|0,W=e[J>>2]|0,e0=W+16|0,H=e[e0>>2]|0,I2(H),X=e[c>>2]|0,U=X+(Y0<<2)|0,$0=e[U>>2]|0,V=$0+20|0,a0=e[V>>2]|0,I2(a0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,K=r0+24|0,h0=e[K>>2]|0,I2(h0),s0=e[c>>2]|0,g0=s0+(Y0<<2)|0,j=e[g0>>2]|0,f0=j+28|0,d0=e[f0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(Y0<<2)|0,k0=e[C0>>2]|0,I2(k0),u0=Y0+1|0,J0=(u0|0)==17,!J0;)n=e[c>>2]|0,m=n,Y0=u0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,L0=Q0+4|0,F0=e[L0>>2]|0,I2(F0),T0=e[p0>>2]|0,U0=T0+8|0,y0=e[U0>>2]|0,I2(y0),q0=e[p0>>2]|0,I2(q0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function oQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,f=I,L=C,C=C+((1*f|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,$Q(E,a0,n,o,140,-1),n0=(E|0)>0,n0)for(l0=0;i0=n+(l0<<2)|0,r0=+s[i0>>2],K=o+(l0<<2)|0,h0=+s[K>>2],m=r0-h0,p=L+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,g0=(B|0)==(E|0),!g0;)l0=B;if(v=e[J>>2]|0,S=t+4|0,w=e[S>>2]|0,y=w+128|0,D=e[y>>2]|0,$Q(E,v,L,o,0,D),n0)f0=0;else{C=C0;return}for(;_=n+(f0<<2)|0,x=+s[_>>2],F=L+(f0<<2)|0,M=+s[F>>2],T=x-M,s[F>>2]=T,N=f0+1|0,j=(N|0)==(E|0),!j;)f0=N;if(!n0){C=C0;return}for(Q=e[S>>2]|0,d0=0;G=o+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=L+(d0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,V=d0+1|0,s0=(V|0)==(E|0),!s0;)d0=V;C=C0}function aQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,C2=t2+4|0,A5=+s[C2>>2],l5=A5+c,N=(l1|0)>0,N)for(o5=0;U=U1+(o5<<2)|0,s[U>>2]=-9999,g0=o5+1|0,I0=(g0|0)<(l1|0),I0;)o5=g0;if(x0=t2+8|0,e1=+s[x0>>2],c1=l50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,A1=o+(g5<<2)|0,s[A1>>2]=n1,z0=g5+1|0,H2=(z0|0)==(M|0),!H2;)g5=z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=t2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){S1=n+(c5<<2)|0,L1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=L1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,b1=e[N1>>2]|0,K1=(b1|0)==(G1|0),!K1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=n+(k1<<2)|0,H1=+s[O1>>2],q1=H1>s5,q1){S5=k1,s5=H1;continue e}else B5=k1}if(Y1=h5+6,j1=o+(M1<<2)|0,r2=+s[j1>>2],P1=Y1>r2,P1&&(c2=e[R1>>2]|0,z1=G1>>c2,f2=(z1|0)>16,E=f2?16:z1,s2=(E|0)<0,f=s2?0:E,E2=h1+(f<<2)|0,A2=e[E2>>2]|0,V1=e[x1>>2]|0,h2=E1+h5,a2=h2,$2=a2+-30,i2=$2*.10000000149011612,o2=~~i2,X1=(o2|0)<0,n2=X1?0:o2,u2=(n2|0)>7,e2=u2?7:n2,y2=A2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],b2=~~F2,N2=+s[v2>>2],d2=~~N2,V2=(d2|0)<(b2|0),V2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=q2-M2|0,z2=+(P2|0),O2=V1>>1,T1=+(O2|0),X2=N2+-16,x5=+(V1|0),e5=X2*x5,D5=e5-T1,Z2=D5+z2,u5=~~Z2,I5=d2,H5=u5;v5=(H5|0)>0,v5&&(F=I5+2|0,P5=v2+(F<<2)|0,k2=+s[P5>>2],m5=k2+h5,n5=U1+(H5<<2)|0,R2=+s[n5>>2],_2=R2>2]=m5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),L5=I5+1|0,d5=(L5|0)<(b2|0),$5=d5&C5,$5;)I5=L5,H5=B2;if(v)c5=w;else{L=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),b5=e[L>>2]|0,pS(U1,b5,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=b5>>1,e0=J-W|0,H=e[Y>>2]|0,X=e0-H|0,$0=e[W1>>2]|0,Z=$0+32|0,K=1,j=J,W2=0,x2=X;;){n0=U1+(x2<<2)|0,i0=+s[n0>>2],r0=t0+(K<<2)|0,h0=e[r0>>2]|0,s0=h0+j|0,l0=s0>>1,f0=l0-H|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(x2|0)<(f0|0);t:do if(C0)for(m=x2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(u0=p+1|0,B0=U1+(u0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(K0=p0=(G|0),T0=(j|0)>(L0|0),R5=F0|T0;t:do if(R5)g2=W2;else for(p5=W2;;){if(U0=o+(p5<<2)|0,y0=+s[U0>>2],q0=y0>2]=f5),b0=p5+1|0,M0=(b0|0)<(G|0),!M0){g2=b0;break t}if(D=t0+(b0<<2)|0,x=e[D>>2]|0,J0=(x|0)>(L0|0),J0){g2=b0;break}else p5=b0}while(!1);if(V=g2+1|0,a0=(V|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,K=V,j=_,W2=g2,x2=Q5}else a5=0;while(!1);if(Y0=e[T>>2]|0,P0=Y0+-1|0,V0=U1+(P0<<2)|0,N0=+s[V0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;r1=o+(t5<<2)|0,H0=+s[r1>>2],D0=H0>2]=N0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function z$(t,n,o,a,c,f,E){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,K=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,u0=e[k0>>2]|0,B=u0+(a<<2)|0,v=e[B>>2]|0,S=F+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,I0=0;_=n+(I0<<2)|0,L=+s[_>>2],x=v+(I0<<2)|0,M=+s[x>>2],T=M+L,N=+s[S>>2],G=T>N,S0=G?N:T,O=o+(I0<<2)|0,z=+s[O>>2],Y=z+K,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,H=+s[W>>2],X=S0-H,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(V=D*Z,a0=1-V,n0=a0,i0=n0<0,i0?B0=9999999747378752e-20:B0=n0):(r0=Q*Z,h0=1-r0,s0=h0,B0=s0),g0=f+(I0<<2)|0,j=+s[g0>>2],l0=j*B0,s[g0>>2]=l0),f0=I0+1|0,p0=(f0|0)==(m|0),!p0;)I0=f0}function mS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,F=(x|0)/2&-1,M=+(F|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),m=M/I,p=D+2936|0,B=+s[p>>2],v=B*m,S=v+t,w=S<-9999,o=w?-9999:S,+o}function CS(t,n,o,a,c,f,E,I,m){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0;if(N4=C,n0=e[o>>2]|0,i0=o+4|0,A5=e[i0>>2]|0,V3=A5+500|0,C3=e[V3>>2]|0,f6=(C3|0)==0,f6?J5=16:(l6=A5+508|0,C6=e[l6>>2]|0,J5=C6),t3=e[A5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,k0=(n+252|0)+(t<<2)|0,T0=e[k0>>2]|0,N0=1624+(T0<<3)|0,l1=+o1[N0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,t2=C,C=C+((1*v|0)+15&-16)|0,S=W1,C2=C,C=C+((1*S|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|0)+15&-16)|0,g2=a+1156|0,x2=(n0|0)>1e3,T4=x2?1696:1624,M4=T4+(U1<<3)|0,R4=+o1[M4>>3],F5=r5(W1,J5)|0,x=F5,w3=C,C=C+((1*x|0)+15&-16)|0,e[t2>>2]=w3,w=F5,f3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=f3,y=F5,B3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=B3,D=F5,N3=C,C=C+((1*D|0)+15&-16)|0,e[k2>>2]=N3,V5=(m|0)>1,V5&&(y3=w3+(J5<<2)|0,Z5=t2+4|0,e[Z5>>2]=y3,i6=f3+(J5<<2)|0,R3=C2+4|0,e[R3>>2]=i6,G3=B3+(J5<<2)|0,a3=O2+4|0,e[a3>>2]=G3,l3=N3+(J5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,f9=(m|0)==2,!f9))for(k5=2;M=e[t2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=r5(k5,J5)|0,U3=M+(O5<<2)|0,M5=t2+(k5<<2)|0,e[M5>>2]=U3,A6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=A6,o3=O+(O5<<2)|0,x3=O2+(k5<<2)|0,e[x3>>2]=o3,p3=z+(O5<<2)|0,k3=k2+(k5<<2)|0,e[k3>>2]=p3,Q3=k5+1|0,j6=(Q3|0)==(m|0),!j6;)k5=Q3;if(q5=e[g2>>2]|0,U5=(n0|0)>0,U5)for(r6=e[k2>>2]|0,W3=(m|0)>0,P3=n0^-1,K5=J5^-1,T6=0,I9=P3;;){if(O3=(I9|0)>(K5|0),W4=O3?I9:K5,d3=W4^-1,k6=n0-T6|0,v6=(J5|0)>(k6|0),p=v6?k6:J5,s4(_5|0,E|0,W1|0)|0,Ae(r6|0,0,F5|0)|0,W3)for(S6=(p|0)>0,B6=r0-T6|0,r9=0;;){if(S3=f+(r9<<2)|0,X3=e[S3>>2]|0,e6=X3+(T6<<2)|0,u6=_5+(r9<<2)|0,H3=e[u6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(D6=O2+(r9<<2)|0,o6=e[D6>>2]|0,O6=t2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,b3=k2+(r9<<2)|0,N6=e[b3>>2]|0,E9=0;M0=o6+(E9<<2)|0,s[M0>>2]=1000000013351432e-25,J0=s3+(E9<<2)|0,s[J0>>2]=0,Y0=d6+(E9<<2)|0,s[Y0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,V0=X3+(U<<2)|0,e[V0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(q3=O2+(r9<<2)|0,z3=e[q3>>2]|0,S6){for(z9=0;$0=z9+T6|0,n6=X3+($0<<2)|0,Q6=e[n6>>2]|0,x6=1768+(Q6<<2)|0,V6=e[x6>>2]|0,J6=z3+(z9<<2)|0,e[J6>>2]=V6,L3=z9+1|0,y6=(L3|0)==(d3|0),!y6;)z9=L3;if(W6=c+(r9<<2)|0,G6=e[W6>>2]|0,e9=k2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;L6=(G9|0)>=(B6|0),a0=L6?R4:l1,U6=a0,Z=G9+T6|0,b6=G6+(Z<<2)|0,z6=+s[b6>>2],d9=+Vi(+z6),K=z3+(G9<<2)|0,h0=+s[K>>2],s0=d9/h0,g0=s9+(G9<<2)|0,y9=!(s0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=t2+(r9<<2)|0,f0=e[l0>>2]|0,d0=C2+(r9<<2)|0,w0=e[d0>>2]|0,D9=0;;)if(C0=D9+T6|0,u0=G6+(C0<<2)|0,B0=+s[u0>>2],p0=B0*B0,I0=f0+(D9<<2)|0,s[I0>>2]=p0,S0=w0+(D9<<2)|0,s[S0>>2]=p0,K0=+s[u0>>2],_0=K0<0,_0&&(Q0=+s[I0>>2],L0=-Q0,s[I0>>2]=L0),F0=z3+(D9<<2)|0,U0=+s[F0>>2],y0=U0*U0,s[F0>>2]=y0,q0=D9+1|0,F3=(q0|0)==(d3|0),F3){T=d0,b0=f0;break}else D9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(r9<<2)|0,Y=e[F>>2]|0,H=C2+(r9<<2)|0,T=H,b0=Y),x0=e[T>>2]|0,D4=e[i0>>2]|0,+lQ(D4,r0,b0,x0,z3,0,T6,p,e6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(j3=e[g2>>2]|0,c6=(j3|0)>0,c6)for(p6=(p|0)>0,R6=I-T6|0,Y6=r0-T6|0,m3=j3,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,f1=$1+(T6<<2)|0,g1=f+(i1<<2)|0,s1=e[g1>>2]|0,a1=t2+(e1<<2)|0,n1=e[a1>>2]|0,A1=t2+(i1<<2)|0,z0=e[A1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=k2+(e1<<2)|0,w1=e[x1>>2]|0,S1=k2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,b1=(N1|0)==0,b1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(H6=0;;){K1=(H6|0)<(R6|0);do if(K1){if(O1=w1+(H6<<2)|0,H1=e[O1>>2]|0,q1=(H1|0)==0,Y1=L1+(H6<<2)|0,q1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){e5=(H6|0)<(Y6|0);do if(e5)D5=z0+(H6<<2)|0,Z2=+s[D5>>2],u5=n1+(H6<<2)|0,v5=+s[u5>>2],P5=v5+Z2,s[u5>>2]=P5,$9=+Vi(+P5),l5=h1+(H6<<2)|0,s[l5>>2]=$9,N=D5;else if(m5=n1+(H6<<2)|0,n5=+s[m5>>2],R2=z0+(H6<<2)|0,_2=+s[R2>>2],B2=_2+n5,C5=B2<0,u9=+Vi(+n5),a9=+Vi(+_2),L5=a9+u9,d5=h1+(H6<<2)|0,s[d5>>2]=L5,C5){b5=-L5,s[m5>>2]=b5,N=R2;break}else{s[m5>>2]=L5,N=R2;break}while(!1);G5=d1+(H6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=H6+T6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}P1=n1+(H6<<2)|0,c2=+s[P1>>2],T9=+Vi(+c2),z1=z0+(H6<<2)|0,f2=+s[z1>>2],E6=+Vi(+f2),s2=E6+T9,s[P1>>2]=s2,E2=h1+(H6<<2)|0,A2=+s[E2>>2],V1=d1+(H6<<2)|0,h2=+s[V1>>2],a2=h2+A2,s[E2>>2]=a2,e[Y1>>2]=1,e[O1>>2]=1,V=H6+T6|0,$2=$1+(V<<2)|0,i2=e[$2>>2]|0,o2=s1+(V<<2)|0,X1=e[o2>>2]|0,E4=(i2|0)>-1,m4=0-i2|0,n2=E4?i2:m4,A4=(X1|0)>-1,o4=0-X1|0,u2=A4?X1:o4,e2=(n2|0)>(u2|0),e2?(y2=(i2|0)>0,v2=i2-X1|0,w2=X1-i2|0,F2=y2?v2:w2,e[o2>>2]=F2,J=e[$2>>2]|0,G2=J,P2=F2):(b2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,V2=b2?N2:d2,e[o2>>2]=V2,e[$2>>2]=X1,t0=e[o2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,q2=h4?G2:S4,M2=q2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[o2>>2]=T1,X2=e[$2>>2]|0,x5=0-X2|0,e[$2>>2]=x5)}while(!1);if(I5=p1+(H6<<2)|0,o5=+s[I5>>2],c5=R1+(H6<<2)|0,B5=+s[c5>>2],M1=B5+o5,s[c5>>2]=M1,s[I5>>2]=M1,S5=H6+1|0,o9=(S5|0)==(d3|0),o9)break;H6=S5}b4=e[i0>>2]|0,+lQ(b4,r0,n1,h1,p1,w1,T6,p,f1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=j3;if(p5=T6+J5|0,t5=(n0|0)>(p5|0),N9=I9+J5|0,t5)T6=p5,I9=N9;else{v3=n3;break}}else v3=q5;if(g3=(v3|0)>0,g3)X5=v3,i9=0;else{C=N4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,f5=e[J2>>2]|0,i5=(f5|0)==0,R5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[R5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,H5=(Q5|0)==0,H5?Y5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[R5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,Y5=e0),u3=i9+1|0,h3=(u3|0)<(Y5|0),h3;)X5=Y5,i9=u3;C=N4}function BS(t,n,o,a,c){t=t|0,n=+n,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0;for(Ke=C,C=C+32480|0,Y3=Ke+32256|0,p9=Ke+1792|0,w9=Ke,x=o<<2,S=x,F=C,C=C+((1*S|0)+15&-16)|0,i2=S9(68)|0,Ae(p9|0,0,30464)|0,v3=a>0,A4=a<0,k9=0;;){for(ae=k9<<2,te=0;n5=te+ae|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,H5=+s[t5>>2],q9=H5):q9=-30,w3=n5+1|0,a3=(w3|0)<88,a3?(L6=1272+(w3<<2)|0,U6=+s[L6>>2],z6=q9>U6,z6?re=U6:re=q9):(s9=q9>-30,s9?re=-30:re=q9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],o9=re>t9,o9?b9=t9:b9=re):(F3=re>-30,F3?b9=-30:b9=re),j6=n5+3|0,f9=(j6|0)<88,f9?(a9=1272+(j6<<2)|0,$9=+s[a9>>2],T9=b9>$9,T9?Ye=$9:Ye=b9):(u9=b9>-30,u9?Ye=-30:Ye=b9),E6=Y3+(te<<2)|0,s[E6>>2]=Ye,T6=te+1|0,T8=(T6|0)==56,!T8;)te=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,H=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(H|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,r1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,o2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,o2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,v3)for(r8=0;;){if(A4)for(E8=0;h4=16-E8|0,w7=(h4|0)>-1,n7=0-h4|0,G9=w7?h4:n7,z9=+(G9|0),D9=z9*c,E9=D9+a,H6=E9<0,I=H6?0:E9,r9=I>0,f=r9?0:I,m4=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],o4=S4+f,s[m4>>2]=o4,D4=E8+1|0,P8=(D4|0)==56,!P8;)E8=D4;else for(A8=0;g3=16-A8|0,e7=(g3|0)>-1,J8=0-g3|0,R6=e7?g3:J8,D6=+(R6|0),x6=D6*c,b6=x6+a,d9=b6<0,m=d9?0:b6,i9=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(A8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=A8+1|0,U8=(E4|0)==56,!U8;)A8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(D8=0;;){if(A4)for(m8=0;W4=16-m8|0,k7=(W4|0)>-1,s7=0-W4|0,C4=k7?W4:s7,T4=+(C4|0),U9=T4*c,N4=U9+a,a4=N4>0,E=a4?0:N4,f4=((p9+(k9*1792|0)|0)+(D8*224|0)|0)+(m8<<2)|0,Ce=+s[f4>>2],H9=Ce+E,s[f4>>2]=H9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,f7=(Be|0)>-1,r7=0-Be|0,Ne=f7?Be:r7,Xe=+(Ne|0),G4=Xe*c,Ge=G4+a,U4=((p9+(k9*1792|0)|0)+(D8*224|0)|0)+(s8<<2)|0,De=+s[U4>>2],e8=De+Ge,s[U4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(oe=D8+1|0,W8=(oe|0)==8,W8)break;D8=oe}for(b4=t+(k9<<2)|0,R4=+s[b4>>2],M4=R4,O4=0;;){for(u4=(O4|0)<2,_6=+(O4|0),w=_6*10,y=70-w,P4=u4?50:y,L9=P4+M4,$4=L9,d8=0;_4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],$e=W9+$4,s[_4>>2]=$e,le=d8+1|0,F4=(le|0)==56,!F4;)d8=le;for(B4=w9+(O4*224|0)|0,s4(B4|0,Y3|0,224)|0,X4=+(O4|0),L4=X4*10,ce=70-L4,S8=0;;)if(C9=(w9+(O4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ce+g6,s[C9>>2]=Ue,pe=S8+1|0,l7=(pe|0)==56,l7){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(O4*224|0)|0)+(i8<<2)|0,be=+s[P6>>2],_e=c4>be,_e&&(s[P6>>2]=c4),t8=i8+1|0,Re=(t8|0)==56,!Re;)i8=t8;if(g4=O4+1|0,y7=(g4|0)==8,y7){Le=1;break}else O4=g4}for(;;){for(k4=Le+-1|0,xe=0;;)if(f8=(w9+(k4*224|0)|0)+(xe<<2)|0,T=+s[f8>>2],N=(w9+(Le*224|0)|0)+(xe<<2)|0,G=+s[N>>2],O=T>2]=T),z=xe+1|0,$7=(z|0)==56,$7){Pe=0;break}else xe=z;for(;Y=(w9+(Le*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Le*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,ee=(X|0)==56,!ee;)Pe=X;if(U=Le+1|0,G8=(U|0)==8,G8)break;Le=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=n,x4=(o|0)>0,j4=o^-1,Qe=0;;){for(Z=S9(32)|0,V=i2+(Qe<<2)|0,e[V>>2]=Z,a0=+(Qe|0),n0=a0*.5,i0=a0*.34657350182533264,r0=i0+4.135165354540845,K=+Nn(+r0),s0=K/y9,g0=+Vo(+s0),j=~~g0,l0=+(j|0),f0=l0*n,d0=f0+1,w0=d0,C0=+Kr(+w0),k0=C0*2.885390043258667,u0=k0+-11.931568145751953,p0=+rB(+u0),I0=~~p0,S0=j+1|0,K0=+(S0|0),_0=K0*n,Q0=_0,L0=+Kr(+Q0),F0=L0*2.885390043258667,T0=F0+-11.931568145751953,U0=+Vo(+T0),q0=~~U0,x0=(I0|0)>(Qe|0),h7=x0?Qe:I0,b0=(h7|0)<0,B8=b0?0:h7,M0=(q0|0)>16,p=M0?16:q0,J0=(B8|0)>(p|0),Y0=Qe+1|0,P0=(Y0|0)<17,V0=n0+3.9657840728759766,ie=0;;){if(N0=S9(232)|0,O0=Z+(ie<<2)|0,e[O0>>2]=N0,x4)for(n8=0;H0=F+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,B9=(e1|0)==(o|0),!B9;)n8=e1;if(!J0)for(he=B8;;){for(D0=+(he|0),i1=D0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,A1=n1*.6931470036506653,z0=+Nn(+A1),I1=z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Nn(+d1),B1=E1/y9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,w1=(B|0)>(o|0),i7=w1?o:B,S1=(i7|0)<(ye|0),H4=S1?i7:ye,L1=(R1|0)<0,j8=L1?0:R1,F1=(j8|0)>(o|0),Y8=F1?o:j8,G1=(H4|0)<(Y8|0),k1=(H4|0)<(o|0),K8=G1&k1,K8)for(U1=((p9+(he*1792|0)|0)+(ie*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],b1=(ye|0)<(o|0),K1=b1?ye:o,O1=K1^-1,H1=(h1|0)>0,_=h1^-1,q1=H1?_:-1,Y1=(q1|0)<(O1|0),q4=Y1?O1:q1,j1=q4^-1,r2=(R1|0)>0,L=R1^-1,W1=r2?L:-1,P1=(W1|0)<(j4|0),A7=P1?j4:W1,z1=A7-q4|0,f2=q4+o|0,s2=f2^-1,E2=z1>>>0>s2>>>0,R8=E2?z1:s2,A2=j1-R8|0,X9=H4;;)if(V1=F+(X9<<2)|0,h2=+s[V1>>2],a2=h2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,u8=(t2|0)==(A2|0),u8){Oe=A2;break}else X9=t2;else Oe=H4;if($2=I8+1|0,O8=($2|0)==56,O8){He=Oe;break}else I8=$2,ye=Oe}if(c1=(He|0)<(o|0),c1)for($1=((p9+(he*1792|0)|0)+(ie*224|0)|0)+220|0,f1=+s[$1>>2],Fe=He;X1=F+(Fe<<2)|0,n2=+s[X1>>2],u2=n2>f1,u2&&(s[X1>>2]=f1),e2=Fe+1|0,H8=(e2|0)==(o|0),!H8;)Fe=e2;if(y2=he+1|0,v2=(he|0)<(p|0),v2)he=y2;else break}if(P0){for(b8=0,fe=0;;){if(G2=+(b8|0),q2=G2*.125,M2=q2+n0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,A5=+Nn(+z2),O2=A5/y9,T1=~~O2,x5=M2+4.028284072875977,e5=x5*.6931470036506653,D5=+Nn(+e5),Z2=D5/y9,u5=Z2+1,v5=~~u5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(o|0),I3=l5?o:v,k2=(I3|0)<(fe|0),qe=k2?I3:fe,m5=(v5|0)<0,X8=m5?0:v5,R2=(X8|0)>(o|0),u7=R2?o:X8,_2=(qe|0)<(u7|0),B2=(qe|0)<(o|0),a8=_2&B2,a8)for(C5=((p9+(Y0*1792|0)|0)+(ie*224|0)|0)+(b8<<2)|0,L5=+s[C5>>2],d5=(fe|0)<(o|0),b5=d5?fe:o,G5=b5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,o5=(H2|0)<(G5|0),$8=o5?G5:H2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(j4|0),_8=S5?j4:M1,g5=_8-$8|0,a5=$8+o|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=qe;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>L5,J2&&(s[s5>>2]=L5),f5=Q4+1|0,Q7=(f5|0)==(p5|0),Q7){o8=p5;break}else Q4=f5;else o8=qe;if(i5=b8+1|0,z8=(i5|0)==56,z8){we=o8;break}else b8=i5,fe=o8}if(b2=(we|0)<(o|0),b2)for(d2=((p9+(Y0*1792|0)|0)+(ie*224|0)|0)+220|0,V2=+s[d2>>2],C8=we;R5=F+(C8<<2)|0,j2=+s[R5>>2],$5=j2>V2,$5&&(s[R5>>2]=V2),x2=C8+1|0,c7=(x2|0)==(o|0),!c7;)C8=x2}for(w2=Z+(ie<<2)|0,C2=Z+(ie<<2)|0,F2=Z+(ie<<2)|0,ge=0;;){u3=+(ge|0),h3=u3*.125,Y5=V0+h3,X5=Y5*.6931470036506653,n3=+Nn(+X5),m3=n3/y9,F5=~~m3,J5=(F5|0)<0;do if(J5)f3=ge+2|0,B3=e[w2>>2]|0,V3=B3+(f3<<2)|0,s[V3>>2]=-999;else if(N3=(F5|0)<(o|0),N3){i6=F+(F5<<2)|0,R3=e[i6>>2]|0,G3=ge+2|0,l3=e[C2>>2]|0,c3=l3+(G3<<2)|0,e[c3>>2]=R3;break}else{V5=ge+2|0,y3=e[F2>>2]|0,Z5=y3+(V5<<2)|0,s[Z5>>2]=-999;break}while(!1);if(C3=ge+1|0,g7=(C3|0)==56,g7)break;ge=C3}Q5=N0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(q5=N0+12|0,U5=+s[q5>>2],O5=U5>-200,O5)j9=1;else if(Q3=N0+16|0,r6=+s[Q3>>2],W3=r6>-200,W3)j9=2;else if(P3=N0+20|0,K5=+s[P3>>2],O3=K5>-200,O3)j9=3;else if(l6=N0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=N0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(j3=N0+32|0,c6=+s[j3>>2],p6=c6>-200,p6)j9=6;else if(Y6=N0+36|0,C6=+s[Y6>>2],S3=C6>-200,S3)j9=7;else if(X3=N0+40|0,e6=+s[X3>>2],u6=e6>-200,u6)j9=8;else if(H3=N0+44|0,D3=+s[H3>>2],q3=D3>-200,q3)j9=9;else if(z3=N0+48|0,o6=+s[z3>>2],t3=o6>-200,t3)j9=10;else if(O6=N0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=N0+56|0,b3=+s[d6>>2],N6=b3>-200,N6)j9=12;else if(n6=N0+60|0,Q6=+s[n6>>2],V6=Q6>-200,V6)j9=13;else{if(I6=N0+64|0,J6=+s[I6>>2],L3=J6>-200,L3){j9=14;break}if(W6=N0+68|0,G6=+s[W6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[N0>>2]=j9,q8=55;;){if(k5=q8+2|0,U3=N0+(k5<<2)|0,M5=+s[U3>>2],A6=M5>-200,A6){t7=q8;break}if(o3=q8+-1|0,x3=(o3|0)>17,x3)q8=o3;else{t7=o3;break}}if(f6=+(t7|0),p3=N0+4|0,s[p3>>2]=f6,k3=ie+1|0,F8=(k3|0)==8,F8)break;ie=k3}if(M8=(Y0|0)==17,M8)break;Qe=Y0}return C=Ke,i2|0}function $Q(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=+c,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0;if(b4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,A2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,n3=C,C=C+((1*p|0)+15&-16)|0,B=w,Z5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[o>>2],r6=k5+c,S6=r6<1,o4=S6?1:r6,u6=o4*o4,D=u6*.5,z=D*o4,s[y>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[Z5>>2]=0,V=(t|0)>1,V)for(F3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=o+(F3<<2)|0,h1=+s[c1>>2],L1=h1+c,q1=L1<1,y9=q1?1:L1,V1=y9*y9,y2=V1+E6,M2=V1*E4,u5=M2+T6,L5=M2*E4,S5=L5+i9,J2=V1*y9,f5=J2+I9,i5=M2*y9,R5=i5+N9,$5=y+(F3<<2)|0,s[$5>>2]=y2,x2=A2+(F3<<2)|0,s[x2>>2]=u5,Q5=j2+(F3<<2)|0,s[Q5>>2]=S5,H5=n3+(F3<<2)|0,s[H5>>2]=f5,j5=Z5+(F3<<2)|0,s[j5>>2]=R5,E5=F3+1|0,u3=E4+1,F6=(E5|0)==(t|0),!F6;)F3=E5,E6=y2,T6=u5,i9=S5,N9=R5,I9=f5,E4=u3;if(f0=e[n>>2]|0,_0=f0>>16,J0=(_0|0)>-1,J0)Y5=f0,d6=0,Q6=0,J6=1,M6=0,A4=0;else for(F5=f0,B3=_0,t9=0,h4=0;;)if(m3=F5&65535,J5=y+(m3<<2)|0,w3=+s[J5>>2],f3=0-B3|0,V3=y+(f3<<2)|0,N3=+s[V3>>2],V5=N3+w3,y3=A2+(m3<<2)|0,i6=+s[y3>>2],R3=A2+(f3<<2)|0,G3=+s[R3>>2],a3=i6-G3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(f3<<2)|0,q5=+s[C3>>2],U5=q5+c3,O5=n3+(m3<<2)|0,U3=+s[O5>>2],M5=n3+(f3<<2)|0,A6=+s[M5>>2],e3=A6+U3,o3=Z5+(m3<<2)|0,x3=+s[o3>>2],f6=Z5+(f3<<2)|0,p3=+s[f6>>2],k3=x3-p3,Q3=e3*U5,W3=k3*a3,P3=Q3-W3,K5=k3*V5,v3=e3*a3,g3=K5-v3,O3=U5*V5,l6=a3*a3,d3=O3-l6,k6=g3*h4,v6=k6+P3,B6=v6/d3,j3=B6<0,e9=j3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,R6=t9+1|0,Y6=h4+1,C6=n+(R6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){Y5=S3,d6=P3,Q6=g3,J6=d3,M6=R6,A4=Y6;break}else F5=S3,B3=X3,t9=R6,h4=Y6;if(h3=Y5&65535,X5=(h3|0)<(t|0),X5)for(v=Y5,z3=h3,j6=M6,z9=A4;;)if(D3=v>>16,q3=y+(z3<<2)|0,D6=+s[q3>>2],o6=y+(D3<<2)|0,t3=+s[o6>>2],O6=D6-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=Z5+(z3<<2)|0,e0=+s[W>>2],H=Z5+(D3<<2)|0,X=+s[H>>2],U=e0-X,$0=J*N,Z=U*L,a0=$0-Z,n0=U*O6,i0=J*L,r0=n0-i0,K=N*O6,h0=L*L,s0=K-h0,g0=r0*z9,j=g0+a0,l0=j/s0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(j6<<2)|0,s[C0>>2]=w0,k0=j6+1|0,u0=z9+1,B0=n+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,z3=I0,j6=k0,z9=u0;else{b3=a0,x6=r0,L3=s0,o9=k0,G9=u0;break}else b3=d6,x6=Q6,L3=J6,o9=M6,G9=A4;if(H3=(o9|0)<(t|0),H3)for(f9=o9,D9=G9;K0=D9*x6,Q0=K0+b3,L0=Q0/L3,F0=L0<0,L6=F0?0:L0,T0=L6-c,U0=a+(f9<<2)|0,s[U0>>2]=T0,y0=f9+1|0,q0=D9+1,y6=(y0|0)==(t|0),!y6;)f9=y0,D9=q0;if(x0=(f|0)<1,x0){C=b4;return}if(b0=(f|0)/2&-1,M0=b0-f|0,Y0=(M0|0)>-1,Y0)N6=b3,V6=x6,W6=L3,u9=0,E9=0;else for(P0=f-b0|0,H0=b0,i1=M0,d9=0,H6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],D0=0-i1|0,$1=y+(D0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(D0<<2)|0,n1=+s[a1>>2],A1=s1-n1,z0=j2+(H0<<2)|0,I1=+s[z0>>2],m1=j2+(D0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(D0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,w1=Z5+(H0<<2)|0,S1=+s[w1>>2],F1=Z5+(D0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=x1*E1,Z1=k1*A1,N1=U1-Z1,b1=k1*g1,K1=x1*A1,O1=b1-K1,H1=E1*g1,Y1=A1*A1,j1=H1-Y1,r2=O1*H6,W1=r2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,f2=+s[z1>>2],s2=c2>2]=c2),E2=d9+1|0,h2=H6+1,a2=b0+E2|0,t2=a2-f|0,z6=(E2|0)==(P0|0),z6){N6=N1,V6=O1,W6=j1,u9=P0,E9=h2;break}else H0=a2,i1=t2,d9=E2,H6=h2;if(V0=u9+b0|0,N0=(V0|0)<(t|0),N0)for(O0=t-b0|0,S=V0,$9=u9,m4=E9;;)if(i2=S-f|0,o2=y+(S<<2)|0,X1=+s[o2>>2],n2=y+(i2<<2)|0,u2=+s[n2>>2],e2=X1-u2,v2=A2+(S<<2)|0,w2=+s[v2>>2],C2=A2+(i2<<2)|0,F2=+s[C2>>2],b2=w2-F2,N2=j2+(S<<2)|0,d2=+s[N2>>2],V2=j2+(i2<<2)|0,G2=+s[V2>>2],q2=d2-G2,P2=n3+(S<<2)|0,z2=+s[P2>>2],A5=n3+(i2<<2)|0,O2=+s[A5>>2],T1=z2-O2,X2=Z5+(S<<2)|0,x5=+s[X2>>2],e5=Z5+(i2<<2)|0,D5=+s[e5>>2],Z2=x5-D5,v5=T1*q2,P5=Z2*b2,l5=v5-P5,k2=Z2*e2,m5=T1*b2,n5=k2-m5,R2=q2*e2,_2=b2*b2,B2=R2-_2,C5=n5*m4,d5=C5+l5,b5=d5/B2,G5=b5-c,_5=a+($9<<2)|0,H2=+s[_5>>2],I5=G5>2]=G5),o5=$9+1|0,c5=m4+1,B5=o5+b0|0,b6=(o5|0)==(O0|0),b6){n6=l5,I6=n5,G6=B2,a9=O0,r9=c5;break}else S=B5,$9=o5,m4=c5;else n6=N6,I6=V6,G6=W6,a9=u9,r9=E9;if($2=(a9|0)<(t|0),$2)T9=a9,S4=r9;else{C=b4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=b4}function pS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;if(c1=C,f=o<<2,a=f,E=C,C=C+((1*a|0)+15&-16)|0,c=f,_=C,C=C+((1*c|0)+15&-16)|0,t0=(o|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,H0=P0;else{for(K0=t+(y0<<2)|0,_0=+s[K0>>2],V0=P0;;){if(B=V0+-1|0,v=_+(B<<2)|0,S=+s[v>>2],w=_0>2]|0,x=L+n|0,F=(y0|0)<(x|0),M=(V0|0)>1,b0=M&F,!b0){O0=V0,i1=12;break}if(T=V0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(S<=G),O){O0=V0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)V0=B;else{O0=V0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(N0<<2)|0,e[y>>2]=y0,D=_+(N0<<2)|0,s[D>>2]=_0,H0=N0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,H=_+(O0<<2)|0,s[H>>2]=_0,H0=O0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,U0=(X|0)==(o|0),U0){e1=H0,D0=r1;break}else y0=X,P0=r1}if(n0=(e1|0)>-1,!n0){C=c1;return}for(w0=n+1|0,q0=0,M0=0;;){if(U=(q0|0)<(e1|0),U?($0=q0+1|0,Z=_+($0<<2)|0,V=+s[Z>>2],a0=_+(q0<<2)|0,i0=+s[a0>>2],r0=V>i0,r0?(K=E+($0<<2)|0,h0=e[K>>2]|0,L0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(q0<<2)|0,g0=e[s0>>2]|0,j=w0+g0|0,L0=j),l0=(L0|0)>(o|0),x0=l0?o:L0,f0=(M0|0)<(x0|0),f0)for(d0=_+(q0<<2)|0,C0=e[d0>>2]|0,k0=(L0|0)<(o|0),u0=k0?L0:o,Y0=M0;;)if(B0=t+(Y0<<2)|0,e[B0>>2]=C0,p0=Y0+1|0,F0=(p0|0)==(u0|0),F0){J0=u0;break}else Y0=p0;else J0=M0;if(I0=q0+1|0,T0=(I0|0)==(D0|0),T0)break;q0=I0,M0=J0}C=c1}function lQ(t,n,o,a,c,f,E,I,m){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=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,K=e[e0>>2]|0,u0=(K|0)==0,u0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(f|0)==0,N=(p1|0)<(I|0),G=N?p1: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,H=a+(O1<<2)|0,X=+s[H>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,V=o+(O1<<2)|0,a0=+s[V>>2],n0=a0<0,i0=Z,r0=+Mn(+i0),h0=+Ui(r0),n0){s0=-h0,g0=~~s0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{l0=~~h0,f0=m+(O1<<2)|0,e[f0>>2]=l0;break}while(!1);if(d0=O1+1|0,b1=(d0|0)==(G|0),b1){K1=G;break}else O1=d0}else K1=0;if(O=(K1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(f|0)!=0,Y=n-E|0,p=0,G1=0,H1=K1;;){z?(w0=f+(H1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(H1<<2)|0,p0=+s[B0>>2],I0=c+(H1<<2)|0,S0=+s[I0>>2],K0=p0/S0,_0=!(K0<.25),Q0=(H1|0)<(Y|0),j1=z&Q0,r2=_0|j1,r2){y0=o+(H1<<2)|0,q0=+s[y0>>2],x0=q0<0,b0=K0,M0=+Mn(+b0),J0=+Ui(M0),Y0=-J0,_=x0?Y0:J0,Q=~~_,P0=m+(H1<<2)|0,e[P0>>2]=Q,V0=r5(Q,Q)|0,N0=+(V0|0),r1=+s[I0>>2],H0=N0*r1,s[B0>>2]=H0,B=p,k1=G1;break}else{L0=K0+p,F0=G1+1|0,T0=F+(G1<<2)|0,e[T0>>2]=B0,B=L0,k1=F0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,H1=e1}if(D0=(U1|0)==0,D0||(Lh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,f1=+o1[$1>>3],S=v,q1=0;;)if(g1=F+(q1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,A1=n1>>2,z0=S,I1=!(z0>=f1),I1?(w=S,L=0,W1=0):(h1=o+(A1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,R1=S+-1,x1=c+(A1<<2)|0,w1=+s[x1>>2],w=R1,L=Q1,W1=w1),S1=m+(A1<<2)|0,e[S1>>2]=L,s[l1>>2]=W1,L1=q1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else S=w,q1=L1;return C=c2,+y}function QS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,o=e[t>>2]|0,a=+s[o>>2],c=e[n>>2]|0,f=+s[c>>2],E=af,p=m&1,B=I-p|0,B|0}function yS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function wS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=(t|0)==0,!o){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?f=x:(I2(G),n=e[a>>2]|0,f=n),z=Y+1|0,c=(z|0)<(f|0),c;)x=f,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,S=v+(t0<<2)|0,w=e[S>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[B>>2]|0,I2(L),I2(t)}}function kS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(n,c,24),f=t+4|0,Q=e[f>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(n,$0,24),Z=t+12|0,V=e[Z>>2]|0,a0=V+-1|0,U2(n,a0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,K=0;;){if(S=p+(K<<2)|0,w=e[S>>2]|0,y=F7(w)|0,D=(y|0)>3,_=e[S>>2]|0,D?(U2(n,_,3),U2(n,1,1),L=e[S>>2]|0,x=L>>3,U2(n,x,5)):U2(n,_,4),F=e[S>>2]|0,M=(F|0)==0,M)s0=0;else for(o=F,g0=0;;)if(T=o&1,N=T+g0|0,G=o>>>1,O=(G|0)==0,O){s0=N;break}else o=G,g0=N;if(z=s0+i0|0,t0=K+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,K=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,H=e[e0>>2]|0,U2(n,H,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function vS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=Z4(n,24)|0,e[E>>2]=J,i0=Z4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,F0=Z4(n,24)|0,V0=F0+1|0,O0=E+8|0,e[O0>>2]=V0,r1=Z4(n,6)|0,m=r1+1|0,p=E+12|0,e[p>>2]=m,B=Z4(n,8)|0,v=E+20|0,e[v>>2]=B,S=(B|0)<0;e:do if(S)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=Z4(n,3)|0,x=Z4(n,1)|0,F=(x|0)<0,F){a1=26;break e}if(M=(x|0)==0,M)D0=_;else{if(T=Z4(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,H=(e0|0)==0,H){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{f=X;break}}if(D=(f|0)>0,D)for(Q=E+280|0,$1=0;;){if(V=Z4(n,8)|0,a0=(V|0)<0,a0)break e;if(n0=Q+($1<<2)|0,e[n0>>2]=V,r0=$1+1|0,K=(r0|0)<(f|0),K)$1=r0;else{N0=D,H0=f;break}}else N0=0,H0=f}else N0=0,H0=0;if(h0=e[v>>2]|0,s0=L+24|0,g0=e[s0>>2]|0,j=(h0|0)<(g0|0),j){if(N0)for(l0=E+280|0,f1=0;;){if(w0=l0+(f1<<2)|0,k0=e[w0>>2]|0,u0=(k0|0)<(g0|0),!u0||(B0=(L+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,K0=(S0|0)==0,f0=f1+1|0,K0))break e;if(d0=(f0|0)<(H0|0),d0)f1=f0;else break}if(_0=(L+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,L0=Q0+4|0,T0=e[L0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(M0=r5(q0,g1)|0,J0=(M0|0)>(T0|0),J0)break e;if(x0=i1+-1|0,b0=(i1|0)>1,b0)i1=x0,g1=M0;else{c=M0;break}}return Y0=E+16|0,e[Y0>>2]=c,o=E,o|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(o=0,o|0):(I2(E),o=0,o|0)}function SS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,f=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,n0=e[t0>>2]|0,e[f>>2]=n,w0=n+12|0,L0=e[w0>>2]|0,P0=f+4|0,e[P0>>2]=L0,r1=n0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,m=H0,p=n+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,S=f+16|0,e[S>>2]=v,w=e[v>>2]|0,y=n4(L0,4)|0,D=f+20|0,e[D>>2]=y,Q=(L0|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=F7(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,A1=0;;)if(e0=1<>2]|0,$0=D0+1|0,Z=x+(D0<<2)|0,V=e[Z>>2]|0,a0=U+(V*56|0)|0,i0=e[W>>2]|0,r0=i0+(A1<<2)|0,e[r0>>2]=a0,i1=$0),K=A1+1|0,f1=(K|0)==(T|0),f1){c1=i1,m1=a;break}else D0=i1,A1=K;else c1=e1,m1=a;if(h0=l1+1|0,s0=(h0|0)<(L0|0),s0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=f+24|0,e[g0>>2]=1,j=(w|0)>0,j){for(f0=1,s1=0;;)if(l0=r5(f0,L0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){o=l0;break}else f0=l0,s1=d0;e[g0>>2]=o,u0=o}else u0=1;if(C0=f+8|0,e[C0>>2]=I1,k0=u0<<2,B0=S9(k0)|0,p0=f+28|0,e[p0>>2]=B0,I0=(u0|0)>0,!I0)return f|0;if(S0=w<<2,!j){for(a1=0;Y0=S9(S0)|0,V0=B0+(a1<<2)|0,e[V0>>2]=Y0,N0=a1+1|0,O0=(N0|0)<(u0|0),O0;)a1=N0;return f|0}for(K0=e[p0>>2]|0,n1=0;;){for(b0=S9(S0)|0,M0=B0+(n1<<2)|0,e[M0>>2]=b0,J0=K0+(n1<<2)|0,q0=e[J0>>2]|0,c=u0,z0=0,E1=n1;d1=(c|0)/(L0|0)&-1,F0=(E1|0)/(d1|0)&-1,T0=r5(F0,d1)|0,U0=E1-T0|0,y0=q0+(z0<<2)|0,e[y0>>2]=F0,x0=z0+1|0,g1=(x0|0)==(w|0),!g1;)c=d1,z0=x0,E1=U0;if(_0=n1+1|0,Q0=(_0|0)<(u0|0),Q0)n1=_0;else break}return f|0}function DS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||cQ(t,n,o,x,2),0}function bS(t,n,o,a,c,f,E,I){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=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=(f|0)>0,m)x=0,F=0;else return 0;for(;;)if(p=c+(x<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?M=F:(S=a+(x<<2)|0,w=e[S>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=w,M=y),Q=x+1|0,L=(Q|0)==(f|0),L){T=M;break}else x=Q,F=M;return _=(T|0)==0,_||gQ(t,o,a,T,E),0}function _S(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(m=a+(i1<<2)|0,x=e[m>>2]|0,W=(x|0)==0,W?m1=h1:(r0=o+(i1<<2)|0,k0=e[r0>>2]|0,T0=h1+1|0,J0=o+(h1<<2)|0,e[J0>>2]=k0,m1=T0),Y0=i1+1|0,O0=(Y0|0)==(c|0),O0){d1=m1;break}else i1=Y0,h1=m1;if(P0=(d1|0)==0,P0)return f=0,f|0;if(p=e[n>>2]|0,B=p+8|0,v=e[B>>2]|0,S=p+12|0,w=e[S>>2]|0,y=p+4|0,D=e[y>>2]|0,Q=e[p>>2]|0,_=D-Q|0,L=(_|0)/(v|0)&-1,F=d1<<2,M=O7(t,F)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;H=O7(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=H,Ae(H|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=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=r5($1,v)|0,Z=e[p>>2]|0,V=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=o+(g1<<2)|0,n0=e[a0>>2]|0,N0=0,l1=0,A1=0;;)if(i0=V+l1|0,K=n0+(i0<<2)|0,h0=e[K>>2]|0,f1=(h0|0)>-1,z0=0-h0|0,s0=f1?h0:z0,g0=(s0|0)>(A1|0),E=g0?s0:A1,j=s0+N0|0,l0=l1+1|0,r1=(l0|0)==(v|0),r1){V0=j,n1=E;break}else N0=j,l1=l0,A1=E;else V0=0,n1=0;f0=+(V0|0),d0=f0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,u0=e[C0>>2]|0,B0=(n1|0)>(u0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,K0=(w0|0)<(I0|0),I1=S0|K0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(L0=M+(g1<<2)|0,F0=e[L0>>2]|0,U0=F0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(q0=$1+1|0,e1=(q0|0)==(L|0),e1)break;$1=q0}return x0=n+40|0,b0=e[x0>>2]|0,M0=b0+1|0,e[x0>>2]=M0,f=M,f|0}function RS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||cQ(t,n,o,x,3),0}function xS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0;if(z0=C,m=(c|0)>0,m)M0=0,n1=0;else return f=0,f|0;for(;;)if(p=a+(M0<<2)|0,F=e[p>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,K=M0+1|0,q0=(K|0)==(c|0),q0){a1=s1;break}else M0=K,n1=s1;if(l1=(a1|0)==0,l1)return f=0,f|0;if(u0=e[n>>2]|0,K0=u0+8|0,_0=e[K0>>2]|0,Q0=u0+12|0,L0=e[Q0>>2]|0,B=u0+4|0,v=e[B>>2]|0,S=e[u0>>2]|0,w=v-S|0,y=(w|0)/(_0|0)&-1,D=O7(t,4)|0,Q=y<<2,_=O7(t,Q)|0,e[D>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[u0>>2]|0,M=(x|0)/(c|0)&-1,T=(_0|0)>0,N=L0+-1|0,G=(L0|0)>1,O=e[D>>2]|0,z=(c|0)>1,J0=0,H0=M;;){if(T)for(Y=e[o>>2]|0,T0=0,V0=0,D0=H0,c1=0;;){if(t0=Y+(D0<<2)|0,J=e[t0>>2]|0,Y0=(J|0)>-1,$1=0-J|0,W=Y0?J:$1,H=(W|0)>(c1|0),I=H?W:c1,z)for(y0=T0,r1=1;;)if(X=o+(r1<<2)|0,U=e[X>>2]|0,$0=U+(D0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,f1=0-Z|0,V=P0?Z:f1,a0=(V|0)>(y0|0),E=a0?V:y0,n0=r1+1|0,x0=(n0|0)==(c|0),x0){U0=E;break}else y0=E,r1=n0;else U0=T0;if(i0=D0+1|0,r0=V0+c|0,h0=(r0|0)<(_0|0),h0)T0=U0,V0=r0,D0=i0,c1=I;else{F0=U0,e1=i0,i1=I;break}}else F0=0,e1=H0,i1=0;e:do if(G)for(O0=0;;){if(s0=(u0+2328|0)+(O0<<2)|0,g0=e[s0>>2]|0,j=(i1|0)>(g0|0),!j&&(l0=(u0+2584|0)+(O0<<2)|0,f0=e[l0>>2]|0,d0=(F0|0)>(f0|0),!d0)){N0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{N0=w0;break}}else N0=0;while(!1);if(k0=O+(J0<<2)|0,e[k0>>2]=N0,B0=J0+1|0,b0=(B0|0)==(y|0),b0)break;J0=B0,H0=e1}return p0=n+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,f=D,f|0}function LS(t,n,o,a,c,f,E,I){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0;if(n0=C,C=C+16|0,V=n0,m=n+36|0,p=e[m>>2]|0,F=(p|0)/2&-1,M=f<<2,T=r5(M,F)|0,N=O7(n,T)|0,e[V>>2]=N,G=(f|0)>0,!G)return C=n0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,H=(v|0)!=0,S=H&1,U=S+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+f|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(f|0),t0){$0=U;break}else J=x,Z=U}return X=($0|0)==0,X?(C=n0,0):(gQ(t,o,V,1,E),C=n0,0)}function FS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,x=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,k0=e[r0>>2]|0,T0=t+36|0,N0=e[T0>>2]|0,l1=r5(N0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),f=v?B:s1,S=e[I>>2]|0,w=f-S|0,y=(w|0)>0,!y)return 0;D=(w|0)/(x|0)&-1,Q=k0+-1|0,_=Q+D|0,L=(_|0)/(k0|0)&-1,F=L<<2,M=O7(t,F)|0,T=(c|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(c|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=n+8|0,e0=e[J>>2]|0,H=(e0|0)>0,!H))return 0;X=(D|0)>0,U=t+4|0,$0=I+16|0,Z=n+28|0,V=(k0|0)>0,a0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,h0=Km(K,U)|0,s0=(h0|0)==-1,s0){p1=23;break e}if(g0=e[$0>>2]|0,j=(h0|0)<(g0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,f0=l0+(h0<<2)|0,d0=e[f0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(u0=(A1|0)<(D|0),E1=V&u0,E1)for(B0=M+(m1<<2)|0,I1=A1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,K0=(I+24|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0&i0,L0=(Q0|0)==0,!L0&&(F0=e[a0>>2]|0,U0=F0+(S0<<2)|0,y0=e[U0>>2]|0,q0=y0+(B1<<2)|0,x0=e[q0>>2]|0,b0=(x0|0)==0,!b0&&(M0=r5(I1,x)|0,J0=e[I>>2]|0,Y0=J0+M0|0,P0=Pv(x0,o,Y0,c,U,x)|0,V0=(P0|0)==-1,V0))){p1=23;break e}if(O0=h1+1|0,r1=I1+1|0,H0=(O0|0)<(k0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=O0;else{z0=r1;break}}else z0=A1;if(D0=m1+1|0,i1=(z0|0)<(D|0),i1)A1=z0,m1=D0;else break}E=e[J>>2]|0,f1=E}else f1=g1;if(c1=B1+1|0,$1=(c1|0)<(f1|0),$1)g1=f1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function cQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=C,p=e[n>>2]|0,B=p+8|0,M=e[B>>2]|0,H=n+16|0,h0=e[H>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=p+4|0,v=e[Q1>>2]|0,S=(v|0)<(a1|0),f=S?v:a1,w=e[p>>2]|0,y=f-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=B0+-1|0,T=F+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=O7(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=$0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(B0|0)>0,U=n+20|0,m=x^1,q1=0;e:for(;;){if(t0)for(a0=1<>2]|0,H0=Km(O0,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,f1=e[$1>>2]|0,g1=L+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(b1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,V0=k1+1|0,n1){Y1=25;break e}if(N0=(V0|0)<(a|0),N0)k1=V0;else break}n0=(w1|0)<(Q|0),H1=X&n0;t:do if(H1){if(x)F1=w1,N1=0;else for(L1=w1,Z1=0;;)if(A1=Z1+1|0,z0=L1+1|0,I1=(A1|0)<(B0|0),h1=(z0|0)<(Q|0),K1=I1&h1,K1)L1=z0,Z1=A1;else{S1=z0;break t}for(;;){for(l0=r5(F1,M)|0,U1=0;;){if(g0=e[p>>2]|0,j=g0+l0|0,f0=L+(U1<<2)|0,d0=e[f0>>2]|0,w0=d0+(b1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,u0=e[k0>>2]|0,p0=(p+24|0)+(u0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,K0=(S0|0)==0,!K0&&(_0=e[U>>2]|0,Q0=_0+(u0<<2)|0,L0=e[Q0>>2]|0,F0=L0+(q1<<2)|0,T0=e[F0>>2]|0,U0=(T0|0)==0,!U0&&(q0=o+(U1<<2)|0,x0=e[q0>>2]|0,b0=x0+(j<<2)|0,M0=dB[c&3](T0,b0,J,M)|0,J0=(M0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,P0=(Y0|0)<(a|0),P0)U1=Y0;else break}if(i0=N1+1|0,r0=F1+1|0,K=(i0|0)<(B0|0),s0=(r0|0)<(Q|0),O1=K&s0,O1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=w1;while(!1);if(m1=b1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,b1=m1;else break}if(E1=q1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)q1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function gQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,a2=e[_>>2]|0,q2=Q+12|0,Z2=e[q2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,f5=e[M1>>2]|0,h3=Q+4|0,N3=e[h3>>2]|0,L=e[Q>>2]|0,J=N3-L|0,i0=(J|0)/(a2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=n+8|0,F0=e[C0>>2]|0,V0=(F0|0)>0,!V0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(f5|0)>1,r2=n+36|0,t2=(f5|0)>0,v2=n+20|0,w2=n+32|0,C2=0-f5|0,y2=F0,a6=0;;){if(g1){for(F2=(a6|0)==0,b2=1<>2]|0,G5=b5+(K5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,I5=H2+4|0,o5=e[I5>>2]|0,c5=(_5|0)<(o5|0),c5&&(B5=Rh(H2,_5,t)|0,S5=e[r2>>2]|0,g5=S5+B5|0,e[r2>>2]=g5),a5=C6+1|0,A6=(a5|0)==(a|0),A6)break e;C6=a5}for(;;){for(k2=c+(S3<<2)|0,u5=e[k2>>2]|0,m5=u5+(K5<<2)|0,n5=e[m5>>2]|0,u6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,x5=u6+K5|0,e5=(x5|0)<(i0|0),e5?(D5=u5+(x5<<2)|0,v5=e[D5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=u6+1|0,k3=(l5|0)==(f5|0),k3){x6=Q6;break}else u6=l5,n6=Q6;if(V2=e[C5>>2]|0,G2=V2+4|0,M2=e[G2>>2]|0,P2=(x6|0)<(M2|0),P2&&(z2=Rh(V2,x6,t)|0,A5=e[r2>>2]|0,O2=A5+z2|0,e[r2>>2]=O2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(R2=(K5|0)<(i0|0),D6=t2&R2,D6){for(_2=K5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,L5=0-N6|0,l6=K5,H3=0;;){if(W2=r5(l6,a2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(e6=0;;){if(t5=c+(e6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,R5=e[i5>>2]|0,j2=R5+a2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,x2=e[$5>>2]|0,Q5=x2&b2,H5=(Q5|0)==0,!H5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,u3=e[E5>>2]|0,Y5=u3+(a6<<2)|0,X5=e[Y5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=o+(e6<<2)|0,F5=e[m3>>2]|0,J5=e[X5>>2]|0,w3=(a2|0)/(J5|0)&-1,f3=(w3|0)>0,f3){for(B3=X5+48|0,V3=X5+52|0,V5=X5+44|0,y3=X5+12|0,Z5=X5+4|0,x=J5,k5=0,g3=0;;){i6=r5(g3,J5)|0,S=i6+p5|0,R3=F5+(S<<2)|0,G3=e[B3>>2]|0,a3=e[V3>>2]|0,l3=e[V5>>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){j3=0;break}for(G=l3+-1|0,d3=0,B6=0,q3=x;;)if(d0=q3+-1|0,D=S+d0|0,w0=F5+(D<<2)|0,k0=e[w0>>2]|0,u0=k0-G3|0,B0=(u0|0)<(c3|0),B0?(p0=c3-u0|0,I0=p0<<1,S0=I0+-1|0,L0=S0):(K0=u0-c3|0,_0=K0<<1,L0=_0),Q0=r5(B6,l3)|0,T0=(L0|0)<0,U0=(L0|0)>=(l3|0),y0=U0?G:L0,q0=T0?0:y0,x0=q0+Q0|0,b0=t3+(d0<<2)|0,e[b0>>2]=k0,M0=d3+1|0,W3=(M0|0)==(x|0),W3){j3=x0;break}else d3=M0,B6=x0,q3=d0}else{if(!F){j3=0;break}for(M=a3>>1,T=M-G3|0,N=l3+-1|0,v3=0,S6=0,D3=x;;)if(O=D3+-1|0,y=S+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(H=c3-W|0,X=H<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),V=r5(S6,l3)|0,n0=(a0|0)<0,r0=(a0|0)>=(l3|0),K=r0?N:a0,h0=n0?0:K,s0=h0+V|0,g0=r5(W,a3)|0,j=g0+G3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,f0=v3+1|0,P3=(f0|0)==(x|0),P3){j3=s0;break}else v3=f0,S6=s0,D3=O}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,P0=e[Y0>>2]|0,N0=P0+j3|0,O0=d[N0>>0]|0,r1=O0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,D0=e1+G3|0,i1=e[Z5>>2]|0,c1=(i1|0)>0,c1)q5=-1,k6=0,c6=j3;else{R6=j3;break}for(;;){$1=P0+k6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(F)for(Y6=0,b3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=S+Y6|0,n1=F5+(w<<2)|0,A1=e[n1>>2]|0,z0=a1-A1|0,I1=r5(z0,z0)|0,h1=I1+b3|0,m1=Y6+1|0,r6=(m1|0)==(x|0),r6){d6=h1;break}else Y6=m1,b3=h1;else d6=0;if(d1=(q5|0)==-1,B1=(d6|0)<(q5|0),z3=d1|B1,!z3){U5=q5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=q5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(D0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,w1=M5+(R1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)<(D0|0),L1){E=w1,I=S1;break}else x1=w1,X3=R1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){R6=p6;break}else q5=U5,k6=N1,c6=p6}}else R6=j3;while(!1);if(b1=(R6|0)>-1,o6=F&b1,o6)for(f=R3,v6=0;K1=t3+(v6<<2)|0,O1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-O1|0,e[f>>2]=Y1,j1=v6+1|0,o3=(j1|0)==(x|0),!o3;)f=H1,v6=j1;if(W1=Rh(X5,R6,t)|0,P1=W1+k5|0,c2=g3+1|0,x3=(c2|0)==(w3|0),x3){m=P1;break}p=e[X5>>2]|0,x=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,f2=z1+O5|0,e[w2>>2]=f2,s2=E2+(l6<<2)|0,A2=e[s2>>2]|0,V1=O6+(A2<<2)|0,h2=e[V1>>2]|0,$2=h2+O5|0,e[V1>>2]=$2}if(i2=e6+1|0,f6=(i2|0)==(a|0),f6)break;e6=i2}if(o2=H3+1|0,X1=l6+1|0,p3=(o2|0)==(L5|0),p3)break;l6=X1,H3=o2}N2=K5-N6|0,O3=N2}else O3=K5;if(d2=(O3|0)<(i0|0),d2)K5=O3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(n2=a6+1|0,u2=(n2|0)<(e2|0),u2)y2=e2,a6=n2;else break}C=I6}function F7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;if(p=C,o=(t|0)==0,o)E=0;else for(n=t,I=0;;)if(a=n>>>1,c=I+1|0,f=(a|0)==0,f){E=c;break}else n=a,I=c;return E|0}function hQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(o|0)!=0,p=m?o:n,F=p<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,K=(n|0)>0;do if(K){u0=P1+4|0,U0=(o|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=P1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,c2=y|Q,!c2){V1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,L=P1+(B<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(H=w,X=L,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,$0=(K1|0)>1,!$0)break i;if(f=P1+(U<<2)|0,I=e[f>>2]|0,Z=P1+(U<<2)|0,V=I&1,a0=(V|0)==0,a0)H=I,X=Z,K1=U;else{c=Z,b1=U,V1=8;break}}else c=L,b1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,N=(b1|0)==1,N){G=e[u0>>2]|0,O=G+1|0,e[u0>>2]=O;break}else{z=b1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(L1=w,H1=B,j1=Y1;;){if(n0=P1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,h0=(r0|0)==(L1|0),!h0){E=1;break t}if(s0=P1+(H1<<2)|0,g0=e[s0>>2]|0,j=g0<<1,e[n0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)q1=j1,L1=i0,j1=O1,H1=q1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,f0=k1+1|0,d0=(f0|0)<(n|0),d0)p1=Q1,k1=f0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return I2(e0),a=0,C=h2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,V0=P1+(U1<<2)|0,N0=e[V0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=N0&H0,D0=(e1|0)==0,Y0=U1+1|0,!!D0;)if(P0=(Y0|0)<33,P0)U1=Y0,V1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!K)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(f1=e0+(x1<<2)|0,g1=e[f1>>2]|0,l1=c1<<24>>24,r2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>r2,A1=n1&1,z0=A1|a1,I1=r2+1|0,h1=(I1|0)<(l1|0),h1)r2=I1,E2=z0;else{f2=z0;break}else f2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=f2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(J0=e0+(w1<<2)|0,T0=e[J0>>2]|0,M0=p0<<24>>24,W1=0,A2=0;;)if(L0=A2<<1,F0=T0>>>W1,y0=F0&1,q0=y0|L0,x0=W1+1|0,b0=(x0|0)<(M0|0),b0)W1=x0,A2=q0;else{s2=q0;break}else s2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(K0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=s2,S1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function MS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0;if(H=C,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),L=_,x=+(D|0),F=1/x,M=F,T=+Dh(+L,+M),f=+Vo(+T),E=~~f,Y=E;;){for(S=Y+1|0,N=1,G=1,O=0;;)if(B=r5(N,Y)|0,v=r5(G,S)|0,w=O+1|0,y=(w|0)<(D|0),y)N=B,G=v,O=w;else{n=B,o=v;break}if(I=(n|0)<=(c|0),m=(o|0)>(c|0),z=I&m,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function TS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,R1=n1&2097151,b1=+(R1|0),z1=n1>>>21,o2=z1&1023,N2=(n1|0)<0,X2=-b1,a=N2?X2:b1,v=o2+-788|0,T=+Zm(a,v),X=T,s0=t+20|0,p0=e[s0>>2]|0,q0=p0&2097151,V0=+(q0|0),N0=p0>>>21,O0=N0&1023,r1=(p0|0)<0,e1=-V0,c=r1?e1:V0,D0=O0+-788|0,i1=+Zm(c,D0),c1=i1,$1=e[t>>2]|0,f1=r5($1,n)|0,g1=n4(f1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(p1|0),w1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+Dh(+w1,+F1),k1=+Vo(+G1),U1=~~k1,$5=U1;;){for(f2=$5+1|0,n5=1,R2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(R2,f2)|0,s2=I5+1|0,d5=(s2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,R2=c2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),f5=N1&Z1,f5){x2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,R5=j2+$5|0,$5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(O1=(o|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,r2=t+28|0,_2=0,M1=0;;){if(O1)if(a2=e[q1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=r5($1,_2)|0,$2)for(B5=1,W2=0;;)if(D5=(M1|0)/(B5|0)&-1,Z2=(D5|0)%(x2|0)&-1,u5=a2+(Z2<<2)|0,v5=e[u5>>2]|0,P5=+(v5|0),H2=+Vi(+P5),l5=H2,k2=l5*Y1,m5=j1+k2,S=m5,w=i2+W2|0,y=g1+(w<<2)|0,s[y>>2]=S,D=r5(B5,x2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=D,W2=Q;else{Q5=21;break}else for(o5=1,g5=0,t5=0;;)if(L=(M1|0)/(o5|0)&-1,x=(L|0)%(x2|0)&-1,F=a2+(x<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+Vi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=i2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=r5(o5,x2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)o5=H,g5=U,t5=J;else{Q5=21;break}else if(E2=e[H1>>2]|0,A2=E2+M1|0,V1=d[A2>>0]|0,h2=V1<<24>>24==0,h2)B2=_2;else for(X1=e[q1>>2]|0,n2=e[r2>>2]|0,u2=(n2|0)==0,e2=o+(_2<<2)|0,y2=e[e2>>2]|0,v2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(x2|0)&-1,F2=X1+(C2<<2)|0,b2=e[F2>>2]|0,d2=+(b2|0),_5=+Vi(+d2),V2=_5,G2=V2*Y1,q2=s5,M2=q2+j1,P2=M2+G2,z2=P2,p5=u2?s5:z2,A5=v2+a5|0,O2=g1+(A5<<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=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),V=M1+1|0,a0=(V|0)<(p1|0),a0)_2=B2,M1=V;else{f=g1;break}}return f|0}else if((B|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return f=g1,f|0;for(A1=(o|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(A1?(n0=e[z0>>2]|0,i0=n0+S5|0,r0=d[i0>>0]|0,K=r0<<24>>24==0,K?L5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,l0=o+(C5<<2)|0,f0=r5($1,S5)|0,d0=r5($1,C5)|0,g2=0,J2=0;w0=f0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,u0=+(k0|0),b5=+Vi(+u0),B0=b5,I0=B0*h1,S0=J2,K0=S0+m1,_0=K0+I0,Q0=_0,h5=j?J2:Q0,A1?(L0=e[l0>>2]|0,F0=r5(L0,$1)|0,T0=F0+g2|0,U0=g1+(T0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,x0=g1+(y0<<2)|0,s[x0>>2]=Q0),b0=g2+1|0,M0=(b0|0)<($1|0),M0;)g2=b0,J2=h5;J0=C5+1|0,L5=J0}if(Y0=S5+1|0,P0=(Y0|0)<(s1|0),P0)C5=L5,S5=Y0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function gB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,n=t+36|0,o=e[n>>2]|0,a=(o|0)==0,!a&&(c=t+32|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function NS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,n=t+16|0,o=e[n>>2]|0,m=(o|0)==0,m||I2(o),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),S=t+24|0,w=e[S>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||I2(a),f=t+32|0,E=e[f>>2]|0,I=(E|0)==0,I||I2(E),Q=t,x=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(x|0))}function fQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0;N0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,L=e[I>>2]|0,J=t+4|0,e[J>>2]=L,i0=t+8|0,e[i0>>2]=L,C0=e[n>>2]|0,e[t>>2]=C0,S0=n+8|0,K0=e[S0>>2]|0,_0=hQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),S=v,w=+(p|0),y=1/w,D=y,Q=+Dh(+S,+D),_=+Vo(+Q),x=~~_,J0=x;;){for(O=J0+1|0,L0=1,F0=1,U0=0;;)if(N=r5(L0,J0)|0,G=r5(F0,O)|0,z=U0+1|0,T0=(z|0)==(p|0),T0){c=N,f=G;break}else L0=N,F0=G,U0=z;if(F=(c|0)<=(m|0),M=(f|0)>(m|0),y0=M&F,y0){Y0=J0;break}T=(c|0)>(m|0),M0=T?-1:1,b0=M0+J0|0,J0=b0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-H,o=$0?Z:H,V=U+-788|0,a0=+Zm(o,V),n0=a0,q0=+CQ(n0),r0=~~q0,K=t+48|0,e[K>>2]=r0,h0=n+20|0,s0=e[h0>>2]|0,g0=s0&2097151,j=+(g0|0),l0=s0>>>21,f0=l0&1023,d0=(s0|0)<0,w0=-j,a=d0?w0:j,k0=f0+-788|0,u0=+Zm(a,k0),B0=u0,x0=+CQ(B0),p0=~~x0,I0=t+52|0,e[I0>>2]=p0,0}function GS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0;F3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(H2=n+8|0,p5=e[H2>>2]|0,H3=0,x6=0;;)if(Q5=p5+H3|0,J5=d[Q5>>0]|0,G3=J5<<24>>24>0,A6=G3&1,m=A6+x6|0,K5=H3+1|0,y=(K5|0)<(w|0),y)H3=K5,x6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,K0=e[n>>2]|0,e[t>>2]=K0,M0=(l0|0)>0,!M0)return a=0,C=F3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=hQ(I1,w,l0)|0,H1=l0<<2,f=H1,A2=C,C=C+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,A5=(z2|0)==0,A5||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,D5=(e5|0)==0,D5||I2(e5),u5=t+28|0,v5=e[u5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=F3,a|0}else D3=0;for(;q2=S1+(D3<<2)|0,Z2=e[q2>>2]|0,C5=Z2>>>16,L5=Z2<<16,d5=C5|L5,b5=d5>>>8,G5=b5&16711935,_5=d5<<8,I5=_5&-16711936,o5=G5|I5,c5=o5>>>4,B5=c5&252645135,M1=o5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,f5=s5<<1,i5=f5&-1431655766,R5=J2|i5,e[q2>>2]=R5,j2=A2+(D3<<2)|0,e[j2>>2]=q2,$5=D3+1|0,Y6=($5|0)==(l0|0),!Y6;)D3=$5;for(Lh(A2,l0,4,10),E=H1,x2=C,C=C+((1*E|0)+15&-16)|0,H5=S9(H1)|0,j5=t+20|0,e[j5>>2]=H5,E5=S1,q3=0;;)if(u3=A2+(q3<<2)|0,h3=e[u3>>2]|0,Y5=h3,X5=Y5-E5|0,n3=X5>>2,m3=x2+(n3<<2)|0,e[m3>>2]=q3,F5=q3+1|0,R6=(F5|0)==(l0|0),R6){z3=0;break}else q3=F5;for(;w3=S1+(z3<<2)|0,f3=e[w3>>2]|0,B3=x2+(z3<<2)|0,V3=e[B3>>2]|0,N3=H5+(V3<<2)|0,e[N3>>2]=f3,V5=z3+1|0,p6=(V5|0)==(l0|0),!p6;)z3=V5;if(I2(S1),y3=TS(n,l0,x2)|0,Z5=t+16|0,e[Z5>>2]=y3,i6=S9(H1)|0,R3=t+24|0,e[R3>>2]=i6,a3=e[S>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,D6=0,I6=0;;)if(c3=p+D6|0,C3=d[c3>>0]|0,q5=C3<<24>>24>0,q5?(U5=I6+1|0,O5=x2+(I6<<2)|0,k5=e[O5>>2]|0,U3=i6+(k5<<2)|0,e[U3>>2]=D6,J6=U5):J6=I6,M5=D6+1|0,e3=(M5|0)<(a3|0),e3)D6=M5,I6=J6;else{V6=J6;break}else V6=0;if(o3=S9(V6)|0,x3=t+28|0,e[x3>>2]=o3,f6=t+40|0,e[f6>>2]=0,l3){for(B=e[i1>>2]|0,n5=0,k3=B,o6=0,W6=0;;)if(p3=k3+o6|0,Q3=d[p3>>0]|0,r6=Q3<<24>>24>0,r6?(W3=W6+1|0,P3=x2+(W6<<2)|0,v3=e[P3>>2]|0,g3=e[x3>>2]|0,O3=g3+v3|0,d[O3>>0]=Q3,l6=e[i1>>2]|0,d3=l6+o6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[f6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[f6>>2]=v6,R2=v6,_2=l6,G6=W3):(R2=S6,_2=l6,G6=W3)):(R2=n5,_2=k3,G6=W6),j3=o6+1|0,D=e[S>>2]|0,Q=(j3|0)<(D|0),Q)n5=R2,k3=_2,o6=j3,W6=G6;else{I=R2,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=F3,a|0;L3=1}else L3=e9}else L3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)L6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){b6=U6;break}else c=z,U6=Y;s9=b6+-3|0,L6=s9}if(J=t+36|0,W=(L6|0)<5,o=W?5:L6,e0=(o|0)>8,z6=e0?8:o,e[J>>2]=z6,H=1<>2]=X,$0=(L3|0)>0,$0)for(r0=z6,t3=0;;){if(V=e[x3>>2]|0,a0=V+t3|0,n0=d[a0>>0]|0,i0=n0<<24>>24,K=(r0|0)<(i0|0),K)B2=r0;else if(h0=e[j5>>2]|0,s0=h0+(t3<<2)|0,g0=e[s0>>2]|0,j=g0>>>16,f0=g0<<16,d0=j|f0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,u0=k0&-16711936,B0=C0|u0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,L0=Q0>>>2,F0=L0&858993459,T0=Q0<<2,U0=T0&-858993460,y0=F0|U0,q0=y0>>>1,x0=q0&1431655765,b0=y0<<1,J0=b0&-1431655766,Y0=x0|J0,P0=r0-i0|0,V0=(P0|0)==31,V0)B2=r0;else for(N0=t3+1|0,r1=i0,s3=0;;)if(O0=s3<>2]=N0,D0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,w1=Q1<<8,L1=w1&-16711936,F1=x1|L1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,b1=N1>>>2,K1=b1&858993459,O1=N1<<2,q1=O1&-858993460,Y1=K1|q1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=r2|P1,z1=X+(c2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(d6=a6;;){if(V1=d6+1|0,h2=(V1|0)<(L3|0),!h2){b3=d6;break}if(a2=e[j5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>E1>>>0,i2){b3=d6;break}else d6=V1}o2=(L3|0)>(C6|0);e:do if(o2)for(X1=e[j5>>2]|0,X3=C6;;){if(n2=X1+(X3<<2)|0,u2=e[n2>>2]|0,y2=u2&z0,v2=E1>>>0>>0,v2){S3=X3;break e}if(w2=X3+1|0,C2=(L3|0)>(w2|0),C2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);F2=L3-S3|0,b2=b3>>>0>32767,N2=F2>>>0>32767,u6=N2?32767:F2,N6=b3<<15,n6=N6|-2147483648,d2=b2?-1073774592:n6,V2=d2|u6,e[z1>>2]=V2,e6=S3,Q6=b3}else e6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(H|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=e6,O6=G2,a6=Q6}return C=F3,a|0}function US(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,o=e[t>>2]|0,a=e[o>>2]|0,c=e[n>>2]|0,f=e[c>>2]|0,E=a>>>0>f>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function PS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0;if(K0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,H=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,K=r0+4|0,h0=e[K>>2]|0,s0=(h0|0)>0,!!s0)){for(g0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,u0=1;;){v=g0-w0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(C0|0)/(w|0)&-1,D=(p|0)/(C0|0)&-1,Q=r5(D,y)|0,_=w+-1|0,L=r5(D,_)|0,x=d0-L|0,F=1-u0|0;do if((w|0)==2)if(Y=(F|0)==0,o=m+x|0,t0=H+(o<<2)|0,Y){EQ(D,y,n,H,t0),B0=0;break}else{EQ(D,y,H,n,t0),B0=F;break}else if((w|0)==4)if(T=x+D|0,N=(F|0)==0,a=m+x|0,G=H+(a<<2)|0,c=m+T|0,O=H+(c<<2)|0,f=m+D|0,E=f+T|0,z=H+(E<<2)|0,N){IQ(D,y,n,H,G,O,z),B0=0;break}else{IQ(D,y,H,n,G,O,z),B0=F;break}else if(J=(D|0)==1,k0=J?u0:F,W=(k0|0)==0,I=m+x|0,e0=H+(I<<2)|0,W){mQ(D,w,y,Q,n,n,n,H,H,e0),B0=1;break}else{mQ(D,w,y,Q,H,H,H,n,n,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=x,w0=X,C0=y,u0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)f0=0;else return;for(;Z=H+(f0<<2)|0,V=e[Z>>2]|0,a0=n+(f0<<2)|0,e[a0>>2]=V,n0=f0+1|0,j=(n0|0)==(p|0),!j;)f0=n0}}function uQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,L=t+4|0,e[L>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(_0=H0+1|0,Q0=(_0|0)<4,Q0?(L0=25768+(_0<<2)|0,m=e[L0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=f1;;){if(J0=P0+1|0,v=(g1|0)/(s1|0)&-1,S=r5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=_0,$1=P0,f1=g1,l1=s1;continue e}if(y=P0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(x0=1;x=J0-x0|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=x0+1|0,y0=(O|0)==(J0|0),!y0;)x0=O;e[K0>>2]=2}if(z=(v|0)==1,z){o=Q,Y0=J0,V0=P0;break e}else P0=J0,g1=v}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=Y0,t0=+(n|0),W=6.2831854820251465/t0,a=o^1,e0=(V0|0)>0,n1=e0&a,!!n1)for(H=n+1|0,N0=0,D0=0,i1=1;;){if(X=D0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=r5($0,i1)|0,V=(n|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(n0=(V|0)>2,r0=$0+-1|0,r1=N0,e1=0,c1=0;;){if(K=c1+i1|0,h0=+(K|0),s0=h0*W,n0)for(q0=0,b0=r1,M0=2;g0=q0+1,j=s0*g0,F0=+zo(+j),c=b0+n|0,l0=I+(c<<2)|0,s[l0>>2]=F0,A1=+Tn(+j),f0=b0+2|0,f=H+b0|0,d0=I+(f<<2)|0,s[d0>>2]=A1,w0=M0+2|0,k0=(w0|0)<(V|0),k0;)q0=g0,b0=f0,M0=w0;if(u0=r1+V|0,B0=e1+1|0,T0=(B0|0)==(r0|0),T0)break;r1=u0,e1=B0,c1=K}p0=r5(V,r0)|0,I0=p0+N0|0,O0=I0}else O0=N0;if(S0=D0+1|0,U0=(S0|0)==(V0|0),U0)break;N0=O0,D0=S0,i1=Z}}}function dQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(o=t+4|0,a=e[o>>2]|0,c=(a|0)==0,c||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 IQ(t,n,o,a,c,f,E){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0;if(u3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,g2=0,s5=I,f5=F1,j2=0,$5=m;M2=o+(s5<<2)|0,u5=+s[M2>>2],L5=o+(f5<<2)|0,p=+s[L5>>2],F=p+u5,e0=o+(j2<<2)|0,K=+s[e0>>2],u0=o+($5<<2)|0,U0=+s[u0>>2],O0=U0+K,s1=O0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-F,E1=V1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[u0>>2],R1=p1-Q1,x1=I1+y2|0,w1=x1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=R1,L1=+s[L5>>2],G1=+s[M2>>2],k1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=f5+t|0,b1=j2+t|0,K1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,f5=N1,j2=b1,$5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,x2=j,H5=l0;P1=i5+2|0,c2=x2+2|0,z1=H5+-2|0,f2=P1+I|0,s2=W2+-2|0,E2=c+(s2<<2)|0,A2=+s[E2>>2],h2=f2+-1|0,a2=o+(h2<<2)|0,t2=+s[a2>>2],$2=t2*A2,i2=W2+-1|0,o2=c+(i2<<2)|0,X1=+s[o2>>2],n2=o+(f2<<2)|0,u2=+s[n2>>2],e2=u2*X1,v2=e2+$2,w2=u2*A2,C2=X1*t2,F2=w2-C2,b2=f2+I|0,N2=f+(s2<<2)|0,d2=+s[N2>>2],V2=b2+-1|0,G2=o+(V2<<2)|0,q2=+s[G2>>2],P2=q2*d2,z2=f+(i2<<2)|0,A5=+s[z2>>2],O2=o+(b2<<2)|0,T1=+s[O2>>2],X2=T1*A5,x5=X2+P2,e5=T1*d2,D5=A5*q2,Z2=e5-D5,v5=b2+I|0,P5=E+(s2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=o+(k2<<2)|0,n5=+s[m5>>2],R2=n5*l5,_2=E+(i2<<2)|0,B2=+s[_2>>2],C5=o+(v5<<2)|0,d5=+s[C5>>2],b5=d5*B2,G5=b5+R2,_5=d5*l5,H2=B2*n5,I5=_5-H2,o5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=o+(P1<<2)|0,v=+s[B>>2],S=v+Z2,w=v-Z2,y=i5+1|0,D=o+(y<<2)|0,Q=+s[D>>2],_=Q+x5,L=Q-x5,x=o5+_,M=x2|1,T=a+(M<<2)|0,s[T>>2]=x,N=B5+S,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=H5+-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,H=c2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(H<<2)|0,s[Z>>2]=$0,V=_-o5,a0=z1+j1|0,n0=a0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=V,r0=B5-S,h0=a+(a0<<2)|0,s[h0>>2]=r0,s0=W2+2|0,g0=(s0|0)<(t|0),g0;)W2=s0,i5=P1,x2=c2,H5=z1;if(r2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(n|0),a5)break;p5=W1,h5=r2}if(f0=t&1,d0=(f0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,R5=p0,Q5=t,j5=t;I0=o+(J2<<2)|0,S0=+s[I0>>2],K0=o+(R5<<2)|0,_0=+s[K0>>2],Q0=_0+S0,L0=Q0*-.7071067690849304,F0=S0-_0,T0=F0*.7071067690849304,y0=j5+-1|0,q0=o+(y0<<2)|0,x0=+s[q0>>2],b0=T0+x0,M0=Q5+-1|0,J0=a+(M0<<2)|0,s[J0>>2]=b0,Y0=+s[q0>>2],P0=Y0-T0,V0=Q5+B0|0,N0=V0+-1|0,r1=a+(N0<<2)|0,s[r1>>2]=P0,H0=J2+I|0,e1=o+(H0<<2)|0,D0=+s[e1>>2],i1=L0-D0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+L0,g1=a+(V0<<2)|0,s[g1>>2]=f1,l1=J2+t|0,a1=R5+t|0,n1=Q5+k0|0,A1=j5+t|0,z0=t5+1|0,S5=(z0|0)==(n|0),!S5;)t5=z0,J2=l1,R5=a1,Q5=n1,j5=A1}}function EQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,f=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=f;n0=o+(d1<<2)|0,w0=+s[n0>>2],L0=o+(p1<<2)|0,P0=+s[L0>>2],f1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,m=+s[n0>>2],p=+s[L0>>2],B=m-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=d1+t|0,y=p1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=f;;){for(q0=E1<<1,x0=q0+E|0,z0=2,x1=Q1,S1=x0,L1=E1,F1=q0;T=x1+2|0,N=S1+-2|0,G=L1+2|0,O=F1+2|0,z=z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=o+(W<<2)|0,H=+s[e0>>2],X=H*J,U=z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],V=o+(T<<2)|0,a0=+s[V>>2],i0=a0*Z,r0=i0+X,K=a0*J,h0=Z*H,s0=K-h0,g0=o+(G<<2)|0,j=+s[g0>>2],l0=s0+j,f0=a+(O<<2)|0,s[f0>>2]=l0,d0=+s[g0>>2],C0=s0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,u0=L1+1|0,B0=o+(u0<<2)|0,p0=+s[B0>>2],I0=p0+r0,S0=F1|1,K0=a+(S0<<2)|0,s[K0>>2]=I0,_0=+s[B0>>2],Q0=_0-r0,F0=S1+-3|0,T0=a+(F0<<2)|0,s[T0>>2]=Q0,U0=z0+2|0,y0=(U0|0)<(t|0),y0;)z0=U0,x1=T,S1=N,L1=G,F1=O;if(x=E1+t|0,F=Q1+t|0,M=h1+1|0,A1=(M|0)==(n|0),A1)break;h1=M,E1=x,Q1=F}if(b0=(t|0)%2&-1,M0=(b0|0)==1,M0)return}if(J0=t+-1|0,!!_)for(Y0=f+J0|0,m1=0,B1=t,R1=Y0,w1=J0;V0=o+(R1<<2)|0,N0=+s[V0>>2],O0=-N0,r1=a+(B1<<2)|0,s[r1>>2]=O0,H0=o+(w1<<2)|0,e1=e[H0>>2]|0,D0=B1+-1|0,i1=a+(D0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,B1=c1,R1=$1,w1=g1}}function mQ(t,n,o,a,c,f,E,I,m,p){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0;p8=C,S=+(n|0),w=6.2831854820251465/S,u8=+zo(+w),M7=+Tn(+w),E2=n+1|0,p3=E2>>1,U9=t+-1|0,G4=U9>>1,L9=r5(o,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(Q7=(a|0)>0,Q7)for(we=0;l0=E+(we<<2)|0,K0=e[l0>>2]|0,M0=m+(we<<2)|0,e[M0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(o|0)>0,B8=1,H7=0;;){if(I1=H7+L9|0,Z)for(s7=0,e4=I1;S1=f+(e4<<2)|0,H1=e[S1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=H1,e2=e4+t|0,q2=s7+1|0,j9=(q2|0)==(o|0),!j9;)s7=q2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(n|0),s8)break;B8=Z2,H7=I1}if(C5=0-t|0,M1=(G4|0)>(o|0),M1){if(O)for(N3=(o|0)>0,q5=(t|0)>2,I3=C5,q9=1,S7=0;;){if(k3=S7+L9|0,k6=I3+t|0,N3)for(X3=k3-t|0,s3=k6+-1|0,a8=0,b7=X3;;){if(L3=b7+t|0,q5)for(A8=2,fe=s3,Et=L3;F3=fe+2|0,E6=Et+2|0,E9=fe+1|0,W4=p+(E9<<2)|0,T4=+s[W4>>2],N4=Et+1|0,a4=f+(N4<<2)|0,x4=+s[a4>>2],f4=x4*T4,Ce=p+(F3<<2)|0,H9=+s[Ce>>2],m9=f+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*H9,Xe=Ne+f4,Ge=I+(N4<<2)|0,s[Ge>>2]=Xe,U4=+s[W4>>2],j4=+s[m9>>2],De=j4*U4,e8=+s[Ce>>2],Z9=+s[a4>>2],oe=Z9*e8,u4=De-oe,_6=I+(E6<<2)|0,s[_6>>2]=u4,P4=A8+2|0,$4=(P4|0)<(t|0),$4;)A8=P4,fe=F3,Et=E6;if(_4=a8+1|0,n8=(_4|0)==(o|0),n8)break;a8=_4,b7=L3}if(ae=q9+1|0,I8=(ae|0)==(n|0),I8)break;I3=k6,q9=ae,S7=k3}}else if(O)for(f5=(t|0)>2,h3=(o|0)>0,qe=C5,re=1,T7=0;;){if(W9=qe+t|0,$e=T7+L9|0,f5)for(le=W9+-1|0,m8=2,o8=le,tt=$e;;){if(B4=o8+2|0,X4=tt+2|0,h3)for(L4=o8+1|0,ce=p+(L4<<2)|0,g6=p+(B4<<2)|0,$8=0,K7=X4;Ue=+s[ce>>2],l4=K7+-1|0,pe=f+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],be=f+(K7<<2)|0,_e=+s[be>>2],t8=_e*P6,k4=t8+c4,f8=I+(l4<<2)|0,s[f8>>2]=k4,Y3=+s[ce>>2],w9=+s[be>>2],B9=w9*Y3,F4=+s[g6>>2],ee=+s[pe>>2],$7=ee*F4,Re=B9-$7,l7=I+(K7<<2)|0,s[l7>>2]=Re,z8=K7+t|0,c7=$8+1|0,b8=(c7|0)==(o|0),!b8;)$8=c7,K7=z8;if(g7=m8+2|0,F8=(g7|0)<(t|0),F8)m8=g7,o8=B4,tt=X4;else break}if(M8=re+1|0,ge=(M8|0)==(n|0),ge)break;qe=W9,re=M8,T7=$e}if(T8=r5(L9,n)|0,N8=(G4|0)<(o|0),Z8=(p3|0)>1,!N8){if(!Z8)break;for(W8=(o|0)>0,y7=(t|0)>2,Ye=1,l8=0,Ut=T8;;){if(B0=l8+L9|0,p0=Ut-L9|0,W8)for(q4=0,it=B0,rt=p0;;){if(y7)for(ye=2,V7=it,yt=rt;I0=V7+2|0,S0=yt+2|0,_0=V7+1|0,Q0=I+(_0<<2)|0,L0=+s[Q0>>2],F0=yt+1|0,T0=I+(F0<<2)|0,U0=+s[T0>>2],y0=U0+L0,q0=f+(_0<<2)|0,s[q0>>2]=y0,x0=I+(I0<<2)|0,b0=+s[x0>>2],J0=I+(S0<<2)|0,Y0=+s[J0>>2],P0=b0-Y0,V0=f+(F0<<2)|0,s[V0>>2]=P0,N0=+s[x0>>2],O0=+s[J0>>2],r1=O0+N0,H0=f+(I0<<2)|0,s[H0>>2]=r1,e1=+s[T0>>2],D0=+s[Q0>>2],c1=e1-D0,$1=f+(S0<<2)|0,s[$1>>2]=c1,f1=ye+2|0,g1=(f1|0)<(t|0),g1;)ye=f1,V7=I0,yt=S0;if(l1=it+t|0,s1=rt+t|0,a1=q4+1|0,O4=(a1|0)==(o|0),O4)break;q4=a1,it=l1,rt=s1}if(n1=Ye+1|0,Le=(n1|0)==(p3|0),Le)break e;Ye=n1,l8=B0,Ut=p0}}if(Z8)for(D=(t|0)>2,Q=(o|0)>0,b9=1,q7=0,Gt=T8;;){if(_=q7+L9|0,L=Gt-L9|0,D)for(he=2,mt=_,pt=L;;){if(x=mt+2|0,F=pt+2|0,Q)for(M=F-t|0,T=x-t|0,_8=0,Kt=T,$i=M;N=Kt+t|0,G=$i+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],H=e0+t0,X=f+(z<<2)|0,s[X>>2]=H,U=I+(N<<2)|0,$0=+s[U>>2],V=I+(G<<2)|0,a0=+s[V>>2],n0=$0-a0,i0=f+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],K=+s[V>>2],h0=K+r0,s0=f+(N<<2)|0,s[s0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],f0=g0-j,d0=f+(G<<2)|0,s[d0>>2]=f0,w0=_8+1|0,D8=(w0|0)==(o|0),!D8;)_8=w0,Kt=N,$i=G;if(C0=he+2|0,k0=(C0|0)<(t|0),k0)he=C0,mt=x,pt=F;else break}if(u0=b9+1|0,r8=(u0|0)==(p3|0),r8)break;b9=u0,q7=_,Gt=L}}while(!1);if(y=(a|0)>0,y)for(Q4=0;A1=m+(Q4<<2)|0,z0=e[A1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=z0,m1=Q4+1|0,q8=(m1|0)==(a|0),!q8;)Q4=m1;if(d1=r5(a,n)|0,E1=(p3|0)>1,E1){for(B1=(o|0)>0,Y8=1,x8=0,Pt=d1;;){if(p1=x8+L9|0,Q1=Pt-L9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,A7=0,si=x1,oi=R1;w1=si+t|0,L1=oi+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(L1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=f+(w1<<2)|0,s[N1>>2]=Z1,b1=+s[k1>>2],K1=+s[F1>>2],O1=b1-K1,q1=f+(L1<<2)|0,s[q1>>2]=O1,Y1=A7+1|0,te=(Y1|0)==(o|0),!te;)A7=Y1,si=w1,oi=L1;if(j1=Y8+1|0,t7=(j1|0)==(p3|0),t7)break;Y8=j1,x8=p1,Pt=Q1}if(r2=n+-1|0,W1=r5(r2,a)|0,E1){for(P1=(p3|0)>2,G8=0,P8=1,Ke=1,D7=0,dt=d1;;){if(c2=D7+a|0,z1=dt-a|0,f2=P8*u8,s2=G8*M7,V1=f2-s2,h2=G8*u8,a2=P8*M7,t2=a2+h2,y)for(C8=0,Ht=c2,st=z1,zt=W1,Z7=a;$2=E+(C8<<2)|0,i2=+s[$2>>2],o2=Z7+1|0,X1=E+(Z7<<2)|0,n2=+s[X1>>2],u2=n2*V1,y2=u2+i2,v2=Ht+1|0,w2=m+(Ht<<2)|0,s[w2>>2]=y2,C2=zt+1|0,F2=E+(zt<<2)|0,b2=+s[F2>>2],N2=b2*t2,d2=st+1|0,V2=m+(st<<2)|0,s[V2>>2]=N2,G2=C8+1|0,f7=(G2|0)==(a|0),!f7;)C8=G2,Ht=v2,st=d2,zt=C2,Z7=o2;if(P1)for(U8=t2,k8=V1,u7=2,qt=a,N7=W1;;){if(M2=qt+a|0,P2=N7-a|0,z2=k8*V1,A5=U8*t2,O2=z2-A5,T1=U8*V1,X2=k8*t2,x5=X2+T1,y)for(i7=0,wt=c2,St=z1,Dt=M2,_7=P2;e5=Dt+1|0,D5=E+(Dt<<2)|0,u5=+s[D5>>2],v5=u5*O2,P5=wt+1|0,l5=m+(wt<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,n5=_7+1|0,R2=E+(_7<<2)|0,_2=+s[R2>>2],B2=_2*x5,L5=St+1|0,d5=m+(St<<2)|0,b5=+s[d5>>2],G5=b5+B2,s[d5>>2]=G5,_5=i7+1|0,w7=(_5|0)==(a|0),!w7;)i7=_5,wt=P5,St=L5,Dt=e5,_7=n5;if(H2=u7+1|0,e7=(H2|0)==(p3|0),e7)break;U8=x5,k8=O2,u7=H2,qt=M2,N7=P2}if(I5=Ke+1|0,k7=(I5|0)==(p3|0),k7)break;G8=t2,P8=V1,Ke=I5,D7=c2,dt=z1}if(E1)for(r7=1,V8=0;;){if(o5=V8+a|0,y)for(H4=0,Y7=o5;c5=Y7+1|0,B5=E+(Y7<<2)|0,S5=+s[B5>>2],g5=m+(H4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=H4+1|0,h7=(g2|0)==(a|0),!h7;)H4=g2,Y7=c5;if(p5=r7+1|0,Qe=(p5|0)==(p3|0),Qe)break;r7=p5,V8=o5}}}if(t5=(t|0)<(o|0),t5){if(J2=(t|0)>0,J2)for(i5=(o|0)>0,He=0;;){if(i5)for(Je=0,ue=He,J7=He;Y5=I+(ue<<2)|0,X5=e[Y5>>2]|0,n3=c+(J7<<2)|0,e[n3>>2]=X5,m3=ue+t|0,F5=J7+C9|0,J5=Je+1|0,xe=(J5|0)==(o|0),!xe;)Je=J5,ue=m3,J7=F5;if(w3=He+1|0,i8=(w3|0)==(t|0),i8)break;He=w3}}else if(s5=(o|0)>0,s5)for(h5=(t|0)>0,R8=0,Me=0,It=0;;){if(h5)for(Oe=0,Ot=Me,Yt=It;R5=Ot+1|0,j2=I+(Ot<<2)|0,$5=e[j2>>2]|0,x2=Yt+1|0,Q5=c+(Yt<<2)|0,e[Q5>>2]=$5,H5=Oe+1|0,S8=(H5|0)==(t|0),!S8;)Oe=H5,Ot=R5,Yt=x2;if(j5=Me+t|0,E5=It+C9|0,u3=R8+1|0,k9=(u3|0)==(o|0),k9)break;R8=u3,Me=j5,It=E5}if(f3=t<<1,B3=r5(L9,n)|0,E1)for(V3=(o|0)>0,n7=1,v7=0,Ct=0,Jt=B3;;){if(V5=v7+f3|0,y3=Ct+L9|0,Z5=Jt-L9|0,V3)for(p9=0,z7=V5,kt=y3,Wt=Z5;i6=I+(kt<<2)|0,R3=e[i6>>2]|0,G3=z7+-1|0,a3=c+(G3<<2)|0,e[a3>>2]=R3,l3=I+(Wt<<2)|0,c3=e[l3>>2]|0,C3=c+(z7<<2)|0,e[C3>>2]=c3,U5=z7+C9|0,O5=kt+t|0,k5=Wt+t|0,U3=p9+1|0,d8=(U3|0)==(o|0),!d8;)p9=U3,z7=U5,kt=O5,Wt=k5;if(M5=n7+1|0,Pe=(M5|0)==(p3|0),Pe)break;n7=M5,v7=V5,Ct=y3,Jt=Z5}if(!g4){if(A6=(G4|0)<(o|0),e3=0-t|0,!A6){if(!E1)return;for(B=(o|0)<1,v=(t|0)<3,v8=B|v,J8=1,a7=e3,Bt=0,nt=0,ai=B3;;){if(f6=a7+f3|0,Q3=Bt+f3|0,r6=nt+L9|0,W3=ai-L9|0,!v8)for(o7=0,Zt=f6,At=Q3,ke=r6,ot=W3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],j3=X9+ot|0,c6=j3+-1|0,p6=I+(c6<<2)|0,R6=+s[p6>>2],Y6=R6+B6,C6=X9+At|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=Y6,u6=+s[S6>>2],H3=+s[p6>>2],D3=u6-H3,q3=l6+Zt|0,z3=q3+-1|0,D6=c+(z3<<2)|0,s[D6>>2]=D3,o6=I+(d3<<2)|0,t3=+s[o6>>2],O6=I+(j3<<2)|0,a6=+s[O6>>2],d6=a6+t3,b3=c+(C6<<2)|0,s[b3>>2]=d6,N6=+s[O6>>2],n6=+s[o6>>2],Q6=N6-n6,x6=c+(q3<<2)|0,s[x6>>2]=Q6,V6=X9+2|0,I6=(V6|0)<(t|0),I6;)X9=V6;if(P3=Zt+C9|0,K5=At+C9|0,v3=ke+t|0,g3=ot+t|0,O3=o7+1|0,j8=(O3|0)==(o|0),j8)break;o7=O3,Zt=P3,At=K5,ke=v3,ot=g3}if(J6=J8+1|0,X8=(J6|0)==(p3|0),X8)break;J8=J6,a7=f6,Bt=Q3,nt=r6,ai=W3}return}if(E1)for(o3=(t|0)>2,x3=(o|0)>0,ie=1,ne=e3,Ai=0,Qt=0,Vt=B3;;){if(W6=ne+f3|0,G6=Ai+f3|0,e9=Qt+L9|0,s9=Vt-L9|0,o3&&(L6=W6+t|0,x3))for(Fe=2;;){for(D4=Fe+s9|0,b4=Fe+e9|0,R4=Fe+G6|0,M4=L6-Fe|0,K8=0,vt=M4,G7=R4,bt=b4,n9=D4;z6=bt+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,o9=+s[t9>>2],j6=o9+F6,f9=G7+-1|0,u9=c+(f9<<2)|0,s[u9>>2]=j6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=vt+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(bt<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],A4=E4+N9,h4=c+(G7<<2)|0,s[h4>>2]=A4,G9=+s[I9>>2],z9=+s[i9>>2],D9=G9-z9,H6=c+(vt<<2)|0,s[H6>>2]=D9,r9=vt+C9|0,m4=G7+C9|0,S4=bt+t|0,o4=n9+t|0,y9=K8+1|0,O8=(y9|0)==(o|0),!O8;)K8=y9,vt=r9,G7=m4,bt=S4,n9=o4;if(U6=Fe+2|0,b6=(U6|0)<(t|0),b6)Fe=U6;else break}if(C4=ie+1|0,H8=(C4|0)==(p3|0),H8)break;ie=C4,ne=W6,Ai=G6,Qt=e9,Vt=s9}}}function OS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,Pn=0,iA=0,Zr=0,rA=0,nA=0,sA=0,On=0,AA=0,Hn=0,qn=0,oA=0,Wr=0,Yn=0,jr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Xr=0,Vn=0,cA=0,Ir=0,en=0,gA=0,hA=0,tn=0,li=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,dA=0,ci=0,rn=0,IA=0,Xn=0,EA=0,mA=0,CA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,nn=0,Er=0,sn=0,vA=0,Zi=0,SA=0,is=0,An=0,rs=0,on=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,mr=0,as=0,gi=0,an=0,Cr=0,Wi=0,Br=0,Oi=0,pr=0,$s=0,Hi=0,Qi=0,yi=0,jt=0,wi=0,Qr=0,ji=0,Xi=0,yr=0,hi=0,RA=0,at=0,j$=0,$n=0,ln=0,Fh=0,X$=0,xA=0,Mh=0,jo=0,el=0,Th=0,Nh=0,Gh=0,Xo=0,tl=0,il=0,ea=0,cn=0,rl=0,Uh=0,LA=0,er=0,Ph=0,Oh=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,nl=0,wr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,FA=0,ia=0,ef=0,tf=0,ra=0,Al=0,ol=0,al=0,na=0,$l=0,MA=0,rf=0,nf=0,ll=0,sf=0,Af=0,cl=0,of=0,af=0,gl=0,hl=0,fl=0,ul=0,dl=0,gn=0,$f=0,Il=0,lf=0,El=0,ml=0,cf=0,gf=0,hf=0,sa=0,Cl=0,Bl=0,ls=0,pl=0,Aa=0,ff=0,Ql=0,uf=0,yl=0,df=0,If=0,wl=0,kl=0,Ef=0,TA=0,mf=0,oa=0,vl=0,Sl=0,Cf=0,Bf=0,pf=0,Qf=0,yf=0,wf=0,NA=0,Dl=0,bl=0,_l=0,GA=0,kf=0,Rl=0,vf=0,xl=0,Sf=0,Df=0,Ll=0,aa=0,bf=0,_f=0,UA=0,Rf=0,PA=0,xf=0,$a=0,Lf=0,Ff=0,Mf=0,Fl=0,Tf=0,Nf=0,Gf=0,Uf=0,Ml=0,Tl=0,tr=0,Nl=0,OA=0,la=0,ca=0,hn=0,Gl=0,fn=0,Pf=0,Ul=0,Of=0,Hf=0,qf=0,Yf=0,HA=0,ga=0,kr=0,Jf=0,Kf=0,Pl=0,ha=0,Ol=0,Hl=0,Vf=0,ql=0,zf=0,fa=0,Zf=0,Wf=0,P9=0,jf=0,Yl=0,Xf=0,eu=0,ua=0,tu=0,da=0,Jl=0,iu=0,ru=0,Kl=0,Vl=0,nu=0,Ia=0,Ea=0,zl=0,Zl=0,su=0,Wl=0,ma=0,Au=0,jl=0,ou=0,au=0,$u=0,lu=0,Xl=0,ec=0,Ca=0,qA=0,tc=0,cu=0,ic=0,rc=0,gu=0,hu=0,fu=0,nc=0,uu=0,du=0,Iu=0,Eu=0,mu=0,Cu=0,sc=0,Bu=0,Ac=0,pu=0,un=0,Qu=0,oc=0,yu=0,cs=0,ac=0,Ba=0,wu=0,YA=0,pa=0,ku=0,Qa=0,$c=0,vu=0,Su=0,Du=0,bu=0,_u=0,lc=0,Ru=0,xu=0,Lu=0,JA=0,gs=0,ya=0,Fu=0,wa=0,Mu=0,Tu=0,Nu=0,cc=0,Gu=0,Uu=0,Pu=0,Ou=0,Hu=0,KA=0,qu=0,Yu=0,gc=0,Ju=0,Ku=0,Vu=0,zu=0,fi=0,hc=0,ui=0,fc=0,ka=0,Zu=0,Xt=0,hs=0,Wu=0,ju=0,Xu=0,ed=0,td=0,uc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,Ad=0,Ic=0,od=0,ad=0,VA=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,dn=0,hd=0,fd=0,In=0,ud=0,Cc=0,dd=0,Id=0,us=0,Bc=0,Ed=0,pc=0,md=0,ir=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,ds=0,vd=0,En=0,Sd=0,Dd=0,Da=0,bd=0,ba=0,_a=0,_d=0,vc=0,Sc=0,Rd=0,Dc=0,bc=0,_c=0,xd=0,Rc=0,xc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,Ra=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Hc=0,xa=0,Kd=0,Vd=0,zd=0,qc=0,Yc=0,Zd=0,Jc=0,La=0,zA=0,Kc=0,Wd=0,jd=0,Xd=0,eI=0,Vc=0,ZA=0,tI=0,iI=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,WA=0,Zc=0,hI=0,fI=0,mn=0,Wc=0,jc=0,Fa=0,uI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,jA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,vr=0,sg=0,Ag=0,DI=0,og=0,XA=0,bI=0,_I=0,RI=0,eo=0,ag=0,xI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,to=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Is=0,OI=0,hg=0,HI=0,Na=0,fg=0,qI=0,YI=0,JI=0,KI=0,ug=0,VI=0,zI=0,dg=0,io=0,ZI=0,WI=0,jI=0,Es=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,ki=0,Bg=0,rr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,ro=0,pg=0,Qg=0,nE=0,no=0,ms=0,sE=0,so=0,Ua=0,AE=0,Pa=0,oE=0,aE=0,yg=0,Ao=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,W7=0,y4=0,ei=0,fE=0,vg=0,Sg=0,Oa=0,uE=0,Sr=0,Cs=0,dE=0,IE=0,Dg=0,Ha=0,EE=0,bg=0,_g=0,Rg=0,qa=0,Ya=0,xg=0,Bs=0,Ja=0,Lg=0,mE=0,Cn=0,CE=0,Fg=0,oo=0,BE=0,Mg=0,vi=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,Si=0,SE=0,DE=0,bE=0,Tg=0,di=0,ao=0,Ka=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,RE=0,xE=0,Og=0,Hg=0,LE=0,FE=0,qg=0,ME=0,ps=0,$o=0,lo=0,TE=0,Va=0,NE=0,GE=0,Yg=0,Qs=0,UE=0,PE=0,za=0,Za=0,co=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ys=0,sr=0,Bn=0,OE=0,Ar=0,pn=0,HE=0,_t=0,Rt=0,xt=0,go=0,ho=0,Jg=0,Kg=0,fo=0,t$=0,Lt=0,uo=0,_r=0,i$=0,qE=0,r$=0,YE=0,n$=0,Vg=0,Io=0,JE=0,KE=0,Eo=0,VE=0,mo=0,Qn=0,Ve=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,Co=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,Bo=0,yn=0,A$=0,ws=0,ks=0,j7=0,vs=0,jg=0,Xg=0,po=0,Ss=0,Ds=0,bs=0,sm=0,_s=0,or=0,eh=0,Rr=0,ii=0,o$=0,a$=0,qi=0,$$=0,l$=0,c$=0,xr=0,$6=0,Qo=0,Lr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Fr=0,Y4=0,h$=0,mB=0,Am=0,Xm=0,eC=0,CB=0,om=0,bQ=0,_Q=0,RQ=0,xQ=0,LQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,BB=0,pB=0,OQ=0,HQ=0,qQ=0,ih=0,tC=0,Ii=0,rh=0,nh=0,sh=0,Ah=0,am=0,$m=0,lm=0,cm=0,gm=0,hm=0,fm=0,um=0,dm=0,Im=0,iC=0,yo=0,ar=0,f$=0,oh=0,u$=0,QB=0,wo=0,Em=0,d$=0,rC=0,nC=0,mm=0,sC=0,AC=0,oC=0,aC=0,$C=0,lC=0,cC=0,yB=0,wB=0,kB=0,vB=0,SB=0,ko=0,vo=0,So=0,Do=0,YQ=0,$r=0,t4=0,ID=0,bo=0,gC=0;if(ID=C,g0=t+28|0,j=e[g0>>2]|0,X8=(j|0)==0,X8||(st=j+3456|0,$s=e[st>>2]|0,Dl=($s|0)==0,n=Dl&1,cs=j+3496|0,Dc=+o1[cs>>3],lg=Dc>-80,lg?o1[cs>>3]=-80:(xE=Dc<-200,xE&&(o1[cs>>3]=-200)),l0=j+3512|0,Z2=+o1[l0>>3],s3=Z2>0,s3?o1[l0>>3]=0:(C4=Z2<-99999,C4&&(o1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,L4=(_6|0)==0,L4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,Re=j+3400|0,W8=+o1[Re>>3],d8=_6+24|0,k7=e[d8>>2]|0,ge=_6+28|0,Fe=e[ge>>2]|0,ie=~~W8,K8=k7+(ie<<2)|0,M7=e[K8>>2]|0,V8=Fe+(ie<<2)|0,It=e[V8>>2]|0,e[j>>2]=M7,pt=j+4|0,e[pt>>2]=It,N7=(M7|0)==(It|0),Z7=_6+144|0,d7=e[Z7>>2]|0,tA=(d7|0)>0,tA){for(oA=_6+136|0,cA=_6+140|0,Wn=_6+148|0,Zi=W8,kr=j,iC=0;;){if(BA=~~Zi,os=e[oA>>2]|0,Hi=e[cA>>2]|0,at=e[Wn>>2]|0,Nh=at+(iC<<2)|0,Ph=e[Nh>>2]|0,wr=n4(1,1120)|0,Al=Ph+(BA<<2)|0,cl=e[Al>>2]|0,lf=Hi+(cl*1120|0)|0,s4(wr|0,lf|0,1120)|0,Aa=e[wr>>2]|0,mf=(Aa|0)>0,mf){for(bl=wr+4|0,tC=0,cC=-1;;)if(ma=bl+(tC<<2)|0,tc=e[ma>>2]|0,Eu=(tc|0)>(cC|0),t0=Eu?tc:cC,ac=tC+1|0,UQ=(ac|0)==(Aa|0),UQ){J=t0;break}else tC=ac,cC=t0;if(bf=(J|0)<0,!bf){for(Tf=wr+256|0,hn=kr+24|0,Zf=wr+192|0,iu=wr+320|0,u$=0,oC=-1;;){if(yc=Tf+(u$<<2)|0,En=e[yc>>2]|0,bc=(En|0)>(oC|0),z=bc?En:oC,Tc=e[hn>>2]|0,Pd=Tc+En|0,e[yc>>2]=Pd,qc=Zf+(u$<<2)|0,Vc=e[qc>>2]|0,$I=(Vc|0)==31,$I)aC=z;else for(y9=Vc,sC=0,lC=z;;)if(Fa=(iu+(u$<<5)|0)+(sC<<2)|0,jA=e[Fa>>2]|0,ng=(jA|0)>(lC|0),Y=ng?jA:lC,ag=(jA|0)>-1,ag?(cg=e[hn>>2]|0,YI=cg+jA|0,e[Fa>>2]=YI,e0=e[qc>>2]|0,Ua=e0):Ua=y9,Es=sC+1|0,iE=1<>2]|0,Zu=e[Yu>>2]|0,dc=e[hn>>2]|0,ld=dc+1|0,e[hn>>2]=ld,dd=(kr+1824|0)+(dc<<2)|0,e[dd>>2]=Zu,MQ=($C|0)==0,!MQ))for(QB=0;Ya=QB+1|0,Z=e[Al>>2]|0,Mg=os+(Z<<2)|0,bE=e[Mg>>2]|0,Og=bE+(Ya<<2)|0,NE=e[Og>>2]|0,nr=e[hn>>2]|0,HE=nr+1|0,e[hn>>2]=HE,uo=(kr+1824|0)+(nr<<2)|0,e[uo>>2]=NE,FQ=(Ya|0)==($C|0),!FQ;)QB=Ya}}if(Eo=kr+16|0,WE=e[Eo>>2]|0,Bo=(kr+800|0)+(WE<<2)|0,e[Bo>>2]=1,Ds=e[Eo>>2]|0,$$=(kr+1056|0)+(Ds<<2)|0,e[$$>>2]=wr,f0=e[Eo>>2]|0,_0=f0+1|0,e[Eo>>2]=_0,J0=iC+1|0,c1=e[Z7>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+o1[Re>>3],r0=e[g0>>2]|0,Zi=W,kr=r0,iC=J0}h0=e[g0>>2]|0,V5=h0}else V5=j;L1=j+3520|0,q1=+o1[L1>>3],A2=_6+124|0,e2=e[A2>>2]|0,q2=_6+128|0,u5=e[q2>>2]|0,L5=~~q1,S5=+(L5|0),i5=q1-S5,Y5=V5+2868|0,U5=u5+(L5<<3)|0,k3=+o1[U5>>3],k6=~~k3,X3=e2+(k6*492|0)|0,s4(Y5|0,X3|0,492)|0,a6=+o1[U5>>3],W6=1-i5,M6=a6*W6,T6=L5+1|0,H6=u5+(T6<<3)|0,D4=+o1[H6>>3],b4=D4*i5,R4=b4+M6,M4=~~R4,W4=+(M4|0),T4=R4-W4,U9=T4==0,N4=(M4|0)>0,yB=N4&U9,I=yB?1:T4,a4=yB<<31>>31,F=a4+M4|0,x4=1-I,f4=F+1|0,Ce=(e2+(F*492|0)|0)+4|0,H9=+s[Ce>>2],m9=H9,Be=x4*m9,Xe=(e2+(f4*492|0)|0)+4|0,G4=+s[Xe>>2],Ge=G4,U4=I*Ge,j4=Be+U4,De=j4,e8=V5+2872|0,s[e8>>2]=De,Z9=(e2+(F*492|0)|0)+32|0,oe=+s[Z9>>2],u4=oe,P4=x4*u4,L9=(e2+(f4*492|0)|0)+32|0,$4=+s[L9>>2],_4=$4,ae=I*_4,W9=P4+ae,$e=W9,le=V5+2900|0,s[le>>2]=$e,B4=(e2+(F*492|0)|0)+8|0,X4=+s[B4>>2],ce=X4,C9=x4*ce,g6=(e2+(f4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=V5+2876|0,s[P6>>2]=c4,be=(e2+(F*492|0)|0)+36|0,t8=+s[be>>2],g4=t8,k4=x4*g4,f8=(e2+(f4*492|0)|0)+36|0,Y3=+s[f8>>2],w9=Y3,B9=w9*I,F4=B9+k4,ee=F4,$7=V5+2904|0,s[$7>>2]=ee,l7=(e2+(F*492|0)|0)+12|0,Q7=+s[l7>>2],z8=Q7,c7=z8*x4,g7=(e2+(f4*492|0)|0)+12|0,F8=+s[g7>>2],M8=F8,T8=M8*I,N8=T8+c7,Z8=N8,y7=V5+2880|0,s[y7>>2]=Z8,G8=(e2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*x4,v8=(e2+(f4*492|0)|0)+40|0,u8=+s[v8>>2],O8=u8,H8=O8*I,j8=H8+k8,Pe=j8,xe=V5+2908|0,s[xe>>2]=Pe,i8=(e2+(F*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,h7=k9*x4,Qe=(e2+(f4*492|0)|0)+16|0,f7=+s[Qe>>2],w7=f7,e7=w7*I,te=e7+h7,t7=te,q8=V5+2884|0,s[q8>>2]=t7,D8=(e2+(F*492|0)|0)+44|0,r8=+s[D8>>2],O4=r8,Le=O4*x4,n8=(e2+(f4*492|0)|0)+44|0,I8=+s[n8>>2],b8=I8,j9=b8*I,s8=j9+Le,E8=s8,A8=V5+2912|0,s[A8>>2]=E8,m8=V5+3512|0,he=+o1[m8>>3],ye=he,Oe=V5+2936|0,s[Oe>>2]=ye,He=_6+132|0,X9=e[He>>2]|0,fe=j+3472|0,o8=+o1[fe>>3],we=o8,Q4=~~we,C8=+(Q4|0),i7=we-C8,H4=i7,I3=e[g0>>2]|0,qe=(X9|0)==0;e:do if(qe)B8=I3+4|0,q9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=q9,b9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=b9,Y8=I3+3244|0,e[Y8>>2]=q9,u7=I3+3304|0,e[u7>>2]=b9,r7=I3+3248|0,e[r7>>2]=q9,n7=I3+3308|0,e[n7>>2]=b9,J8=I3+3252|0,e[J8>>2]=q9,s7=I3+3312|0,e[s7>>2]=b9,a8=I3+3256|0,e[a8>>2]=q9,$8=I3+3316|0,e[$8>>2]=b9,_8=I3+3260|0,e[_8>>2]=q9,q4=I3+3320|0,e[q4>>2]=b9,A7=I3+3264|0,e[A7>>2]=q9,R8=I3+3324|0,e[R8>>2]=b9,Je=I3+3268|0,e[Je>>2]=q9,p9=I3+3328|0,e[p9>>2]=b9,o7=I3+3272|0,e[o7>>2]=q9,Ke=I3+3332|0,e[Ke>>2]=b9,H7=I3+3276|0,e[H7>>2]=q9,v7=I3+3336|0,e[v7>>2]=b9,a7=I3+3280|0,e[a7>>2]=q9,S7=I3+3340|0,e[S7>>2]=b9,ne=I3+3284|0,e[ne>>2]=q9,T7=I3+3344|0,e[T7>>2]=b9,q7=I3+3288|0,e[q7>>2]=q9,l8=I3+3348|0,e[l8>>2]=b9,x8=I3+3292|0,e[x8>>2]=q9,D7=I3+3352|0,e[D7>>2]=b9,Me=I3+3296|0,e[Me>>2]=q9,ue=I3+3356|0,e[ue>>2]=b9;else{e4=I3+3120|0,b7=X9+(Q4*240|0)|0,$r=e4,bo=b7,gC=$r+60|0;do e[$r>>2]=e[bo>>2]|0,$r=$r+4|0,bo=bo+4|0;while(($r|0)<(gC|0));tt=I3+3180|0,Gt=(X9+(Q4*240|0)|0)+60|0,$r=tt,bo=Gt,gC=$r+60|0;do e[$r>>2]=e[bo>>2]|0,$r=$r+4|0,bo=bo+4|0;while(($r|0)<(gC|0));if(Ut=j+3420|0,Pt=e[Ut>>2]|0,dt=(Pt|0)==0,!dt)for(Y7=1-H4,J7=Q4+1|0,Et=t+8|0,K7=I3+4|0,X=e[Et>>2]|0,mt=+(X|0),ar=0;;){if(it=((X9+(Q4*240|0)|0)+120|0)+(ar<<2)|0,si=+s[it>>2],Ot=si,Ct=Ot*Y7,Bt=((X9+(J7*240|0)|0)+120|0)+(ar<<2)|0,Ai=+s[Bt>>2],rt=Ai,oi=rt*H4,Ht=oi+Ct,qt=Ht,Yt=qt,Jt=Yt*1e3,nt=Jt/mt,Qt=e[I3>>2]|0,Kt=+(Qt|0),V7=Kt*nt,z7=~~V7,ai=(I3+3e3|0)+(ar<<2)|0,e[ai>>2]=z7,Vt=e[K7>>2]|0,$i=+(Vt|0),yt=$i*nt,zt=~~yt,wt=(I3+3060|0)+(ar<<2)|0,e[wt>>2]=zt,kt=~~qt,Zt=(I3+2940|0)+(ar<<2)|0,e[Zt>>2]=kt,vt=((X9+(Q4*240|0)|0)+180|0)+(ar<<2)|0,St=+s[vt>>2],Wt=St,At=Wt*Y7,G7=((X9+(J7*240|0)|0)+180|0)+(ar<<2)|0,Dt=+s[G7>>2],ke=Dt,bt=ke*H4,_7=bt+At,ot=_7,n9=ot,p8=n9*1e3,I7=p8/mt,R7=e[I3>>2]|0,zr=+(R7|0),dr=zr*I7,js=~~dr,Gn=(I3+3240|0)+(ar<<2)|0,e[Gn>>2]=js,Xs=e[K7>>2]|0,Un=+(Xs|0),eA=Un*I7,Pn=~~eA,iA=(I3+3300|0)+(ar<<2)|0,e[iA>>2]=Pn,Zr=ar+1|0,NQ=(Zr|0)==15,NQ)break e;ar=Zr}for(rA=(X9+(Q4*240|0)|0)+148|0,nA=+s[rA>>2],sA=nA,On=1-H4,AA=sA*On,Hn=Q4+1|0,qn=(X9+(Hn*240|0)|0)+148|0,Wr=+s[qn>>2],Yn=Wr,jr=Yn*H4,Jn=jr+AA,Kn=Jn,aA=Kn,$A=aA*1e3,lA=t+8|0,Xr=I3+4|0,Vn=~~Kn,$0=e[lA>>2]|0,Ir=+($0|0),en=$A/Ir,oh=0;gA=e[I3>>2]|0,hA=+(gA|0),tn=hA*en,li=~~tn,zn=(I3+3e3|0)+(oh<<2)|0,e[zn>>2]=li,fA=e[Xr>>2]|0,uA=+(fA|0),Zn=uA*en,jn=~~Zn,dA=(I3+3060|0)+(oh<<2)|0,e[dA>>2]=jn,ci=(I3+2940|0)+(oh<<2)|0,e[ci>>2]=Vn,rn=oh+1|0,PQ=(rn|0)==15,!PQ;)oh=rn;for(IA=(X9+(Q4*240|0)|0)+208|0,Xn=+s[IA>>2],EA=Xn,mA=EA*On,CA=(X9+(Hn*240|0)|0)+208|0,es=+s[CA>>2],pA=es,QA=pA*H4,yA=QA+mA,ts=yA,wA=ts,kA=wA*1e3,nn=kA/Ir,Em=0;Er=e[I3>>2]|0,sn=+(Er|0),vA=sn*nn,SA=~~vA,is=(I3+3240|0)+(Em<<2)|0,e[is>>2]=SA,An=e[Xr>>2]|0,rs=+(An|0),on=rs*nn,DA=~~on,ns=(I3+3300|0)+(Em<<2)|0,e[ns>>2]=DA,ss=Em+1|0,TQ=(ss|0)==15,!TQ;)Em=ss}while(!1);for(bA=+o1[Re>>3],As=_6+92|0,_A=e[As>>2]|0,mr=_6+100|0,as=e[mr>>2]|0,gi=_6+108|0,an=e[gi>>2]|0,Cr=e[g0>>2]|0,Wi=Cr+2852|0,Br=e[Wi>>2]|0,Oi=~~bA,pr=Cr+28|0,Qi=e[pr>>2]|0,yi=(Qi|0)>0,yi||(e[pr>>2]=1),jt=(Br|0)==0,jt?(wi=n4(1,520)|0,e[Wi>>2]=wi,ko=wi):ko=Br,s4(ko|0,25784,520)|0,e[ko>>2]=0,Qr=Cr+3460|0,ji=e[Qr>>2]|0,Xi=(ji|0)==0,Xi||(yr=ko+500|0,e[yr>>2]=1,hi=_A+(Oi<<2)|0,RA=e[hi>>2]|0,j$=ko+504|0,e[j$>>2]=RA,$n=as+(Oi<<2)|0,ln=e[$n>>2]|0,Fh=ko+508|0,e[Fh>>2]=ln,X$=an+(Oi<<3)|0,xA=+o1[X$>>3],Mh=ko+512|0,o1[Mh>>3]=xA),jo=+o1[Re>>3],el=e[As>>2]|0,Th=e[mr>>2]|0,Gh=e[gi>>2]|0,Xo=e[g0>>2]|0,tl=Xo+2856|0,il=e[tl>>2]|0,ea=~~jo,cn=Xo+28|0,rl=e[cn>>2]|0,Uh=(rl|0)>1,Uh||(e[cn>>2]=2),LA=(il|0)==0,LA?(er=n4(1,520)|0,e[tl>>2]=er,vo=er):vo=il,s4(vo|0,25784,520)|0,e[vo>>2]=0,Oh=Xo+3460|0,Hh=e[Oh>>2]|0,qh=(Hh|0)==0,qh||(Yh=vo+500|0,e[Yh>>2]=1,Jh=el+(ea<<2)|0,Kh=e[Jh>>2]|0,Vh=vo+504|0,e[Vh>>2]=Kh,zh=Th+(ea<<2)|0,Zh=e[zh>>2]|0,nl=vo+508|0,e[nl>>2]=Zh,Wh=Gh+(ea<<3)|0,jh=+o1[Wh>>3],sl=vo+512|0,o1[sl>>3]=jh),N7||(Xh=+o1[Re>>3],ta=_6+96|0,FA=e[ta>>2]|0,ia=_6+104|0,ef=e[ia>>2]|0,tf=e[gi>>2]|0,ra=e[g0>>2]|0,ol=ra+2860|0,al=e[ol>>2]|0,na=~~Xh,$l=ra+28|0,MA=e[$l>>2]|0,rf=(MA|0)>2,rf||(e[$l>>2]=3),nf=(al|0)==0,nf?(ll=n4(1,520)|0,e[ol>>2]=ll,So=ll):So=al,s4(So|0,25784,520)|0,e[So>>2]=1,sf=ra+3460|0,Af=e[sf>>2]|0,of=(Af|0)==0,of||(af=So+500|0,e[af>>2]=1,gl=FA+(na<<2)|0,hl=e[gl>>2]|0,fl=So+504|0,e[fl>>2]=hl,ul=ef+(na<<2)|0,dl=e[ul>>2]|0,gn=So+508|0,e[gn>>2]=dl,$f=tf+(na<<3)|0,Il=+o1[$f>>3],El=So+512|0,o1[El>>3]=Il),ml=+o1[Re>>3],cf=e[ta>>2]|0,gf=e[ia>>2]|0,hf=e[gi>>2]|0,sa=e[g0>>2]|0,Cl=sa+2864|0,Bl=e[Cl>>2]|0,ls=~~ml,pl=sa+28|0,ff=e[pl>>2]|0,Ql=(ff|0)>3,Ql||(e[pl>>2]=4),uf=(Bl|0)==0,uf?(yl=n4(1,520)|0,e[Cl>>2]=yl,Do=yl):Do=Bl,s4(Do|0,25784,520)|0,e[Do>>2]=1,df=sa+3460|0,If=e[df>>2]|0,wl=(If|0)==0,wl||(kl=Do+500|0,e[kl>>2]=1,Ef=cf+(ls<<2)|0,TA=e[Ef>>2]|0,oa=Do+504|0,e[oa>>2]=TA,vl=gf+(ls<<2)|0,Sl=e[vl>>2]|0,Cf=Do+508|0,e[Cf>>2]=Sl,Bf=hf+(ls<<3)|0,pf=+o1[Bf>>3],Qf=Do+512|0,o1[Qf>>3]=pf)),yf=(j+3528|0)+(n<<5)|0,wf=+o1[yf>>3],NA=_6+32|0,_l=e[NA>>2]|0,GA=_6+36|0,kf=e[GA>>2]|0,Rl=_6+44|0,vf=e[Rl>>2]|0,Vm(t,wf,0,_l,kf,vf),xl=j+3560|0,Sf=+o1[xl>>3],Df=e[NA>>2]|0,Ll=e[GA>>2]|0,aa=_6+52|0,_f=e[aa>>2]|0,Vm(t,Sf,1,Df,Ll,_f),N7||(UA=j+3592|0,Rf=+o1[UA>>3],PA=e[NA>>2]|0,xf=e[GA>>2]|0,$a=e[aa>>2]|0,Vm(t,Rf,2,PA,xf,$a),Lf=j+3624|0,Ff=+o1[Lf>>3],Mf=e[NA>>2]|0,Fl=e[GA>>2]|0,Nf=_6+48|0,Gf=e[Nf>>2]|0,Vm(t,Ff,3,Mf,Fl,Gf)),Uf=((j+3528|0)+(n<<5)|0)+24|0,Ml=+o1[Uf>>3],Tl=_6+80|0,tr=e[Tl>>2]|0,Nl=_6+84|0,OA=e[Nl>>2]|0,la=~~Ml,ca=+(la|0),Gl=Ml-ca,fn=e[g0>>2]|0,Pf=fn+2852|0,Ul=e[Pf>>2]|0,Of=OA+(la<<3)|0,Hf=+o1[Of>>3],qf=1-Gl,Yf=Hf*qf,HA=la+1|0,ga=OA+(HA<<3)|0,Jf=+o1[ga>>3],Kf=Jf*Gl,Pl=Kf+Yf,ha=~~Pl,Ol=+(ha|0),Hl=Pl-Ol,Vf=Hl==0,ql=(ha|0)>0,wB=ql&Vf,a=wB?1:Hl,zf=wB<<31>>31,M=zf+ha|0,fa=1-a,Wf=M+1|0,rh=0;P9=(tr+(M*160|0)|0)+(rh<<2)|0,jf=e[P9>>2]|0,Yl=+(jf|0),Xf=Yl*fa,eu=(tr+(Wf*160|0)|0)+(rh<<2)|0,ua=e[eu>>2]|0,tu=+(ua|0),da=tu*a,Jl=da+Xf,ru=Jl,Kl=(Ul+336|0)+(rh<<2)|0,s[Kl>>2]=ru,Vl=rh+1|0,_Q=(Vl|0)==40,!_Q;)rh=Vl;for(nu=j+3584|0,Ia=+o1[nu>>3],Ea=~~Ia,zl=+(Ea|0),Zl=Ia-zl,su=fn+2856|0,Wl=e[su>>2]|0,Au=OA+(Ea<<3)|0,jl=+o1[Au>>3],ou=1-Zl,au=jl*ou,$u=Ea+1|0,lu=OA+($u<<3)|0,Xl=+o1[lu>>3],ec=Xl*Zl,Ca=ec+au,qA=~~Ca,cu=+(qA|0),ic=Ca-cu,rc=ic==0,gu=(qA|0)>0,kB=gu&rc,c=kB?1:ic,hu=kB<<31>>31,T=hu+qA|0,fu=1-c,nc=T+1|0,nh=0;uu=(tr+(T*160|0)|0)+(nh<<2)|0,du=e[uu>>2]|0,Iu=+(du|0),mu=Iu*fu,Cu=(tr+(nc*160|0)|0)+(nh<<2)|0,sc=e[Cu>>2]|0,Bu=+(sc|0),Ac=Bu*c,pu=Ac+mu,un=pu,Qu=(Wl+336|0)+(nh<<2)|0,s[Qu>>2]=un,oc=nh+1|0,RQ=(oc|0)==40,!RQ;)nh=oc;if(!N7){for(yu=j+3616|0,Ba=+o1[yu>>3],wu=_6+88|0,YA=e[wu>>2]|0,pa=~~Ba,ku=+(pa|0),Qa=Ba-ku,$c=fn+2860|0,vu=e[$c>>2]|0,Su=YA+(pa<<3)|0,Du=+o1[Su>>3],_u=1-Qa,lc=Du*_u,Ru=pa+1|0,xu=YA+(Ru<<3)|0,Lu=+o1[xu>>3],JA=Lu*Qa,gs=JA+lc,ya=~~gs,Fu=+(ya|0),wa=gs-Fu,Tu=wa==0,Nu=(ya|0)>0,vB=Nu&Tu,f=vB?1:wa,cc=vB<<31>>31,N=cc+ya|0,Gu=1-f,Uu=N+1|0,sh=0;Pu=(tr+(N*160|0)|0)+(sh<<2)|0,Ou=e[Pu>>2]|0,Hu=+(Ou|0),KA=Hu*Gu,qu=(tr+(Uu*160|0)|0)+(sh<<2)|0,gc=e[qu>>2]|0,Ju=+(gc|0),Ku=Ju*f,Vu=Ku+KA,zu=Vu,fi=(vu+336|0)+(sh<<2)|0,s[fi>>2]=zu,hc=sh+1|0,xQ=(hc|0)==40,!xQ;)sh=hc;for(ui=j+3648|0,fc=+o1[ui>>3],ka=~~fc,Xt=+(ka|0),hs=fc-Xt,Wu=fn+2864|0,ju=e[Wu>>2]|0,Xu=YA+(ka<<3)|0,ed=+o1[Xu>>3],td=1-hs,uc=ed*td,id=ka+1|0,rd=YA+(id<<3)|0,nd=+o1[rd>>3],sd=nd*hs,fs=sd+uc,va=~~fs,Ad=+(va|0),Ic=fs-Ad,od=Ic==0,ad=(va|0)>0,SB=ad&od,E=SB?1:Ic,VA=SB<<31>>31,G=VA+va|0,$d=1-E,Ec=G+1|0,Ah=0;mc=(tr+(G*160|0)|0)+(Ah<<2)|0,cd=e[mc>>2]|0,gd=+(cd|0),dn=gd*$d,hd=(tr+(Ec*160|0)|0)+(Ah<<2)|0,fd=e[hd>>2]|0,In=+(fd|0),ud=In*E,Cc=ud+dn,Id=Cc,us=(ju+336|0)+(Ah<<2)|0,s[us>>2]=Id,Bc=Ah+1|0,LQ=(Bc|0)==40,!LQ;)Ah=Bc}for(Ed=((j+3528|0)+(n<<5)|0)+8|0,pc=+o1[Ed>>3],md=_6+40|0,ir=e[md>>2]|0,Sa=~~pc,Cd=+(Sa|0),Qc=pc-Cd,Bd=ir+(Sa<<2)|0,pd=e[Bd>>2]|0,wc=+(pd|0),Qd=1-Qc,yd=wc*Qd,wd=Sa+1|0,kc=ir+(wd<<2)|0,kd=e[kc>>2]|0,ds=+(kd|0),vd=ds*Qc,Sd=vd+yd,Dd=Sd,Da=Ul+32|0,s[Da>>2]=Dd,bd=j+3568|0,ba=+o1[bd>>3],_a=~~ba,_d=+(_a|0),vc=ba-_d,Sc=ir+(_a<<2)|0,Rd=e[Sc>>2]|0,_c=+(Rd|0),xd=1-vc,Rc=_c*xd,xc=_a+1|0,Ld=ir+(xc<<2)|0,Fd=e[Ld>>2]|0,Lc=+(Fd|0),Fc=Lc*vc,Md=Fc+Rc,Mc=Md,Td=Wl+32|0,s[Td>>2]=Mc,N7||(Nd=j+3600|0,Nc=+o1[Nd>>3],Ra=~~Nc,Gc=+(Ra|0),Uc=Nc-Gc,Pc=fn+2860|0,Oc=e[Pc>>2]|0,Gd=ir+(Ra<<2)|0,Ud=e[Gd>>2]|0,Od=+(Ud|0),Hd=1-Uc,qd=Od*Hd,Yd=Ra+1|0,Jd=ir+(Yd<<2)|0,Hc=e[Jd>>2]|0,xa=+(Hc|0),Kd=xa*Uc,Vd=Kd+qd,zd=Vd,Yc=Oc+32|0,s[Yc>>2]=zd,Zd=j+3632|0,Jc=+o1[Zd>>3],La=~~Jc,zA=+(La|0),Kc=Jc-zA,Wd=fn+2864|0,jd=e[Wd>>2]|0,Xd=ir+(La<<2)|0,eI=e[Xd>>2]|0,ZA=+(eI|0),tI=1-Kc,iI=ZA*tI,rI=La+1|0,nI=ir+(rI<<2)|0,sI=e[nI>>2]|0,AI=+(sI|0),oI=AI*Kc,aI=oI+iI,zc=aI,lI=jd+32|0,s[lI>>2]=zc),cI=((j+3528|0)+(n<<5)|0)+16|0,gI=+o1[cI>>3],WA=_6+76|0,Zc=e[WA>>2]|0,hI=_6+60|0,fI=e[hI>>2]|0,mn=_6+56|0,Wc=e[mn>>2]|0,Dl?Xc=0:(jc=j+3408|0,uI=+o1[jc>>3],Xc=uI),zm(t,gI,0,Zc,fI,Wc,Xc),dI=j+3576|0,eg=+o1[dI>>3],tg=e[WA>>2]|0,II=_6+64|0,EI=e[II>>2]|0,mI=e[mn>>2]|0,zm(t,eg,1,tg,EI,mI,0),N7?(Is=e[g0>>2]|0,OI=Is+2852|0,hg=e[OI>>2]|0,HI=Is+3496|0,Na=+o1[HI>>3],fg=Na,qI=hg+4|0,s[qI>>2]=fg,JI=Is+3504|0,KI=+o1[JI>>3],ug=KI,VI=hg+8|0,s[VI>>2]=ug,zI=Is+2856|0,dg=e[zI>>2]|0,io=dg+4|0,s[io>>2]=fg,ZI=dg+8|0,s[ZI>>2]=ug,rr=Is):(CI=j+3608|0,BI=+o1[CI>>3],Ma=e[WA>>2]|0,pI=_6+68|0,QI=e[pI>>2]|0,yI=e[mn>>2]|0,zm(t,BI,2,Ma,QI,yI,0),wI=j+3640|0,ig=+o1[wI>>3],kI=e[WA>>2]|0,rg=_6+72|0,vI=e[rg>>2]|0,SI=e[mn>>2]|0,zm(t,ig,3,kI,vI,SI,0),vr=e[g0>>2]|0,sg=vr+2852|0,Ag=e[sg>>2]|0,DI=vr+3496|0,og=+o1[DI>>3],XA=og,bI=Ag+4|0,s[bI>>2]=XA,_I=vr+3504|0,RI=+o1[_I>>3],eo=RI,xI=Ag+8|0,s[xI>>2]=eo,LI=vr+2856|0,$g=e[LI>>2]|0,FI=$g+4|0,s[FI>>2]=XA,MI=$g+8|0,s[MI>>2]=eo,Ta=vr+2860|0,to=e[Ta>>2]|0,TI=to+4|0,s[TI>>2]=XA,NI=to+8|0,s[NI>>2]=eo,GI=vr+2864|0,gg=e[GI>>2]|0,UI=gg+4|0,s[UI>>2]=XA,PI=gg+8|0,s[PI>>2]=eo,rr=vr),WI=+o1[Re>>3],jI=_6+152|0,Ig=e[jI>>2]|0,Eg=~~WI,XI=Ig+(Eg<<3)|0,mg=e[XI>>2]|0,Cg=(Ig+(Eg<<3)|0)+4|0,ki=e[Cg>>2]|0,Bg=e[rr>>2]|0,eE=rr+4|0,tE=e[eE>>2]|0,rE=(Bg|0)==(tE|0),o=rE?1:2,Ga=rr+8|0,ro=rr+12|0,pg=t+8|0,Qg=t+4|0,Ii=0;;){if(nE=n4(1,3208)|0,no=(rr+544|0)+(Ii<<2)|0,e[no>>2]=nE,ms=n4(1,16)|0,sE=(rr+32|0)+(Ii<<2)|0,e[sE>>2]=ms,so=26304+(Ii<<4)|0,e[ms>>2]=e[so>>2]|0,e[ms+4>>2]=e[so+4>>2]|0,e[ms+8>>2]=e[so+8>>2]|0,e[ms+12>>2]=e[so+12>>2]|0,AE=e[Ga>>2]|0,Pa=(Ii|0)<(AE|0),Pa||(oE=Ii+1|0,e[Ga>>2]=oE),aE=(rr+288|0)+(Ii<<2)|0,e[aE>>2]=0,yg=e[no>>2]|0,Ao=mg+(Ii*3208|0)|0,s4(yg|0,Ao|0,3208)|0,wg=e[ro>>2]|0,$E=(Ii|0)<(wg|0),$E||(lE=Ii+1|0,e[ro>>2]=lE),cE=e[Ao>>2]|0,kg=(cE|0)>0,kg)for(nC=0;;){hE=((mg+(Ii*3208|0)|0)+1092|0)+(nC<<2)|0,W7=e[hE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,fE=(y4+1568|0)+(W7<<2)|0,e[fE>>2]=ei,vg=(ki+(W7<<5)|0)+12|0,Sg=e[vg>>2]|0,s4(ei|0,Sg|0,2840)|0,Oa=y4+20|0,uE=e[Oa>>2]|0,Cs=(uE|0)>(W7|0),Cs||(dE=W7+1|0,e[Oa>>2]=dE),IE=(ki+(W7<<5)|0)+8|0,Dg=e[IE>>2]|0,Ha=ei+8|0,e[Ha>>2]=Dg,EE=ki+(W7<<5)|0,bg=e[EE>>2]|0,_g=(y4+1312|0)+(W7<<2)|0,e[_g>>2]=bg,Rg=y4+3420|0,qa=e[Rg>>2]|0,xg=(qa|0)==0,Bs=ei+12|0,Ja=e[Bs>>2]|0,Lg=(Ja|0)>0;do if(xg){if(Lg)for(Fg=(ki+(W7<<5)|0)+24|0,oo=e[Fg>>2]|0,BE=ei+24|0,wo=0;;)if(Ar=BE+(wo<<2)|0,pn=oo+(wo<<4)|0,_t=e[pn>>2]|0,Rt=(_t|0)==0,Rt||(xt=e[Ar>>2]|0,go=xt|1,e[Ar>>2]=go),ho=(oo+(wo<<4)|0)+4|0,Jg=e[ho>>2]|0,Kg=(Jg|0)==0,Kg||(k2=e[Ar>>2]|0,m5=k2|2,e[Ar>>2]=m5),n5=(oo+(wo<<4)|0)+8|0,R2=e[n5>>2]|0,_2=(R2|0)==0,_2||(B2=e[Ar>>2]|0,C5=B2|4,e[Ar>>2]=C5),d5=(oo+(wo<<4)|0)+12|0,b5=e[d5>>2]|0,G5=(b5|0)==0,G5||(_5=e[Ar>>2]|0,H2=_5|8,e[Ar>>2]=H2),I5=wo+1|0,o5=e[Bs>>2]|0,c5=(I5|0)<(o5|0),c5)wo=I5;else{mo=o5;break}else mo=Ja;fo=(ki+(W7<<5)|0)+16|0,t$=e[fo>>2]|0,Lt=y4+24|0,_r=e[Lt>>2]|0,i$=(_r|0)>0,qE=t$;e:do if(i$)for(Im=0;;){if(r$=(y4+1824|0)+(Im<<2)|0,YE=e[r$>>2]|0,n$=(YE|0)==(t$|0),n$){x=Im;break e}if(Vg=Im+1|0,Io=(Vg|0)<(_r|0),Io)Im=Vg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,JE=_r+1|0,e[Lt>>2]=JE,x=_r),KE=ei+20|0,e[KE>>2]=x,VE=(y4+1824|0)+(x<<2)|0,e[VE>>2]=qE,Qn=(mo|0)>0,!Qn)break;for(Ve=(ki+(W7<<5)|0)+24|0,v4=ei+280|0,Fr=0,d$=0;;){if(zg=e[Ve>>2]|0,zE=zg+(d$<<4)|0,s$=e[zE>>2]|0,Zg=(s$|0)==0,ZE=s$,Zg)ws=zg,Am=Fr;else{Co=e[Lt>>2]|0,jE=(Co|0)>0;e:do if(jE)for(gm=0;;){if(XE=(y4+1824|0)+(gm<<2)|0,em=e[XE>>2]|0,tm=(em|0)==(s$|0),tm){L=gm;break e}if(Wg=gm+1|0,im=(Wg|0)<(Co|0),im)gm=Wg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,rm=Co+1|0,e[Lt>>2]=rm,L=Co),nm=Fr+1|0,ti=v4+(Fr<<2)|0,e[ti>>2]=L,yn=(y4+1824|0)+(L<<2)|0,e[yn>>2]=ZE,n0=e[Ve>>2]|0,ws=n0,Am=nm}if(A$=(ws+(d$<<4)|0)+4|0,ks=e[A$>>2]|0,j7=(ks|0)==0,vs=ks,j7)E2=ws,Y4=Am;else{K1=e[Lt>>2]|0,O1=(K1|0)>0;e:do if(O1)for($m=0;;){if(H1=(y4+1824|0)+($m<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(ks|0),j1){D=$m;break e}if(r2=$m+1|0,W1=(r2|0)<(K1|0),W1)$m=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=K1+1|0,e[Lt>>2]=P1,D=K1),c2=Am+1|0,z1=v4+(Am<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=vs,i0=e[Ve>>2]|0,E2=i0,Y4=c2}if(s2=(E2+(d$<<4)|0)+8|0,V1=e[s2>>2]|0,h2=(V1|0)==0,a2=V1,h2)b2=E2,h$=Y4;else{t2=e[Lt>>2]|0,$2=(t2|0)>0;e:do if($2)for(lm=0;;){if(i2=(y4+1824|0)+(lm<<2)|0,o2=e[i2>>2]|0,X1=(o2|0)==(V1|0),X1){Q=lm;break e}if(n2=lm+1|0,u2=(n2|0)<(t2|0),u2)lm=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[Lt>>2]=y2,Q=t2),v2=Y4+1|0,w2=v4+(Y4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=a2,K=e[Ve>>2]|0,b2=K,h$=v2}if(F2=(b2+(d$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,V2=N2,d2)mB=h$;else{G2=e[Lt>>2]|0,M2=(G2|0)>0;e:do if(M2)for(cm=0;;){if(P2=(y4+1824|0)+(cm<<2)|0,z2=e[P2>>2]|0,A5=(z2|0)==(N2|0),A5){_=cm;break e}if(O2=cm+1|0,T1=(O2|0)<(G2|0),T1)cm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[Lt>>2]=X2,_=G2),x5=h$+1|0,e5=v4+(h$<<2)|0,e[e5>>2]=_,D5=(y4+1824|0)+(_<<2)|0,e[D5>>2]=V2,mB=x5}if(v5=d$+1|0,P5=e[Bs>>2]|0,l5=(v5|0)<(P5|0),l5)Fr=mB,d$=v5;else break}}else{if(Lg)for(mE=(ki+(W7<<5)|0)+28|0,Cn=e[mE>>2]|0,CE=ei+24|0,yo=0;;)if(vi=CE+(yo<<2)|0,pE=Cn+(yo<<4)|0,QE=e[pE>>2]|0,yE=(QE|0)==0,yE||(wE=e[vi>>2]|0,kE=wE|1,e[vi>>2]=kE),vE=(Cn+(yo<<4)|0)+4|0,Si=e[vE>>2]|0,SE=(Si|0)==0,SE||(A6=e[vi>>2]|0,e3=A6|2,e[vi>>2]=e3),o3=(Cn+(yo<<4)|0)+8|0,x3=e[o3>>2]|0,f6=(x3|0)==0,f6||(p3=e[vi>>2]|0,Q3=p3|4,e[vi>>2]=Q3),r6=(Cn+(yo<<4)|0)+12|0,W3=e[r6>>2]|0,P3=(W3|0)==0,P3||(K5=e[vi>>2]|0,v3=K5|8,e[vi>>2]=v3),g3=yo+1|0,O3=e[Bs>>2]|0,l6=(g3|0)<(O3|0),l6)yo=g3;else{qg=O3;break}else qg=Ja;DE=(ki+(W7<<5)|0)+20|0,Tg=e[DE>>2]|0,di=y4+24|0,ao=e[di>>2]|0,Ka=(ao|0)>0,Ng=Tg;e:do if(Ka)for(am=0;;){if(Gg=(y4+1824|0)+(am<<2)|0,_E=e[Gg>>2]|0,Ug=(_E|0)==(Tg|0),Ug){B=am;break e}if(Pg=am+1|0,RE=(Pg|0)<(ao|0),RE)am=Pg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Hg=ao+1|0,e[di>>2]=Hg,B=ao),LE=ei+20|0,e[LE>>2]=B,FE=(y4+1824|0)+(B<<2)|0,e[FE>>2]=Ng,ME=(qg|0)>0,!ME)break;for(ps=(ki+(W7<<5)|0)+28|0,$o=ei+280|0,Rs=0,f$=0;;){if(lo=e[ps>>2]|0,TE=lo+(f$<<4)|0,Va=e[TE>>2]|0,GE=(Va|0)==0,Yg=Va,GE)ys=lo,vn=Rs;else{Qs=e[di>>2]|0,UE=(Qs|0)>0;e:do if(UE)for(dm=0;;){if(PE=(y4+1824|0)+(dm<<2)|0,za=e[PE>>2]|0,Za=(za|0)==(Va|0),Za){y=dm;break e}if(co=dm+1|0,Wa=(co|0)<(Qs|0),Wa)dm=co;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,ja=Qs+1|0,e[di>>2]=ja,y=Qs),Dr=Rs+1|0,br=$o+(Rs<<2)|0,e[br>>2]=y,Xa=(y4+1824|0)+(y<<2)|0,e[Xa>>2]=Yg,H=e[ps>>2]|0,ys=H,vn=Dr}if(e$=(ys+(f$<<4)|0)+4|0,sr=e[e$>>2]|0,Bn=(sr|0)==0,OE=sr,Bn)R5=ys,wn=vn;else{B5=e[di>>2]|0,M1=(B5|0)>0;e:do if(M1)for(hm=0;;){if(g5=(y4+1824|0)+(hm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(sr|0),W2){v=hm;break e}if(g2=hm+1|0,p5=(g2|0)<(B5|0),p5)hm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[di>>2]=t5,v=B5),s5=vn+1|0,h5=$o+(vn<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=OE,V=e[ps>>2]|0,R5=V,wn=s5}if(f5=(R5+(f$<<4)|0)+8|0,j2=e[f5>>2]|0,$5=(j2|0)==0,x2=j2,$5)f3=R5,kn=wn;else{Q5=e[di>>2]|0,H5=(Q5|0)>0;e:do if(H5)for(fm=0;;){if(j5=(y4+1824|0)+(fm<<2)|0,E5=e[j5>>2]|0,u3=(E5|0)==(j2|0),u3){S=fm;break e}if(h3=fm+1|0,X5=(h3|0)<(Q5|0),X5)fm=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[di>>2]=n3,S=Q5),m3=wn+1|0,F5=$o+(wn<<2)|0,e[F5>>2]=S,J5=(y4+1824|0)+(S<<2)|0,e[J5>>2]=x2,a0=e[ps>>2]|0,f3=a0,kn=m3}if(w3=(f3+(f$<<4)|0)+12|0,B3=e[w3>>2]|0,V3=(B3|0)==0,N3=B3,V3)F9=kn;else{y3=e[di>>2]|0,Z5=(y3|0)>0;e:do if(Z5)for(um=0;;){if(i6=(y4+1824|0)+(um<<2)|0,R3=e[i6>>2]|0,G3=(R3|0)==(B3|0),G3){w=um;break e}if(a3=um+1|0,l3=(a3|0)<(y3|0),l3)um=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=y3+1|0,e[di>>2]=c3,w=y3),C3=kn+1|0,q5=$o+(kn<<2)|0,e[q5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=N3,F9=C3}if(k5=f$+1|0,U3=e[Bs>>2]|0,M5=(k5|0)<(U3|0),M5)Rs=F9,f$=k5;else break}}while(!1);jg=y4+3480|0,Xg=+o1[jg>>3],po=Xg*1e3,Ss=(y4+1056|0)+(Ii<<2)|0,bs=e[Ss>>2]|0,sm=e[pg>>2]|0,_s=+(sm|0),or=_s*.5,eh=y4+(Ii<<2)|0,Rr=e[eh>>2]|0,ii=Rr>>1,o$=po>or,BB=o$?or:po,a$=BB/or,qi=+(ii|0),l$=qi*a$,c$=~~l$,xr=bs+1116|0,e[xr>>2]=c$,$6=(ki+(W7<<5)|0)+4|0,Qo=e[$6>>2]|0;do if((Qo|0)==2)ih=250;else if((Qo|0)==1){if(Lr=e[Rg>>2]|0,th=(Lr|0)==0,ve=y4+2996|0,g$=y4+2968|0,qQ=th?g$:ve,HQ=e[qQ>>2]|0,OQ=+(HQ|0),pB=OQ*1e3,Q8=pB>or,!Q8){ih=pB;break}ih=or}else ih=BB;while(!1);d0=e[_g>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,u0=(k0|0)>0,u0)for(rC=0;;){if(B0=(y4+544|0)+(rC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(mm=0;;){K0=(p0+1092|0)+(mm<<2)|0,Q0=e[K0>>2]|0,L0=(Q0|0)==(W7|0);do if(L0){if(F0=e[Qg>>2]|0,T0=(F0|0)>0,T0)CB=0,AC=0;else{om=0;break}for(;;)if(U0=(p0+4|0)+(AC<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)==(mm|0),x0=q0&1,O=x0+CB|0,b0=AC+1|0,bQ=(b0|0)==(F0|0),bQ){om=O;break}else CB=O,AC=b0}else om=0;while(!1);if(M0=mm+1|0,Y0=(M0|0)<(I0|0),P0=(om|0)==0,V0=Y0&P0,V0)mm=M0;else{eC=om;break}}else eC=0;if(N0=rC+1|0,O0=(N0|0)<(k0|0),r1=(eC|0)==0,H0=O0&r1,H0)rC=N0;else{Xm=eC;break}}else Xm=0;if(e1=ih/or,D0=+(Xm|0),i1=D0*qi,$1=i1*e1,f1=e[Ha>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,f1)|0,A1=ei+4|0,e[A1>>2]=n1,z0=r5(Xm,ii)|0,I1=(n1|0)>(z0|0),!I1){U=A1,Z1=n1,b1=f1;break}m1=(z0|0)%(f1|0)&-1,d1=z0-m1|0,e[A1>>2]=d1,U=A1,Z1=d1,b1=f1}else{if(E1=ih/or,B1=E1*qi,p1=e[Ha>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,w1=~~x1,S1=r5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,b1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,b1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=b1),d3=nC+1|0,v6=e[Ao>>2]|0,S6=(d3|0)<(v6|0),S6)nC=d3;else break}if(B6=Ii+1|0,j3=(B6|0)<(o|0),j3)Ii=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,R6=(p6|0)>0,R6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[g0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,u6=C6+3400|0,H3=+o1[u6>>3],D3=~~H3,q3=+(D3|0),z3=H3-q3,D6=e6+4|0,o6=e[D6>>2]|0,t3=(o6|0)==0,t3?p=-1:(O6=e[Qg>>2]|0,d6=o6+(D3<<3)|0,b3=+o1[d6>>3],N6=1-z3,n6=b3*N6,Q6=D3+1|0,x6=o6+(Q6<<3)|0,V6=+o1[x6>>3],I6=V6*z3,J6=I6+n6,L3=+(O6|0),G6=J6*L3,YQ=~~G6,p=YQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,L6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=L6,b6=j+3440|0,z6=e[b6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?s0=0:(F3=j+3444|0,t9=e[F3>>2]|0,o9=+(t9|0),j6=+(p6|0),f9=o9/j6,u9=~~f9,s0=u9),d9=t+24|0,e[d9>>2]=s0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[b6>>2]|0,A4=j+3368|0,e[A4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,D9=j+3448|0,E9=+o1[D9>>3],r9=j+3376|0,o1[r9>>3]=E9,m4=j+3432|0,S4=+o1[m4>>3],o4=j+3384|0,o1[o4>>3]=S4,m=0,m|0)}function HS(t,n,o,a){t=t|0,n=n|0,o=o|0,a=+a;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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=(o|0)<1,I)f=-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,p=qS(n,o,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return YS(t,n,o),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=OS(t)|0,D=(y|0)==0,D?(c=0,c|0):($B(t),c=y,c|0);return $B(t),c=f,c|0}function Vm(t,n,o,a,c,f){t=t|0,n=+n,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~n,I=+(E|0),L=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(o<<2)|0,F0=e[C0>>2]|0,V0=a+(E*20|0)|0,g1=e[V0>>2]|0,h1=+(g1|0),m=1-L,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*L,D=y+p,Q=D,_=F0+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+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=F0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,H=e[e0>>2]|0,X=+(H|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,V=+(Z|0),a0=V*L,n0=a0+U,r0=n0,K=F0+20|0,s[K>>2]=r0,h0=(a+(E*20|0)|0)+12|0,s0=+s[h0>>2],g0=s0,j=g0*m,l0=(a+(B*20|0)|0)+12|0,f0=+s[l0>>2],d0=f0,w0=d0*L,k0=w0+j,u0=k0,B0=F0+24|0,s[B0>>2]=u0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,K0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],L0=Q0,T0=L0*L,U0=T0+K0,y0=U0,q0=F0+28|0,s[q0>>2]=y0,x0=c+(E<<2)|0,b0=e[x0>>2]|0,M0=+(b0|0),J0=M0*m,Y0=c+(B<<2)|0,P0=e[Y0>>2]|0,N0=+(P0|0),O0=N0*L,r1=O0+J0,H0=r1,e1=F0+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,f1=(f+(B*68|0)|0)+(d1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*L,n1=a1+$1,A1=n1,z0=(F0+36|0)+(d1<<2)|0,s[z0>>2]=A1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function zm(t,n,o,a,c,f,E){t=t|0,n=+n,o=o|0,a=a|0,c=c|0,f=f|0,E=+E;var I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),$0=n-y,j=t+28|0,S0=e[j>>2]|0,b0=(S0+2852|0)+(o<<2)|0,D0=e[b0>>2]|0,z0=a+(w<<2)|0,w1=e[z0>>2]|0,O1=+(w1|0),D=1-$0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,H=e0+z,X=H,U=D0+108|0,s[U>>2]=X,Z=f+(o*12|0)|0,V=e[Z>>2]|0,a0=D0+120|0,e[a0>>2]=V,n0=(f+(o*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=D0+124|0,e[r0>>2]=i0,K=(f+(o*12|0)|0)+8|0,h0=e[K>>2]|0,s0=D0+128|0,e[s0>>2]=h0,t2=0;;)if(g0=(c+(w*204|0)|0)+(t2<<2)|0,l0=e[g0>>2]|0,f0=+(l0|0),d0=f0*D,w0=(c+(Y*204|0)|0)+(t2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),u0=k0*$0,B0=u0+d0,p0=B0,I0=(D0+132|0)+(t2<<2)|0,s[I0>>2]=p0,K0=t2+1|0,V1=(K0|0)==17,V1){$2=0;break}else t2=K0;for(;;)if(x1=((c+(w*204|0)|0)+68|0)+($2<<2)|0,S1=e[x1>>2]|0,L1=+(S1|0),F1=L1*D,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,b1=N1,K1=(D0+200|0)+($2<<2)|0,s[K1>>2]=b1,H1=$2+1|0,h2=(H1|0)==17,h2){i2=0;break}else $2=H1;for(;q1=((c+(w*204|0)|0)+136|0)+(i2<<2)|0,Y1=e[q1>>2]|0,j1=+(Y1|0),r2=j1*D,W1=((c+(Y*204|0)|0)+136|0)+(i2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,f2=z1+r2,Q=f2,_=(D0+268|0)+(i2<<2)|0,s[_>>2]=Q,L=i2+1|0,a2=(L|0)==17,!a2;)i2=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,_0=1;I=(D0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(D0+132|0)+(_0<<2)|0,L0=B,F0=L0+E,T0=F0,U0=T0>2]=o2,q0=_0+1|0,s2=(q0|0)==17,!s2;)_0=q0;for(x0=D0+200|0,M0=+s[x0>>2],J0=M0+6,Y0=D0+200|0,P0=M0,V0=P0+E,N0=V0,O0=N0>2]=n2,r1=1;m=(D0+200|0)+(r1<<2)|0,v=+s[m>>2],H0=(D0+200|0)+(r1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,f1=r1+1|0,E2=(f1|0)==17,!E2;)r1=f1;for(g1=D0+268|0,l1=+s[g1>>2],s1=l1+6,a1=D0+268|0,n1=l1,A1=n1+E,I1=A1,h1=I1>2]=e2,m1=1;p=(D0+268|0)+(m1<<2)|0,S=+s[p>>2],d1=(D0+268|0)+(m1<<2)|0,E1=S,B1=E1+E,p1=B1,Q1=p1>2]=u2,R1=m1+1|0,A2=(R1|0)==17,!A2;)m1=R1}function qS(t,n,o,a,c){t=t|0,n=n|0,o=+o,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(H=26336,z0=0;;){if(e0=e[H>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,V=(U|0)==(t|0),d1=$0|V,d1&&(a0=e0+16|0,n0=e[a0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,K=e[r0>>2]|0,h0=(K|0)<(n|0),!h0&&(s0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,f0=+o1[j>>3],d0=f0>o,!d0&&(k0=j+(s0<<3)|0,u0=+o1[k0>>3],B0=u0>2]|0,K0=Z+12|0,M0=e[K0>>2]|0,i1=(M0|0)==-1,s1=(M0|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=+o1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=l0,p=T,l1=N;break e}if(A1=I1+1|0,J=26336+(A1<<2)|0,W=(A1|0)==17,W){f=0;break}else l0=J,I1=A1}return f|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),S=m1+1|0,!I0&&(_0=p+(S<<3)|0,Q0=+o1[_0>>3],L0=E>3],S0=v,m1=S}else h1=0;while(!1);return T0=(h1|0)==(I|0),T0?(U0=+(I|0),y0=U0+-.001,B1=y0):(q0=p+(h1<<3)|0,x0=+o1[q0>>3],b0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,P0=+o1[Y0>>3],V0=P0,N0=b0,O0=E-N0,r1=V0-b0,H0=r1,e1=O0/H0,D0=e1,c1=+(h1|0),$1=D0+c1,f1=$1,B1=f1),o1[c>>3]=B1,g1=e[m>>2]|0,f=g1,f|0}function YS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=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,k0=t+8|0,e[k0>>2]=o,T0=m+3456|0,e[T0>>2]=1,N0=m+3460|0,e[N0>>2]=1,r1=m+3400|0,H0=+o1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=m+3472|0,o1[S>>3]=H0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(p<<3)|0,F=+o1[L>>3],M=1-v,T=F*M,N=p+1|0,G=_+(N<<3)|0,O=+o1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,o1[t0>>3]=Y,c=N,f=M):(a=1-v,E=p+1|0,c=E,f=a),J=W+112|0,e0=e[J>>2]|0,H=e0+(p<<2)|0,X=e[H>>2]|0,U=+(X|0),$0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,a0=+(V|0),n0=a0*v,i0=n0+$0,K=m+3496|0,o1[K>>3]=i0,h0=W+116|0,s0=e[h0>>2]|0,g0=s0+(p<<2)|0,j=e[g0>>2]|0,l0=+(j|0),f0=l0*f,d0=s0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),u0=C0*v,B0=u0+f0,p0=m+3504|0,o1[p0>>3]=B0,I0=m+3512|0,o1[I0>>3]=-6,S0=m+3520|0,o1[S0>>3]=H0,K0=m+3528|0,o1[K0>>3]=H0,_0=m+3536|0,o1[_0>>3]=H0,Q0=m+3544|0,o1[Q0>>3]=H0,L0=m+3552|0,o1[L0>>3]=H0,F0=m+3560|0,o1[F0>>3]=H0,U0=m+3568|0,o1[U0>>3]=H0,y0=m+3576|0,o1[y0>>3]=H0,q0=m+3584|0,o1[q0>>3]=H0,x0=m+3592|0,o1[x0>>3]=H0,b0=m+3600|0,o1[b0>>3]=H0,M0=m+3608|0,o1[M0>>3]=H0,J0=m+3616|0,o1[J0>>3]=H0,Y0=m+3624|0,o1[Y0>>3]=H0,P0=m+3632|0,o1[P0>>3]=H0,V0=m+3640|0,o1[V0>>3]=H0,O0=m+3648|0,o1[O0>>3]=H0}function JS(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,x=I?f:0,W=n+(m<<2)|0,r0=e[W>>2]|0,k0=520336+(r0<<2)|0,S0=e[k0>>2]|0,K0=n+(x<<2)|0,_0=e[K0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=o+(c<<2)|0,v=e[B>>2]|0,S=o+(m<<2)|0,w=e[S>>2]|0,y=o+(x<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,F=(w|0)/2&-1,M=L+F|0,T=(v|0)/2&-1,N=T+Q|0,E=(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,F0=L):F0=0,e0=(F0|0)<(M|0),e0)for(H=Q+F|0,X=H-F0|0,U=X-_|0,T0=F0,q0=0;a0=S0+(q0<<2)|0,n0=+s[a0>>2],i0=t+(T0<<2)|0,K=+s[i0>>2],h0=K*n0,s[i0>>2]=h0,s0=T0+1|0,g0=q0+1|0,L0=(g0|0)==(U|0),!L0;)T0=s0,q0=g0;if($0=(D|0)>1,$0){for(Z=G+1|0,V=(z|0)>(Z|0),y0=G,b0=O;x0=b0+-1|0,d0=p+(x0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,u0=+s[C0>>2],B0=u0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,b0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(M0=t+(U0<<2)|0,l0=v-U0|0,f0=l0<<2,Ae(M0|0,0,f0|0)|0)}function KS(t,n,o){t=t|0,n=+n,o=+o;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0;if(K=C,C=C+64|0,i0=K+32|0,n0=K,a=S9(688)|0,c=a+408|0,AS(c),D=~~n,HS(c,t,D,o)|0,z=a+440|0,rS(z),nS(z,553008,553016),X=a+456|0,Fv(X,c)|0,U=a+568|0,xv(X,U)|0,$0=Yp(0)|0,eD($0),Z=tD()|0,yv(a,Z)|0,V=a+680|0,e[V>>2]=0,a0=a+684|0,e[a0>>2]=0,f=a+360|0,oS(X,z,f,i0,n0)|0,Jm(a,f)|0,Jm(a,i0)|0,Jm(a,n0)|0,E=a+392|0,I=Kp(a,E)|0,m=(I|0)==0,m)return C=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[a0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[V>>2]|0,T=Pi(M,_)|0,e[V>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[a0>>2]=H),x=Kp(a,E)|0,F=(x|0)==0,!F;);return C=K,a|0}function VS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0;m=C,wv(t)|0,n=t+568|0,Lv(n)|0,o=t+456|0,Wp(o),a=t+440|0,sS(a),c=t+408|0,$B(c),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function zS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0;return f=C,o=t+456|0,a=jp(o,n)|0,a|0}function ZS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0;if(K=C,o=t+456|0,Mv(o,n)|0,a=t+568|0,y=Xp(o,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,V=t+684|0,a0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(Dv(a,0)|0,Rv(a)|0,m=Zp(o,$0)|0,p=(m|0)==0,!p)for(;;){if(Jm(t,$0)|0,S=Vp(t,Z)|0,w=(S|0)==0,!w)for(;D=e[V>>2]|0,Q=e[a0>>2]|0,_=Q+D|0,L=e[n0>>2]|0,x=_+L|0,F=(x|0)==0,F||(N=e[i0>>2]|0,G=Pi(N,x)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[V>>2]=W,e0=G+W|0,H=e[f>>2]|0,X=e[n0>>2]|0,s4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),M=Vp(t,Z)|0,T=(M|0)==0,!T;);if(B=Zp(o,$0)|0,v=(B|0)==0,v)break}if(E=Xp(o,a)|0,I=(E|0)==1,!I)break}}function WS(t){t=t|0;var n=0,o=0,a=0,c=0;return c=C,n=t+684|0,o=e[n>>2]|0,o|0}function jS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;return f=C,n=t+684|0,e[n>>2]=0,o=t+680|0,a=e[o>>2]|0,a|0}function Zm(t,n){t=+t,n=n|0;var o=0,a=0,c=0;return c=C,o=+XS(t,n),+o}function Lh(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0;if(x3=C,C=C+688|0,e3=x3+424|0,Y5=x3+192|0,Z5=x3,X=r5(o,n)|0,U=(X|0)==0,U){C=x3;return}for(J=X-o|0,q1=Z5+4|0,e[q1>>2]=o,e[Z5>>2]=o,e2=o,u5=o,w3=2;A2=e2+o|0,M2=A2+u5|0,L5=Z5+(w3<<2)|0,e[L5>>2]=M2,S5=M2>>>0>>0,i5=w3+1|0,S5;)y2=u5,u5=M2,w3=i5,e2=y2;if($0=0-o|0,j=t+J|0,S0=(J|0)>0,S0)for(b0=(o|0)==0,D0=j,w1=1,z2=0,F5=t,U5=1;;){z0=w1&3,K1=(z0|0)==3;do if(K1){e[Y5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,V5=1;;){if(H1=Q+$0|0,Y1=B+-2|0,j1=Z5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+o|0,W=0-M5|0,W1=Q+W|0,c2=ut[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(f2=ut[a&15](P1,H1)|0,s2=(f2|0)>-1,s2)){f3=V5;break}if(E2=ut[a&15](W1,H1)|0,V1=(E2|0)>-1,h2=V5+1|0,a2=Y5+(V5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,m=t2):(e[a2>>2]=H1,f=H1,m=Y1),$2=(m|0)>1,!$2){f3=h2;break}O=e[Y5>>2]|0,B=m,Q=f,P1=O,V5=h2}if(i2=(f3|0)<2,!i2&&(o2=Y5+(f3<<2)|0,e[o2>>2]=e3,!b0))for(y=o,G2=e3;;){for(d2=y>>>0>256,n2=d2?256:y,V2=e[Y5>>2]|0,s4(G2|0,V2|0,n2|0)|0,b2=V2,V3=0;v2=Y5+(V3<<2)|0,w2=V3+1|0,C2=Y5+(w2<<2)|0,F2=e[C2>>2]|0,s4(b2|0,F2|0,n2|0)|0,N2=b2+n2|0,e[v2>>2]=N2,X5=(w2|0)==(f3|0),!X5;)b2=F2,V3=w2;if(X1=(y|0)==(n2|0),X1)break e;u2=y-n2|0,Y=e[o2>>2]|0,y=u2,G2=Y}}while(!1);q2=w1>>>2,P2=z2<<30,A5=q2|P2,O2=z2>>>2,T1=U5+2|0,r0=A5,b1=O2,O5=T1}else{if(X2=U5+-1|0,x5=Z5+(X2<<2)|0,e5=e[x5>>2]|0,D5=F5,Z2=D0-D5|0,v5=e5>>>0>>0,v5){e[Y5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,y3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=Z5+(k2<<2)|0,n5=e[m5>>2]|0,A6=n5+o|0,e0=0-A6|0,R2=_+e0|0,B2=ut[a&15](_2,R2)|0,C5=(B2|0)>-1,C5&&(d5=ut[a&15](_2,l5)|0,b5=(d5|0)>-1,b5)){B3=y3;break}if(G5=ut[a&15](R2,l5)|0,_5=(G5|0)>-1,H2=y3+1|0,I5=Y5+(y3<<2)|0,_5?(e[I5>>2]=R2,o5=v+-1|0,E=R2,p=o5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){B3=H2;break}z=e[Y5>>2]|0,v=p,_=E,_2=z,y3=H2}if(B5=(B3|0)<2,!B5&&(M1=Y5+(B3<<2)|0,e[M1>>2]=e3,!b0))for(D=o,j2=e3;;){for(f5=D>>>0>256,a5=f5?256:D,R5=e[Y5>>2]|0,s4(j2|0,R5|0,a5|0)|0,h5=R5,N3=0;g2=Y5+(N3<<2)|0,p5=N3+1|0,t5=Y5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(p5|0)==(B3|0),!n3;)h5=s5,N3=p5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else Wm(F5,o,a,w1,z2,U5,0,Z5);if($5=(U5|0)==1,$5){x2=z2<<1,Q5=w1>>>31,H5=Q5|x2,j5=w1<<1,r0=j5,b1=H5,O5=0;break}else{E5=X2>>>0>31,u3=U5+-33|0,c=E5?0:w1,L=E5?w1:z2,x=E5?u3:X2,h3=L<>>Z,a0=V|h3,n0=c<>>0>>0,h0)w1=i0,z2=b1,F5=K,U5=O5;else{T=b1,N=i0,m3=K,q5=O5;break}}else T=0,N=1,m3=t,q5=1;if(Wm(m3,o,a,N,T,q5,0,Z5),s0=(q5|0)==1,g0=(N|0)==1,C3=g0&s0,l0=(T|0)==0,c3=l0&C3,c3){C=x3;return}else w0=N,Q0=T,J5=m3,k5=q5;for(;;){if(f0=(k5|0)<2,!f0){O0=Q0<<2,r1=w0>>>30,H0=r1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=Z5+(e1<<2)|0,a1=e[s1>>2]|0,U3=a1+o|0,H=0-U3|0,n1=J5+H|0,A1=k5+-1|0,Wm(n1,o,a,g1,l1,A1,1,Z5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=J5+$0|0,Wm(B1,o,a,E1,m1,e1,1,Z5),w0=E1,Q0=m1,J5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)N0=32,o3=56;else{if(k0=d0&1,u0=(k0|0)==0,u0){for(S=d0,i6=0;;)if(B0=i6+1|0,p0=S>>>1,I0=p0&1,K0=(I0|0)==0,K0)S=p0,i6=B0;else{F=B0;break}_0=(F|0)==0,_0?o3=51:Y0=F}else o3=51;if((o3|0)==51){if(o3=0,L0=(Q0|0)==0,L0){N0=64,o3=56;break}if(F0=Q0&1,T0=(F0|0)==0,T0)w=Q0,R3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=R3+1|0,y0=w>>>1,q0=y0&1,x0=(q0|0)==0,x0)w=y0,R3=U0;else{M=U0,G3=R3;break}if(M0=G3+33|0,J0=(M|0)==0,J0){I=0,Q1=w0,S1=Q0,k1=0;break}else Y0=M0}P0=Y0>>>0>31,P0?(N0=Y0,o3=56):(I=Y0,Q1=w0,S1=Q0,k1=Y0)}while(!1);if((o3|0)==56&&(o3=0,V0=N0+-32|0,I=V0,Q1=Q0,S1=0,k1=N0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=k1+k5|0,G=J5+$0|0,U1=(G1|0)==1,Z1=(L1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=L1,Q0=F1,J5=G,k5=G1}C=x3}function Wm(t,n,o,a,c,f,E,I){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0;B2=C,C=C+720|0,R2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-n|0,$0=(a|0)!=1,Q0=(c|0)!=0,Y0=Q0|$0;e:do if(Y0)if($1=I+(f<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,V1=ut[o&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,L=f,G=E,O2=1,_2=18;else for(w=t,T=f,O=E,I0=Y1,O0=c,D5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,u0=T+-2|0,B0=I+(u0<<2)|0,p0=e[B0>>2]|0,S0=ut[o&15](k0,I0)|0,K0=(S0|0)>-1,K0){v=w,x=T,X2=D5;break e}if(m5=p0+n|0,H=0-m5|0,_0=w+H|0,L0=ut[o&15](_0,I0)|0,F0=(L0|0)>-1,F0){v=w,x=T,X2=D5;break e}}T0=D5+1|0,U0=M2+(D5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,q0=(y0|0)==0;do if(q0)A1=32,_2=15;else{if(x0=y0&1,b0=(x0|0)==0,b0){for(Q=y0,u5=0;;)if(M0=u5+1|0,J0=Q>>>1,P0=J0&1,V0=(P0|0)==0,V0)Q=J0,u5=M0;else{z=M0;break}N0=(z|0)==0,N0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(O0|0)==0,r1){A1=64,_2=15;break}if(H0=O0&1,e1=(H0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,R1=0;break}for(;;)if(D0=v5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,v5=D0;else{Y=D0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(A1=s1,_2=15):(p=s1,I1=k2,E1=O0,R1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=A1+-32|0,p=n1,I1=O0,E1=0,R1=A1),z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=R1+T|0,x1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|x1,!S1){v=I0,x=Q1,X2=T0;break e}if(t0=e[M2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=ut[o&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,L=Q1,G=0,O2=T0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,D5=T0,k2=B1,w=y}else B=t,L=f,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(b1=(G|0)==0,b1)v=B,x=L,X2=O2;else{C=B2;return}K1=(X2|0)<2;e:do if(!K1&&(O1=M2+(X2<<2)|0,e[O1>>2]=R2,H1=(n|0)==0,!H1))for(M=n,h2=R2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,f2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,A5=(P1|0)==(X2|0),!A5;)f2=z1,e5=P1;if(q1=(M|0)==(j1|0),q1)break e;r2=M-j1|0,e0=e[O1>>2]|0,M=r2,h2=e0}while(!1);e[P2>>2]=v,a2=(x|0)>1;e:do if(a2){for(D=x,N=v,n2=v,Z2=1;;){if(t2=N+U|0,$2=D+-2|0,i2=I+($2<<2)|0,o2=e[i2>>2]|0,n5=o2+n|0,X=0-n5|0,X1=N+X|0,u2=ut[o&15](n2,X1)|0,e2=(u2|0)>-1,e2&&(v2=ut[o&15](n2,t2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=ut[o&15](X1,t2)|0,F2=(C2|0)>-1,b2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,S=d2):(e[N2>>2]=t2,m=t2,S=$2),V2=(S|0)>1,!V2){T1=b2;break}J=e[P2>>2]|0,D=S,N=m,n2=J,Z2=b2}if(G2=(T1|0)<2,G2)C0=R2;else if(q2=P2+(T1<<2)|0,e[q2>>2]=R2,V=(n|0)==0,V)C0=R2;else for(F=n,w0=R2;;){for(f0=F>>>0>256,n0=f0?256:F,d0=e[P2>>2]|0,s4(w0|0,d0|0,n0|0)|0,g0=d0,x5=0;r0=P2+(x5<<2)|0,K=x5+1|0,h0=P2+(K<<2)|0,s0=e[h0>>2]|0,s4(g0|0,s0|0,n0|0)|0,j=g0+n0|0,e[r0>>2]=j,z2=(K|0)==(T1|0),!z2;)g0=s0,x5=K;if(a0=(F|0)==(n0|0),a0){C0=R2;break e}i0=F-n0|0,W=e[q2>>2]|0,F=i0,w0=W}}else C0=R2;while(!1);C=B2}function Ui(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,o1[p2>>3]=t,o=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,S=(p|0)==1126170624,w=S&v,y=B|w,y?(n=t,+n):(D=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,f=t+4503599627370496,E=f+-4503599627370496,_=D?c:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function CQ(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,o=(s[p2>>2]=t,e[p2>>2]|0),a=o&2130706432,c=a>>>0>1249902592,c?(n=t,+n):(f=(o|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,S=f?I:p,B=S==0,B?(v=f?-0:0,n=v,+n):(n=S,+n))}function XS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,f=(n|0)>1023,f?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=n+-2046|0,F=(x|0)>1023,o=F?1023:x,a=o,G=L):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=n,G=t)),v=a+1023|0,S=QQ(v|0,0,52)|0,w=q6,e[p2>>2]=S,e[p2+4>>2]=w,y=+o1[p2>>3],D=G*y,+D}function eD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0;I=C,n=t+-1|0,o=553040,a=o,e[a>>2]=n,c=o+4|0,f=c,e[f>>2]=0}function tD(){var t=0,n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=sD(m|0,v|0,1284865837,1481765933)|0,w=q6,y=Vs(S|0,w|0,1,0)|0,D=q6,o=553040,a=o,e[a>>2]=y,c=o+4|0,f=c,e[f>>2]=D,E=zs(y|0,D|0,33)|0,I=q6,E|0}function S9(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,Pn=0,iA=0,Zr=0,rA=0,nA=0,sA=0,On=0,AA=0,Hn=0,qn=0,oA=0,Wr=0,Yn=0,jr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Xr=0,Vn=0,cA=0,Ir=0,en=0,gA=0,hA=0,tn=0,li=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,dA=0,ci=0,rn=0,IA=0,Xn=0,EA=0,mA=0,CA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,nn=0,Er=0,sn=0,vA=0,Zi=0,SA=0,is=0,An=0,rs=0,on=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,mr=0,as=0,gi=0,an=0,Cr=0,Wi=0,Br=0,Oi=0,pr=0,$s=0,Hi=0,Qi=0,yi=0,jt=0,wi=0,Qr=0,ji=0,Xi=0,yr=0,hi=0,RA=0,at=0,j$=0,$n=0,ln=0,Fh=0,X$=0,xA=0,Mh=0,jo=0,el=0,Th=0,Nh=0,Gh=0,Xo=0,tl=0,il=0,ea=0,cn=0,rl=0,Uh=0,LA=0,er=0,Ph=0,Oh=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,nl=0,wr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,FA=0,ia=0,ef=0,tf=0,ra=0,Al=0,ol=0,al=0,na=0,$l=0,MA=0,rf=0,nf=0,ll=0,sf=0,Af=0,cl=0,of=0,af=0,gl=0,hl=0,fl=0,ul=0,dl=0,gn=0,$f=0,Il=0,lf=0,El=0,ml=0,cf=0,gf=0,hf=0,sa=0,Cl=0,Bl=0,ls=0,pl=0,Aa=0,ff=0,Ql=0,uf=0,yl=0,df=0,If=0,wl=0,kl=0,Ef=0,TA=0,mf=0,oa=0,vl=0,Sl=0,Cf=0,Bf=0,pf=0,Qf=0,yf=0,wf=0,NA=0,Dl=0,bl=0,_l=0,GA=0,kf=0,Rl=0,vf=0,xl=0,Sf=0,Df=0,Ll=0,aa=0,bf=0,_f=0,UA=0,Rf=0,PA=0,xf=0,$a=0,Lf=0,Ff=0,Mf=0,Fl=0,Tf=0,Nf=0,Gf=0,Uf=0,Ml=0,Tl=0,tr=0,Nl=0,OA=0,la=0,ca=0,hn=0,Gl=0,fn=0,Pf=0,Ul=0,Of=0,Hf=0,qf=0,Yf=0,HA=0,ga=0,kr=0,Jf=0,Kf=0,Pl=0,ha=0,Ol=0,Hl=0,Vf=0,ql=0,zf=0,fa=0,Zf=0,Wf=0,P9=0,jf=0,Yl=0,Xf=0,eu=0,ua=0,tu=0,da=0,Jl=0,iu=0,ru=0,Kl=0,Vl=0,nu=0,Ia=0,Ea=0,zl=0,Zl=0,su=0,Wl=0,ma=0,Au=0,jl=0,ou=0,au=0,$u=0,lu=0,Xl=0,ec=0,Ca=0,qA=0,tc=0,cu=0,ic=0,rc=0,gu=0,hu=0,fu=0,nc=0,uu=0,du=0,Iu=0,Eu=0,mu=0,Cu=0,sc=0,Bu=0,Ac=0,pu=0,un=0,Qu=0,oc=0,yu=0,cs=0,ac=0,Ba=0,wu=0,YA=0,pa=0,ku=0,Qa=0,$c=0,vu=0,Su=0,Du=0,bu=0,_u=0,lc=0,Ru=0,xu=0,Lu=0,JA=0,gs=0,ya=0,Fu=0,wa=0,Mu=0,Tu=0,Nu=0,cc=0,Gu=0,Uu=0,Pu=0,Ou=0,Hu=0,KA=0,qu=0,Yu=0,gc=0,Ju=0,Ku=0,Vu=0,zu=0,fi=0,hc=0,ui=0,fc=0,ka=0,Zu=0,Xt=0,hs=0,Wu=0,ju=0,Xu=0,ed=0,td=0,uc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,Ad=0,Ic=0,od=0,ad=0,VA=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,dn=0,hd=0,fd=0,In=0,ud=0,Cc=0,dd=0,Id=0,us=0,Bc=0,Ed=0,pc=0,md=0,ir=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,ds=0,vd=0,En=0,Sd=0,Dd=0,Da=0,bd=0,ba=0,_a=0,_d=0,vc=0,Sc=0,Rd=0,Dc=0,bc=0,_c=0,xd=0,Rc=0,xc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,Ra=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Hc=0,xa=0,Kd=0,Vd=0,zd=0,qc=0,Yc=0,Zd=0,Jc=0,La=0,zA=0,Kc=0,Wd=0,jd=0,Xd=0,eI=0,Vc=0,ZA=0,tI=0,iI=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,WA=0,Zc=0,hI=0,fI=0,mn=0,Wc=0,jc=0,Fa=0,uI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,jA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,vr=0,sg=0,Ag=0,DI=0,og=0,XA=0,bI=0,_I=0,RI=0,eo=0,ag=0,xI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,to=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Is=0,OI=0,hg=0,HI=0,Na=0,fg=0,qI=0,YI=0,JI=0,KI=0,ug=0,VI=0,zI=0,dg=0,io=0,ZI=0,WI=0,jI=0,Es=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,ki=0,Bg=0,rr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,ro=0,pg=0,Qg=0,nE=0,no=0,ms=0,sE=0,so=0,Ua=0,AE=0,Pa=0,oE=0,aE=0,yg=0,Ao=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,W7=0,y4=0,ei=0,fE=0,vg=0,Sg=0,Oa=0,uE=0,Sr=0,Cs=0,dE=0,IE=0,Dg=0,Ha=0,EE=0,bg=0,_g=0,Rg=0,qa=0,Ya=0,xg=0,Bs=0,Ja=0,Lg=0,mE=0,Cn=0,CE=0,Fg=0,oo=0,BE=0,Mg=0,vi=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,Si=0,SE=0,DE=0,bE=0,Tg=0,di=0,ao=0,Ka=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,RE=0,xE=0,Og=0,Hg=0,LE=0,FE=0,qg=0,ME=0,ps=0,$o=0,lo=0,TE=0,Va=0,NE=0,GE=0,Yg=0,Qs=0,UE=0,PE=0,za=0,Za=0,co=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ys=0,sr=0,Bn=0,OE=0,Ar=0,pn=0,HE=0,_t=0,Rt=0,xt=0,go=0,ho=0,Jg=0,Kg=0,fo=0,t$=0,Lt=0,uo=0,_r=0,i$=0,qE=0,r$=0,YE=0,n$=0,Vg=0,Io=0,JE=0,KE=0,Eo=0,VE=0,mo=0,Qn=0,Ve=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,Co=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,Bo=0,yn=0,A$=0,ws=0,ks=0,j7=0,vs=0,jg=0,Xg=0,po=0,Ss=0,Ds=0,bs=0,sm=0,_s=0,or=0,eh=0,Rr=0,ii=0,o$=0,a$=0,qi=0,$$=0,l$=0,c$=0,xr=0,$6=0,Qo=0,Lr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Fr=0,Y4=0,h$=0;h$=C,V1=t>>>0<245;do if(V1){if(h2=t>>>0<11,h4=t+11|0,O4=h4&-8,ke=h2?16:O4,xA=ke>>>3,$a=e[138262]|0,JA=$a>>>xA,Uc=JA&3,dg=(Uc|0)==0,!dg){a2=JA&1,f3=a2^1,l3=f3+xA|0,o3=l3<<1,g3=553088+(o3<<2)|0,w0=o3+2|0,R6=553088+(w0<<2)|0,D6=e[R6>>2]|0,x6=D6+8|0,b6=e[x6>>2]|0,d9=(g3|0)==(b6|0);do if(d9)G9=1<>>0>>0,$e&&Q2(),p4=b6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(D6|0),M8){e[p4>>2]=g3,e[R6>>2]=b6;break}else Q2();while(!1);return u8=l3<<3,h7=u8|3,Le=D6+4|0,e[Le>>2]=h7,p0=u8|4,ye=D6+p0|0,H4=e[ye>>2]|0,r7=H4|1,e[ye>>2]=r7,Ve=x6,Ve|0}if(Je=e[138264]|0,q7=ke>>>0>Je>>>0,q7){if(Ut=(JA|0)==0,!Ut){Ot=JA<>>12,nn=EA&16,ns=zn>>>nn,Wi=ns>>>5,ji=Wi&8,Mh=ji|nn,rl=ns>>>ji,Vh=rl>>>2,ia=Vh&4,nf=Mh|ia,dl=rl>>>ia,Cl=dl>>>1,wl=Cl&2,Qf=nf|wl,xl=dl>>>wl,Lf=xl>>>1,Nl=Lf&1,qf=Qf|Nl,Vf=xl>>>Nl,ua=qf+Vf|0,zl=ua<<1,Xl=553088+(zl<<2)|0,U1=zl+2|0,nc=553088+(U1<<2)|0,un=e[nc>>2]|0,Qa=un+8|0,gs=e[Qa>>2]|0,Ou=(Xl|0)==(gs|0);do if(Ou)hc=1<>>0>>0,ir&&Q2(),kc=gs+12|0,_d=e[kc>>2]|0,Fd=(_d|0)==(un|0),Fd){e[kc>>2]=Xl,e[nc>>2]=gs,y=e[138264]|0,to=y;break}else Q2();while(!1);return Pc=ua<<3,xa=Pc-ke|0,Wd=ke|3,AI=un+4|0,e[AI>>2]=Wd,fI=un+ke|0,EI=xa|1,j1=ke|4,kI=un+j1|0,e[kI>>2]=EI,bI=un+Pc|0,e[bI>>2]=xa,hg=(to|0)==0,hg||(io=e[138267]|0,Bg=to>>>3,no=Bg<<1,wg=553088+(no<<2)|0,vg=e[138262]|0,bg=1<>2]|0,C2=e[138266]|0,A5=t2>>>0>>0,A5?Q2():(G=ps,co=t2)),e[G>>2]=io,l5=co+12|0,e[l5>>2]=io,G5=io+8|0,e[G5>>2]=co,W2=io+12|0,e[W2>>2]=wg),e[138264]=xa,e[138267]=fI,Ve=Qa,Ve|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(J5=0-$5|0,w3=$5&J5,B3=w3+-1|0,V3=B3>>>12,N3=V3&16,V5=B3>>>N3,y3=V5>>>5,Z5=y3&8,i6=Z5|N3,R3=V5>>>Z5,G3=R3>>>2,a3=G3&4,c3=i6|a3,C3=R3>>>a3,q5=C3>>>1,U5=q5&2,O5=c3|U5,k5=C3>>>U5,U3=k5>>>1,M5=U3&1,A6=O5|M5,e3=k5>>>M5,x3=A6+e3|0,f6=553352+(x3<<2)|0,p3=e[f6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,r6=Q3&-8,W3=r6-ke|0,Bo=W3,a$=p3,g$=p3;;){if(P3=a$+16|0,K5=e[P3>>2]|0,v3=(K5|0)==0,v3)if(O3=a$+20|0,l6=e[O3>>2]|0,d3=(l6|0)==0,d3){yn=Bo,Q8=g$;break}else v6=l6;else v6=K5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,j3=B6-ke|0,c6=j3>>>0>>0,H=c6?j3:Bo,A2=c6?v6:g$,Bo=H,a$=v6,g$=A2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,S3=Q8>>>0>>0,S3||Q2(),X3=Q8+24|0,e6=e[X3>>2]|0,u6=Q8+12|0,H3=e[u6>>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(V6=Q8+16|0,I6=e[V6>>2]|0,J6=(I6|0)==0,J6){_t=0;break}else sr=I6,go=V6;else sr=n6,go=N6;for(;;){if(L3=sr+20|0,W6=e[L3>>2]|0,G6=(W6|0)==0,!G6){sr=W6,go=L3;continue}if(e9=sr+16|0,s9=e[e9>>2]|0,L6=(s9|0)==0,L6){Ar=sr,Kg=go;break}else sr=s9,go=e9}if(U6=Kg>>>0>>0,U6)Q2();else{e[Kg>>2]=0,_t=Ar;break}}else if(q3=Q8+8|0,z3=e[q3>>2]|0,o6=z3>>>0>>0,o6&&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,b3=(d6|0)==(Q8|0),b3){e[t3>>2]=H3,e[a6>>2]=z3,_t=H3;break}else Q2();while(!1);z6=(e6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,F3=553352+(F6<<2)|0,M6=e[F3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[F3>>2]=_t,JE=(_t|0)==0,JE){o9=1<>>0>>0,$9&&Q2(),T9=e6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_t:(i9=e6+20|0,e[i9>>2]=_t),N9=(_t|0)==0,N9)break;I9=e[138266]|0,E4=_t>>>0>>0,E4&&Q2(),A4=_t+24|0,e[A4>>2]=e6,z9=Q8+16|0,D9=e[z9>>2]|0,E9=(D9|0)==0;do if(!E9)if(H6=D9>>>0>>0,H6)Q2();else{r9=_t+16|0,e[r9>>2]=D9,m4=D9+24|0,e[m4>>2]=_t;break}while(!1);if(S4=Q8+20|0,o4=e[S4>>2]|0,y9=(o4|0)==0,!y9)if(D4=e[138266]|0,R4=o4>>>0>>0,R4)Q2();else{M4=_t+20|0,e[M4>>2]=o4,W4=o4+24|0,e[W4>>2]=_t;break}}while(!1);return C4=yn>>>0<16,C4?(T4=yn+ke|0,U9=T4|3,N4=Q8+4|0,e[N4>>2]=U9,Z1=T4+4|0,a4=Q8+Z1|0,x4=e[a4>>2]|0,f4=x4|1,e[a4>>2]=f4):(H9=ke|3,m9=Q8+4|0,e[m9>>2]=H9,Be=yn|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,g0=yn+ke|0,Xe=Q8+g0|0,e[Xe>>2]=yn,G4=e[138264]|0,Ge=(G4|0)==0,Ge||(U4=e[138267]|0,j4=G4>>>3,De=j4<<1,Z9=553088+(De<<2)|0,oe=e[138262]|0,u4=1<>2]|0,ae=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(T=$4,Za=_4)),e[T>>2]=U4,le=Za+12|0,e[le>>2]=U4,B4=U4+8|0,e[B4>>2]=Za,X4=U4+12|0,e[X4>>2]=Z9),e[138264]=yn,e[138267]=C6),L4=Q8+8|0,Ve=L4,Ve|0}}else v4=ke}else if(ce=t>>>0>4294967231,ce)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?Qn=0:(be=g6>>>0>16777215,be?Qn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=Y3&4,F4=w9|g4,ee=k4<>>16,l7=Re&2,Q7=F4|l7,z8=14-Q7|0,c7=ee<>>15,F8=z8+g7|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,y7=W8|T8,Qn=y7)),G8=553352+(Qn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)ks=pe,$$=0,kn=0,Y4=86;else for(k8=(Qn|0)==31,v8=Qn>>>1,O8=25-v8|0,H8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,xe=Pe-g6|0,i8=xe>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){vs=xe,xr=qi,Fr=qi,Y4=90;break e}else ws=xe,wn=qi;else ws=A$,wn=Rs;if(k9=qi+20|0,Qe=e[k9>>2]|0,f7=po>>>31,w7=(qi+16|0)+(f7<<2)|0,e7=e[w7>>2]|0,k7=(Qe|0)==0,te=(Qe|0)==(e7|0),jE=k7|te,Xg=jE?jg:Qe,t7=(e7|0)==0,q8=po<<1,t7){ks=ws,$$=Xg,kn=wn,Y4=86;break}else A$=ws,jg=Xg,po=q8,qi=e7,Rs=wn}while(!1);if((Y4|0)==86){if(D8=($$|0)==0,r8=(kn|0)==0,ZE=D8&r8,ZE){if(n8=2<>>12,he=m8&16,Oe=A8>>>he,He=Oe>>>5,X9=He&8,Fe=X9|he,fe=Oe>>>X9,o8=fe>>>2,we=o8&4,Q4=Fe|we,C8=fe>>>we,i7=C8>>>1,I3=i7&2,qe=Q4|I3,B8=C8>>>I3,ie=B8>>>1,q9=ie&1,re=qe|q9,b9=B8>>>q9,Ye=re+b9|0,Y8=553352+(Ye<<2)|0,u7=e[Y8>>2]|0,l$=u7,vn=0}else l$=$$,vn=kn;n7=(l$|0)==0,n7?(j7=ks,F9=vn):(vs=ks,xr=l$,Fr=vn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,J8=xr+4|0,s7=e[J8>>2]|0,K8=s7&-8,a8=K8-g6|0,$8=a8>>>0>>0,X=$8?a8:vs,c$=$8?xr:Fr,_8=xr+16|0,q4=e[_8>>2]|0,A7=(q4|0)==0,!A7){vs=X,xr=q4,Fr=c$,Y4=90;continue}if(R8=xr+20|0,p9=e[R8>>2]|0,o7=(p9|0)==0,o7){j7=X,F9=c$;break}else vs=X,xr=p9,Fr=c$,Y4=90}if(Ke=(F9|0)==0,Ke)v4=g6;else if(M7=e[138264]|0,H7=M7-g6|0,v7=j7>>>0>>0,v7){a7=e[138266]|0,S7=F9>>>0>>0,S7&&Q2(),ne=F9+g6|0,T7=F9>>>0>>0,T7||Q2(),l8=F9+24|0,x8=e[l8>>2]|0,D7=F9+12|0,V8=e[D7>>2]|0,Me=(V8|0)==(F9|0);do if(Me){if(J7=F9+20|0,Et=e[J7>>2]|0,K7=(Et|0)==0,K7)if(mt=F9+16|0,it=e[mt>>2]|0,si=(it|0)==0,si){xt=0;break}else pn=it,fo=mt;else pn=Et,fo=J7;for(;;){if(Ct=pn+20|0,Bt=e[Ct>>2]|0,Ai=(Bt|0)==0,!Ai){pn=Bt,fo=Ct;continue}if(pt=pn+16|0,rt=e[pt>>2]|0,oi=(rt|0)==0,oi){HE=pn,t$=fo;break}else pn=rt,fo=pt}if(Ht=t$>>>0>>0,Ht)Q2();else{e[t$>>2]=0,xt=HE;break}}else if(ue=F9+8|0,e4=e[ue>>2]|0,b7=e4>>>0>>0,b7&&Q2(),tt=e4+12|0,Gt=e[tt>>2]|0,Pt=(Gt|0)==(F9|0),Pt||Q2(),dt=V8+8|0,Y7=e[dt>>2]|0,It=(Y7|0)==(F9|0),It){e[tt>>2]=V8,e[dt>>2]=e4,xt=V8;break}else Q2();while(!1);qt=(x8|0)==0;do if(!qt){if(Yt=F9+28|0,Jt=e[Yt>>2]|0,Qt=553352+(Jt<<2)|0,Kt=e[Qt>>2]|0,V7=(F9|0)==(Kt|0),V7){if(e[Qt>>2]=xt,Eo=(xt|0)==0,Eo){st=1<>>0>>0,$i&&Q2(),yt=x8+16|0,wt=e[yt>>2]|0,kt=(wt|0)==(F9|0),kt?e[yt>>2]=xt:(Zt=x8+20|0,e[Zt>>2]=xt),vt=(xt|0)==0,vt)break;Z7=e[138266]|0,St=xt>>>0>>0,St&&Q2(),Wt=xt+24|0,e[Wt>>2]=x8,At=F9+16|0,G7=e[At>>2]|0,Dt=(G7|0)==0;do if(!Dt)if(_7=G7>>>0>>0,_7)Q2();else{ot=xt+16|0,e[ot>>2]=G7,n9=G7+24|0,e[n9>>2]=xt;break}while(!1);if(d7=F9+20|0,p8=e[d7>>2]|0,I7=(p8|0)==0,!I7)if(R7=e[138266]|0,zr=p8>>>0>>0,zr)Q2();else{dr=xt+20|0,e[dr>>2]=p8,js=p8+24|0,e[js>>2]=xt;break}}while(!1);Xs=j7>>>0<16;e:do if(Xs)Un=j7+g6|0,eA=Un|3,tA=F9+4|0,e[tA>>2]=eA,c1=Un+4|0,Pn=F9+c1|0,iA=e[Pn>>2]|0,Zr=iA|1,e[Pn>>2]=Zr;else{if(rA=g6|3,nA=F9+4|0,e[nA>>2]=rA,sA=j7|1,r0=g6|4,AA=F9+r0|0,e[AA>>2]=sA,d0=j7+g6|0,Hn=F9+d0|0,e[Hn>>2]=j7,qn=j7>>>3,oA=j7>>>0<256,oA){Wr=qn<<1,Yn=553088+(Wr<<2)|0,jr=e[138262]|0,Jn=1<>2]|0,cA=e[138266]|0,Ir=Vn>>>0>>0,Ir?Q2():(M=Xr,ja=Vn)),e[M>>2]=ne,en=ja+12|0,e[en>>2]=ne,O0=g6+8|0,gA=F9+O0|0,e[gA>>2]=ja,H0=g6+12|0,hA=F9+H0|0,e[hA>>2]=Yn;break}if(tn=j7>>>8,li=(tn|0)==0,li?Dr=0:(fA=j7>>>0>16777215,fA?Dr=31:(uA=tn+1048320|0,Zn=uA>>>16,Wn=Zn&8,jn=tn<>>16,rn=ci&4,IA=rn|Wn,Xn=jn<>>16,es=CA&2,BA=IA|es,pA=14-BA|0,QA=Xn<>>15,ts=pA+yA|0,wA=ts<<1,kA=ts+7|0,Er=j7>>>kA,sn=Er&1,vA=sn|wA,Dr=vA)),Zi=553352+(Dr<<2)|0,g1=g6+28|0,SA=F9+g1|0,e[SA>>2]=Dr,x1=g6+16|0,is=F9+x1|0,b1=g6+20|0,An=F9+b1|0,e[An>>2]=0,e[is>>2]=0,rs=e[138263]|0,on=1<>2]=ne,q1=g6+24|0,As=F9+q1|0,e[As>>2]=Zi,r2=g6+12|0,os=F9+r2|0,e[os>>2]=ne,P1=g6+8|0,_A=F9+P1|0,e[_A>>2]=ne;break}mr=e[Zi>>2]|0,as=mr+4|0,gi=e[as>>2]|0,an=gi&-8,Cr=(an|0)==(j7|0);t:do if(Cr)Lt=mr;else{for(Br=(Dr|0)==31,Oi=Dr>>>1,pr=25-Oi|0,$s=Br?0:pr,Hi=j7<<$s,Xa=Hi,i$=mr;;){if(yr=Xa>>>31,hi=(i$+16|0)+(yr<<2)|0,jt=e[hi>>2]|0,RA=(jt|0)==0,RA){w=hi,qE=i$;break}if(Qi=Xa<<1,yi=jt+4|0,wi=e[yi>>2]|0,Qr=wi&-8,Xi=(Qr|0)==(j7|0),Xi){Lt=jt;break t}else Xa=Qi,i$=jt}if(at=e[138266]|0,j$=w>>>0>>0,j$)Q2();else{e[w>>2]=ne,u0=g6+24|0,$n=F9+u0|0,e[$n>>2]=qE,U0=g6+12|0,ln=F9+U0|0,e[ln>>2]=ne,P0=g6+8|0,Fh=F9+P0|0,e[Fh>>2]=ne;break e}}while(!1);if(X$=Lt+8|0,jo=e[X$>>2]|0,el=e[138266]|0,Th=jo>>>0>=el>>>0,zg=Lt>>>0>=el>>>0,Nh=Th&zg,Nh){Gh=jo+12|0,e[Gh>>2]=ne,e[X$>>2]=ne,c2=g6+8|0,Xo=F9+c2|0,e[Xo>>2]=jo,f2=g6+12|0,tl=F9+f2|0,e[tl>>2]=Lt,C0=g6+24|0,il=F9+C0|0,e[il>>2]=0;break}else Q2()}while(!1);return ea=F9+8|0,Ve=ea,Ve|0}else v4=g6}while(!1);if(cn=e[138264]|0,Uh=cn>>>0>>0,!Uh)return LA=cn-v4|0,er=e[138267]|0,Ph=LA>>>0>15,Ph?(Oh=er+v4|0,e[138267]=Oh,e[138264]=LA,Hh=LA|1,f1=v4+4|0,qh=er+f1|0,e[qh>>2]=Hh,Yh=er+cn|0,e[Yh>>2]=LA,Jh=v4|3,Kh=er+4|0,e[Kh>>2]=Jh):(e[138264]=0,e[138267]=0,zh=cn|3,Zh=er+4|0,e[Zh>>2]=zh,s0=cn+4|0,nl=er+s0|0,wr=e[nl>>2]|0,Wh=wr|1,e[nl>>2]=Wh),jh=er+8|0,Ve=jh,Ve|0;if(sl=e[138265]|0,Xh=sl>>>0>v4>>>0,Xh)return ta=sl-v4|0,e[138265]=ta,FA=e[138268]|0,ef=FA+v4|0,e[138268]=ef,tf=ta|1,U=v4+4|0,ra=FA+U|0,e[ra>>2]=tf,Al=v4|3,ol=FA+4|0,e[ol>>2]=Al,al=FA+8|0,Ve=al,Ve|0;na=e[138380]|0,$l=(na|0)==0;do if($l)if(MA=fv(30)|0,rf=MA+-1|0,ll=rf&MA,sf=(ll|0)==0,sf){e[138382]=MA,e[138381]=MA,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,Af=Yp(0)|0,cl=Af&-16,of=cl^1431655768,e[138380]=of;break}else Q2();while(!1);if(af=v4+48|0,gl=e[138382]|0,hl=v4+47|0,fl=gl+hl|0,ul=0-gl|0,gn=fl&ul,$f=gn>>>0>v4>>>0,!$f||(Il=e[138372]|0,lf=(Il|0)==0,!lf&&(El=e[138370]|0,ml=El+gn|0,cf=ml>>>0<=El>>>0,gf=ml>>>0>Il>>>0,Co=cf|gf,Co)))return Ve=0,Ve|0;hf=e[138373]|0,sa=hf&4,Bl=(sa|0)==0;e:do if(Bl){ls=e[138268]|0,pl=(ls|0)==0;t:do if(pl)Y4=174;else{for(Ss=553496;;){if(Aa=e[Ss>>2]|0,ff=Aa>>>0>ls>>>0,!ff&&(Ql=Ss+4|0,uf=e[Ql>>2]|0,yl=Aa+uf|0,df=yl>>>0>ls>>>0,df)){v=Ss,S=Ql;break}if(If=Ss+8|0,kl=e[If>>2]|0,Ef=(kl|0)==0,Ef){Y4=174;break t}else Ss=kl}if(bf=e[138265]|0,_f=fl-bf|0,UA=_f&ul,Rf=UA>>>0<2147483647,Rf)if(PA=Nt(UA|0)|0,xf=e[v>>2]|0,Ff=e[S>>2]|0,Mf=xf+Ff|0,Fl=(PA|0)==(Mf|0),n=Fl?UA:0,Fl)if(Tf=(PA|0)==-1,Tf)Lr=n;else{$6=PA,ve=n,Y4=194;break e}else Io=PA,ii=UA,Qo=n,Y4=184;else Lr=0}while(!1);do if((Y4|0)==174)if(TA=Nt(0)|0,mf=(TA|0)==-1,mf)Lr=0;else if(oa=TA,vl=e[138381]|0,Sl=vl+-1|0,Cf=Sl&oa,Bf=(Cf|0)==0,Bf?Rr=gn:(pf=Sl+oa|0,yf=0-vl|0,wf=pf&yf,NA=gn-oa|0,Dl=NA+wf|0,Rr=Dl),bl=e[138370]|0,_l=bl+Rr|0,GA=Rr>>>0>v4>>>0,kf=Rr>>>0<2147483647,WE=GA&kf,WE){if(Rl=e[138372]|0,vf=(Rl|0)==0,!vf&&(Sf=_l>>>0<=bl>>>0,Df=_l>>>0>Rl>>>0,XE=Sf|Df,XE)){Lr=0;break}if(Ll=Nt(Rr|0)|0,aa=(Ll|0)==(TA|0),eh=aa?Rr:0,aa){$6=TA,ve=eh,Y4=194;break e}else Io=Ll,ii=Rr,Qo=eh,Y4=184}else Lr=0;while(!1);t:do if((Y4|0)==184){Nf=0-ii|0,Gf=(Io|0)!=-1,Uf=ii>>>0<2147483647,tm=Uf&Gf,Ml=af>>>0>ii>>>0,im=Ml&tm;do if(im)if(Tl=e[138382]|0,tr=hl-ii|0,OA=tr+Tl|0,la=0-Tl|0,ca=OA&la,hn=ca>>>0<2147483647,hn)if(Gl=Nt(ca|0)|0,fn=(Gl|0)==-1,fn){Nt(Nf|0)|0,Lr=Qo;break t}else{Pf=ca+ii|0,o$=Pf;break}else o$=ii;else o$=ii;while(!1);if(Ul=(Io|0)==-1,Ul)Lr=Qo;else{$6=Io,ve=o$,Y4=194;break e}}while(!1);Of=e[138373]|0,Hf=Of|4,e[138373]=Hf,th=Lr,Y4=191}else th=0,Y4=191;while(!1);if((Y4|0)==191&&(Yf=gn>>>0<2147483647,Yf&&(HA=Nt(gn|0)|0,ga=Nt(0)|0,kr=(HA|0)!=-1,Jf=(ga|0)!=-1,em=kr&Jf,Kf=HA>>>0>>0,rm=Kf&em,rm&&(Pl=ga,ha=HA,Ol=Pl-ha|0,Hl=v4+40|0,ql=Ol>>>0>Hl>>>0,E2=ql?Ol:th,ql&&($6=HA,ve=E2,Y4=194)))),(Y4|0)==194){zf=e[138370]|0,fa=zf+ve|0,e[138370]=fa,Zf=e[138371]|0,Wf=fa>>>0>Zf>>>0,Wf&&(e[138371]=fa),P9=e[138268]|0,jf=(P9|0)==0;e:do if(jf){for(Yl=e[138266]|0,Xf=(Yl|0)==0,eu=$6>>>0>>0,nm=Xf|eu,nm&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,tu=e[138380]|0,e[138271]=tu,e[138270]=-1,mo=0;da=mo<<1,Jl=553088+(da<<2)|0,$0=da+3|0,iu=553088+($0<<2)|0,e[iu>>2]=Jl,j=da+2|0,ru=553088+(j<<2)|0,e[ru>>2]=Jl,Kl=mo+1|0,VE=(Kl|0)==32,!VE;)mo=Kl;Vl=ve+-40|0,nu=$6+8|0,Ia=nu,Ea=Ia&7,Zl=(Ea|0)==0,su=0-Ia|0,Wl=su&7,ma=Zl?0:Wl,Au=$6+ma|0,jl=Vl-ma|0,e[138268]=Au,e[138265]=jl,ou=jl|1,V=ma+4|0,au=$6+V|0,e[au>>2]=ou,l1=ve+-36|0,$u=$6+l1|0,e[$u>>2]=40,lu=e[138384]|0,e[138269]=lu}else{for(bs=553496;;){if(ec=e[bs>>2]|0,Ca=bs+4|0,qA=e[Ca>>2]|0,tc=ec+qA|0,cu=($6|0)==(tc|0),cu){m=ec,p=Ca,B=qA,sm=bs,Y4=204;break}if(ic=bs+8|0,rc=e[ic>>2]|0,gu=(rc|0)==0,gu)break;bs=rc}if((Y4|0)==204&&(hu=sm+12|0,fu=e[hu>>2]|0,uu=fu&8,du=(uu|0)==0,du&&(Iu=P9>>>0>=m>>>0,Eu=P9>>>0<$6>>>0,Wg=Eu&Iu,Wg))){mu=B+ve|0,e[p>>2]=mu,Cu=e[138265]|0,sc=Cu+ve|0,Bu=P9+8|0,Ac=Bu,pu=Ac&7,Qu=(pu|0)==0,oc=0-Ac|0,yu=oc&7,cs=Qu?0:yu,ac=P9+cs|0,Ba=sc-cs|0,e[138268]=ac,e[138265]=Ba,wu=Ba|1,n0=cs+4|0,YA=P9+n0|0,e[YA>>2]=wu,n1=sc+4|0,pa=P9+n1|0,e[pa>>2]=40,ku=e[138384]|0,e[138269]=ku;break}for($c=e[138266]|0,vu=$6>>>0<$c>>>0,vu?(e[138266]=$6,us=$6):us=$c,Su=$6+ve|0,_s=553496;;){if(Du=e[_s>>2]|0,bu=(Du|0)==(Su|0),bu){I=_s,or=_s,Y4=212;break}if(_u=_s+8|0,lc=e[_u>>2]|0,Ru=(lc|0)==0,Ru){Ds=553496;break}else _s=lc}if((Y4|0)==212)if(xu=or+12|0,Lu=e[xu>>2]|0,ya=Lu&8,Fu=(ya|0)==0,Fu){e[I>>2]=$6,wa=or+4|0,Mu=e[wa>>2]|0,Tu=Mu+ve|0,e[wa>>2]=Tu,Nu=$6+8|0,cc=Nu,Gu=cc&7,Uu=(Gu|0)==0,Pu=0-cc|0,Hu=Pu&7,KA=Uu?0:Hu,qu=$6+KA|0,I0=ve+8|0,Yu=$6+I0|0,gc=Yu,Ju=gc&7,Ku=(Ju|0)==0,Vu=0-gc|0,zu=Vu&7,fi=Ku?0:zu,S0=fi+ve|0,ui=$6+S0|0,fc=ui,ka=qu,Zu=fc-ka|0,i0=KA+v4|0,Xt=$6+i0|0,hs=Zu-v4|0,Wu=v4|3,f0=KA+4|0,ju=$6+f0|0,e[ju>>2]=Wu,Xu=(ui|0)==(P9|0);t:do if(Xu)ed=e[138265]|0,uc=ed+hs|0,e[138265]=uc,e[138268]=Xt,id=uc|1,H1=i0+4|0,rd=$6+H1|0,e[rd>>2]=id;else{if(dc=e[138267]|0,nd=(ui|0)==(dc|0),nd){sd=e[138264]|0,fs=sd+hs|0,e[138264]=fs,e[138267]=Xt,va=fs|1,K1=i0+4|0,Ad=$6+K1|0,e[Ad>>2]=va,O1=fs+i0|0,Ic=$6+O1|0,e[Ic>>2]=fs;break}if(A1=ve+4|0,K0=A1+fi|0,ad=$6+K0|0,VA=e[ad>>2]|0,$d=VA&3,ld=($d|0)==1,ld){Ec=VA&-8,mc=VA>>>3,cd=VA>>>0<256;i:do if(cd){G1=fi|8,J0=G1+ve|0,gd=$6+J0|0,dn=e[gd>>2]|0,k1=ve+12|0,Y0=k1+fi|0,hd=$6+Y0|0,In=e[hd>>2]|0,ud=mc<<1,Cc=553088+(ud<<2)|0,dd=(dn|0)==(Cc|0);do if(!dd){if(Id=dn>>>0>>0,Id&&Q2(),Bc=dn+12|0,Ed=e[Bc>>2]|0,pc=(Ed|0)==(ui|0),pc)break;Q2()}while(!1);if(md=(In|0)==(dn|0),md){Sa=1<>>0>>0,pd&&Q2(),wc=In+8|0,Qd=e[wc>>2]|0,yd=(Qd|0)==(ui|0),yd){N=wc;break}Q2()}while(!1);wd=dn+12|0,e[wd>>2]=In,e[N>>2]=dn}else{L1=fi|24,_0=L1+ve|0,kd=$6+_0|0,ds=e[kd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,vd=$6+Q0|0,En=e[vd>>2]|0,Sd=(En|0)==(ui|0);do if(Sd){if(W1=fi|16,b0=A1+W1|0,bc=$6+b0|0,_c=e[bc>>2]|0,xd=(_c|0)==0,xd)if(M0=W1+ve|0,Rc=$6+M0|0,xc=e[Rc>>2]|0,Ld=(xc|0)==0,Ld){Rt=0;break}else Bn=xc,ho=Rc;else Bn=_c,ho=bc;for(;;){if(Lc=Bn+20|0,Fc=e[Lc>>2]|0,Md=(Fc|0)==0,!Md){Bn=Fc,ho=Lc;continue}if(Mc=Bn+16|0,Tc=e[Mc>>2]|0,Td=(Tc|0)==0,Td){OE=Bn,Jg=ho;break}else Bn=Tc,ho=Mc}if(Nd=Jg>>>0>>0,Nd)Q2();else{e[Jg>>2]=0,Rt=OE;break}}else if(F1=fi|8,L0=F1+ve|0,Dd=$6+L0|0,Da=e[Dd>>2]|0,bd=Da>>>0>>0,bd&&Q2(),ba=Da+12|0,_a=e[ba>>2]|0,vc=(_a|0)==(ui|0),vc||Q2(),Sc=En+8|0,Rd=e[Sc>>2]|0,Dc=(Rd|0)==(ui|0),Dc){e[ba>>2]=En,e[Sc>>2]=Da,Rt=En;break}else Q2();while(!1);if(Nc=(ds|0)==0,Nc)break;w1=ve+28|0,F0=w1+fi|0,Ra=$6+F0|0,Gc=e[Ra>>2]|0,Oc=553352+(Gc<<2)|0,Gd=e[Oc>>2]|0,Ud=(ui|0)==(Gd|0);do if(Ud){if(e[Oc>>2]=Rt,KE=(Rt|0)==0,!KE)break;Pd=1<>>0>>0,Jd&&Q2(),Hc=ds+16|0,Kd=e[Hc>>2]|0,Vd=(Kd|0)==(ui|0),Vd?e[Hc>>2]=Rt:(zd=ds+20|0,e[zd>>2]=Rt),qc=(Rt|0)==0,qc)break i;while(!1);Yc=e[138266]|0,Zd=Rt>>>0>>0,Zd&&Q2(),Jc=Rt+24|0,e[Jc>>2]=ds,S1=fi|16,T0=S1+ve|0,La=$6+T0|0,zA=e[La>>2]|0,Kc=(zA|0)==0;do if(!Kc)if(jd=zA>>>0>>0,jd)Q2();else{Xd=Rt+16|0,e[Xd>>2]=zA,eI=zA+24|0,e[eI>>2]=Rt;break}while(!1);if(q0=A1+S1|0,Vc=$6+q0|0,ZA=e[Vc>>2]|0,tI=(ZA|0)==0,tI)break;if(iI=e[138266]|0,rI=ZA>>>0>>0,rI)Q2();else{nI=Rt+20|0,e[nI>>2]=ZA,sI=ZA+24|0,e[sI>>2]=Rt;break}}while(!1);s2=Ec|fi,x0=s2+ve|0,oI=$6+x0|0,aI=Ec+hs|0,Zg=oI,ti=aI}else Zg=ui,ti=hs;if(zc=Zg+4|0,$I=e[zc>>2]|0,lI=$I&-2,e[zc>>2]=lI,cI=ti|1,k0=i0+4|0,gI=$6+k0|0,e[gI>>2]=cI,B0=ti+i0|0,WA=$6+B0|0,e[WA>>2]=ti,Zc=ti>>>3,hI=ti>>>0<256,hI){mn=Zc<<1,Wc=553088+(mn<<2)|0,jc=e[138262]|0,Fa=1<>2]|0,II=e[138266]|0,mI=tg>>>0>>0,!mI){F=eg,Wa=tg;break}Q2()}while(!1);e[F>>2]=Xt,CI=Wa+12|0,e[CI>>2]=Xt,B1=i0+8|0,BI=$6+B1|0,e[BI>>2]=Wa,p1=i0+12|0,jA=$6+p1|0,e[jA>>2]=Wc;break}Ma=ti>>>8,pI=(Ma|0)==0;do if(pI)br=0;else{if(QI=ti>>>0>16777215,QI){br=31;break}yI=Ma+1048320|0,wI=yI>>>16,ig=wI&8,rg=Ma<>>16,ng=SI&4,vr=ng|ig,sg=rg<>>16,og=DI&2,XA=vr|og,_I=14-XA|0,RI=sg<>>15,ag=_I+eo|0,xI=ag<<1,LI=ag+7|0,$g=ti>>>LI,FI=$g&1,MI=FI|xI,br=MI}while(!1);if(Ta=553352+(br<<2)|0,y0=i0+28|0,TI=$6+y0|0,e[TI>>2]=br,V0=i0+16|0,NI=$6+V0|0,N0=i0+20|0,GI=$6+N0|0,e[GI>>2]=0,e[NI>>2]=0,lg=e[138263]|0,cg=1<>2]=Xt,r1=i0+24|0,Is=$6+r1|0,e[Is>>2]=Ta,e1=i0+12|0,OI=$6+e1|0,e[OI>>2]=Xt,i1=i0+8|0,HI=$6+i1|0,e[HI>>2]=Xt;break}Na=e[Ta>>2]|0,fg=Na+4|0,qI=e[fg>>2]|0,YI=qI&-8,JI=(YI|0)==(ti|0);i:do if(JI)_r=Na;else{for(KI=(br|0)==31,ug=br>>>1,VI=25-ug|0,zI=KI?0:VI,ZI=ti<>>31,Cg=(r$+16|0)+(mg<<2)|0,Es=e[Cg>>2]|0,ki=(Es|0)==0,ki){o=Cg,YE=r$;break}if(WI=ys<<1,jI=Es+4|0,Ig=e[jI>>2]|0,Eg=Ig&-8,XI=(Eg|0)==(ti|0),XI){_r=Es;break i}else ys=WI,r$=Es}if(rr=e[138266]|0,eE=o>>>0>>0,eE)Q2();else{e[o>>2]=Xt,m1=i0+24|0,tE=$6+m1|0,e[tE>>2]=YE,d1=i0+12|0,iE=$6+d1|0,e[iE>>2]=Xt,E1=i0+8|0,rE=$6+E1|0,e[rE>>2]=Xt;break t}}while(!1);if(Ga=_r+8|0,ro=e[Ga>>2]|0,pg=e[138266]|0,Qg=ro>>>0>=pg>>>0,s$=_r>>>0>=pg>>>0,nE=Qg&s$,nE){ms=ro+12|0,e[ms>>2]=Xt,e[Ga>>2]=Xt,z0=i0+8|0,sE=$6+z0|0,e[sE>>2]=ro,I1=i0+12|0,so=$6+I1|0,e[so>>2]=_r,h1=i0+24|0,Ua=$6+h1|0,e[Ua>>2]=0;break}else Q2()}while(!1);return $1=KA|8,AE=$6+$1|0,Ve=AE,Ve|0}else Ds=553496;for(;;){if(Pa=e[Ds>>2]|0,oE=Pa>>>0>P9>>>0,!oE&&(aE=Ds+4|0,yg=e[aE>>2]|0,Ao=Pa+yg|0,$E=Ao>>>0>P9>>>0,$E)){c=Pa,f=yg,E=Ao;break}lE=Ds+8|0,cE=e[lE>>2]|0,Ds=cE}if(a0=f+-47|0,l0=f+-39|0,gE=c+l0|0,kg=gE,hE=kg&7,W7=(hE|0)==0,y4=0-kg|0,ei=y4&7,fE=W7?0:ei,a1=a0+fE|0,Sg=c+a1|0,Oa=P9+16|0,uE=Sg>>>0>>0,Sr=uE?P9:Sg,Cs=Sr+8|0,dE=ve+-40|0,IE=$6+8|0,Dg=IE,Ha=Dg&7,EE=(Ha|0)==0,_g=0-Dg|0,Rg=_g&7,qa=EE?0:Rg,Ya=$6+qa|0,xg=dE-qa|0,e[138268]=Ya,e[138265]=xg,Bs=xg|1,Z=qa+4|0,Ja=$6+Z|0,e[Ja>>2]=Bs,s1=ve+-36|0,Lg=$6+s1|0,e[Lg>>2]=40,mE=e[138384]|0,e[138269]=mE,Cn=Sr+4|0,e[Cn>>2]=27,e[Cs>>2]=e[138374]|0,e[Cs+4>>2]=e[138375]|0,e[Cs+8>>2]=e[138376]|0,e[Cs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=Cs,Fg=Sr+28|0,e[Fg>>2]=7,oo=Sr+32|0,BE=oo>>>0>>0,BE)for(vi=Fg;Mg=vi+4|0,e[Mg>>2]=7,pE=vi+8|0,QE=pE>>>0>>0,QE;)vi=Mg;if(yE=(Sr|0)==(P9|0),!yE){if(wE=Sr,kE=P9,Si=wE-kE|0,SE=e[Cn>>2]|0,DE=SE&-2,e[Cn>>2]=DE,bE=Si|1,Tg=P9+4|0,e[Tg>>2]=bE,e[Sr>>2]=Si,di=Si>>>3,ao=Si>>>0<256,ao){Ka=di<<1,Ng=553088+(Ka<<2)|0,Gg=e[138262]|0,Ug=1<>2]|0,LE=e[138266]|0,FE=Hg>>>0>>0,FE?Q2():(x=Og,za=Hg)),e[x>>2]=P9,qg=za+12|0,e[qg>>2]=P9,ME=P9+8|0,e[ME>>2]=za,$o=P9+12|0,e[$o>>2]=Ng;break}if(lo=Si>>>8,TE=(lo|0)==0,TE?nr=0:(Va=Si>>>0>16777215,Va?nr=31:(NE=lo+1048320|0,GE=NE>>>16,Yg=GE&8,Qs=lo<>>16,$2=PE&4,i2=$2|Yg,o2=Qs<<$2,X1=o2+245760|0,n2=X1>>>16,u2=n2&2,e2=i2|u2,y2=14-e2|0,v2=o2<>>15,F2=y2+w2|0,b2=F2<<1,N2=F2+7|0,d2=Si>>>N2,V2=d2&1,G2=V2|b2,nr=G2)),q2=553352+(nr<<2)|0,M2=P9+28|0,e[M2>>2]=nr,P2=P9+20|0,e[P2>>2]=0,e[Oa>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=q2,D5=P9+12|0,e[D5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}u5=e[q2>>2]|0,v5=u5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(Si|0);t:do if(m5)uo=u5;else{for(n5=(nr|0)==31,R2=nr>>>1,_2=25-R2|0,B2=n5?0:_2,C5=Si<>>31,c5=(n$+16|0)+(o5<<2)|0,b5=e[c5>>2]|0,B5=(b5|0)==0,B5){a=c5,Vg=n$;break}if(L5=e$<<1,d5=b5+4|0,_5=e[d5>>2]|0,H2=_5&-8,I5=(H2|0)==(Si|0),I5){uo=b5;break t}else e$=L5,n$=b5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Vg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=uo+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,zE=uo>>>0>=s5>>>0,J2=h5&zE,J2){f5=t5+12|0,e[f5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,R5=P9+12|0,e[R5>>2]=uo,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(x2=e[138265]|0,Q5=x2>>>0>v4>>>0,Q5)return H5=x2-v4|0,e[138265]=H5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,u3=H5|1,K=v4+4|0,h3=j5+K|0,e[h3>>2]=u3,Y5=v4|3,X5=j5+4|0,e[X5>>2]=Y5,n3=j5+8|0,Ve=n3,Ve|0}return F5=qp()|0,e[F5>>2]=12,Ve=0,Ve|0}function I2(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0;if(Re=C,X=(t|0)==0,!X){U=t+-8|0,V2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,R4=(z9|0)==1,R4&&Q2(),H9=$9&-8,p=H9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,b0=(z9|0)==0,b0)return;if(Q=-8-S0|0,D0=t+Q|0,z0=S0+H9|0,w1=D0>>>0>>0,w1&&Q2(),O1=e[138267]|0,s2=(D0|0)==(O1|0),s2){if(z=H9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,K=(r0|0)==3,!K){Y3=D0,w9=z0;break}e[138264]=z0,h0=i0&-2,e[n0>>2]=h0,s0=z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=s0,e[Z9>>2]=z0;return}if(n2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,D5=t+Y|0,B2=e[D5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,u3=n2<<1,V3=553088+(u3<<2)|0,C3=(B2|0)==(V3|0),C3||(f6=B2>>>0>>0,f6&&Q2(),l6=B2+12|0,S3=e[l6>>2]|0,O6=(S3|0)==(D0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,b6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,F3=(F6|0)==(D0|0),F3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,Y3=D0,w9=z0;break}L=Q+24|0,t9=t+L|0,o9=e[t9>>2]|0,x=Q+12|0,j6=t+x|0,f9=e[j6>>2]|0,u9=(f9|0)==(D0|0);do if(u9){if(M=Q+20|0,A4=t+M|0,h4=e[A4>>2]|0,G9=(h4|0)==0,G9)if(F=Q+16|0,D9=t+F|0,E9=e[D9>>2]|0,H6=(E9|0)==0,H6){C9=0;break}else L4=E9,pe=D9;else L4=h4,pe=A4;for(;;){if(r9=L4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){L4=m4,pe=r9;continue}if(o4=L4+16|0,y9=e[o4>>2]|0,D4=(y9|0)==0,D4){ce=L4,p4=pe;break}else L4=y9,pe=o4}if(b4=p4>>>0>>0,b4)Q2();else{e[p4>>2]=0,C9=ce;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=f9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(D0|0),E4){e[E6>>2]=f9,e[N9>>2]=a9,C9=f9;break}else Q2();while(!1);if(M4=(o9|0)==0,M4)Y3=D0,w9=z0;else{if(T=Q+28|0,W4=t+T|0,C4=e[W4>>2]|0,T4=553352+(C4<<2)|0,U9=e[T4>>2]|0,N4=(D0|0)==(U9|0),N4){if(e[T4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=o9+16|0,Xe=e[Ne>>2]|0,G4=(Xe|0)==(D0|0),G4?e[Ne>>2]=C9:(Ge=o9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){Y3=D0,w9=z0;break}j4=e[138266]|0,De=C9>>>0>>0,De&&Q2(),e8=C9+24|0,e[e8>>2]=o9,N=Q+16|0,oe=t+N|0,u4=e[oe>>2]|0,_6=(u4|0)==0;do if(!_6)if(P4=u4>>>0>>0,P4)Q2();else{L9=C9+16|0,e[L9>>2]=u4,$4=u4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,ae=e[_4>>2]|0,W9=(ae|0)==0,W9)Y3=D0,w9=z0;else if($e=e[138266]|0,Z=ae>>>0<$e>>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=ae,a0=ae+24|0,e[a0>>2]=C9,Y3=D0,w9=z0;break}}}else Y3=U,w9=H9;while(!1);if(l0=Y3>>>0>>0,l0||Q2(),D=H9+-4|0,f0=t+D|0,d0=e[f0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,u0=(k0|0)==0,u0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,K0=I0+w9|0,e[138265]=K0,e[138268]=Y3,_0=K0|1,Q0=Y3+4|0,e[Q0>>2]=_0,L0=e[138267]|0,F0=(Y3|0)==(L0|0),!F0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,U0=(Z9|0)==(T0|0),U0){y0=e[138264]|0,q0=y0+w9|0,e[138264]=q0,e[138267]=Y3,x0=q0|1,M0=Y3+4|0,e[M0>>2]=x0,J0=Y3+q0|0,e[J0>>2]=q0;return}Y0=d0&-8,P0=Y0+w9|0,V0=d0>>>3,N0=d0>>>0<256;do if(N0){if(O0=t+H9|0,r1=e[O0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=V0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){A1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,R1=(Q1|0)==(Z9|0),R1?a=p1:Q2()),x1=r1+12|0,e[x1>>2]=e1,e[a>>2]=r1}else{J=H9+16|0,S1=t+J|0,L1=e[S1>>2]|0,W=H9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(H=H9+12|0,W1=t+H|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){l4=0;break}else g6=f2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,V1=e[A2>>2]|0,h2=(V1|0)==0,!h2){g6=V1,c4=A2;continue}if(a2=g6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ue=g6,P6=c4;break}else g6=t2,c4=a2}if(i2=e[138266]|0,o2=P6>>>0>>0,o2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+H9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,b1=Z1>>>0>>0,b1&&Q2(),K1=Z1+12|0,H1=e[K1>>2]|0,q1=(H1|0)==(Z9|0),q1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,r2=(j1|0)==(Z9|0),r2){e[K1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(L1|0)==0,!X1){if(v=H9+20|0,u2=t+v|0,e2=e[u2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,q2&&Q2(),M2=L1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(A5=L1+20|0,e[A5>>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]=L1,S=H9+8|0,e5=t+S|0,Z2=e[e5>>2]|0,u5=(Z2|0)==0;do if(!u5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=H9+12|0,k2=t+w|0,m5=e[k2>>2]|0,n5=(m5|0)==0,!n5)if(R2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,L5=m5+24|0,e[L5>>2]=l4;break}}}while(!1);if(d5=P0|1,b5=Y3+4|0,e[b5>>2]=d5,G5=Y3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,H2=(Y3|0)==(_5|0),H2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[f0>>2]=I5,o5=w9|1,c5=Y3+4|0,e[c5>>2]=o5,M1=Y3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,R5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(f=f5,le=i5)),e[f>>2]=Y3,$5=le+12|0,e[$5>>2]=Y3,x2=Y3+8|0,e[x2>>2]=le,Q5=Y3+12|0,e[Q5>>2]=W2;return}H5=B9>>>8,j5=(H5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=H5+1048320|0,Y5=h3>>>16,X5=Y5&8,n3=H5<>>16,J5=F5&4,w3=J5|X5,f3=n3<>>16,V5=N3&2,y3=w3|V5,Z5=14-y3|0,i6=f3<>>15,G3=Z5+R3|0,a3=G3<<1,l3=G3+7|0,c3=B9>>>l3,q5=c3&1,U5=q5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=Y3+28|0,e[k5>>2]=B4,U3=Y3+16|0,M5=Y3+20|0,e[M5>>2]=0,e[U3>>2]=0,A6=e[138263]|0,e3=1<>2]=Y3,k3=Y3+24|0,e[k3>>2]=O5,Q3=Y3+12|0,e[Q3>>2]=Y3,r6=Y3+8|0,e[r6>>2]=Y3;else{W3=e[O5>>2]|0,P3=W3+4|0,K5=e[P3>>2]|0,v3=K5&-8,g3=(v3|0)==(B9|0);t:do if(g3)be=W3;else{for(O3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=O3?0:k6,S6=B9<>>31,e6=(_e+16|0)+(X3<<2)|0,c6=e[e6>>2]|0,u6=(c6|0)==0,u6){n=e6,t8=_e;break}if(B6=X4<<1,j3=c6+4|0,p6=e[j3>>2]|0,R6=p6&-8,Y6=(R6|0)==(B9|0),Y6){be=c6;break t}else X4=B6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=Y3,q3=Y3+24|0,e[q3>>2]=t8,z3=Y3+12|0,e[z3>>2]=Y3,D6=Y3+8|0,e[D6>>2]=Y3;break e}}while(!1);if(o6=be+8|0,t3=e[o6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,f8=be>>>0>=s3>>>0,d6=a6&f8,d6){b3=t3+12|0,e[b3>>2]=Y3,e[o6>>2]=Y3,N6=Y3+8|0,e[N6>>2]=t3,n6=Y3+12|0,e[n6>>2]=be,Q6=Y3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(x6=e[138270]|0,V6=x6+-1|0,e[138270]=V6,I6=(V6|0)==0,I6)ee=553504;else return;for(;F4=e[ee>>2]|0,L3=(F4|0)==0,W6=F4+8|0,!L3;)ee=W6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(c=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(n|0),o=B?c:-1,D=o):D=c),v=S9(D)|0,S=(v|0)==0,S||(w=v+-4|0,y=e[w>>2]|0,f=y&3,E=(f|0)==0,E)||Ae(v|0,0,D|0)|0,v|0}function Pi(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=(t|0)==0,o?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(L=qp()|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=iD(N,T)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,v=p&3,S=(v|0)==0,w=S?8:4,D=B-w|0,Q=D>>>0>>0,_=Q?D:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(f=G+8|0,O=f,O|0)))}function iD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0;if(J5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,r2=t+k1|0,a2=e[138266]|0,w2=G&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,Y5=h3&u3,z2=t>>>0>>0,X5=Y5&z2,X5||Q2(),_=k1|4,P5=t+_|0,b5=e[P5>>2]|0,a5=b5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return l0=n>>>0<256,l0?(E5=0,E5|0):(K0=n+4|0,M0=k1>>>0>>0,!M0&&(i1=k1-n|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,b1=G&1,K1=b1|n,O1=K1|2,e[N>>2]=O1,Q=n+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,BQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(r2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,f2=z1>>>0>n>>>0,f2?(s2=z1-n|0,E2=t+n|0,A2=G&1,V1=A2|n,h2=V1|2,e[N>>2]=h2,D=n+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(i2=e[138267]|0,o2=(r2|0)==(i2|0),o2)return X1=e[138264]|0,n2=X1+k1|0,u2=n2>>>0>>0,u2?(E5=0,E5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(v2=t+n|0,C2=t+n2|0,F2=G&1,b2=F2|n,N2=b2|2,e[N>>2]=N2,S=n+4|0,d2=t+S|0,V2=e2|1,e[d2>>2]=V2,e[C2>>2]=e2,y=n2+4|0,G2=t+y|0,q2=e[G2>>2]|0,M2=q2&-2,e[G2>>2]=M2,n3=v2,m3=e2):(P2=G&1,A5=P2|n2,O2=A5|2,e[N>>2]=O2,v=n2+4|0,T1=t+v|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=b5&2,D5=(e5|0)==0,!D5||(Z2=b5&-8,u5=Z2+k1|0,v5=u5>>>0>>0,v5))return E5=0,E5|0;l5=u5-n|0,k2=b5>>>3,m5=b5>>>0<256;do if(m5){if(p=k1+8|0,n5=t+p|0,R2=e[n5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,L5=553088+(C5<<2)|0,d5=(R2|0)==(L5|0),d5||(G5=R2>>>0>>0,G5&&Q2(),_5=R2+12|0,H2=e[_5>>2]|0,I5=(H2|0)==(r2|0),I5||Q2()),o5=(B2|0)==(R2|0),o5){c5=1<>>0>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(r2|0),t5?a=g2:Q2()),s5=R2+12|0,e[s5>>2]=B2,e[a>>2]=R2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,f5=t+w|0,i5=e[f5>>2]|0,R5=(i5|0)==(r2|0);do if(R5){if(x=k1+20|0,$0=t+x|0,V=e[$0>>2]|0,a0=(V|0)==0,a0)if(L=k1+16|0,n0=t+L|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){x2=0;break}else j2=i0,Q5=n0;else j2=V,Q5=$0;for(;;){if(K=j2+20|0,h0=e[K>>2]|0,s0=(h0|0)==0,!s0){j2=h0,Q5=K;continue}if(g0=j2+16|0,j=e[g0>>2]|0,f0=(j|0)==0,f0){$5=j2,H5=Q5;break}else j2=j,Q5=g0}if(d0=H5>>>0>>0,d0)Q2();else{e[H5>>2]=0,x2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(r2|0),e0||Q2(),H=i5+8|0,X=e[H>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=i5,e[H>>2]=Y,x2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(f=k1+28|0,C0=t+f|0,k0=e[C0>>2]|0,u0=553352+(k0<<2)|0,B0=e[u0>>2]|0,p0=(r2|0)==(B0|0),p0){if(e[u0>>2]=x2,j5=(x2|0)==0,j5){I0=1<>>0>>0,F0&&Q2(),T0=J2+16|0,U0=e[T0>>2]|0,y0=(U0|0)==(r2|0),y0?e[T0>>2]=x2:(q0=J2+20|0,e[q0>>2]=x2),x0=(x2|0)==0,x0)break;b0=e[138266]|0,J0=x2>>>0>>0,J0&&Q2(),Y0=x2+24|0,e[Y0>>2]=J2,E=k1+16|0,P0=t+E|0,V0=e[P0>>2]|0,N0=(V0|0)==0;do if(!N0)if(O0=V0>>>0>>0,O0)Q2();else{r1=x2+16|0,e[r1>>2]=V0,H0=V0+24|0,e[H0>>2]=x2;break}while(!1);if(I=k1+20|0,e1=t+I|0,D0=e[e1>>2]|0,c1=(D0|0)==0,!c1)if($1=e[138266]|0,f1=D0>>>0<$1>>>0,f1)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=u5|a1,A1=n1|2,e[N>>2]=A1,T=u5|4,z0=t+T|0,h1=e[z0>>2]|0,m1=h1|1,e[z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,B1=E1|n,p1=B1|2,e[N>>2]=p1,F=n+4|0,Q1=t+F|0,R1=l5|3,e[Q1>>2]=R1,M=u5|4,x1=t+M|0,w1=e[x1>>2]|0,L1=w1|1,e[x1>>2]=L1,BQ(d1,l5),E5=t,E5|0)}function BQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0,M0=0,J0=0,Y0=0,P0=0,V0=0,N0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,V=t+n|0,a0=t+4|0,P2=e[a0>>2]|0,u6=P2&1,J6=(u6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,D9=(T9|0)==0,D9)return;if(M4=0-F6|0,m9=t+M4|0,n0=F6+n|0,w0=e[138266]|0,L0=m9>>>0>>0,L0&&Q2(),P0=e[138267]|0,f1=(m9|0)==(P0|0),f1){if(w=n+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,r0=i0&3,K=(r0|0)==3,!K){o=m9,a=n0;break}e[138264]=n0,h0=i0&-2,e[Z9>>2]=h0,s0=n0|1,x=4-F6|0,g0=t+x|0,e[g0>>2]=s0,e[V>>2]=n0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,b5=553088+(P5<<2)|0,a5=(h2|0)==(b5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,Z5=e[n3>>2]|0,k5=(Z5|0)==(m9|0),k5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,x6=(Q6|0)==(m9|0),x6?m=n6:Q2()),V6=h2+12|0,e[V6>>2]=z2,e[m>>2]=h2,o=m9,a=n0;break}F=24-F6|0,I6=t+F|0,L3=e[I6>>2]|0,M=12-F6|0,W6=t+M|0,G6=e[W6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,o9=t+N|0,j6=e[o9>>2]|0,f9=(j6|0)==0,f9)if(u9=t+T|0,d9=e[u9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else P4=d9,$e=u9;else P4=j6,$e=o9;for(;;){if($9=P4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){P4=E6,$e=$9;continue}if(i9=P4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){L9=P4,le=$e;break}else P4=N9,$e=i9}if(E4=le>>>0>>0,E4)Q2();else{e[le>>2]=0,$4=L9;break}}else if(t0=8-F6|0,s9=t+t0|0,L6=e[s9>>2]|0,U6=L6>>>0>>0,U6&&Q2(),b6=L6+12|0,z6=e[b6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),F3=G6+8|0,M6=e[F3>>2]|0,t9=(M6|0)==(m9|0),t9){e[b6>>2]=G6,e[F3>>2]=L6,$4=G6;break}else Q2();while(!1);if(A4=(L3|0)==0,A4)o=m9,a=n0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,H6=(m9|0)==(E9|0),H6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,D4&&Q2(),b4=L3+16|0,R4=e[b4>>2]|0,W4=(R4|0)==(m9|0),W4?e[b4>>2]=$4:(C4=L3+20|0,e[C4>>2]=$4),T4=($4|0)==0,T4){o=m9,a=n0;break}U9=e[138266]|0,N4=$4>>>0>>0,N4&&Q2(),a4=$4+24|0,e[a4>>2]=L3,z=16-F6|0,x4=t+z|0,f4=e[x4>>2]|0,Ce=(f4|0)==0;do if(!Ce)if(H9=f4>>>0>>0,H9)Q2();else{Be=$4+16|0,e[Be>>2]=f4,Ne=f4+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)o=m9,a=n0;else if(U4=e[138266]|0,j4=G4>>>0>>0,j4)Q2();else{De=$4+20|0,e[De>>2]=G4,e8=G4+24|0,e[e8>>2]=$4,o=m9,a=n0;break}}}else o=t,a=n;while(!1);if(j=e[138266]|0,l0=V>>>0>>0,l0&&Q2(),y=n+4|0,f0=t+y|0,d0=e[f0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(u0=e[138268]|0,B0=(V|0)==(u0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=o,S0=I0|1,K0=o+4|0,e[K0>>2]=S0,_0=e[138267]|0,Q0=(o|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(F0=e[138267]|0,T0=(V|0)==(F0|0),T0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=o,q0=y0|1,x0=o+4|0,e[x0>>2]=q0,b0=o+y0|0,e[b0>>2]=y0;return}M0=d0&-8,J0=M0+a|0,Y0=d0>>>3,V0=d0>>>0<256;do if(V0){if(_=n+8|0,N0=t+_|0,O0=e[N0>>2]|0,L=n+12|0,r1=t+L|0,H0=e[r1>>2]|0,e1=Y0<<1,D0=553088+(e1<<2)|0,i1=(O0|0)==(D0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(V|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=H0,e[I>>2]=O0}else{G=n+24|0,Q1=t+G|0,R1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,w1=e[x1>>2]|0,S1=(w1|0)==(V|0);do if(S1){if(X=n+20|0,H1=t+X|0,q1=e[H1>>2]|0,Y1=(q1|0)==0,Y1)if(H=n+16|0,r2=t+H|0,W1=e[r2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=r2;else _4=q1,B4=H1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=c2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,A2=(E2|0)==0,A2){ae=_4,X4=B4;break}else _4=E2,B4=s2}if(V1=X4>>>0>>0,V1)Q2();else{e[X4>>2]=0,W9=ae;break}}else if(Q=n+8|0,L1=t+Q|0,F1=e[L1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(V|0),N1||Q2(),b1=w1+8|0,K1=e[b1>>2]|0,O1=(K1|0)==(V|0),O1){e[U1>>2]=w1,e[b1>>2]=F1,W9=w1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if($0=n+28|0,t2=t+$0|0,$2=e[t2>>2]|0,i2=553352+($2<<2)|0,o2=e[i2>>2]|0,X1=(V|0)==(o2|0),X1){if(e[i2>>2]=W9,Ue=(W9|0)==0,Ue){n2=1<<$2,u2=n2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,C2=R1>>>0>>0,C2&&Q2(),F2=R1+16|0,b2=e[F2>>2]|0,N2=(b2|0)==(V|0),N2?e[F2>>2]=W9:(d2=R1+20|0,e[d2>>2]=W9),V2=(W9|0)==0,V2)break;G2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),M2=W9+24|0,e[M2>>2]=R1,Z=n+16|0,A5=t+Z|0,O2=e[A5>>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,D5=t+D|0,Z2=e[D5>>2]|0,u5=(Z2|0)==0,!u5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=J0|1,R2=o+4|0,e[R2>>2]=n5,_2=o+J0|0,e[_2>>2]=J0,B2=e[138267]|0,C5=(o|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else L5=d0&-2,e[f0>>2]=L5,d5=a|1,G5=o+4|0,e[G5>>2]=d5,_5=o+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,I5=c>>>0<256,I5){o5=H2<<1,c5=553088+(o5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,oe=p5)),e[p>>2]=o,h5=oe+12|0,e[h5>>2]=o,J2=o+8|0,e[J2>>2]=oe,f5=o+12|0,e[f5>>2]=c5;return}if(i5=c>>>8,R5=(i5|0)==0,R5?u4=0:($5=c>>>0>16777215,$5?u4=31:(x2=i5+1048320|0,Q5=x2>>>16,H5=Q5&8,j5=i5<>>16,h3=u3&4,Y5=h3|H5,X5=j5<>>16,J5=F5&2,w3=Y5|J5,f3=14-w3|0,B3=X5<>>15,N3=f3+V3|0,V5=N3<<1,y3=N3+7|0,i6=c>>>y3,R3=i6&1,G3=R3|V5,u4=G3)),a3=553352+(u4<<2)|0,l3=o+28|0,e[l3>>2]=u4,c3=o+16|0,C3=o+20|0,e[C3>>2]=0,e[c3>>2]=0,q5=e[138263]|0,U5=1<>2]=o,A6=o+24|0,e[A6>>2]=a3,e3=o+12|0,e[e3>>2]=o,o3=o+8|0,e[o3>>2]=o;return}x3=e[a3>>2]|0,f6=x3+4|0,p3=e[f6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)L4=x3;else{for(W3=(u4|0)==31,P3=u4>>>1,K5=25-P3|0,v3=W3?0:K5,g3=c<>>31,c6=(ce+16|0)+(j3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){f=c6,C9=ce;break}if(O3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){L4=d3;break e}else _6=O3,ce=d3}R6=e[138266]|0,Y6=f>>>0>>0,Y6&&Q2(),e[f>>2]=o,C6=o+24|0,e[C6>>2]=C9,S3=o+12|0,e[S3>>2]=o,X3=o+8|0,e[X3>>2]=o;return}while(!1);e6=L4+8|0,D3=e[e6>>2]|0,q3=e[138266]|0,z3=D3>>>0>=q3>>>0,l4=L4>>>0>=q3>>>0,D6=z3&l4,D6||Q2(),o6=D3+12|0,e[o6>>2]=o,e[e6>>2]=o,t3=o+8|0,e[t3>>2]=D3,O6=o+12|0,e[O6>>2]=L4,s3=o+24|0,e[s3>>2]=0}function rD(){e[6410]=O9}function Ae(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0;if(a=t+o|0,(o|0)>=20){if(n=n&255,E=t&3,c=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]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-o|0}function Z$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function pQ(t,n){t=t|0,n=n|0;var o=0,a=0;a=t+(Z$(t)|0)|0;do d[a+o>>0]=d[n+o>>0],o=o+1|0;while(d[n+(o-1)>>0]|0);return t|0}function QQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;return(o|0)<32?(a=(1<>>32-o,t<>>0,f=n+a+(c>>>0>>0|0)>>>0,q6=f,c|0|0}function zs(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;return(o|0)<32?(a=(1<>>o,t>>>o|(n&a)<<32-o):(q6=0,n>>>o-32|0)}function s4(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;if((o|0)>=4096)return hv(t|0,n|0,o|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(o|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,o=o-1|0}for(;(o|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,o=o-4|0}for(;(o|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,o=o-1|0;return a|0}function Wo(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+o|0)){for(a=t,n=n+o|0,t=t+o|0;(o|0)>0;)t=t-1|0,n=n-1|0,o=o-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,o)|0;return t|0}function hB(t,n){t=t|0,n=n|0;var o=0;do d[(t+o|0)>>0]=d[(n+o|0)>>0],o=o+1|0;while(d[n+(o-1)>>0]|0);return t|0}function Zs(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0;return c=t-o>>>0,f=n-a>>>0,f=n-a-(o>>>0>t>>>0|0)>>>0,q6=f,c|0|0}function kb(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;return(o|0)<32?(a=(1<>o,t>>>o|(n&a)<<32-o):(q6=(n|0)<0?-1:0,n>>o-32|0)}function yQ(t){t=t|0;var n=0;return n=d[R9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[R9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[R9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[R9+(t>>>24)>>0]|0)+24|0))}function nD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0;return o=t&65535,a=n&65535,c=r5(a,o)|0,f=t>>>16,E=(c>>>16)+(r5(a,f)|0)|0,I=n>>>16,m=r5(I,o)|0,q6=((E>>>16)+(r5(I,f)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function vb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return c=n>>31|((n|0)<0?-1:0)<<1,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=Zs(c^t,f^n,c,f)|0,p=q6,B=Zs(E^o,I^a,E,I)|0,v=E^c,S=I^f,w=jm(m,p,B,q6,0)|0,y=Zs(w^v,q6^S,v,S)|0,y|0}function Sb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,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,p=Zs(f^t,E^n,f,E)|0,B=q6,v=Zs(I^o,m^a,I,m)|0,jm(p,B,v,q6,c)|0,S=Zs(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=q6,C=y,q6=w,S|0}function sD(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0;return c=t,f=o,E=nD(c,f)|0,I=q6,m=r5(n,f)|0,q6=((r5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function Db(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0;return c=jm(t,n,o,a,0)|0,c|0}function bb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0;return f=C,C=C+8|0,c=f|0,jm(t,n,o,a,c)|0,C=f,q6=e[c+4>>2]|0,e[c>>2]|0|0}function jm(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,F0=0,T0=0,U0=0,y0=0,q0=0,x0=0,b0=0;if(f=t,E=n,I=E,m=o,p=a,B=p,!(I|0))return v=(c|0)!=0,B|0?v?(e[c>>2]=t&-1,e[c+4>>2]=n&0,b0=0,x0=0,q6=b0,x0|0):(b0=0,x0=0,q6=b0,x0|0):(v&&(e[c>>2]=(f>>>0)%(m>>>0),e[c+4>>2]=0),b0=0,x0=(f>>>0)/(m>>>0)>>>0,q6=b0,x0|0);S=(B|0)==0;do if(m|0){if(!S){if(Y=Ks(B|0)|0,t0=Y-(Ks(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,b0=0,x0=0,q6=b0,x0|0):(b0=0,x0=0,q6=b0,x0|0)}if(L=m-1|0,L&m|0){F=(Ks(m|0)|0)+33|0,M=F-(Ks(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=f<>>(O>>>0))&G|f<>31;break}return c|0&&(e[c>>2]=L&f,e[c+4>>2]=0),(m|0)==1?(b0=E|n&0,x0=0|t&-1,q6=b0,x0|0):(x=yQ(m|0)|0,b0=0|I>>>(x>>>0),x0=I<<32-x|f>>>(x>>>0)|0,q6=b0,x0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),b0=0,x0=(I>>>0)/(m>>>0)>>>0,q6=b0,x0|0;if(!(f|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),b0=0,x0=(I>>>0)/(B>>>0)>>>0,q6=b0,x0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|n&0),b0=0,x0=I>>>((yQ(B|0)|0)>>>0),q6=b0,x0|0;if(y=Ks(B|0)|0,D=y-(Ks(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,$0=I<<_|f>>>(Q>>>0),U=I>>>(Q>>>0),X=0,H=f<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|n&0,b0=0,x0=0,q6=b0,x0|0):(b0=0,x0=0,q6=b0,x0|0)}while(!1);if(!(Z|0))T0=H,F0=X,L0=U,Q0=$0,_0=0,K0=0;else{for(V=0|o&-1,a0=p|a&0,n0=Vs(V|0,a0|0,-1,-1)|0,i0=q6,j=H,g0=X,s0=U,h0=$0,K=Z,r0=0;l0=g0>>>31|j<<1,f0=r0|g0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|s0<<1|0,Zs(n0,i0,d0,w0)|0,C0=q6,k0=C0>>31|((C0|0)<0?-1:0)<<1,u0=k0&1,B0=Zs(d0,w0,k0&V,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=q6,S0=K-1|0,S0|0;)j=l0,g0=f0,s0=I0,h0=p0,K=S0,r0=u0;T0=l0,F0=f0,L0=I0,Q0=p0,_0=0,K0=u0}return U0=F0,y0=0,q0=T0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=L0|0),b0=(0|U0)>>>31|q0<<1|(y0<<1|U0>>>31)&0|_0,x0=(U0<<1|0)&-2|K0,q6=b0,x0|0}function AD(t,n,o,a,c){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,dB[t&3](n|0,o|0,a|0,c|0)|0}function oD(t,n){t=t|0,n=n|0,Ws[t&7](n|0)}function aD(t,n,o){t=t|0,n=n|0,o=o|0,IB[t&3](n|0,o|0)}function $D(t,n){return t=t|0,n=n|0,vQ[t&1](n|0)|0}function lD(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0,SQ[t&1](n|0,o|0,a|0)}function cD(t,n,o,a,c,f,E,I,m){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,DQ[t&3](n|0,o|0,a|0,c|0,f|0,E|0,I|0,m|0)|0}function gD(t,n,o){return t=t|0,n=n|0,o=o|0,ut[t&15](n|0,o|0)|0}function hD(t,n,o,a,c,f){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,EB[t&7](n|0,o|0,a|0,c|0,f|0)|0}function fD(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,Vr(0),0}function fB(t){t=t|0,Vr(1)}function wQ(t,n){t=t|0,n=n|0,Vr(2)}function uD(t){return t=t|0,Vr(3),0}function dD(t,n,o){t=t|0,n=n|0,o=o|0,Vr(4)}function kQ(t,n,o,a,c,f,E,I){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,Vr(5),0}function W$(t,n){return t=t|0,n=n|0,Vr(6),0}function uB(t,n,o,a,c){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,Vr(7),0}var dB=[fD,tS,Gv,Uv],Ws=[fB,jv,Xv,cS,yS,wS,fB,fB],IB=[wQ,zv,kS,wQ],vQ=[uD,gS],SQ=[dD,$S],DQ=[kQ,bS,LS,kQ],ut=[W$,Zv,Wv,eS,lS,hS,vS,SS,iS,QS,US,W$,W$,W$,W$,W$],EB=[uB,DS,_S,RS,xS,FS,uB,uB];return{_memmove:Wo,_strlen:Z$,_strcat:pQ,_free:I2,_i64Add:Vs,_encoder_clear:VS,_encoder_transfer_data:jS,_encoder_data_len:WS,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:KS,_encoder_process:ZS,_bitshift64Lshr:zs,_bitshift64Shl:QQ,_strcpy:hB,_encoder_analysis_buffer:zS,runPostSets:rD,stackAlloc:dv,stackSave:Iv,stackRestore:Ev,establishStackSpace:mv,setThrew:Cv,setTempRet0:Bv,getTempRet0:pv,dynCall_iiiii:AD,dynCall_vi:oD,dynCall_vii:aD,dynCall_ii:$D,dynCall_viii:lD,dynCall_iiiiiiiii:cD,dynCall_iii:gD,dynCall_iiiiii:hD}}(A.asmGlobalArg,A.asmLibraryArg,Li),tb=A.runPostSets=K9.runPostSets,Wk=A._strlen=K9._strlen,jk=A._strcat=K9._strcat,tB=A._free=K9._free,ib=A._encoder_init=K9._encoder_init,Xk=A._i64Add=K9._i64Add,ev=A._memmove=K9._memmove,rb=A._encoder_transfer_data=K9._encoder_transfer_data,nb=A._encoder_process=K9._encoder_process,sb=A._encoder_data_len=K9._encoder_data_len,tv=A._memset=K9._memset,Sh=A._malloc=K9._malloc,iv=A._memcpy=K9._memcpy,Ab=A._encoder_clear=K9._encoder_clear,rv=A._bitshift64Lshr=K9._bitshift64Lshr,ob=A._encoder_analysis_buffer=K9._encoder_analysis_buffer,nv=A._strcpy=K9._strcpy,sv=A._bitshift64Shl=K9._bitshift64Shl,ab=A.dynCall_iiiii=K9.dynCall_iiiii,$b=A.dynCall_vi=K9.dynCall_vi,lb=A.dynCall_vii=K9.dynCall_vii,cb=A.dynCall_ii=K9.dynCall_ii,gb=A.dynCall_viii=K9.dynCall_viii,hb=A.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,fb=A.dynCall_iii=K9.dynCall_iii,ub=A.dynCall_iiiiii=K9.dynCall_iiiiii;R.stackAlloc=K9.stackAlloc,R.stackSave=K9.stackSave,R.stackRestore=K9.stackRestore,R.establishStackSpace=K9.establishStackSpace,R.setTempRet0=K9.setTempRet0,R.getTempRet0=K9.getTempRet0;var db=function(){var i={math:{}};i.math.Long=function(q,v0){this.low_=q|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var v0=i.math.Long.IntCache_[q];if(v0)return v0}var j0=new i.math.Long(q|0,q<0?-1:0);return-128<=q&&q<128&&(i.math.Long.IntCache_[q]=j0),j0},i.math.Long.fromNumber=function(q){return isNaN(q)||!isFinite(q)?i.math.Long.ZERO:q<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:q+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:q<0?i.math.Long.fromNumber(-q).negate():new i.math.Long(q%i.math.Long.TWO_PWR_32_DBL_|0,q/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(q,v0){return new i.math.Long(q,v0)},i.math.Long.fromString=function(q,v0){if(q.length==0)throw Error("number format error: empty string");var j0=v0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+q);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 q=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(q&1<0},i.math.Long.prototype.greaterThanOrEqual=function(q){return this.compare(q)>=0},i.math.Long.prototype.compare=function(q){if(this.equals(q))return 0;var v0=this.isNegative(),j0=q.isNegative();return v0&&!j0?-1:!v0&&j0?1:this.subtract(q).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(q){var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,Z6=q.low_>>>16,M9=q.low_&65535,x9=0,z4=0,et=0,zi=0;return zi+=z5+M9,et+=zi>>>16,zi&=65535,et+=m2+Z6,z4+=et>>>16,et&=65535,z4+=j0+_3,x9+=z4>>>16,z4&=65535,x9+=v0+N5,x9&=65535,i.math.Long.fromBits(et<<16|zi,x9<<16|z4)},i.math.Long.prototype.subtract=function(q){return this.add(q.negate())},i.math.Long.prototype.multiply=function(q){if(this.isZero())return i.math.Long.ZERO;if(q.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return q.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(q.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return q.isNegative()?this.negate().multiply(q.negate()):this.negate().multiply(q).negate();if(q.isNegative())return this.multiply(q.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&q.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*q.toNumber());var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,Z6=q.low_>>>16,M9=q.low_&65535,x9=0,z4=0,et=0,zi=0;return zi+=z5*M9,et+=zi>>>16,zi&=65535,et+=m2*M9,z4+=et>>>16,et&=65535,et+=z5*Z6,z4+=et>>>16,et&=65535,z4+=j0*M9,x9+=z4>>>16,z4&=65535,z4+=m2*Z6,x9+=z4>>>16,z4&=65535,z4+=z5*_3,x9+=z4>>>16,z4&=65535,x9+=v0*M9+j0*Z6+m2*_3+z5*N5,x9&=65535,i.math.Long.fromBits(et<<16|zi,x9<<16|z4)},i.math.Long.prototype.div=function(q){if(q.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(q.equals(i.math.Long.ONE)||q.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(q.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),j0=v0.div(q).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return q.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(q.multiply(j0)),m2=j0.add(N5.div(q));return m2}else if(q.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return q.isNegative()?this.negate().div(q.negate()):this.negate().div(q).negate();if(q.isNegative())return this.div(q.negate()).negate();for(var z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(q);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/q.toNumber())),_3=Math.ceil(Math.log(j0)/Math.LN2),Z6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);M9.isZero()&&(M9=i.math.Long.ONE),z5=z5.add(M9),N5=N5.subtract(x9)}return z5},i.math.Long.prototype.modulo=function(q){return this.subtract(this.div(q).multiply(q))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(q){return i.math.Long.fromBits(this.low_&q.low_,this.high_&q.high_)},i.math.Long.prototype.or=function(q){return i.math.Long.fromBits(this.low_|q.low_,this.high_|q.high_)},i.math.Long.prototype.xor=function(q){return i.math.Long.fromBits(this.low_^q.low_,this.high_^q.high_)},i.math.Long.prototype.shiftLeft=function(q){if(q&=63,q==0)return this;var v0=this.low_;if(q<32){var j0=this.high_;return i.math.Long.fromBits(v0<>>32-q)}else return i.math.Long.fromBits(0,v0<>>q|v0<<32-q,v0>>q)}else return i.math.Long.fromBits(v0>>q-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var v0=this.high_;if(q<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>q|v0<<32-q,v0>>>q)}else return q==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>q-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(q,v0,j0){q!=null&&(typeof q=="number"?this.fromNumber(q,v0,j0):v0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,v0))}function W0(){return new e(null)}function t1(q,v0,j0,m2,z5,N5){for(;--N5>=0;){var _3=v0*this[q++]+j0[m2]+z5;z5=Math.floor(_3/67108864),j0[m2++]=_3&67108863}return z5}function D2(q,v0,j0,m2,z5,N5){for(var _3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,z4=Z6*M9+x9*_3;M9=_3*M9+((z4&32767)<<15)+j0[m2]+(z5&1073741823),z5=(M9>>>30)+(z4>>>15)+Z6*x9+(z5>>>30),j0[m2++]=M9&1073741823}return z5}function s(q,v0,j0,m2,z5,N5){for(var _3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,z4=Z6*M9+x9*_3;M9=_3*M9+((z4&16383)<<14)+j0[m2]+z5,z5=(M9>>28)+(z4>>14)+Z6*x9,j0[m2++]=M9&268435455}return z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=D2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--v0)q[v0]=this[v0];q.t=this.t,q.s=this.s}function w8(q){this.t=1,this.s=q<0?-1:0,q>0?this[0]=q:q<-1?this[0]=q+DV:this.t=0}function V9(q){var v0=W0();return v0.fromInt(q),v0}function h8(q,v0){var j0;if(v0==16)j0=4;else if(v0==8)j0=3;else if(v0==256)j0=8;else if(v0==2)j0=1;else if(v0==32)j0=5;else if(v0==4)j0=2;else{this.fromRadix(q,v0);return}this.t=0,this.s=0;for(var m2=q.length,z5=!1,N5=0;--m2>=0;){var _3=j0==8?q[m2]&255:O9(q,m2);if(_3<0){q.charAt(m2)=="-"&&(z5=!0);continue}z5=!1,N5==0?this[this.t++]=_3:N5+j0>this.DB?(this[this.t-1]|=(_3&(1<>this.DB-N5):this[this.t-1]|=_3<=this.DB&&(N5-=this.DB)}j0==8&&q[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==q;)--this.t}function Ni(q){if(this.s<0)return"-"+this.negate().toString(q);var v0;if(q==16)v0=4;else if(q==8)v0=3;else if(q==2)v0=1;else if(q==32)v0=5;else if(q==4)v0=2;else return this.toRadix(q);var j0=(1<0)for(Z6>Z6)>0&&(z5=!0,N5=R9(m2));_3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[_3]>>(Z6-=v0)&j0,Z6<=0&&(Z6+=this.DB,--_3)),m2>0&&(z5=!0),z5&&(N5+=R9(m2));return z5?N5:"0"}function Gi(){var q=W0();return e.ZERO.subTo(this,q),q}function ur(){return this.s<0?this.negate():this}function K$(q){var v0=this.s-q.s;if(v0!=0)return v0;var j0=this.t;if(v0=j0-q.t,v0!=0)return this.s<0?-v0:v0;for(;--j0>=0;)if((v0=this[j0]-q[j0])!=0)return v0;return 0}function qm(q){var v0=1,j0;return(j0=q>>>16)!=0&&(q=j0,v0+=16),(j0=q>>8)!=0&&(q=j0,v0+=8),(j0=q>>4)!=0&&(q=j0,v0+=4),(j0=q>>2)!=0&&(q=j0,v0+=2),(j0=q>>1)!=0&&(q=j0,v0+=1),v0}function Qp(){return this.t<=0?0:this.DB*(this.t-1)+qm(this[this.t-1]^this.s&this.DM)}function yp(q,v0){var j0;for(j0=this.t-1;j0>=0;--j0)v0[j0+q]=this[j0];for(j0=q-1;j0>=0;--j0)v0[j0]=0;v0.t=this.t+q,v0.s=this.s}function wp(q,v0){for(var j0=q;j0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|_3,_3=(this[Z6]&z5)<=0;--Z6)v0[Z6]=0;v0[N5]=_3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function vp(q,v0){v0.s=this.s;var j0=Math.floor(q/this.DB);if(j0>=this.t){v0.t=0;return}var m2=q%this.DB,z5=this.DB-m2,N5=(1<>m2;for(var _3=j0+1;_3>m2;m2>0&&(v0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(q.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=q.s}v0.s=m2<0?-1:0,m2<-1?v0[j0++]=this.DV+m2:m2>0&&(v0[j0++]=m2),v0.t=j0,v0.clamp()}function Sp(q,v0){var j0=this.abs(),m2=q.abs(),z5=j0.t;for(v0.t=z5+m2.t;--z5>=0;)v0[z5]=0;for(z5=0;z5=0;)q[j0]=0;for(j0=0;j0=v0.DV&&(q[j0+v0.t]-=v0.DV,q[j0+v0.t+1]=1)}q.t>0&&(q[q.t-1]+=v0.am(j0,v0[j0],q,2*j0,0,1)),q.s=0,q.clamp()}function bp(q,v0,j0){var m2=q.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,z4=N5[x9-1];if(z4!=0){var et=z4*(1<1?N5[x9-2]>>this.F2:0),zi=this.FV/et,Op=(1<=0&&(j0[j0.t++]=1,j0.subTo(Nt,j0)),e.ONE.dlShiftTo(x9,Nt),Nt.subTo(N5,N5);N5.t=0;){var Ym=j0[--Zo]==z4?this.DM:Math.floor(j0[Zo]*zi+(j0[Zo-1]+Hp)*Op);if((j0[Zo]+=N5.am(0,Ym,j0,bh,0,x9))0&&j0.rShiftTo(M9,j0),_3<0&&e.ZERO.subTo(j0,j0)}}}function _p(q){var v0=W0();return this.abs().divRemTo(q,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&q.subTo(v0,v0),v0}function Ko(q){this.m=q}function Rp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function xp(q){return q}function Lp(q){q.divRemTo(this.m,null,q)}function Fp(q,v0,j0){q.multiplyTo(v0,j0),this.reduce(j0)}function Vo(q,v0){q.squareTo(v0),this.reduce(v0)}Ko.prototype.convert=Rp,Ko.prototype.revert=xp,Ko.prototype.reduce=Lp,Ko.prototype.mulTo=Fp,Ko.prototype.sqrTo=Vo;function Vi(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var v0=q&3;return v0=v0*(2-(q&15)*v0)&15,v0=v0*(2-(q&255)*v0)&255,v0=v0*(2-((q&65535)*v0&65535))&65535,v0=v0*(2-q*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Mn(q){this.m=q,this.mp=q.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function zo(q){var v0=W0();return q.copyTo(v0),this.reduce(v0),v0}function Tn(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&q.DM;for(j0=v0+this.m.t,q[j0]+=this.m.am(0,m2,q,v0,0,this.m.t);q[j0]>=q.DV;)q[j0]-=q.DV,q[++j0]++}q.clamp(),q.drShiftTo(this.m.t,q),q.compareTo(this.m)>=0&&q.subTo(this.m,q)}function Mp(q,v0){q.squareTo(v0),this.reduce(v0)}function Tp(q,v0,j0){q.multiplyTo(v0,j0),this.reduce(j0)}Mn.prototype.convert=Dh,Mn.prototype.revert=zo,Mn.prototype.reduce=Tn,Mn.prototype.mulTo=Tp,Mn.prototype.sqrTo=Mp;function Np(){return(this.t>0?this[0]&1:this.s)==0}function Js(q,v0){if(q>4294967295||q<1)return e.ONE;var j0=W0(),m2=W0(),z5=v0.convert(this),N5=qm(q)-1;for(z5.copyTo(j0);--N5>=0;)if(v0.sqrTo(j0,m2),(q&1<0)v0.mulTo(m2,z5,j0);else{var _3=j0;j0=m2,m2=_3}return v0.revert(j0)}function Gp(q,v0){var j0;return q<256||v0.isEven()?j0=new Ko(v0):j0=new Mn(v0),this.exp(q,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=V4,e.prototype.dlShiftTo=yp,e.prototype.drShiftTo=wp,e.prototype.lShiftTo=kp,e.prototype.rShiftTo=vp,e.prototype.subTo=q6,e.prototype.multiplyTo=Sp,e.prototype.squareTo=Dp,e.prototype.divRemTo=bp,e.prototype.invDigit=Vi,e.prototype.isEven=Np,e.prototype.exp=Js,e.prototype.toString=Ni,e.prototype.negate=Gi,e.prototype.abs=ur,e.prototype.compareTo=K$,e.prototype.bitLength=Qp,e.prototype.mod=_p,e.prototype.modPowInt=Gp,e.ZERO=V9(0),e.ONE=V9(1);function Nn(q,v0){this.fromInt(0),v0==null&&(v0=10);for(var j0=this.chunkSize(v0),m2=Math.pow(v0,j0),z5=!1,N5=0,_3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(_3,0),N5=0,_3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(_3,0)),z5&&e.ZERO.subTo(this,this)}function Kr(q){return Math.floor(Math.LN2*this.DB/Math.log(q))}function rB(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Up(q,v0){if(q!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=q;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function Ks(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var v0=this.chunkSize(q),j0=Math.pow(q,v0),m2=V9(j0),z5=W0(),N5=W0(),_3="";for(this.divRemTo(m2,z5,N5);z5.signum()>0;)_3=(j0+N5.intValue()).toString(q).substr(1)+_3,z5.divRemTo(m2,z5,N5);return N5.intValue().toString(q)+_3}function Vr(){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(q.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=q.s}v0.s=m2<0?-1:0,m2>0?v0[j0++]=m2:m2<-1&&(v0[j0++]=this.DV+m2),v0.t=j0,v0.clamp()}e.prototype.fromRadix=Nn,e.prototype.chunkSize=Kr,e.prototype.signum=rB,e.prototype.dMultiply=r5,e.prototype.dAddOffset=Up,e.prototype.toRadix=Ks,e.prototype.intValue=Vr,e.prototype.addTo=Pp;var ni={abs:function(q,v0){var j0=new i.math.Long(q,v0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){ni.ensuredTemps||(ni.ensuredTemps=!0,ni.two32=new e,ni.two32.fromString("4294967296",10),ni.two64=new e,ni.two64.fromString("18446744073709551616",10),ni.temp1=new e,ni.temp2=new e)},lh2bignum:function(q,v0){var j0=new e;j0.fromString(v0.toString(),10);var m2=new e;j0.multiplyTo(ni.two32,m2);var z5=new e;z5.fromString(q.toString(),10);var N5=new e;return z5.addTo(m2,N5),N5},stringify:function(q,v0,j0){var m2=new i.math.Long(q,v0).toString();if(j0&&m2[0]=="-"){ni.ensureTemps();var z5=new e;z5.fromString(m2,10),m2=new e,ni.two64.addTo(z5,m2),m2=m2.toString(10)}return m2},fromString:function(q,v0,j0,m2,z5){ni.ensureTemps();var N5=new e;N5.fromString(q,v0);var _3=new e;_3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(ni.two64,M9),N5=M9}var x9=!1;N5.compareTo(_3)<0?(N5=_3,x9=!0):N5.compareTo(Z6)>0&&(N5=Z6,x9=!0);var z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=z4.low_,_9[y8+4>>2]=z4.high_,x9)throw"range error"}};return ni}();function Jo(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}Jo.prototype=new Error,Jo.prototype.constructor=Jo;var mp,Hm=null,Av=!1;Mi=function i(){A.calledRun||iB(),A.calledRun||(Mi=i)},A.callMain=A.callMain=function($){K4(m7==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(Tm.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Ps();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Jr(A.thisProgram),"i8",Ho)];d();for(var e=0;e0||(kh(),m7>0)||A.calledRun)return;function $(){A.calledRun||(A.calledRun=!0,!G0&&(Ps(),lp(),g&&Hm!==null&&A.printErr("pre-main prep time: "+(Date.now()-Hm)+" ms"),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A._main&&pp&&A.callMain(i),U$()))}A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),$()},1)):$()}A.run=A.run=iB;function Cp(i,$){if(!($&&A.noExitRuntime))throw A.noExitRuntime||(G0=!0,D1=i,Bi=mp,Nm(),A.onExit&&A.onExit(i)),u?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):A0&&typeof quit=="function"&&quit(i),new Jo(i)}A.exit=A.exit=Cp;var Bp=[];function Ys(i){i!==void 0?(A.print(i),A.printErr(i),i=JSON.stringify(i)):i="",G0=!0,D1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Lm()+$;throw Bp&&Bp.forEach(function(d){h=d(h,i)}),h}if(A.abort=A.abort=Ys,A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();var pp=!0;A.noInitialRun&&(pp=!1),iB();var ov=A._encoder_init,av=A._encoder_clear,$v=A._encoder_analysis_buffer,lv=A._encoder_process,cv=A._encoder_data_len,gv=A._encoder_transfer_data,pi=A.HEAPU8,q$=A.HEAPU32,Y$=A.HEAPF32,J$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=ov(this.numChannels,i,h)};J$.prototype.encode=function(i){for(var $=i[0].length,h=$v(this.encoder,$)>>2,d=0;d>2);this.process($)},J$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},J$.prototype.cancel=J$.prototype.cleanup=function(){av(this.encoder),delete this.encoder,delete this.oggBuffers},J$.prototype.process=function(i){lv(this.encoder,i);var $=cv(this.encoder);if($>0){var h=gv(this.encoder);this.oggBuffers.push(new Uint8Array(pi.subarray(h,h+$)))}},YC.OggVorbisEncoder=J$}};typeof window<"u"&&window===self&&YC.init();function fk(A,r,l,g){let u=new YC.OggVorbisEncoder(l,r,g);u.encode(A);let b=u.finish(),A0=b.reduce((c0,u1)=>c0+u1.length,0),E0=new Uint8Array(A0),m0=0;for(let c0 of b)E0.set(c0,m0),m0+=c0.length;return E0}var JC=class{constructor(r,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),g.classList.add("hidden");let b=u.dataTransfer.files[0];if(!b)return;let A0=b.name,E0=await b.arrayBuffer(),m0=E0.slice(0,4),c0=new TextDecoder;if(c0.decode(m0)==="RIFF"){let u1=E0.slice(8,12);if(c0.decode(u1)==="RMID"){r({buf:E0,name:A0});return}l(E0);return}r({buf:E0,name:A0})})}};document.body.classList.add("load");var uk=!1,Ur=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)"];constructor(r,l,g){this.localeManager=g,this.context=r,this.isExporting=!1,this.compressionFunc=fk;let u;this.ready=new Promise(b=>u=b),this.initializeContext(r,l).then(()=>{u()})}saveBlob(r,l){let g=URL.createObjectURL(r),u=document.createElement("a");u.href=g,u.download=l,u.click(),W5(u)}sfError;async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let R of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(R,"innerText",R.getAttribute("translate-path"));for(let R of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(R,"innerText",R.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(R,"title",R.getAttribute("translate-path-title")+".description");let u=uk?"synthetizer/worklet_system/worklet_processor.js":GC;uk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),r.audioWorklet&&await r.audioWorklet.addModule(new URL("../../spessasynth_lib/"+u,import.meta.url)),this.soundFont=l;let b=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),E0=await(await fetch(b)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(E0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new ah(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",R=>{this.sfError&&this.sfError(R)}),await this.synth.isReady,this.midHandler=new bC,this.wml=new _C(this.synth),this.keyboard=new pm(this.channelColors,this.synth);let m0=document.getElementById("note_canvas");m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,m0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let c0=!1,u1=()=>{if(m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),Lo){if(window.innerWidth/window.innerHeight>1){if(!c0){let R=document.getElementById("title_wrapper"),Z0=document.getElementById("settings_div");c0=!0,R.parentElement.insertBefore(Z0,R)}}else if(c0){let R=document.getElementById("title_wrapper"),Z0=document.getElementById("settings_div");c0=!1,R.parentElement.insertBefore(R,Z0)}}this.renderer.render(!1,!0)};u1(),window.addEventListener("resize",u1.bind(this)),window.addEventListener("orientationchange",u1.bind(this)),Lo&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Gr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new TC(document.getElementById("player_info"),this.localeManager),this.seqUI=new xs(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ci(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new JC(R=>{this.play([{binary:R.buf,altName:R.name}]),R.name.length>20&&(R.name=R.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=R.name},R=>{this.reloadSf(R)}),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case X7.cinematicMode:this.seq&&this.seq.pause();let Z0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),Z0===null)return;m0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${Z0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case X7.videoMode:this.seq&&this.seq.pause();let G0=window.prompt(`Video mode! +`));if(!$)return null;i.input=Jr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(A.print(Ts(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.print(Ts(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(A.printErr(Ts(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.printErr(Ts(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(L2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[L2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(L2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(L2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var Z0=Math.min(i.node.usedBytes-P,d);if(K4(Z0>=0),Z0>8&&e.subarray)$.set(e.subarray(P,P+Z0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var Z0=!1,t1=0,D2=i.type==="remote"?i.db:$.db,s=D2.transaction([C7.DB_STORE_NAME],"readwrite"),o1=s.objectStore(C7.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"?C7.loadRemoteEntry(o1,w5,function(p2,T5){if(p2)return C(p2);C7.storeLocalEntry(w5,T5,C)}):C7.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);C7.storeRemoteEntry(o1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?C7.removeLocalEntry(w5,C):C7.removeRemoteEntry(o1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(u),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=B7.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=B7.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(B7.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);B7.utimesSync(h,d,d)}$.size!==void 0&&B7.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?B7.mkdirSync(e,P.mode):B7.writeFileSync(e,"",{mode:P.mode})}catch(Z0){throw Z0.code?new k.ErrnoError(L2[Z0.code]):Z0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{B7.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{B7.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{B7.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return B7.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{B7.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=B7.readlinkSync($),$=Ep.relative(Ep.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=B7.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&B7.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(L2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),Z0;try{Z0=B7.readSync(i.nfd,e,0,d,P)}catch(D2){throw new k.ErrnoError(L2[D2.code])}if(Z0>0)for(var t1=0;t18)throw new k.ErrnoError(L2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,Z0="/",t1=0;t140)throw new k.ErrnoError(L2.ELOOP)}}return{path:Z0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,D2,s,o1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=D2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=o1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var Z0=new k.FSNode(i,$,h,d);return k.hashAddNode(Z0),Z0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?L2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:L2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return L2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return L2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return L2.EBUSY}else if(k.isDir(d.mode))return L2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?L2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?L2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):L2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(L2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(Z0){this.node=Z0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(L2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!d&&!P){var Z0=k.lookupPath(h,{follow_mount:!1});if(h=Z0.path,e=Z0.node,k.isMountpoint(e))throw new k.ErrnoError(L2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(L2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},D2=i.mount(t1);return D2.mount=t1,t1.root=D2,d?k.root=D2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),D2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(L2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(Z0){for(var t1=k.nameTable[Z0];t1;){var D2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=D2}}),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(L2.EINVAL);var Z0=k.mayCreate(P,e);if(Z0)throw new k.ErrnoError(Z0);if(!P.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),Z0,t1,D2;try{Z0=k.lookupPath(i,{parent:!0}),t1=Z0.node,Z0=k.lookupPath($,{parent:!0}),D2=Z0.node}catch{throw new k.ErrnoError(L2.EBUSY)}if(!t1||!D2)throw new k.ErrnoError(L2.ENOENT);if(t1.mount!==D2.mount)throw new k.ErrnoError(L2.EXDEV);var s=k.lookupNode(t1,P),o1=c9.relative(i,d);if(o1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(o1=c9.relative($,h),o1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var C;try{C=k.lookupNode(D2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(D2,e,w5):k.mayCreate(D2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(L2.EBUSY);if(D2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,D2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(L2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===L2.EISDIR&&(e=L2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(L2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(L2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(L2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(L2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(L2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(L2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(L2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var Z0=k.lookupPath(i,{follow:!($&131072)});e=Z0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(L2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(L2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var D2=k.mayOpen(e,$);if(D2)throw new k.ErrnoError(D2)}$&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),A.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,A.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var o1=0;($&2097155)!==1&&(o1|=k.tracking.openFlags.READ),$&2097155&&(o1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,o1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(L2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(L2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var Z0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=Z0),Z0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(L2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var Z0=!0;if(typeof P>"u")P=i.position,Z0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);Z0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(D2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+D2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(L2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(L2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,Z0){if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(L2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,Z0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(L2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,Z0=new Uint8Array(e);return k.read(d,Z0,0,e,0),$.encoding==="utf8"?h=Ts(Z0,0):$.encoding==="binary"&&(h=Z0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Ns($)+1),e=Rn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(L2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,Z0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Fn.register(k.makedev(5,0),Fn.default_tty_ops),Fn.register(k.makedev(6,0),Fn.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 u?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(){A.stdin?k.createDevice("/dev","stdin",A.stdin):k.symlink("/dev/tty","/dev/stdin"),A.stdout?k.createDevice("/dev","stdout",null,A.stdout):k.symlink("/dev/tty","/dev/stdout"),A.stderr?k.createDevice("/dev","stderr",null,A.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[vk>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Sk>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Dk>>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 L2)if(L2[P]===d){this.code=P;break}},this.setErrno($),this.message=kk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[L2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){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(),A.stdin=i||A.stdin,A.stdout=$||A.stdout,A.stderr=h||A.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,R9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;R9||(O9=p2);var I4=function(V9,h8){if(V9>h8)throw new Error("invalid range ("+V9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var V4=new XMLHttpRequest;if(V4.open("GET",h,!1),p2!==O9&&V4.setRequestHeader("Range","bytes="+V9+"-"+h8),typeof Uint8Array<"u"&&(V4.responseType="arraybuffer"),V4.overrideMimeType&&V4.overrideMimeType("text/plain; charset=x-user-defined"),V4.send(null),!(V4.status>=200&&V4.status<300||V4.status===304))throw new Error("Couldn't load "+h+". Status: "+V4.status);return V4.response!==void 0?new Uint8Array(V4.response||[]):Jr(V4.responseText||"",!0)},w8=this;w8.setDataGetter(function(V9){var h8=V9*O9,V4=(V9+1)*O9-1;if(V4=Math.min(V4,p2-1),typeof w8.chunks[V9]>"u"&&(w8.chunks[V9]=I4(h8,V4)),typeof w8.chunks[V9]>"u")throw new Error("doXHR failed!");return w8.chunks[V9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!b)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var Z0=new e;Object.defineProperty(Z0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(Z0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:Z0}}else var t1={isDevice:!1,url:h};var D2=k.createFile(i,$,t1,d,P);t1.contents?D2.contents=t1.contents:t1.url&&(D2.contents=null,D2.url=t1.url),Object.defineProperty(D2,"usedBytes",{get:function(){return this.contents.length}});var s={},o1=Object.keys(D2.stream_ops);return o1.forEach(function(C){var w5=D2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(D2))throw new k.ErrnoError(L2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,R9,O9){if(!k.forceLoadFile(D2))throw new k.ErrnoError(L2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,R9);if(K4(w8>=0),I4.slice)for(var V9=0;V9=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 o1=0;o1=0&&s[C]==="";C--);return o1>C?[]:s.slice(o1,C-o1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),Z0=e,t1=0;t10){var t1=Date.now(),D2=J1.mainLoop.queue.shift();if(D2.func(D2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,o1=s%1==0?s-1:Math.floor(s);D2.counted?J1.mainLoop.remainingBlockers=o1:(o1=o1+.5,J1.mainLoop.remainingBlockers=(8*s+o1)/9)}console.log('main loop blocker "'+D2.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"&&A.ctx&&(A.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?Pm(0,1e3/$):Pm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,dp(h,0,!1,J1.mainLoop.arg,!0),Pm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(A.setStatus){var i=A.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."),A.noImageDecoding=!0);var i={};i.canHandle=function(e){return!A.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,Z0,t1,D2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(Z0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(Z0)}))}catch(p2){R.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var o1=new J1.BlobBuilder;o1.append(new Uint8Array(e).buffer),s=o1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){K4(w5.complete,"Image "+Z0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var R9=T5.getContext("2d");R9.drawImage(w5,0,0),A.preloadedImages[Z0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),D2&&D2()},w5.src=C},A.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!A.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,Z0,t1,D2){var s=!1;function o1(R9){s||(s=!0,A.preloadedAudios[Z0]=R9,t1&&t1(e))}function C(){s||(s=!0,A.preloadedAudios[Z0]=new Audio,D2&&D2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(Z0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){o1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+Z0+", trying slower base64 approach");function I4(w8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",V4="",Ni=0,Gi=0,ur=0;ur=6;){var K$=Ni>>Gi-6&63;Gi-=6,V4+=V9[K$]}return Gi==2?(V4+=V9[(Ni&3)<<4],V4+=h8+h8):Gi==4&&(V4+=V9[(Ni&15)<<2],V4+=h8),V4}T5.src="data:audio/x-"+Z0.substr(-3)+";base64,"+I4(e),o1(T5)},T5.src=p2,J1.safeSetTimeout(function(){o1(T5)},1e4)}else return C()},A.preloadPlugins.push($);var h=A.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),A.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&A.ctx&&i==A.canvas)return A.ctx;var P,e;if($){var Z0={antialias:!1,alpha:!1};if(d)for(var t1 in d)Z0[t1]=d[t1];e=GL.createContext(i,Z0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||K4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),A.ctx=P,$&&GL.makeContextCurrent(e),A.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(D2){D2()}),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=A.canvas;function P(){J1.isFullScreen=!1;var Z0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===Z0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(Z0.parentNode.insertBefore(d,Z0),Z0.parentNode.removeChild(Z0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),A.onFullScreen&&A.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!F0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return A.noExitRuntime=!0,setTimeout(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return A.noExitRuntime=!0,setInterval(function(){F0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=A.canvas.getBoundingClientRect(),h=A.canvas.width,d=A.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var Z0=i.touch;if(Z0===void 0)return;var t1=Z0.pageX-(P+$.left),D2=Z0.pageY-(e+$.top);t1=t1*(h/$.width),D2=D2*(d/$.height);var s={x:t1,y:D2};if(i.type==="touchstart")J1.lastTouches[Z0.identifier]=s,J1.touches[Z0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var o1=J1.touches[Z0.identifier];o1||(o1=s),J1.lastTouches[Z0.identifier]=o1,J1.touches[Z0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){K4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||hr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Ln("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=A.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=A.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=q$[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=q$[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(A.forcedAspectRatio&&A.forcedAspectRatio>0&&(d/P>2]=$),$}function qk(){A.printErr("missing function: floor0_exportbundle"),Ys(-1)}if(Hs=R.staticAlloc(4),_9[Hs>>2]=0,A.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},A.requestAnimationFrame=function($){J1.requestAnimationFrame($)},A.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},A.pauseMainLoop=function(){J1.mainLoop.pause()},A.resumeMainLoop=function(){J1.mainLoop.resume()},A.getUserMedia=function(){J1.getUserMedia()},A.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),N$.unshift(function(){!A.noFSInit&&!k.init.initialized&&k.init()}),Qh.push(function(){k.ignorePermissions=!1}),G$.push(function(){k.quit()}),A.FS_createFolder=k.createFolder,A.FS_createPath=k.createPath,A.FS_createDataFile=k.createDataFile,A.FS_createPreloadedFile=k.createPreloadedFile,A.FS_createLazyFile=k.createLazyFile,A.FS_createLink=k.createLink,A.FS_createDevice=k.createDevice,N$.unshift(function(){Fn.init()}),G$.push(function(){Fn.shutdown()}),u)var B7=void 0,Ep=void 0;ph=Bi=R.alignMemory(qr),L$=!0,F$=ph+Mm,M$=xi=R.alignMemory(F$),K4(M$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function vb(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function yv(t){t=t|0,q6=t}function wv(){return q6|0}function sB(t){t=t|0;var n=0,o=0,a=0,c=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,o=t+8|0,e[o>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,c=t+16|0,e[c>>2]=256}function kv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,o=n>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(S=o<<3,w=n-S|0,y=t+8|0,D=e[y>>2]|0,Q=D+o|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=o,c=8+(w<<2)|0,f=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&f,p=m&255,d[Q>>0]=p)}function U2(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0;O0=C,f=o>>>0>32;do if(!f){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,n0=t0+-4|0,w0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,w0)N=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(P0=t+8|0,V0=e[P0>>2]|0,I=t0+256|0,m=Pi(V0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,S=e[t>>2]|0,w=m+S|0,e[a>>2]=w,N=w}y=8+(o<<2)|0,D=e[y>>2]|0,Q=D&n,L=t+4|0,x=e[L>>2]|0,F=x+o|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,H=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=H,$0=(F|0)>15,$0&&(Z=e[L>>2]|0,V=16-Z|0,a0=Q>>>V,i0=a0&255,r0=e[a>>2]|0,K=r0+2|0,d[K>>0]=i0,h0=(F|0)>23,h0&&(s0=e[L>>2]|0,g0=24-s0|0,j=Q>>>g0,l0=j&255,f0=e[a>>2]|0,d0=f0+3|0,d[d0>>0]=l0,C0=(F|0)>31,C0))))if(k0=e[L>>2]|0,u0=(k0|0)==0,u0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,K0=S0+4|0,d[K0>>0]=I0;break}while(!1);M0=(F|0)/8&-1,N0=e[t>>2]|0,U0=N0+M0|0,e[t>>2]=U0,y0=e[a>>2]|0,q0=y0+M0|0,e[a>>2]=q0,x0=F&7,e[L>>2]=x0;return}while(!1);b0=t+8|0,T0=e[b0>>2]|0,J0=(T0|0)==0,J0||I2(T0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function AB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;f=C,n=t+8|0,o=e[n>>2]|0,a=(o|0)==0,a||I2(o),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 ft(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,n=t+12|0,o=e[n>>2]|0,a=(o|0)==0,!a&&(c=t+8|0,f=e[c>>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 oB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=n>>>0>32,a)return o=-1,o|0;if(c=8+(n<<2)|0,D=e[c>>2]|0,z=t+4|0,V=e[z>>2]|0,f0=V+n|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,u0=k0+-4|0,f=(w0|0)<(u0|0),!f){if(E=f0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return o=-1,o|0;if(B=(f0|0)==0,B)return o=0,o|0}return v=t+12|0,S=e[v>>2]|0,w=d[S>>0]|0,y=w&255,Q=y>>>V,_=(f0|0)>8,_?(L=S+1|0,x=d[L>>0]|0,F=x&255,M=8-V|0,T=F<16,G?(O=S+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=S+3|0,U=d[X>>0]|0,$0=U&255,Z=24-V|0,a0=$0<>0]|0,s0=h0&255,g0=32-V|0,j=s0<>2]|0,v=a+n|0,S=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=v+7|0,Q=D>>3,_=y-Q|0,L=(S|0)>(_|0),L){B=t+12|0,e[B>>2]=0,e[t>>2]=y,x=1,e[o>>2]=x;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,m=S+c|0,e[t>>2]=m,p=v&7,x=p,e[o>>2]=x;return}}function Z4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0;b0=C,m=n>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,Q0=c;else{if(p=8+(n<<2)|0,F=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,u0=K+n|0,L0=e[t>>2]|0,M0=t+16|0,N0=e[M0>>2]|0,U0=N0+-4|0,B=(L0|0)<(U0|0),!B){if(v=u0+7|0,S=v>>3,w=N0-S|0,y=(L0|0)>(w|0),y){f=t,E=e0,Q0=N0;break}if(D=(u0|0)==0,D)return o=0,o|0}return Q=t+12|0,_=e[Q>>2]|0,L=d[_>>0]|0,x=L&255,M=x>>>K,T=(u0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-K|0,Y=O<16,J?(W=_+2|0,H=d[W>>0]|0,X=H&255,U=16-K|0,$0=X<24,V?(a0=_+3|0,n0=d[a0>>0]|0,i0=n0&255,r0=24-K|0,h0=i0<>0]|0,d0=f0&255,w0=32-K|0,C0=d0<>2]=I0,S0=L0+p0|0,e[t>>2]=S0,K0=u0&7,e[e0>>2]=K0,o=B0,o|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[f>>2]=Q0,e[E>>2]=1,o=-1,o|0}function p7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,o=t+4|0,a=e[o>>2]|0,c=a+7|0,f=(c|0)/8&-1,E=f+n|0,E|0}function Jp(t){t=t|0;var n=0,o=0,a=0,c=0;return c=C,n=t+8|0,o=e[n>>2]|0,o|0}function vv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0;if(T=C,c=(t|0)==0,c)return o=-1,o|0;Ae(t|0,0,360)|0,f=t+4|0,e[f>>2]=16384,S=t+24|0,e[S>>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 v=t+336|0,e[v>>2]=n,o=0,o|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),Ae(t|0,0,360)|0,o=-1,o|0}function Sv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,n=(t|0)==0,n||(o=e[t>>2]|0,a=(o|0)==0,a||I2(o),c=t+16|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),Ae(t|0,0,360)|0),0}function Dv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0;if(N0=C,n=(t|0)==0,!n){if(o=e[t>>2]|0,w=o+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,u0=e[t>>2]|0,B0=u0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,S=S0>>>24,y=f+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^S,L=144+(_<<2)|0,x=e[L>>2]|0,F=x^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=F,Q0=M;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,L0=0;;)if(N=_0<<8,O=_0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^N,X=L0+1|0,U=(X|0)<(I|0),U)_0=H,L0=X;else{K0=H;break}else K0=I0;Z=K0&255,V=e[t>>2]|0,a0=V+22|0,d[a0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,K=r0+23|0,d[K>>0]=i0,h0=K0>>>16,s0=h0&255,g0=e[t>>2]|0,l0=g0+24|0,d[l0>>0]=s0,f0=K0>>>24,d0=f0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function bv(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,b0=(S0|0)==0,b0))return I=-1,I|0;if(D0=(n|0)==0,D0)return I=0,I|0;z0=(o|0)>0;e:do if(z0){for(u2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,s2=(O1|0)<0,y=2147483647-O1|0,O=(u2|0)>(y|0),F2=s2|O,F2){I=-1;break}if(Z=O1+u2|0,n0=y2+1|0,i0=(n0|0)<(o|0),i0)u2=Z,y2=n0;else{n2=Z;break e}}return I|0}else n2=0;while(!1);r0=(n2|0)/255&-1,K=r0+1|0,h0=t+12|0,s0=e[h0>>2]|0,g0=(s0|0)==0,w=t+8|0,g0||(l0=e[w>>2]|0,f0=l0-s0|0,e[w>>2]=f0,d0=(l0|0)==(s0|0),d0||(w0=S0+s0|0,Wo(S0|0,w0|0,f0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,u0=k0-n2|0,B0=e[w>>2]|0,p0=(u0|0)>(B0|0);do if(!p0){if(I0=2147483647-n2|0,K0=(k0|0)>(I0|0),K0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=t+16|0,M0=e[L0>>2]|0,N0=(M0|0)==0,N0||I2(M0),U0=t+20|0,y0=e[U0>>2]|0,q0=(y0|0)==0,q0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(x0=k0+n2|0,T0=(x0|0)<2147482623,J0=x0+1024|0,E=T0?J0:x0,Y0=e[t>>2]|0,P0=Pi(Y0,E)|0,V0=(P0|0)==0,!V0){e[C0>>2]=E,e[t>>2]=P0;break}return G0=e[t>>2]|0,O0=(G0|0)==0,O0||I2(G0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=_v(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=n+(v2<<3)|0,R1=e[Q1>>2]|0,x1=(n+(v2<<3)|0)+4|0,S1=e[x1>>2]|0,s4(B1|0,R1|0,S1|0)|0,L1=e[x1>>2]|0,F1=e[w>>2]|0,G1=F1+L1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(o|0),!e2;)p1=G1,v2=k1;if(l1=(n2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,A1=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=A1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,b1=N1,K1=e[b1>>2]|0,H1=N1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=m1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=K1,P1=r2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,f2=(z1|0)<(r0|0),f2;)C2=z1;b2=d1?r0:1,B=I1,a2=m1,w2=b2}else m=t+20|0,v=e[m>>2]|0,S=t+352|0,B=S,a2=v,w2=0;return E2=(n2|0)%255&-1,A2=a1+w2|0,V1=A1+(A2<<2)|0,e[V1>>2]=E2,h2=a2+(A2<<3)|0,t2=h2,$2=t2,e[$2>>2]=c,i2=t2+4|0,o2=i2,e[o2>>2]=f,X1=B,D=X1,e[D>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=f,L=A1+(a1<<2)|0,x=e[L>>2]|0,F=x|256,e[L>>2]=F,M=a1+K|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=Vs(z|0,J|0,1,0)|0,e0=q6,H=T,X=H,e[X>>2]=W,U=H+4|0,$0=U,e[$0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Jm(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,C=C+16|0,Q=L,o=e[n>>2]|0,e[Q>>2]=o,a=n+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=n+12|0,v=e[B>>2]|0,S=n+16|0,w=S,y=w,D=e[y>>2]|0,c=w+4|0,f=c,E=e[f>>2]|0,I=bv(t,Q,1,v,D,E)|0,C=L,I|0}function Kp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0;return c=C,o=zp(t,n,1,4096)|0,o|0}function Vp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(o=0,o|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?D=0:(v=t+332|0,S=e[v>>2]|0,w=(S|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=zp(t,n,D,4096)|0,o=y,o|0)}function _v(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0;return l0=C,c=t+24|0,f=e[c>>2]|0,Q=f-n|0,Y=t+28|0,a0=e[Y>>2]|0,r0=(Q|0)>(a0|0),r0?(a=0,a|0):(K=2147483647-n|0,h0=(f|0)>(K|0),h0?(s0=e[t>>2]|0,g0=(s0|0)==0,g0||I2(s0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),Ae(t|0,0,360)|0,a=-1,a|0):(S=f+n|0,w=(S|0)<2147483615,y=S+32|0,o=w?y:S,D=t+16|0,_=e[D>>2]|0,L=o<<2,x=Pi(_,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=o<<3,H=Pi(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[D>>2]|0,V=(Z|0)==0,V||I2(Z),n0=e[J>>2]|0,i0=(n0|0)==0,i0||I2(n0),Ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=H,e[c>>2]=o,a=0,a|0))))}function zp(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(L1=e[t>>2]|0,q1=(L1|0)==0,A2=(c|0)==0,y3=A2|q1,y3))return f=0,f|0;e2=t+332|0,q2=e[e2>>2]|0,Z2=(q2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(M0=(l3|0)<(c|0),!M0){I=o,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,q5=l3,O5=14;break e}if(V0=e[C0>>2]|0,H0=V0+(l3<<2)|0,e1=e[H0>>2]|0,D0=e1&255,i1=(D0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=o,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,q5=$1,O5=14;break}}else if(L=(c|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,Z5=0,R3=0,C3=0;;){if(f1=(C5|0)>(a|0),g1=(Z5|0)>3,N3=f1&g1,N3){E=1,G5=S5,_5=g5,H2=a5,I5=W2,o5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,A1=n1+C5|0,z0=(n1|0)==255,z0?(h5=S5,J2=g5,f5=a5,i5=W2,R5=g2,j2=p5,$5=t5,x2=s5,i6=0,G3=R3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,w1=B1&255,S1=zs(B1|0,R1|0,8)|0,F1=q6,G1=S1&255,k1=zs(B1|0,R1|0,16)|0,U1=q6,Z1=k1&255,N1=zs(B1|0,R1|0,24)|0,b1=q6,K1=N1&255,O1=R1&255,H1=zs(B1|0,R1|0,40)|0,Y1=q6,j1=H1&255,r2=zs(B1|0,R1|0,48)|0,W1=q6,P1=r2&255,c2=zs(B1|0,R1|0,56)|0,z1=q6,f2=c2&255,h5=w1,J2=Z1,f5=K1,i5=O1,R5=j1,j2=P1,$5=f2,x2=G1,i6=x1,G3=x1),s2=C3+1|0,E2=(s2|0)<(c|0),E2)C5=A1,S5=h5,g5=J2,a5=f5,W2=i5,g2=R5,p5=j2,t5=$5,s5=x2,Z5=i6,R3=G3,C3=s2;else{E=o,G5=h5,_5=J2,H2=f5,I5=i5,o5=R5,c5=j2,B5=$5,M1=x2,c3=s2;break}}V1=(c3|0)==255,V1?(n3=G5,m3=_5,F5=H2,J5=I5,w3=o5,f3=c5,B3=B5,V3=M1,U5=255):(I=E,Q5=G5,H5=_5,j5=H2,E5=I5,u3=o5,h3=c5,Y5=B5,X5=M1,q5=c3,O5=14)}else I=o,Q5=-1,H5=-1,j5=-1,E5=-1,u3=-1,h3=-1,Y5=-1,X5=-1,q5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return f=0,f|0;n3=Q5,m3=H5,F5=j5,J5=E5,w3=u3,f3=h3,B3=Y5,V3=X5,U5=q5}if(a2=t+40|0,d[a2>>0]=79,d[a2+1>>0]=103,d[a2+2>>0]=103,d[a2+3>>0]=83,t2=t+44|0,d[t2>>0]=0,$2=t+45|0,d[$2>>0]=0,i2=t+16|0,o2=e[i2>>2]|0,X1=e[o2>>2]|0,n2=X1>>>8,v=n2&1,u2=v^1,y2=u2|2,m=Z2?y2:u2,a3=m&255,d[$2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),V5=C2&F2,V5&&(p=Z2?y2:u2,b2=p|4,N2=b2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,V2=t+47|0,d[V2>>0]=V3,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]=w3,A5=t+52|0,d[A5>>0]=f3,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,D5=X2>>>8,u5=D5&255,v5=t+55|0,d[v5>>0]=u5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,n5=m5&255,R2=t+57|0,d[R2>>0]=n5,_2=t+340|0,B2=e[_2>>2]|0,x=(B2|0)==-1,x?(e[_2>>2]=0,M=0):M=B2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,H=e0&255,X=t+61|0,d[X>>0]=H,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,V=(U5|0)>0,V){if(a0=e[o2>>2]|0,n0=a0&255,r0=t+67|0,d[r0>>0]=n0,K=a0&255,b5=(U5|0)==1,b5)B=K;else for(s0=1,k0=K;;)if(S=e[i2>>2]|0,h0=S+(s0<<2)|0,g0=e[h0>>2]|0,j=g0&255,l0=s0+27|0,f0=(t+40|0)+l0|0,d[f0>>0]=j,d0=g0&255,w0=d0+k0|0,u0=s0+1|0,d5=(u0|0)==(U5|0),d5){B=w0;break}else s0=u0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,Q0=w,y0=y,x0=D,L5=B}else Q0=L1,y0=_,x0=o2,L5=0;return e[n>>2]=a2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=n+4|0,e[I0>>2]=B0,S0=t+12|0,K0=e[S0>>2]|0,_0=Q0+K0|0,L0=n+8|0,e[L0>>2]=_0,N0=n+12|0,e[N0>>2]=L5,U0=y0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,b0=U0<<2,Wo(x0|0,q0|0,b0|0)|0,T0=t+20|0,J0=e[T0>>2]|0,Y0=J0+(U5<<3)|0,P0=e[Q>>2]|0,G0=P0<<3,Wo(J0|0,Y0|0,G0|0)|0,O0=e[S0>>2]|0,r1=O0+L5|0,e[S0>>2]=r1,Dv(n),f=1,f|0}function Rv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0;return H0=C,a=t+104|0,c=e[a>>2]|0,D=t+88|0,z=c+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,V=e[z>>2]|0,ft(V),f0=c+16|0,_0=e[f0>>2]|0,ft(_0),J0=c+20|0,G0=e[J0>>2]|0,ft(G0),O0=c+24|0,f=e[O0>>2]|0,ft(f),E=c+28|0,I=e[E>>2]|0,ft(I),m=c+32|0,p=e[m>>2]|0,ft(p),B=c+36|0,v=e[B>>2]|0,ft(v),S=c+40|0,w=e[S>>2]|0,ft(w),y=c+44|0,Q=e[y>>2]|0,ft(Q),_=c+48|0,L=e[_>>2]|0,ft(L),x=c+52|0,F=e[x>>2]|0,ft(F),M=c+56|0,T=e[M>>2]|0,ft(T),N=c+60|0,G=e[N>>2]|0,ft(G),O=c+64|0,Y=e[O>>2]|0,ft(Y),t0=c+68|0,J=e[t0>>2]|0,ft(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=vQ[H&1](t)|0,U=(X|0)==0,U?($0=(n|0)==0,$0?(o=0,o|0):(Z=_h(t)|0,a0=(Z|0)==0,a0?(n0=t+4|0,i0=Jp(n0)|0,e[n>>2]=i0,r0=p7(n0)|0,K=n+4|0,e[K>>2]=r0,h0=n+8|0,e[h0>>2]=0,s0=t+44|0,g0=e[s0>>2]|0,j=n+12|0,e[j>>2]=g0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,u0=k0,B0=e[u0>>2]|0,p0=n+16|0,I0=p0,S0=I0,e[S0>>2]=C0,K0=I0+4|0,Q0=K0,e[Q0>>2]=B0,L0=t+56|0,M0=L0,N0=M0,U0=e[N0>>2]|0,y0=M0+4|0,q0=y0,x0=e[q0>>2]|0,b0=n+24|0,T0=b0,Y0=T0,e[Y0>>2]=U0,P0=T0+4|0,V0=P0,e[V0>>2]=x0,o=0,o|0):(o=-131,o|0))):(o=X,o|0)}function xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0;C0=C,o=t+28|0,a=e[o>>2]|0,d0=n,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(s0=t+8|0,g0=e[s0>>2]|0,j=e[a>>2]|0,l0=j>>1,f0=a+4|0,c=e[f0>>2]|0,f=(c|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,p=+(m|0),B=+(l0|0),v=p*B,S=+(g0|0),w=v/S,D=+Ui(w),Q=~~D,_=n+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,F=+(x|0),M=F*B,T=M/S,N=+Ui(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/S,H=+Ui(e0),X=~~H,U=n+20|0,e[U>>2]=X,$0=n+32|0,o1[$0>>3]=7,V=+(O|0),a0=a+3376|0,n0=+o1[a0>>3],i0=V*n0,r0=~~i0,K=n+8|0,e[K>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function Lv(t){t=t|0;var n=0,o=0,a=0,c=0;a=C,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function _h(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,o=t+64|0,a=e[o>>2]|0,c=a+104|0,f=e[c>>2]|0,E=f+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function Fv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0;if(D6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,x2=k2+4|0,F5=e[x2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=g2+112|0,T=+o1[v>>3],X=+Ui(T),s0=~~X,p0=(B+12|0)+(s0<<2)|0,q0=e[p0>>2]|0,H0=p7(q0)|0,n1=H0<<3,R1=t+28|0,b1=e[R1>>2]|0,f2=(b1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,f2?(x5=g2+100|0,D5=e[x5>>2]|0,U=d2,k0=x5,I0=D5):(Z2=g2+104|0,u5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=r5(u5,d2)|0,m5=r5(u5,P5)|0,U=l5,k0=v5,I0=m5),n5=M5+(b1<<2)|0,R2=e[n5>>2]|0,_2=R2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),d5=M5+3376|0,b5=+o1[d5>>3],G5=L5*b5,H2=~~G5,I5=g2+80|0,o5=e[I5>>2]|0,c5=(o5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,o=0,o|0):(o=-1,o|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){f2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+o1[h5>>3],f5=15/J2,i5=g2+84|0,R5=e[i5>>2]|0,j2=n1-$5|0,Q5=R5+j2|0,H5=(Q5|0)>(H2|0);e:do if(H5)if(j5=(s0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(u3=n1-$5|0,h3=u3+R5|0,Y5=(h3|0)>(H2|0),Y5)for(P3=s0;;){if(X5=P3+-1|0,n3=(B+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,J5=p7(m3)|0,w3=J5<<3,f3=(P3|0)>1,B3=(w3|0)>($5|0),v6=B3&f3,!v6){K5=X5;break e}if(I=e[i5>>2]|0,V3=w3-$5|0,N3=V3+I|0,V5=(N3|0)>(H2|0),V5)P3=X5;else{K5=X5;break}}else K5=s0;else K5=s0;else if(y3=(Q5|0)<(H2|0),y3)if(Z5=s0+1|0,i6=(Z5|0)<15,G3=(n1|0)<($5|0),j3=G3&i6,j3)if(a3=n1-$5|0,l3=a3+R5|0,c3=(l3|0)<(H2|0),c3)for(q5=Z5;;){if(C3=(B+12|0)+(q5<<2)|0,U5=e[C3>>2]|0,O5=p7(U5)|0,k5=O5<<3,U3=q5+1|0,A6=(U3|0)<15,e3=(k5|0)<($5|0),B6=e3&A6,!B6){K5=q5;break e}if(E=e[i5>>2]|0,o3=k5-$5|0,x3=o3+E|0,f6=(x3|0)<(H2|0),f6)q5=U3;else{K5=q5;break}}else K5=s0;else K5=s0;else K5=s0;while(!1);p3=+(K5|0),k3=+o1[v>>3],Q3=p3-k3,r6=+Ui(Q3),W3=+(_2|0),S=r6/W3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*S,_=-f5,L=Q<_,C6=L?_:Q,x=C6>f5,S3=x?f5:C6,F=S3/D,M=F*W3,N=M+k3,o1[v>>3]=N,G=+Ui(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=p7(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,v3=O,X3=J}else W=d2,v3=s0,X3=n1;e0=(W|0)>0,H=(X3|0)<(U|0),c6=H&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,V=X3-U|0,a0=V+Z|0,n0=(a0|0)<0,n0)for(g3=v3,e6=X3;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){O3=i0,u6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,h0=e[K>>2]|0,g0=p7(h0)|0,j=g0<<3,l0=e[$0>>2]|0,f0=j-U|0,d0=f0+l0|0,w0=(d0|0)<0,w0)g3=i0,e6=j;else{O3=i0,u6=j;break}}else O3=v3,u6=X3;else O3=v3,u6=X3;while(!1);C0=e[k0>>2]|0,u0=(C0|0)>0,B0=(u6|0)>(I0|0),p6=B0&u0;e:do if(p6)if(S0=g2+88|0,K0=e[S0>>2]|0,_0=u6-I0|0,Q0=_0+K0|0,L0=e[B2>>2]|0,M0=(Q0|0)>(L0|0),M0)for(l6=O3,H3=u6;;){if(N0=l6+-1|0,U0=(l6|0)<1,U0){d3=N0,D3=H3;break e}if(y0=(B+12|0)+(N0<<2)|0,x0=e[y0>>2]|0,b0=p7(x0)|0,T0=b0<<3,J0=e[S0>>2]|0,Y0=T0-I0|0,P0=Y0+J0|0,V0=e[B2>>2]|0,G0=(P0|0)>(V0|0),G0)l6=N0,H3=T0;else{d3=N0,D3=T0;break}}else d3=O3,D3=u6;else d3=O3,D3=u6;while(!1);if(O0=(d3|0)<0,O0)r1=e[B2>>2]|0,e1=g2+88|0,D0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-D0|0,$1=(c1|0)/8&-1,f1=g2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=p7(l1)|0,a1=(s1|0)>($1|0),a1?(A1=e[g1>>2]|0,z0=$1<<3,kv(A1,z0),I1=e[g1>>2]|0,h1=p7(I1)|0,m1=h1<<3,q3=m1):q3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=p7(L1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),K1=(k6|0)>1,O1=e[S1>>2]|0,K1)N1=O1,k6=Z1;else{f=O1;break}else f=U1;H1=p7(f)|0,q1=H1<<3,q3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?z3=37:(r2=e[k0>>2]|0,W1=(r2|0)>0,W1&&(z3=37));do if((z3|0)==37){if(P1=(I0|0)>0,c2=(q3|0)>(I0|0),R6=P1&c2,R6){s2=q3-I0|0,E2=g2+88|0,A2=e[E2>>2]|0,V1=s2+A2|0,e[E2>>2]=V1;break}if(h2=(U|0)>0,a2=(q3|0)<(U|0),Y6=h2&a2,Y6){t2=q3-U|0,$2=g2+88|0,i2=e[$2>>2]|0,o2=t2+i2|0,e[$2>>2]=o2;break}if(n2=g2+88|0,u2=e[n2>>2]|0,e2=(u2|0)>(H2|0),e2)if(P1){y2=q3-I0|0,v2=u2+y2|0,w2=(v2|0)<(H2|0),n=w2?H2:v2,e[n2>>2]=n;break}else{e[n2>>2]=H2;break}else if(h2){C2=q3-U|0,F2=u2+C2|0,b2=(F2|0)>(H2|0),a=b2?H2:F2,e[n2>>2]=a;break}else{e[n2>>2]=H2;break}}while(!1);return N2=e[g5>>2]|0,V2=(N2|0)>0,V2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),A5=q3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=A5+X2|0,e[T1>>2]=e5,o=0,o|0):(o=0,o|0)}function Zp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,D=c+120|0,z=e[D>>2]|0,V=(z|0)==0,V?(o=0,o|0):(f0=(n|0)==0,f0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,f=k0+104|0,E=e[f>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?u0=7:(p=c+124|0,B=e[p>>2]|0,u0=B),v=(w0+12|0)+(u0<<2)|0,S=e[v>>2]|0,w=Jp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=p7(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,H=e0,e[H>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,n0=e[a0>>2]|0,i0=Z+4|0,r0=i0,K=e[r0>>2]|0,h0=n+24|0,s0=h0,g0=s0,e[g0>>2]=n0,j=s0+4|0,l0=j,e[l0>>2]=K),e[D>>2]=0,o=1,o|0)}function Mv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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(o=n+64|0,e[o>>2]=t,a=n+76|0,e[a>>2]=0,p=n+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(S=n4(1,72)|0,w=n+104|0,e[w>>2]=S,y=S+4|0,s[y>>2]=-9999,D=n+4|0,Q=S+12|0,c=S+40|0,L=0;;)if(f=(L|0)==7,f){e[c>>2]=D,sB(D),L=8;continue}else{if(E=n4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,sB(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function O7(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=n+7|0,a=o&-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?(c=(O|0)==0,c||(f=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+x|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=f,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function Tv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,f=e[W>>2]|0,E=(f|0)==0,n=t+68|0,o=e[n>>2]|0,E?Q=o:(I=t+76|0,m=e[I>>2]|0,p=m+f|0,B=Pi(o,p)|0,e[n>>2]=B,v=e[W>>2]|0,S=e[I>>2]|0,w=S+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(c|0)==0,L){U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}else H=0;for(;;){if(x=(c+12|0)+(H<<2)|0,F=e[x>>2]|0,AB(F),M=(H|0)==7,M){H=8;continue}if(T=e[x>>2]|0,I2(T),N=H+1|0,e0=(N|0)==15,e0)break;H=N}I2(c),U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}function Nv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=Uv(t,n,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=ES(n)|0,v=p+60|0,e[v>>2]=B,S=n4(1,180)|0,e[p>>2]=S,Yv(S,n),w=p+80|0,xv(n,w),y=t+64|0,D=y,f=D,e[f>>2]=3,E=D+4|0,I=E,e[I>>2]=0,o=0,o|0):(o=1,o|0)}function Wp(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,q0=(p0|0)!=0,q0?(H0=p0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,R1=t+104|0,b1=e[R1>>2]|0,z1=(b1|0)!=0,z1){if(o2=e[b1>>2]|0,S=(o2|0)==0,S||(Jv(o2),N=e[b1>>2]|0,I2(N)),U=b1+12|0,g0=e[U>>2]|0,d0=(g0|0)==0,d0||(w0=e[g0>>2]|0,gB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),u0=e[U>>2]|0,I2(u0)),B0=b1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(K0=e[I0>>2]|0,gB(K0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),L0=e[B0>>2]|0,I2(L0)),M0=b1+48|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0){if(x0=(y0|0)==0,x0)d1=N0;else if(b0=y0+16|0,T0=e[b0>>2]|0,J0=(T0|0)>0,J0){if(Y0=y0+800|0,P0=e[Y0>>2]|0,V0=25640+(P0<<2)|0,G0=e[V0>>2]|0,O0=G0+16|0,r1=e[O0>>2]|0,e1=e[N0>>2]|0,Ws[r1&7](e1),D0=e[b0>>2]|0,i1=(D0|0)>1,i1)for($1=1;n=e[M0>>2]|0,c1=Y0+($1<<2)|0,f1=e[c1>>2]|0,g1=25640+(f1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,A1=n+($1<<2)|0,z0=e[A1>>2]|0,Ws[a1&7](z0),I1=$1+1|0,h1=e[b0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;o=e[M0>>2]|0,d1=o}else d1=N0;I2(d1)}if(E1=b1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)V1=B1;else if(x1=y0+20|0,w1=e[x1>>2]|0,S1=(w1|0)>0,S1){if(L1=y0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,Ws[Z1&7](N1),K1=e[x1>>2]|0,O1=(K1|0)>1,O1)for(q1=1;a=e[E1>>2]|0,H1=L1+(q1<<2)|0,Y1=e[H1>>2]|0,j1=25648+(Y1<<2)|0,r2=e[j1>>2]|0,W1=r2+16|0,P1=e[W1>>2]|0,c2=a+(q1<<2)|0,f2=e[c2>>2]|0,Ws[P1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,A2=(s2|0)<(E2|0),A2;)q1=s2;c=e[E1>>2]|0,V1=c}else V1=B1;I2(V1)}if(h2=b1+56|0,a2=e[h2>>2]|0,t2=(a2|0)==0,!t2){if($2=(y0|0)==0,$2)b2=a2;else if(i2=y0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if(AQ(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(v2=1;f=e[h2>>2]|0,y2=f+(v2*52|0)|0,AQ(y2),w2=v2+1|0,C2=e[i2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,b2=E}else b2=a2;I2(b2)}w=b1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||mS(y),Q=b1+80|0,Lv(Q),_=b1+20|0,dQ(_),L=b1+32|0,dQ(L)}if(x=t+8|0,F=e[x>>2]|0,M=(F|0)==0,!M){if(q0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,f0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=f0:(I2(t0),m=e[T>>2]|0,H=m),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[x>>2]|0,Y=I,f0=H,N2=W;p=e[x>>2]|0,X=p}else X=F;else X=F;I2(X),$0=t+12|0,Z=e[$0>>2]|0,V=(Z|0)==0,V||I2(Z)}z1&&(a0=b1+64|0,n0=e[a0>>2]|0,i0=(n0|0)==0,i0||I2(n0),r0=b1+68|0,K=e[r0>>2]|0,h0=(K|0)==0,h0||I2(K),s0=b1+72|0,j=e[s0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(b1)),d2=t,q2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(q2|0))}}function jp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0;if(q0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,r0=W+64|0,k0=e[r0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[r0>>2]=0,L0=W+68|0,M0=e[L0>>2]|0,N0=(M0|0)==0,N0||I2(M0),e[L0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,S=t+20|0,w=e[S>>2]|0,y=w+n|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)o=m+4|0,f=e[o>>2]|0,X=f,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=Pi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,a0=e[G>>2]|0,n0=a0+(i0<<2)|0,K=e[n0>>2]|0,h0=a<<2,s0=Pi(K,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=s0,l0=i0+1|0,f0=e[M>>2]|0,d0=(l0|0)<(f0|0),d0)i0=l0;else{X=f0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[S>>2]|0,V=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,u0=e[C0>>2]|0,B0=u0+(Z<<2)|0,p0=e[V>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,K0=(S0|0)<(X|0),K0)U0=S0;else{c=V;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function Gv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,u0=C0+n|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(u0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=u0,S0=t+28|0,K0=e[S0>>2]|0,_0=(K0|0)==0,!_0||(Q0=t+48|0,L0=e[Q0>>2]|0,M0=u0-L0|0,U0=W+4|0,y0=e[U0>>2]|0,q0=(M0|0)>(y0|0),!q0)?(a=0,C=P0,a|0):(eQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,N0=t+28|0,x0=e[N0>>2]|0,b0=(x0|0)==0,b0&&eQ(t),T0=W+4|0,p=e[T0>>2]|0,B=p*3|0,jp(t,B)|0,v=t+20|0,S=e[v>>2]|0,w=t+32|0,e[w>>2]=S,y=e[T0>>2]|0,D=y*3|0,Q=S+D|0,e[v>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=P0,a|0;for(M=t+8|0,T=S,J0=0;;){if(N=(T|0)>64,N?(G=e[T0>>2]|0,O=(T|0)>(G|0),o=O?G:T,z=e[M>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=T-o|0,J=t0+(f<<2)|0,+tQ(J,k0,o,32),e0=e[M>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,a0=V-U|0,iQ(k0,Z,32,$0,a0)):(n0=e[M>>2]|0,i0=n0+(J0<<2)|0,K=e[i0>>2]|0,h0=K+(T<<2)|0,s0=e[v>>2]|0,g0=s0-T|0,j=g0<<2,Ae(h0|0,0,j|0)|0),l0=J0+1|0,f0=e[_>>2]|0,d0=(l0|0)<(f0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,J0=l0}return C=P0,a|0}function Xp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0;if(A4=C,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,k5=e[s2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,u6=S6+60|0,d6=e[u6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,b0=t9-S0|0,D0=n+104|0,z0=e[D0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,D5=(G2|0)==-1,D5))return a=0,a|0;B2=Kv(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[u2>>2]|0,u3=(J2|0)==0,u3)return a=0,a|0;V3=t+44|0,e[V3>>2]=0,f=V3,P3=0;break}else if(C3=e[k5>>2]|0,U3=k5+4|0,M5=e[U3>>2]|0,A6=(C3|0)==(M5|0),e3=t+44|0,A6){e[e3>>2]=0,f=e3,P3=0;break}else{e[e3>>2]=B2,f=e3,P3=B2;break}while(!1);if(o3=e[G6>>2]|0,x3=e[w>>2]|0,f6=k5+(x3<<2)|0,p3=e[f6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+o3|0,W3=k5+(P3<<2)|0,K5=e[W3>>2]|0,v3=(K5|0)/4&-1,g3=Q3+v3|0,O3=(K5|0)/2&-1,l6=g3+O3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=n+84|0,j3=e[B6>>2]|0,c6=(j3|0)==0,!c6)for(I9=j3;p6=I9+4|0,R6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(R6|0)==0,!C6;)I9=R6;S3=n+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(H3=n+68|0,D3=e[H3>>2]|0,q3=n+76|0,z3=e[q3>>2]|0,D6=z3+X3|0,o6=Pi(D3,D6)|0,e[H3>>2]=o6,t3=e[S3>>2]|0,O6=e[q3>>2]|0,s3=O6+t3|0,e[q3>>2]=s3,e[S3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[B6>>2]=0,b3=t+36|0,N6=e[b3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,x6=n+28|0,e[x6>>2]=Q6,V6=e[f>>2]|0,I6=n+32|0,e[I6>>2]=V6,J6=(Q6|0)==0;do if(J6)if(s9=Vv(t)|0,L6=(s9|0)==0,U6=z0+8|0,L6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(L3=(N6|0)==0,W6=(V6|0)==0,N9=L3|W6,e9=z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);b6=n+64|0,e[b6>>2]=t,z6=t+64|0,y6=z6,F6=y6,F3=e[F6>>2]|0,M6=y6+4|0,o9=M6,j6=e[o9>>2]|0,f9=Vs(F3|0,j6|0,1,0)|0,u9=q6,d9=z6,a9=d9,e[a9>>2]=f9,$9=d9+4|0,T9=$9,e[T9>>2]=u9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=F3,D=T6+4|0,Q=D,e[Q>>2]=j6,_=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=k5+(W<<2)|0,H=e[e0>>2]|0,X=n+36|0,e[X>>2]=H,U=z0+4|0,Z=+s[U>>2],V=+s[d6>>2],a0=Z>V,a0?(s[d6>>2]=Z,n0=Z):n0=V,i0=+pS(n0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=S+4|0,K=e[r0>>2]|0,h0=K<<2,s0=h0+7|0,g0=s0&-8,l0=e[a6>>2]|0,f0=g0+l0|0,d0=n+76|0,w0=e[d0>>2]|0,C0=(f0|0)>(w0|0),k0=n+68|0,u0=e[k0>>2]|0,C0?(B0=(u0|0)==0,B0||(p0=u0,I0=S9(8)|0,K0=e[S3>>2]|0,_0=K0+l0|0,e[S3>>2]=_0,Q0=e[B6>>2]|0,L0=I0+4|0,e[L0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=g0,M0=S9(g0)|0,e[k0>>2]=M0,e[a6>>2]=0,c=e[r0>>2]|0,U0=M0,y0=0,T0=c,G0=g0):(U0=u0,y0=l0,T0=K,G0=w0),N0=U0+y0|0,q0=y0+g0|0,e[a6>>2]=q0,e[n>>2]=N0,x0=T0<<2,J0=x0+7|0,Y0=J0&-8,P0=Y0+q0|0,V0=(P0|0)>(G0|0),V0?(O0=(U0|0)==0,O0||(r1=U0,H0=S9(8)|0,e1=e[S3>>2]|0,i1=e1+q0|0,e[S3>>2]=i1,c1=e[B6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[B6>>2]=H0),e[d0>>2]=Y0,f1=S9(Y0)|0,e[k0>>2]=f1,e[a6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,O5=Y0):(l1=U0,s1=q0,n1=T0,O5=G0),g1=l1+s1|0,a1=s1+Y0|0,e[a6>>2]=a1,e[z0>>2]=g1,A1=(n1|0)>0;e:do if(A1)for(I1=t+8|0,Q1=a1,x1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+b0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,k1=e[S3>>2]|0,U1=k1+Q1|0,e[S3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,b1=S9(B1)|0,e[k0>>2]=b1,e[a6>>2]=0,H1=b1,q1=0):(H1=S1,q1=Q1),K1=H1+q1|0,Y1=q1+B1|0,e[a6>>2]=Y1,j1=e[z0>>2]|0,r2=j1+(i9<<2)|0,e[r2>>2]=K1,W1=e[z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,f2=z1+(i9<<2)|0,A2=e[f2>>2]|0,s4(c2|0,A2|0,d1|0)|0,V1=e[z0>>2]|0,h2=V1+(i9<<2)|0,a2=e[h2>>2]|0,t2=a2+(b0<<2)|0,$2=e[n>>2]|0,i2=$2+(i9<<2)|0,e[i2>>2]=t2,o2=i9+1|0,X1=e[r0>>2]|0,n2=(o2|0)<(X1|0),!n2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,x1=m,S1=p,i9=o2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[u2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,b2=e[F2>>2]|0,N2=(b2|0)/2&-1,d2=g3-N2|0,V2=(d2|0)>0,!V2)return a=1,a|0;if(q2=e[S6>>2]|0,zv(q2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,A5=(z2|0)>0,A5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,x5=X2+(d2<<2)|0,e5=P2<<2,Wo(X2|0,x5|0,e5|0)|0,Z2=e[r0>>2]|0,u5=(Z2|0)>1,u5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,n5=B<<2,Wo(k2|0,m5|0,n5|0)|0,R2=l5+1|0,_2=e[r0>>2]|0,C5=(R2|0)<(_2|0),C5;)l5=R2;return L5=e[w>>2]|0,e[b3>>2]=L5,d5=e[f>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,b5=e[u2>>2]|0,G5=(b5|0)==0,G5?(f3=(d2|0)<0,B3=f3<<31>>31,N3=_,V5=N3,y3=e[V5>>2]|0,Z5=N3+4|0,i6=Z5,R3=e[i6>>2]|0,G3=Vs(y3|0,R3|0,d2|0,B3|0)|0,a3=q6,l3=_,c3=l3,e[c3>>2]=G3,q5=l3+4|0,U5=q5,e[U5>>2]=a3,a=1,a|0):(_5=b5-d2|0,H2=(_5|0)<1,o=H2?-1:_5,e[u2>>2]=o,I5=(o|0)>(N2|0),I5?($5=(d2|0)<0,x2=$5<<31>>31,Q5=_,H5=Q5,j5=e[H5>>2]|0,E5=Q5+4|0,h3=E5,Y5=e[h3>>2]|0,X5=Vs(j5|0,Y5|0,d2|0,x2|0)|0,n3=q6,m3=_,F5=m3,e[F5>>2]=X5,J5=m3+4|0,w3=J5,e[w3>>2]=n3,a=1,a|0):(o5=o+d2|0,c5=o5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=Vs(W2|0,t5|0,c5|0,S5|0)|0,h5=q6,f5=_,i5=f5,e[i5>>2]=s5,R5=f5+4|0,j2=R5,e[j2>>2]=h5,a=1,a|0))}function Uv(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0;if(i5=C,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,$2=(P1|0)<1,$2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,R5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(R5|0));s0=n4(1,136)|0,p0=t+104|0,e[p0>>2]=s0,q0=t+4|0,e[q0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=F7(n1)|0,B1=s0+44|0,e[B1>>2]=E1,Q1=n4(1,4)|0,R1=s0+12|0,e[R1>>2]=Q1,x1=n4(1,4)|0,w1=s0+16|0,e[w1>>2]=x1,S1=n4(1,20)|0,e[Q1>>2]=S1,L1=n4(1,20)|0,e[x1>>2]=L1,F1=e[B>>2]|0,G1=F1>>X,cB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,b1=N1>>X,cB(U1,b1),K1=e[B>>2]|0,O1=F7(K1)|0,H1=O1+-7|0,q1=s0+4|0,e[q1>>2]=H1,Y1=e[k2>>2]|0,j1=F7(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,c2=(o|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(d5=B+24|0,b5=e[d5>>2]|0,G5=n4(b5,56)|0,e[B2>>2]=G5,H2=e[d5>>2]|0,I5=(H2|0)>0,I5)){for(m1=H2,p5=0;;){if(o5=(B+1824|0)+(p5<<2)|0,c5=e[o5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=OS(a5,c5)|0,S=(W2|0)==0,!S){f5=20;break}if(w=e[o5>>2]|0,hB(w),e[o5>>2]=0,y=p5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,p5=y;else break e}if((f5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,A1=(a1|0)==0,A1?h1=d1:(hB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),z0=h5+1|0,I1=(z0|0)<(h1|0),I1;)d1=h1,h5=z0;return Wp(t),a=-1,a|0}}else{if(z1=s0+20|0,f2=e[B>>2]|0,uQ(z1,f2),s2=s0+32|0,E2=e[k2>>2]|0,uQ(s2,E2),A2=B+2848|0,V1=e[A2>>2]|0,h2=(V1|0)==0,h2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=n4(t2,56)|0,e[A2>>2]=i2,o2=e[a2>>2]|0,X1=(o2|0)>0,X1&&(n2=B+1824|0,u2=e[n2>>2]|0,fQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,b2=e[C2>>2]|0,fQ(v2,b2)|0,N2=w2+1|0,d2=e[a2>>2]|0,V2=(N2|0)<(d2|0),V2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,M2=n4(q2,52)|0,P2=s0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,A5=(z2|0)>0;t:do if(A5)for(T1=B+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(x5=e5+(g2*52|0)|0,D5=(B+2852|0)+(g2<<2)|0,Z2=e[D5>>2]|0,u5=e[Z2>>2]|0,v5=B+(u5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,BS(x5,Z2,T1,l5,m5),n5=g2+1|0,R2=e[G2>>2]|0,_2=(n5|0)<(R2|0),!_2)break t;f=e[P2>>2]|0,e5=f,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,L=t+16|0,e[L>>2]=_,x=n+4|0,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(H=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(H<<2)|0,e[e0>>2]=W,U=H+1|0,$0=(U|0)<(F|0),$0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,a0=e[k2>>2]|0,n0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,K=B+16|0,h0=e[K>>2]|0,g0=n4(h0,4)|0,j=s0+48|0,e[j>>2]=g0,l0=B+20|0,f0=e[l0>>2]|0,d0=n4(f0,4)|0,w0=s0+52|0,e[w0>>2]=d0,C0=e[K>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,K0=25640+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0+8|0,L0=e[Q0>>2]|0,M0=(B+1056|0)+(t5<<2)|0,N0=e[M0>>2]|0,U0=ut[L0&15](t,N0)|0,y0=e[j>>2]|0,x0=y0+(t5<<2)|0,e[x0>>2]=U0,b0=t5+1|0,T0=e[K>>2]|0,J0=(b0|0)<(T0|0),J0;)t5=b0;if(u0=e[l0>>2]|0,B0=(u0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(s5<<2)|0,P0=e[Y0>>2]|0,V0=25648+(P0<<2)|0,G0=e[V0>>2]|0,O0=G0+8|0,r1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,D0=e[e1>>2]|0,i1=ut[r1&15](t,D0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,f1=s5+1|0,g1=e[l0>>2]|0,l1=(f1|0)<(g1|0),l1)s5=f1;else{a=0;break}return a|0}function eQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,C=C+64|0,c=_0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,n=Y,a0=C,C=C+((1*n|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,u0=Q-k0|0,B0=(u0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,S=Q,p0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,D=y+(p0<<2)|0,_=e[D>>2]|0,I0=0;L=I0^-1,x=S+L|0,F=_+(x<<2)|0,M=e[F>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(S|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=S-O|0,+tQ(a0,c,z,16),t0=e[f>>2]|0,J=e[C0>>2]|0,o=t0-J|0,W=a0+(o<<2)|0,a=o+-16|0,e0=a0+(a<<2)|0,iQ(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;V=a0+(S0<<2)|0,n0=e[V>>2]|0,i0=S0^-1,r0=H+i0|0,K=Z+(r0<<2)|0,e[K>>2]=n0,h0=S0+1|0,s0=(H|0)>(h0|0),s0;)S0=h0;if(g0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,f0=e[l0>>2]|0,w0=(g0|0)<(f0|0),w0)S=H,p0=g0;else break}C=_0}function Pv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0;o2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,b0=e[S0>>2]|0,c=d[b0>>0]|0,D0=c,P1=1;;){if(z0=D0<<24>>24==0,z0){W1=P1;break e}if(w1=b0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)D0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==($0|0);e:do if(L){if(U2(n,1,1),x=t+8|0,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,H1=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,H=d[e0>>0]|0,X=J<<24>>24>H<<24>>24,X)for(U=H<<24>>24,Z=J<<24>>24,n0=y,q1=H1,a2=U;;)if(V=z1-q1|0,a0=n0-q1|0,i0=F7(a0)|0,U2(n,V,i0),r0=a2+1|0,r2=(r0|0)==(Z|0),f=e[I>>2]|0,r2){s0=f,Y1=z1;break}else n0=f,q1=z1,a2=r0;else s0=y,Y1=H1;if(K=z1+1|0,h0=(K|0)<(s0|0),h0)y=s0,H1=Y1,z1=K;else{a=s0,O1=Y1,c2=K;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,l0=a-O1|0,f0=F7(l0)|0,U2(n,g0,f0)}else{U2(n,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,s2=0;;){if(u0=k0+s2|0,B0=d[u0>>0]|0,p0=B0<<24>>24==0,p0){f2=s2;break t}if(I0=s2+1|0,K0=(I0|0)<(d0|0),K0)s2=I0;else{f2=I0;break}}else f2=0;while(!1);if(_0=(f2|0)==(d0|0),_0){if(U2(n,0,1),Q0=e[I>>2]|0,L0=(Q0|0)>0,!L0)break;for(M0=t+8|0,E2=0;;)if(N0=e[M0>>2]|0,U0=N0+E2|0,y0=d[U0>>0]|0,q0=y0<<24>>24,x0=q0+-1|0,U2(n,x0,5),T0=E2+1|0,J0=e[I>>2]|0,Y0=(T0|0)<(J0|0),Y0)E2=T0;else break e}if(U2(n,1,1),P0=e[I>>2]|0,V0=(P0|0)>0,V0)for(G0=t+8|0,A2=0;O0=e[G0>>2]|0,r1=O0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[G0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,f1=$1<<24>>24,g1=f1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,A1=e[n1>>2]|0,U2(n,A1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)i2=28;else if(I1|0)return o=-1,o|0;do if((i2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return o=-1,o|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(n,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(n,Q1,32),R1=t+24|0,x1=e[R1>>2]|0,S1=x1+-1|0,U2(n,S1,4),L1=t+28|0,F1=e[L1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)k1=GS(t)|0,$2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,$2=N1;else break;if(b1=($2|0)>0,b1)for(V1=0;K1=e[h1>>2]|0,p=K1+(V1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,t2=0-B|0,v=h2?B:t2,S=e[R1>>2]|0,U2(n,v,S),w=V1+1|0,j1=(w|0)==($2|0),!j1;)V1=w}while(!1);return o=0,o|0}function Rh(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,c=(n|0)<0,c||(f=t+12|0,Q=e[f>>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,p=d[m>>0]|0,B=p<<24>>24,U2(o,G,B),v=e[f>>2]|0,S=v+8|0,w=e[S>>2]|0,y=w+n|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function Km(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=xh(t,n)|0,I=(E|0)>-1,!I)?(o=-1,o|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,o=v,o|0)}function Ov(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,F=(p|0)>0,!F)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,$0=C,C=C+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,r0=0;;){if(N=xh(t,o)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[V>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,H=(W|0)<(X|0),H)r0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,n0=E|I,n0)return c=0,C=j,c|0;for(K=0,s0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],_=h0+s0|0,L=n+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=K+1|0,v=s0+X|0,S=(B|0)<(a0|0),S)K=B,s0=v;else{c=0;break}}return C=j,c|0}function Hv(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return c=0,c|0;if(I0=e[t>>2]|0,x0=(I0|0)>8,x0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(K1=t+16|0,X1=0;;){if(Z=xh(t,o)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(a0=e[K1>>2]|0,n0=e[t>>2]|0,i0=r5(n0,Z)|0,r0=(n0|0)>0,r0){for(K=(n0|0)>1,O2=K?n0:1,u2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,s0=a0+(z<<2)|0,j=+s[s0>>2],l0=u2+1|0,f0=n+(u2<<2)|0,d0=+s[f0>>2],w0=d0+j,s[f0>>2]=w0,C0=(h0|0)<(n0|0),C0;)u2=l0,d2=h0;f2=X1+O2|0,n2=f2}else n2=X1;if(J=(n2|0)<(a|0),J)X1=n2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,A1=(a|0)>0,A1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(H=xh(t,o)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=H,Q=U,T1=19;break t}case 3:{v=H,_=U,T1=21;break t}case 7:{I=H,w=U,T1=13;break t}case 6:{m=H,y=U,T1=15;break t}case 8:{f=U,E=H,T1=12;break t}case 5:{p=H,D=U,T1=17;break t}case 1:{V1=H,a2=U,N2=e2,A5=0;break t}case 2:{S=H,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,u0=f+(k0<<2)|0,B0=+s[u0>>2],p0=e2+1|0,S0=n+(e2<<2)|0,K0=+s[S0>>2],_0=K0+B0,s[S0>>2]=_0,M0=k0,U0=f,y2=p0,V2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,M0=Q0,U0=w,y2=e2,V2=0,T1=14):(T1|0)==15?(T1=0,Y0=m*6|0,V0=Y0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=D,w2=e2,q2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,P1=L,b2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,L0=V2+1|0,O=V2+M0|0,N0=U0+(O<<2)|0,y0=+s[N0>>2],q0=y2+1|0,b0=n+(y2<<2)|0,T0=+s[b0>>2],J0=T0+y0,s[b0>>2]=J0,V0=M0,O0=U0,v2=q0,G2=L0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+V0|0,G0=O0+(G<<2)|0,r1=+s[G0>>2],H0=v2+1|0,D0=n+(v2<<2)|0,i1=+s[D0>>2],c1=i1+r1,s[D0>>2]=c1,g1=V0,s1=O0,w2=H0,q2=P0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,N=q2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,z0=n+(w2<<2)|0,I1=+s[z0>>2],h1=I1+a1,s[z0>>2]=h1,E1=g1,p1=s1,C2=n1,M2=f1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],R1=C2+1|0,w1=n+(C2<<2)|0,S1=+s[w1>>2],L1=S1+Q1,s[w1>>2]=L1,k1=E1,Z1=p1,F2=R1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],b1=F2+1|0,O1=n+(F2<<2)|0,H1=+s[O1>>2],q1=H1+N1,s[O1>>2]=q1,r2=k1,P1=Z1,b2=b1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+r2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=b2+1|0,s2=n+(b2<<2)|0,E2=+s[s2>>2],A2=E2+c2,s[s2>>2]=A2,V1=r2,a2=P1,N2=z1,A5=j1),x=A5+V1|0,h2=a2+(x<<2)|0,t2=+s[h2>>2],$2=N2+1|0,i2=n+(N2<<2)|0,o2=+s[i2>>2],W=o2+t2,s[i2>>2]=W,e0=($2|0)<(a|0),e0)e2=$2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function qv(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0;if(g0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(o|0)/(a|0)&-1,e0=f+o|0,H=(e0|0)/(a|0)&-1,X=(W|0)<(H|0),!X))return I=0,I|0;for(U=t+16|0,V=0,i0=W;;){if(Z=xh(t,c)|0,S=(Z|0)==-1,S){I=-1,s0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=r5(y,Z)|0,Q=(y|0)>0,Q)for(n0=V,K=i0,h0=0;;)if(p=h0+D|0,_=w+(p<<2)|0,L=+s[_>>2],x=n0+1|0,F=n+(n0<<2)|0,M=e[F>>2]|0,N=M+(K<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+K|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)n0=E,K=m,h0=t0;else{a0=E,r0=m;break}else a0=V,r0=i0;if($0=(r0|0)<(H|0),$0)V=a0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function xh(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0;h1=C,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=oB(n,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,Y0=e[Q0>>2]|0,c1=Y0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,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,aB(n,x),o=w,o|0}else F=t+8|0,M=e[F>>2]|0,f1=M,l1=0;while(!1);if(T=oB(n,f)|0,N=(T|0)<0,G=(f|0)>1,O=N&G,O)for(z0=f;;)if(z=z0+-1|0,t0=oB(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)z0=z;else{a=J,n1=t0,A1=z;break}else a=N,n1=T,A1=f;if(a)return o=-1,o|0;if(H=n1>>>16,X=n1<<16,U=H|X,$0=U>>>8,Z=$0&16711935,V=U<<8,n0=V&-16711936,i0=Z|n0,r0=i0>>>4,K=r0&252645135,h0=i0<<4,s0=h0&-252645136,g0=K|s0,j=g0>>>2,l0=j&858993459,f0=g0<<2,w0=f0&-858993460,C0=l0|w0,k0=C0>>>1,u0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=u0|p0,S0=f1-l1|0,K0=(S0|0)>1,K0)for(_0=t+20|0,L0=e[_0>>2]|0,N0=S0,g1=f1,a1=l1;;)if(M0=N0>>1,U0=M0+a1|0,y0=L0+(U0<<2)|0,q0=e[y0>>2]|0,x0=q0>>>0>I0>>>0,b0=x0?0:M0,T0=b0+a1|0,J0=x0?M0:0,P0=g1-J0|0,V0=P0-T0|0,G0=(V0|0)>1,G0)N0=V0,g1=P0,a1=T0;else{s1=T0;break}else s1=l1;return O0=t+28|0,r1=e[O0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,D0=e1<<24>>24,i1=(D0|0)>(A1|0),i1?(aB(n,A1),o=-1,o|0):(aB(n,D0),o=s1,o|0)}function Yv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;for(c1=C,p=n+28|0,B=e[p>>2]|0,M=n+4|0,H=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,Y0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=Y0,e[t>>2]=H,V0=t+164|0,e[V0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|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,cB(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),F=x*.024736950028266088,T=+Tn(+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,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,a0=t+120|0,e[a0>>2]=17,n0=t+124|0,e[n0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,s0=4,D0=0;;){if(K=s0<<2,g0=S9(K)|0,j=((t+40|0)+(D0<<4)|0)+8|0,e[j>>2]=g0,l0=(s0|0)>0,l0){for(f0=+(s0|0),d0=((t+40|0)+(D0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/f0,u0=k0*3.141592653589793,p0=+Tn(+u0),I0=p0,S0=g0+(e1<<2)|0,s[S0>>2]=I0,K0=_0+I0,Q0=e1+1|0,G0=(Q0|0)==(s0|0),G0){o=K0;break}else _0=K0,e1=Q0;s[d0>>2]=o,E=d0,M0=o}else c=((t+40|0)+(D0<<4)|0)+12|0,I=+s[c>>2],E=c,M0=I;if(L0=1/M0,s[E>>2]=L0,N0=D0+1|0,O0=(N0|0)==7,O0)break;a=((t+40|0)+(N0<<4)|0)+4|0,f=e[a>>2]|0,s0=f,D0=N0}U0=H*7|0,q0=n4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,b0=e[V0>>2]|0,T0=n4(b0,4)|0,J0=t+160|0,e[J0>>2]=T0}function Jv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,gB(n),o=t+48|0,w=e[o>>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),c=t+128|0,f=e[c>>2]|0,I2(f),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),S=t+160|0,y=e[S>>2]|0,I2(y),Ae(t|0,0,180)|0}function Kv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=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,K=e0+2868|0,u0=t+104|0,U0=e[u0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,S=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(v|0)&-1,Q=D+-4|0,_=(S|0)<0,n=_?0:S,L=D+2|0,x=O0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=O0+160|0,G=e[N>>2]|0,O=L<<2,z=Pi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,H=O0+40|0,X=O0+152|0,b1=n;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,V=e[O0>>2]|0,a0=(V|0)>0,a0){for(N1=0,q1=0;;)if(h0=e[W>>2]|0,s0=h0+(N1<<2)|0,g0=e[s0>>2]|0,j=e[I>>2]|0,l0=r5(j,b1)|0,f0=g0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=Zv(O0,K,f0,H,C0)|0,B0=k0|q1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,q1=B0;else{c=B0;break}K0=b1+2|0,_0=e[J>>2]|0,Q0=_0+(K0<<2)|0,e[Q0>>2]=0,L0=c&1,M0=(L0|0)==0,M0||(N0=_0+(b1<<2)|0,e[N0>>2]=1,y0=b1+1|0,q0=_0+(y0<<2)|0,e[q0>>2]=1),x0=c&2,b0=(x0|0)==0,b0||(T0=_0+(b1<<2)|0,e[T0>>2]=1,J0=(b1|0)>0,J0&&(Y0=b1+-1|0,P0=_0+(Y0<<2)|0,e[P0>>2]=1)),V0=c&4,G0=(V0|0)==0,G0||(e[t0>>2]=-1)}else n0=b1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=b1+1|0,Z1=(r1|0)==(Q|0),Z1)break;b1=r1}if(H0=e[I>>2]|0,e1=r5(H0,Q)|0,e[s1>>2]=e1,D0=t+48|0,i1=e[D0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,f1=e0+($1<<2)|0,g1=e[f1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,A1=e[n1>>2]|0,z0=(A1|0)/2&-1,I1=a1+z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return o=-1,o|0;for(x1=O0+160|0,K1=B1;;){if(L1=(K1|0)<(d1|0),!L1){o=1,Y1=22;break}if(e[E1>>2]=K1,F1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&m,w1=H0+K1|0,H1){O1=K1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)K1=w1;else{o=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,o=0,o|0):(Y1|0)==22?o|0:0}function Vv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0;if(B0=C,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,s0=a0+28|0,g0=e[s0>>2]|0,j=t+48|0,l0=e[j>>2]|0,f0=t+40|0,E=e[f0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,v=p+l0|0,S=(E|0)==0,S?(G=e[g0>>2]|0,O=(G|0)/4&-1,o=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,o=N,a=L),d0=B-a|0,w0=v+o|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return n=1,n|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(d0|0)/(H|0)&-1,U=(w0|0)/(H|0)&-1,$0=(X|0)<(U|0),!$0)return n=0,n|0;for(Z=Q+160|0,V=e[Z>>2]|0,C0=X;;){if(r0=V+(C0<<2)|0,K=e[r0>>2]|0,h0=(K|0)==0,n0=C0+1|0,!h0){n=1,u0=9;break}if(i0=(n0|0)<(U|0),i0)C0=n0;else{n=0,u0=9;break}}return(u0|0)==9?n|0:0}function zv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=t+168|0,a=e[o>>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,c=L-x|0,f=c<<2,Wo(M|0,T|0,f|0)|0,E=e[o>>2]|0,I=E-n|0,e[o>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D;return}v=p-n|0,e[m>>2]=v,S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D}function Zv(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,F2=+s[$2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,x2=(g2|0)>5,F5=(g2|0)/2&-1,f=x2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,M0=+(C0|0),V0=i0-M0,g1=V0<0,f6=g1?0:V0,E1=f6>i0,p3=E1?i0:f6,k1=(t0|0)>0,k1)for(r2=t+36|0,a2=e[r2>>2]|0,O5=0;i2=o+(O5<<2)|0,o2=+s[i2>>2],X1=a2+(O5<<2)|0,n2=+s[X1>>2],u2=n2*o2,e2=k2+(O5<<2)|0,s[e2>>2]=u2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,rQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,b2=C2,N2=k2+4|0,d2=+s[N2>>2],V2=d2,G2=V2*V2,q2=G2*.7,M2=q2+b2,P2=k2+8|0,z2=+s[P2>>2],A5=z2,T1=A5*A5,X2=T1*.2,x5=M2+X2,e5=x5,D5=c+140|0,Z2=e[D5>>2]|0,u5=(Z2|0)==0,u5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,H2=l5):(n5=c+132|0,R2=+s[n5>>2],_2=R2+e5,s[n5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],L5=C5+e5,s[B2>>2]=L5,T=n5,H2=_2),d5=(c+72|0)+(Z2<<2)|0,b5=+s[d5>>2],G5=H2-b5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[D5>>2]|0,o5=I5+1|0,c5=(I5|0)>13,E=c5?0:o5,e[D5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=H2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,f5=J2,L=f5,L0=w2,k5=0;;){if(Q0=L0*L0,N0=k5|1,U0=k2+(N0<<2)|0,y0=+s[U0>>2],q0=y0*y0,x0=q0+Q0,b0=(s[p2>>2]=x0,e[p2>>2]|0),T0=b0&2147483647,J0=+(T0>>>0),Y0=J0*35885571492144663e-23,P0=Y0+-382.30810546875,G0=P0>1,H0=k2+(r1<<2)|0,s[H0>>2]=z,e1=k5+2|0,D0=(e1|0)<(B5|0),!D0)break e;i1=L+-8,F=k2+(e1<<2)|0,M=+s[F>>2],L=i1,L0=M,k5=e1}while(!1);if(i5=(f|0)>0,i5)o3=0,P3=0;else{for(e3=0,W3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,U3=0;;)if(A1=s1+U3|0,z0=k2+(A1<<2)|0,I1=+s[z0>>2],h1=n1+(U3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=U3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,U3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(e3<<4)|0)+12|0,x1=+s[R1>>2],w1=x1*R3,S1=(c+(e3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=b1?U1:w1,K1=v+-99999,O1=N1+99999,H1=(c+(e3*144|0)|0)+(L1<<2)|0,s[H1>>2]=w1,q1=e[S1>>2]|0,Y1=q1+1|0,j1=(q1|0)>15,D=j1?0:Y1,e[S1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+p3,z1=O1>c2,f2=W3|5,K5=z1?f2:W3,s2=(n+32|0)+(e3<<2)|0,E2=+s[s2>>2],A2=E2-p3,V1=K1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(o3<<4)|0,n0=e[w0>>2]|0,k0=(a+(o3<<4)|0)+8|0,s0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=n0+M5|0,r0=k2+(a0<<2)|0,K=+s[r0>>2],h0=s0+(M5<<2)|0,g0=+s[h0>>2],j=g0*K,l0=j+l3,f0=M5+1|0,d0=(f0|0)<(j2|0),d0)l3=l0,M5=f0;else{G3=l0;break}else G3=0;for(u0=(a+(o3<<4)|0)+12|0,B0=+s[u0>>2],h3=B0*G3,X5=(c+(o3*144|0)|0)+68|0,u3=e[X5>>2]|0,p0=(u3|0)<1,B=p0?16:-1,m=B+u3|0,I0=(c+(o3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],K0=h3S0,S=_0?S0:h3,A6=0,x3=m,k3=-99999,Q3=99999;;)if(e0=(x3|0)<1,y=e0?16:-1,w=y+x3|0,H=(c+(o3*144|0)|0)+(w<<2)|0,X=+s[H>>2],U=k3X,N=Z?X:Q3,V=A6+1|0,q5=(V|0)==(f|0),q5){x=$0,G=N;break}else A6=V,x3=w,k3=$0,Q3=N;if(Q5=S-G,H5=j5-x,E5=(c+(o3*144|0)|0)+(u3<<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)+(o3<<2)|0,w3=+s[J5>>2],f3=w3+p3,B3=H5>f3,V3=P3|5,v3=B3?V3:P3,N3=(n+32|0)+(o3<<2)|0,V5=+s[N3>>2],y3=V5-p3,Z5=Q5>2]|0,C2=n+1288|0,j3=e[C2>>2]|0,F3=n+1284|0,E6=e[F3>>2]|0,E9=(E6|0)>0,E9){for(f8=0;W4=p4+(f8<<2)|0,e[W4>>2]=-200,Be=f8+1|0,pe=(Be|0)==(E6|0),!pe;)f8=Be;if(E9){for(Y3=0;u4=c4+(Y3<<2)|0,e[u4>>2]=-200,W=Y3+1|0,l4=(W|0)==(E6|0),!l4;)Y3=W;if(E9){for(r0=E6<<2,Ae(M8|0,0,r0|0)|0,w9=0;k0=be+(w9<<2)|0,e[k0>>2]=1,N0=w9+1|0,Ue=(N0|0)==(E6|0),!Ue;)w9=N0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return te=0,C=e4,te|0;for(U1=j3+-1|0,W1=J+1112|0,t2=E6+-1|0,M=e[n>>2]|0,C4=M,B9=0,Qe=0;;){D4=B9+1|0,b4=n+(D4<<2)|0,R4=e[b4>>2]|0,M4=P6+(B9*56|0)|0,Me=M4,b7=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(b7|0));if(e[M4>>2]=C4,T4=(P6+(B9*56|0)|0)+4|0,e[T4>>2]=R4,U9=(R4|0)<(j3|0),t7=U9?R4:U1,N4=(t7|0)<(C4|0),N4)k8=0,X8=0,D8=0,b8=0,m8=0,Fe=0,i7=0,q9=0,K8=0,R8=0,H7=0,q7=0;else for(k4=C4,u8=0,Pe=0,O4=0,j9=0,ye=0,o8=0,I3=0,b9=0,$8=0,p9=0,a7=0,x8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],x4=O*7.314285755157471,f4=x4+1023.5,Ce=~~f4,H9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=H9?1023:E,Ne=(v|0)==0;do if(Ne)H8=u8,i8=Pe,n8=O4,E8=j9,He=ye,Q4=o8,B8=I3,Y8=b9,q4=$8,Ke=p9,ne=a7,V8=x8;else if(Xe=o+(k4<<2)|0,G4=+s[Xe>>2],Ge=+s[W1>>2],U4=Ge+G4,j4=!(U4>=O),j4){ae=k4+o8|0,W9=v+x8|0,$e=r5(k4,k4)|0,le=$e+j9|0,B4=r5(v,v)|0,e0=B4+p9|0,H=r5(v,k4)|0,X=H+b9|0,U=Pe+1|0,H8=u8,i8=U,n8=O4,E8=le,He=ye,Q4=ae,B8=I3,Y8=X,q4=$8,Ke=e0,ne=a7,V8=W9;break}else{De=k4+ye|0,e8=v+a7|0,Z9=r5(k4,k4)|0,oe=Z9+O4|0,_6=r5(v,v)|0,P4=_6+$8|0,L9=r5(v,k4)|0,$4=L9+I3|0,_4=u8+1|0,H8=_4,i8=Pe,n8=oe,E8=j9,He=De,Q4=o8,B8=$4,Y8=b9,q4=P4,Ke=p9,ne=e8,V8=x8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(t7|0),Z)k4=$0,u8=H8,Pe=i8,O4=n8,j9=E8,ye=He,o8=Q4,I3=B8,b9=Y8,$8=q4,p9=Ke,a7=ne,x8=V8;else{k8=H8,X8=i8,D8=n8,b8=E8,m8=He,Fe=Q4,i7=B8,q9=Y8,K8=q4,R8=Ke,H7=ne,q7=V8;break}}if(V=(P6+(B9*56|0)|0)+8|0,e[V>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=H7,n0=(P6+(B9*56|0)|0)+16|0,e[n0>>2]=D8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=K8,K=(P6+(B9*56|0)|0)+24|0,e[K>>2]=i7,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,s0=(P6+(B9*56|0)|0)+32|0,e[s0>>2]=Fe,g0=(P6+(B9*56|0)|0)+36|0,e[g0>>2]=q7,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=b8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=R8,f0=(P6+(B9*56|0)|0)+48|0,e[f0>>2]=q9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(D4|0)==(t2|0),g6){f7=w0;break}else C4=R4,B9=D4,Qe=w0}}else ue=9}else ue=9}else ue=9}else ue=9;if((ue|0)==9){if(G0=(E6|0)==0,!G0)return te=0,C=e4,te|0;F2=P6+4|0,Me=P6,b7=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(b7|0));if(e[F2>>2]=j3,O2=(j3|0)<1,O2)P8=0,j8=0,q8=0,I8=0,A8=0,X9=0,C8=0,ie=0,s7=0,A7=0,M7=0,T7=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,r8=0,ge=0,he=0,fe=0,H4=0,re=0,a8=0,Je=0,v7=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,x2=g2+1023.5,F5=~~x2,R3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,B=R3?1023:f,P3=(B|0)==0;do if(P3)O8=v8,xe=d8,Le=r8,s8=ge,Oe=he,we=fe,qe=H4,Ye=re,_8=a8,o7=Je,S7=v7,D7=l8;else if(c6=o+(g4<<2)|0,q3=+s[c6>>2],n6=+s[k2>>2],s9=n6+q3,L6=!(s9>=G),L6){f9=g4+fe|0,u9=B+l8|0,d9=r5(g4,g4)|0,a9=d9+ge|0,$9=r5(B,B)|0,T9=$9+Je|0,T6=r5(B,g4)|0,i9=T6+re|0,N9=d8+1|0,O8=v8,xe=N9,Le=r8,s8=a9,Oe=he,we=f9,qe=H4,Ye=i9,_8=a8,o7=T9,S7=v7,D7=u9;break}else{U6=g4+he|0,b6=B+v7|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(B,B)|0,M6=F6+a8|0,t9=r5(B,g4)|0,o9=t9+H4|0,j6=v8+1|0,O8=j6,xe=d8,Le=y6,s8=ge,Oe=U6,we=fe,qe=o9,Ye=re,_8=M6,o7=Je,S7=b6,D7=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(j3|0),C9){P8=O8,j8=xe,q8=Le,I8=s8,A8=Oe,X9=we,C8=qe,ie=Ye,s7=_8,A7=o7,M7=S7,T7=D7;break}else g4=I9,v8=O8,d8=xe,r8=Le,ge=s8,he=Oe,fe=we,H4=qe,re=Ye,a8=_8,Je=o7,v7=S7,l8=D7}E4=P6+8|0,e[E4>>2]=A8,A4=P6+12|0,e[A4>>2]=M7,h4=P6+16|0,e[h4>>2]=q8,G9=P6+20|0,e[G9>>2]=s7,z9=P6+24|0,e[z9>>2]=C8,D9=P6+28|0,e[D9>>2]=P8,H6=P6+32|0,e[H6>>2]=X9,r9=P6+36|0,e[r9>>2]=T7,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=A7,o4=P6+48|0,e[o4>>2]=ie,y9=P6+52|0,e[y9>>2]=j8,f7=P8}if(C0=(f7|0)==0,C0)return te=0,C=e4,te|0;e[n7>>2]=-200,e[J8>>2]=-200,u0=E6+-1|0,$B(P6,u0,n7,J8,J)|0,B0=e[n7>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,K0=(E6|0)>2;do if(K0){_0=J+1112|0,Q0=J+1096|0,L0=J+1100|0,M0=J+1104|0,F4=2;e:for(;;){U0=(n+520|0)+(F4<<2)|0,y0=e[U0>>2]|0,q0=M8+(y0<<2)|0,x0=e[q0>>2]|0,b0=be+(y0<<2)|0,T0=e[b0>>2]|0,J0=Z8+(x0<<2)|0,Y0=e[J0>>2]|0,P0=(Y0|0)==(T0|0);t:do if(!P0){if(V0=(n+520|0)+(x0<<2)|0,O0=e[V0>>2]|0,r1=(n+520|0)+(T0<<2)|0,H0=e[r1>>2]|0,e[J0>>2]=T0,e1=(J+836|0)+(x0<<2)|0,D0=e[e1>>2]|0,i1=(J+836|0)+(T0<<2)|0,c1=e[i1>>2]|0,$1=p4+(x0<<2)|0,f1=e[$1>>2]|0,g1=(f1|0)<0,s1=c4+(x0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=f1:(A1=a1+f1|0,z0=A1>>1,y=z0)),I1=p4+(T0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(T0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,w1=(Q|0)==-1,w7=x1|w1,w7){ue=38;break e}S1=Q-y|0,L1=c1-D0|0,Re=(S1|0)>-1,k9=0-S1|0,F1=Re?S1:k9,G1=(S1|0)/(L1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(D0<<2)|0,Y=+s[N1>>2],b1=Y*7.314285755157471,K1=b1+1023.5,O1=~~K1,H1=(O1|0)>1023,q1=(O1|0)<0,I=q1?0:O1,S=H1?1023:I,Y1=r5(G1,L1)|0,l7=(Y1|0)>-1,h7=0-Y1|0,j1=l7?Y1:h7,r2=F1-j1|0,P1=y-S|0,c2=r5(P1,P1)|0,z1=o+(D0<<2)|0,f2=+s[z1>>2],s2=+s[_0>>2],E2=s2+f2,A2=!(E2>=Y),A2?ue=42:(V1=+(y|0),h2=+s[Q0>>2],a2=h2+V1,$2=+(S|0),i2=a2<$2,i2||(o2=+s[L0>>2],X1=V1-o2,n2=X1>$2,n2||(ue=42)));i:do if((ue|0)==42){if(ue=0,u2=D0+1|0,e2=(u2|0)<(c1|0),e2)for(d2=u2,X4=0,y7=c2,U8=1,u7=y;;){if(y2=X4+r2|0,v2=(y2|0)<(L1|0),w2=v2?0:Z1,b2=v2?0:L1,L4=y2-b2|0,F=u7+G1|0,r7=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],V2=z*7.314285755157471,G2=V2+1023.5,q2=~~G2,M2=(q2|0)>1023,P2=(q2|0)<0,m=P2?0:q2,D=M2?1023:m,z2=r7-D|0,A5=r5(z2,z2)|0,T1=A5+y7|0,X2=U8+1|0,x5=o+(d2<<2)|0,e5=+s[x5>>2],D5=e5+s2,Z2=D5>=z,u5=(D|0)!=0,e7=Z2&u5,e7&&(v5=+(r7|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(D|0),n5=l5>2],_2=v5-R2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,X4=L4,y7=T1,U8=X2,u7=r7;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],b5=d5*d5,G5=+(G8|0),H2=b5/G5,I5=+s[M0>>2],o5=H2>I5,!o5&&(c5=+s[L0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(F4<<2)|0,e[l3>>2]=-200,c3=c4+(F4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=$B(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,f5=$B(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,R5=e[_e>>2]|0,e[N8>>2]=R5),j2=(f5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(F4<<2)|0,e[Q5>>2]=-200,H5=c4+(F4<<2)|0,e[H5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(x0|0)==0,E5&&(e[p4>>2]=j5),u3=e[N8>>2]|0,h3=p4+(F4<<2)|0,e[h3>>2]=u3,Y5=e[_e>>2]|0,X5=c4+(F4<<2)|0,e[X5>>2]=Y5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(T0|0)==1,m3&&(e[I0>>2]=n3),J5=Y5&u3,w3=(J5|0)>-1,w3){f3=(y0|0)>0;i:do if(f3)for(z8=y0;;){if(Q7=z8+-1|0,V3=be+(Q7<<2)|0,N3=e[V3>>2]|0,V5=(N3|0)==(T0|0),!V5)break i;if(e[V3>>2]=F4,y3=(z8|0)>1,y3)z8=Q7;else break}while(!1);if(g7=y0+1|0,B3=(g7|0)<(E6|0),B3)for(F8=g7;;){if(Z5=M8+(F8<<2)|0,i6=e[Z5>>2]|0,G3=(i6|0)==(x0|0),!G3)break t;if(e[Z5>>2]=F4,c7=F8+1|0,a3=(c7|0)<(E6|0),a3)F8=c7;else break}}}while(!1);if(C3=F4+1|0,q5=(C3|0)<(E6|0),q5)F4=C3;else{ue=68;break}}if((ue|0)==38)Ev(1);else if((ue|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,A6=N;break}}else k5=B0,A6=B0;while(!1);if(U5=E6<<2,O5=O7(t,U5)|0,U3=(k5|0)<0,U3?w=A6:(e3=(A6|0)<0,e3?w=k5:(o3=A6+k5|0,x3=o3>>1,w=x3)),e[O5>>2]=w,f6=e[S0>>2]|0,p3=(f6|0)<0,k3=e[I0>>2]|0,p3?L=k3:(Q3=(k3|0)<0,Q3?L=f6:(r6=k3+f6|0,W3=r6>>1,L=W3)),K5=O5+4|0,e[K5>>2]=L,K0)ee=2;else return te=O5,C=e4,te|0;for(;;)if(v3=ee+-2|0,g3=(n+1032|0)+(v3<<2)|0,O3=e[g3>>2]|0,l6=(n+780|0)+(v3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(O3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(O3<<2)|0,R6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,S3=(J+836|0)+(ee<<2)|0,X3=e[S3>>2]|0,e6=R6&32767,u6=C6&32767,H3=u6-e6|0,D3=B6-v6|0,$7=(H3|0)>-1,S8=0-H3|0,z3=$7?H3:S8,D6=X3-v6|0,o6=r5(z3,D6)|0,t3=(o6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+e6|0,a6=p4+(ee<<2)|0,d6=e[a6>>2]|0,b3=(d6|0)<0,N6=c4+(ee<<2)|0,Q6=e[N6>>2]|0,b3?p=Q6:(x6=(Q6|0)<0,x6?p=d6:(V6=Q6+d6|0,I6=V6>>1,p=I6)),J6=(p|0)<0,L3=(_|0)==(p|0),k7=J6|L3,W6=_|32768,c=k7?W6:p,G6=O5+(ee<<2)|0,e[G6>>2]=c,e9=ee+1|0,ce=(e9|0)==(E6|0),ce){te=O5;break}else ee=e9;return C=e4,te|0}function L8(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;if(a0=C,f=n+1284|0,E=e[f>>2]|0,_=(o|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=O7(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=o+(U<<2)|0,H=e[e0>>2]|0,I=H&32767,m=r5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=r5(v,c)|0,w=m+32768|0,y=w+S|0,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[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function Wv(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0;if(M6=C,C=C+336|0,L6=M6+64|0,g3=M6+32|0,L3=M6,D=o+1296|0,Q=e[D>>2]|0,h2=o+1284|0,R2=e[h2>>2]|0,o5=n+64|0,s5=e[o5>>2]|0,j5=s5+4|0,f3=e[j5>>2]|0,l3=f3+28|0,o3=e[l3>>2]|0,_=o3+2848|0,t0=e[_>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),x5=n+36|0,e5=e[x5>>2]|0,D5=(e5|0)/2&-1,Z2=D5<<2,Ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(R2|0)>0,w0)for(L0=Q+832|0,u6=0;P0=a+(u6<<2)|0,f1=e[P0>>2]|0,d1=f1&32767,G1=e[L0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?(a2=d1>>>3,U6=a2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,u5=f1&32768,v5=u5|U6,e[P0>>2]=v5,P5=u6+1|0,C6=(P5|0)==(R2|0),!C6;)u6=P5;if(l5=e[a>>2]|0,e[L6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,n5=L6+4|0,e[n5>>2]=m5,_2=(R2|0)>2,B2=o+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,L5=(o+1032|0)+(C5<<2)|0,d5=e[L5>>2]|0,b5=(o+780|0)+(C5<<2)|0,G5=e[b5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,H2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-H2|0,q3=(t5|0)>-1,W6=0-t5|0,J2=q3?t5:W6,f5=W2-H2|0,i5=r5(J2,f5)|0,R5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-R5|0,m=j2?$5:R5,I=m+g2|0,x2=a+(H3<<2)|0,Q5=e[x2>>2]|0,H5=Q5&32768,E5=(H5|0)!=0,u3=(Q5|0)==(I|0),s9=E5|u3,s9)h3=I|32768,e[x2>>2]=h3,Y5=L6+(H3<<2)|0,e[Y5>>2]=0;else{X5=e[B2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),f=m3?n3:I,F5=Q5-I|0,J5=(F5|0)<0;do if(J5)if(w3=0-f|0,B3=(F5|0)<(w3|0),B3){V3=F5^-1,N3=f+V3|0,b6=N3;break}else{V5=F5<<1,y3=V5^-1,b6=y3;break}else if(Z5=(f|0)>(F5|0),Z5){R3=F5<<1,b6=R3;break}else{i6=f+F5|0,b6=i6;break}while(!1);G3=L6+(H3<<2)|0,e[G3>>2]=b6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(R2|0),Y6)break;H3=C3}v=e[L6>>2]|0,S=e[n5>>2]|0,r6=v,v3=S}else r6=l5,v3=m5;if(U2(t,1,1),q5=o+1308|0,U5=e[q5>>2]|0,O5=U5+1|0,e[q5>>2]=O5,k5=e[B2>>2]|0,U3=k5+-1|0,M5=F7(U3)|0,A6=M5<<1,e3=o+1304|0,x3=e[e3>>2]|0,f6=x3+A6|0,e[e3>>2]=f6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=F7(k3)|0,U2(t,r6,Q3),W3=e[B2>>2]|0,P3=W3+-1|0,K5=F7(P3)|0,U2(t,v3,K5),L=e[Q>>2]|0,x=(L|0)>0,x)for(F=o+1300|0,D3=0,o6=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[L3>>2]=0,e[L3+4>>2]=0,e[L3+8>>2]=0,e[L3+12>>2]=0,e[L3+16>>2]=0,e[L3+20>>2]=0,e[L3+24>>2]=0,e[L3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,f0=e[l0>>2]|0,d0=(f0|0)<0,d0?y=1:(C0=(o3+1824|0)+(f0<<2)|0,k0=e[C0>>2]|0,u0=k0+4|0,B0=e[u0>>2]|0,y=B0),p0=L3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,k6=0,a6=0;;)if(K0=g3+(a6<<2)|0,_0=e[K0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(H=L3+(N6<<2)|0,X=e[H>>2]|0,$0=(U|0)<(X|0),$0){n6=N6,F3=31;break}if(Z=N6+1|0,V=(Z|0)<(Y|0),V)N6=Z;else{F3=33;break}}if((F3|0)==31?(F3=0,a0=g3+(d6<<2)|0,e[a0>>2]=n6,r0=n6):(F3|0)==33&&(F3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<>2]|0,x0=t0+(q0*56|0)|0,b0=Rh(x0,d3,t)|0,T0=e[F>>2]|0,J0=T0+b0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(b3=0;V0=g3+(b3<<2)|0,G0=e[V0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(G0<<2)|0,r1=e[O0>>2]|0,H0=(r1|0)>-1,H0&&(e1=b3+o6|0,D0=L6+(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)),A1=b3+1|0,p6=(A1|0)==(G|0),!p6;)b3=A1;if(z0=G+o6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,o6=z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=r5(p1,E1)|0,R1=n+28|0,x1=e[R1>>2]|0,w1=o3+(x1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(X3=0,t3=1,Q6=0,I6=Q1;;){if(K1=(o+260|0)+(t3<<2)|0,O1=e[K1>>2]|0,H1=a+(O1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,r2=(Y1|0)==(q1|0),r2)if(W1=e[B1>>2]|0,P1=r5(W1,q1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,f2=P1-I6|0,s2=z1-Q6|0,z3=(f2|0)>-1,G6=0-f2|0,E2=z3?f2:G6,A2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=r5(A2,s2)|0,D6=($2|0)>-1,e9=0-$2|0,i2=D6?$2:e9,o2=E2-i2|0,X1=(L1|0)>(z1|0),z6=X1?z1:L1,n2=(z6|0)>(Q6|0),n2&&(u2=c+(Q6<<2)|0,e[u2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+o2|0,C2=(v2|0)<(s2|0),F2=C2?0:t2,b2=C2?0:s2,B6=v2-b2|0,B=y6+A2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,V2=d2+1|0,c6=(V2|0)==(z6|0),c6){e6=z1,x6=z1,J6=P1;break}else d2=V2,S6=B6,y6=F6;else e6=z1,x6=z1,J6=P1;else e6=X3,x6=Q6,J6=I6;if(G2=t3+1|0,q2=e[h2>>2]|0,M2=(G2|0)<(q2|0),M2)X3=e6,t3=G2,Q6=x6,I6=J6;else{S3=e6,V6=J6;break}}else S3=0,V6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,b1=(S3|0)<(N1|0),b1)O6=S3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=V6,A5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(A5|0)<(T1|0),X2)O6=A5;else{E=1;break}return C=M6,E|0}function $B(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0;if(A5=C,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,M0=(n|0)>0,M0)for(V0=c+1108|0,g1=+s[V0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,T=v+k1|0,H=+(T|0),X=H*g1,U=v+1|0,$0=+(U|0),Z=X/$0,V=Z,a0=V+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,K=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,s0=e[h0>>2]|0,g0=+(s0|0),j=g0*a0,l0=K+w2,f0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),u0=(t+(X1*56|0)|0)+12|0,B0=e[u0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+q2,K0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,L0=+(Q0|0),N0=(t+(X1*56|0)|0)+16|0,U0=e[N0>>2]|0,y0=+(U0|0),q0=y0*a0,x0=L0+u2,b0=x0+q0,T0=(t+(X1*56|0)|0)+48|0,J0=e[T0>>2]|0,Y0=+(J0|0),P0=(t+(X1*56|0)|0)+24|0,G0=e[P0>>2]|0,O0=+(G0|0),r1=O0*a0,H0=Y0+N2,e1=H0+r1,D0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=D0+t2,f1=$1+c1,l1=X1+1|0,o2=(l1|0)==(n|0),o2){a2=f1,n2=b0,v2=f0,b2=e1,G2=K0;break}else t2=f1,X1=l1,u2=b0,w2=f0,N2=e1,q2=K0;else a2=0,n2=0,v2=0,b2=0,G2=0;return s1=e[o>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),A1=v2+n1,z0=+(s1|0),I1=z0+G2,h1=r5(p,p)|0,m1=+(h1|0),d1=n2+m1,B1=r5(s1,p)|0,p1=+(B1|0),Q1=p1+b2,R1=a2+1,$2=R1,e2=d1,C2=A1,d2=Q1,M2=I1):($2=a2,e2=n2,C2=v2,d2=b2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(S1=+(C0|0),L1=C2+S1,F1=+(x1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,b1=r5(x1,C0)|0,K1=+(b1|0),O1=K1+d2,H1=$2+1,i2=H1,y2=N1,F2=L1,V2=O1,P2=G1):(i2=$2,y2=e2,F2=C2,V2=d2,P2=M2),q1=y2*i2,Y1=F2*F2,j1=q1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*V2,z1=P1-c2,f2=z1/j1,s2=V2*i2,E2=F2*P2,A2=s2-E2,V1=A2/j1,h2=+(p|0),S=V1*h2,w=S+f2,y=+Ui(w),D=~~y,e[o>>2]=D,Q=+(C0|0),_=V1*Q,L=_+f2,x=+Ui(L),F=~~x,e[a>>2]=F,M=e[o>>2]|0,N=(M|0)>1023,N?(e[o>>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[o>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[o>>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[o>>2]=0,e[a>>2]=0,f=1,f|0)}function jv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=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(M0=t+4|0,J0=0,H0=-1;;)if(B=M0+(J0<<2)|0,v=e[B>>2]|0,U2(n,v,4),S=e[B>>2]|0,w=(H0|0)<(S|0),o=w?S:H0,y=J0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)J0=y,H0=o;else{a=o;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,q0=t+192|0,m=t+256|0,p=t+320|0,Y0=0;;){if(_=y0+(Y0<<2)|0,x=e[_>>2]|0,F=x+-1|0,U2(n,F,3),M=q0+(Y0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(V0=0,e1=8):(O=m+(Y0<<2)|0,z=e[O>>2]|0,U2(n,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(V0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(V0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),H=V0+1|0,X=e[M>>2]|0,U=1<>2]|0,n0=a0+-1|0,U2(n,n0,2),r0=L+-1|0,K=F7(r0)|0,U2(n,K,4),h0=F7(r0)|0,s0=e[t>>2]|0,g0=(s0|0)>0,!!g0)for(j=t+4|0,l0=t+128|0,N0=s0,x0=0,P0=0,G0=0;;){if(f0=j+(P0<<2)|0,d0=e[f0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,u0=k0+x0|0,B0=(G0|0)<(u0|0),B0){for(r1=G0;p0=r1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(n,S0,h0),K0=r1+1|0,b0=(K0|0)==(u0|0),!b0;)r1=K0;f=e[t>>2]|0,L0=f,O0=u0}else L0=N0,O0=G0;if(_0=P0+1|0,Q0=(_0|0)<(L0|0),Q0)N0=L0,x0=u0,P0=_0,G0=O0;else break}}function Xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,Q=e[D>>2]|0,Y=n4(1,1120)|0,a0=Z4(n,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,r2=-1;;){if(x=Z4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=x,M=(x|0)<0,M)break e;if(T=(r2|0)<(x|0),c=T?x:r2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,r2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=Z4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=Z4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,H=(W|0)<0,H||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=Z4(n,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),V=(Z|0)<0,V)||(n0=e[_>>2]|0,i0=(Z|0)<(n0|0),!i0))break e;if(r0=e[e0>>2]|0,K=(r0|0)==31,!K)for(H1=0;;){if(l0=Z4(n,8)|0,f0=l0+-1|0,w0=(L+(N1<<5)|0)+(H1<<2)|0,e[w0>>2]=f0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,u0=(l0|0)>(k0|0),g0=H1+1|0,u0))break e;if(h0=e[e0>>2]|0,s0=1<>2]=S0,_0=Z4(n,4)|0,L0=(_0|0)<0,!L0)){if(M0=e[Y>>2]|0,N0=(M0|0)>0,N0)for(U0=Y+4|0,y0=Y+128|0,q0=Y+836|0,x0=1<<_0,G1=M0,U1=0,b1=0,q1=0;;){if(b0=U0+(b1<<2)|0,T0=e[b0>>2]|0,J0=y0+(T0<<2)|0,P0=e[J0>>2]|0,V0=P0+U1|0,G0=(V0|0)>63,G0)break e;if(O0=(q1|0)<(V0|0),O0){for(j1=q1;;){if(r1=Z4(n,_0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=r1,D0=(r1|0)>-1,i1=(r1|0)<(x0|0),W1=D0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(V0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=b1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=V0,b1=g1,q1=Y1;else{m=q0,p=x0,k1=V0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=k1+2|0,A1=(k1|0)>-2,A1)for(K1=0;z0=m+(K1<<2)|0,I1=P1+(K1<<2)|0,e[I1>>2]=z0,h1=K1+1|0,d1=(h1|0)<(n1|0),d1;)K1=h1;Lh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,S=e[v>>2]|0,w1=S,O1=1;Q1=P1+(O1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(w1|0)==(x1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)w1=x1,O1=B1;else break t;if(L1=(Y|0)==0,L1)o=0;else break e;return C=z1,o|0}while(!1);return o=Y,C=z1,o|0}while(!1);return I2(Y),o=0,C=z1,o|0}function eS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0;if(L1=C,C=C+272|0,w1=L1,a=n4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,V=e[z>>2]|0,f0=a+1288|0,e[f0>>2]=V,_0=e[n>>2]|0,J0=(_0|0)>0,J0){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,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(_0|0),S)g1=v,Q1=B;else{o=B;break}w=o+2|0,y=a+1284|0,e[y>>2]=w,Q=(o|0)>-2,Q?(M=w,p1=o,S1=7):(Lh(w1,w,4,8),B1=o)}else r1=a+1284|0,e[r1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,F=(x|0)<(M|0),F;)l1=x;for(Lh(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,H=N+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,n0=O+(a0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for($0=a+260|0,n1=0;;)if(K=$0+(n1<<2)|0,h0=e[K>>2]|0,s0=D+(h0<<2)|0,g0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,l0=n1+1|0,d0=(l0|0)<(M|0),d0)n1=l0;else{B1=p1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(u0=a+1292|0,e[u0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=L1,a|0;for(S0=a+1032|0,K0=a+780|0,A1=0;;){for(Q0=A1+2|0,L0=D+(Q0<<2)|0,M0=e[L0>>2]|0,N0=e[f0>>2]|0,D0=1,$1=N0,z0=0,I1=0,d1=0;;)if(U0=D+(z0<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)>(d1|0),x0=(y0|0)<(M0|0),R1=q0&x0,h1=R1?z0:I1,E1=R1?y0:d1,b0=(y0|0)<($1|0),T0=(y0|0)>(M0|0),x1=b0&T0,i1=x1?z0:D0,f1=x1?y0:$1,Y0=z0+1|0,P0=(Y0|0)<(Q0|0),P0)D0=i1,$1=f1,z0=Y0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(V0=S0+(A1<<2)|0,e[V0>>2]=m1,G0=K0+(A1<<2)|0,e[G0>>2]=c1,O0=A1+1|0,e1=(O0|0)==(B1|0),e1)break;A1=O0}return C=L1,a|0}function tS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function iS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function rS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,f=n+1296|0,E=e[f>>2]|0,r0=t+64|0,k0=e[r0>>2]|0,N0=k0+4|0,G0=e[N0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=Z4(I,1)|0,J=(L|0)==1,!J)return o=0,o|0;U=n+1284|0,$0=e[U>>2]|0,Z=$0<<2,V=O7(t,Z)|0,a0=n+1292|0,n0=e[a0>>2]|0,i0=n0+-1|0,K=F7(i0)|0,h0=Z4(I,K)|0,e[V>>2]=h0,s0=e[a0>>2]|0,g0=s0+-1|0,j=F7(g0)|0,l0=Z4(I,j)|0,f0=V+4|0,e[f0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){i2=0,n2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,S0=e[I0>>2]|0,K0=(E+128|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,L0=e[Q0>>2]|0,M0=1<>2]|0,x0=W1+(q0*56|0)|0,b0=Km(x0,I)|0,T0=(b0|0)==-1,T0){o=0,v2=25;break}else t2=b0;if(J0=(_0|0)>0,J0)for(Y0=M0+-1|0,$2=t2,u2=0;;){if(P0=$2&Y0,V0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[V0>>2]|0,r1=$2>>L0,H0=(O0|0)>-1,H0){if(e1=W1+(O0*56|0)|0,D0=Km(e1,I)|0,i1=u2+n2|0,c1=V+(i1<<2)|0,e[c1>>2]=D0,$1=(D0|0)==-1,$1){o=0,v2=25;break t}}else f1=u2+n2|0,g1=V+(f1<<2)|0,e[g1>>2]=0;if(s1=u2+1|0,a1=(s1|0)<(_0|0),a1)$2=r1,u2=s1;else break}if(n1=_0+n2|0,A1=i2+1|0,z0=e[E>>2]|0,I1=(A1|0)<(z0|0),I1)i2=A1,n2=n1;else break e}if((v2|0)==25)return o|0}while(!1);if(C0=e[U>>2]|0,u0=(C0|0)>2,!u0)return o=V,o|0;for(B0=n+1032|0,p0=n+780|0,o2=2;;){if(h1=o2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,w1=e[x1>>2]|0,S1=V+(d1<<2)|0,L1=e[S1>>2]|0,F1=V+(R1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(o2<<2)|0,Z1=e[k1>>2]|0,N1=L1&32767,b1=G1&32767,K1=b1-N1|0,O1=w1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=r5(H1,q1)|0,j1=(Y1|0)/(O1|0)&-1,r2=(K1|0)<0,P1=0-j1|0,c=r2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,f2=V+(o2<<2)|0,s2=e[f2>>2]|0,E2=(s2|0)==0,E2)W=a|32768,e[f2>>2]=W;else{A2=(z1|0)<(a|0),V1=A2?z1:a,h2=V1<<1,a2=(s2|0)<(h2|0);do if(a2)if(S=s2&1,w=(S|0)==0,w){_=s2>>1,y2=_;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);x=y2+a|0,F=x&32767,e[f2>>2]=F,M=e[m1>>2]|0,T=V+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=V+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=o2+1|0,H=e[U>>2]|0,X=(e0|0)<(H|0),X)o2=e0;else{o=V;break}}return o|0}function nS(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,E=n+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,M0=C0+28|0,V0=e[M0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,m=V0+(f1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(o|0)==0,v)return c1=B<<2,Ae(a|0,0,c1|0)|0,c=0,c|0;if(S=e[o>>2]|0,w=I+832|0,y=e[w>>2]|0,D=r5(y,S)|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,A1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=o+(W<<2)|0,H=e[e0>>2]|0,X=H&32767,U=(X|0)==(H|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,V=r5(y,H)|0,a0=(V|0)<0,n0=(V|0)>255,r0=n0?255:V,K=a0?0:r0,h0=K-Q1|0,s0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,g0=I1?h0:x1,j=(h0|0)/(s0|0)&-1,l0=h0>>31,f0=l0|1,d0=r5(j,s0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=g0-w0|0,u0=(B|0)>(Z|0),S1=u0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,K0=+s[S0>>2],_0=K0*I0,s[S0>>2]=_0),Q0=E1+1|0,L0=(Q0|0)<(S1|0),L0)for(J0=Q0,g1=0,L1=Q1;;)if(N0=g1+k0|0,U0=(N0|0)<(s0|0),y0=U0?0:f0,q0=U0?0:s0,l1=N0-q0|0,f=L1+j|0,F1=f+y0|0,x0=1768+(F1<<2)|0,b0=+s[x0>>2],T0=a+(J0<<2)|0,Y0=+s[T0>>2],P0=Y0*b0,s[T0>>2]=P0,G0=J0+1|0,a1=(G0|0)==(S1|0),a1){z0=Z,B1=Z,R1=K;break}else J0=G0,g1=l1,L1=F1;else z0=Z,B1=Z,R1=K;else z0=A1,B1=E1,R1=Q1;if(O0=m1+1|0,r1=(O0|0)<(T|0),r1)A1=z0,m1=O0,E1=B1,Q1=R1;else{n1=z0,p1=R1;break}}else n1=0,p1=F;if(O=(n1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],D0=e1*Y,s[H0>>2]=D0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function sS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0;return m=C,o=e[t>>2]|0,a=e[o>>2]|0,c=e[n>>2]|0,f=e[c>>2]|0,E=a-f|0,E|0}function AS(t){t=t|0;var n=0,o=0;o=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function oS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0;a0=C,c=Z$(n|0)|0,f=Z$(o|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,fB(J|0,n|0)|0,Z=Z$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,pQ(J|0,o|0)|0,W=e[t>>2]|0,e0=t+8|0,H=e[e0>>2]|0,X=H<<2,U=X+8|0,E=Pi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Pi(m,v)|0,e[I>>2]=S,w=Z$(J|0)|0,y=e[e0>>2]|0,D=S+(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,fB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function aS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,F=(x|0)>0,F){for(_=x,T=f,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),o=e[L>>2]|0,m=o),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,p=a}else p=f;I2(p)}B=t+4|0,v=e[B>>2]|0,S=(v|0)==0,S||I2(v),w=t+12|0,y=e[w>>2]|0,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 $S(t){t=t|0;var n=0,o=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=n4(1,3664)|0,o=t+28|0,e[o>>2]=n}function lB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=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,n0=e[t0>>2]|0,w0=(n0|0)>0,w0)for(g1=n0,A1=0;n1=(E+32|0)+(A1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),n=e[t0>>2]|0,v=n),p=A1+1|0,B=(p|0)<(v|0),B;)g1=v,A1=p;if(L0=E+12|0,P0=e[L0>>2]|0,f1=(P0|0)>0,f1)for(l1=P0,z0=0;D=(E+544|0)+(z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(z0<<2)|0,F=e[x>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,Ws[G&7](Q),o=e[L0>>2]|0,Y=o),O=z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,z0=O;if(S=E+16|0,w=e[S>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;H=(E+1056|0)+(I1<<2)|0,X=e[H>>2]|0,U=(X|0)==0,U?s0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,V=25640+(Z<<2)|0,a0=e[V>>2]|0,i0=a0+12|0,r0=e[i0>>2]|0,Ws[r0&7](X),a=e[S>>2]|0,s0=a),K=I1+1|0,h0=(K|0)<(s0|0),h0;)s1=s0,I1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?M0=a1:(u0=(E+1312|0)+(h1<<2)|0,B0=e[u0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,K0=e[S0>>2]|0,Ws[K0&7](C0),c=e[J>>2]|0,M0=c),_0=h1+1|0,Q0=(_0|0)<(M0|0),Q0;)a1=M0,h1=_0;if(g0=E+24|0,j=e[g0>>2]|0,l0=(j|0)>0,f0=E+2848|0,l0)for(m1=0;N0=(E+1824|0)+(m1<<2)|0,U0=e[N0>>2]|0,y0=(U0|0)==0,y0||hB(U0),q0=e[f0>>2]|0,x0=(q0|0)==0,x0||(b0=q0+(m1*56|0)|0,PS(b0)),T0=m1+1|0,J0=e[g0>>2]|0,Y0=(T0|0)<(J0|0),Y0;)m1=T0;if(V0=e[f0>>2]|0,G0=(V0|0)==0,G0||I2(V0),O0=E+28|0,r1=e[O0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,D0=e[e1>>2]|0,CS(D0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function lS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+24>>2]=0,e[o+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,f=-129,C=W2,f|0;if(c2=p+4|0,i2=e[c2>>2]|0,b2=(i2|0)<1,b2)S5=-129,a5=27;else if(sB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,H=(M|0)<64,H)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),A1=p+16|0,z0=e[A1>>2]|0,U2(M1,z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=F7(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,R1=F7(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,S1=(w1|0)==0,S1||I2(w1),L1=p7(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=p7(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[x1>>2]|0,e[o>>2]=Z1,b1=p7(M1)|0,K1=o+4|0,e[K1>>2]=b1,O1=o+8|0,e[O1>>2]=1,H1=o+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,ft(M1),cS(M1,n),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),r2=p7(M1)|0,W1=S9(r2)|0,e[q1>>2]=W1,P1=e[G1>>2]|0,z1=p7(M1)|0,s4(W1|0,P1|0,z1|0)|0,f2=e[q1>>2]|0,e[a>>2]=f2,s2=p7(M1)|0,E2=a+4|0,e[E2>>2]=s2,A2=a+8|0,V1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=V1,a2=h2,e[a2>>2]=1,t2=h2+4|0,$2=t2,e[$2>>2]=0,ft(M1),o2=e[T1>>2]|0,X1=(o2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),n2=o2+24|0,u2=e[n2>>2]|0,e2=u2+-1|0,U2(M1,e2,8),y2=e[n2>>2]|0,v2=(y2|0)>0,v2)for(H2=0;;){if(N2=(o2+1824|0)+(H2<<2)|0,d2=e[N2>>2]|0,V2=Pv(d2,M1)|0,G2=(V2|0)==0,C2=H2+1|0,!G2)break e;if(w2=e[n2>>2]|0,F2=(C2|0)<(w2|0),F2)H2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=o2+16|0,M2=e[q2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[q2>>2]|0,A5=(z2|0)>0,A5)for(I5=0;;){if(O2=(o2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),x5=e[O2>>2]|0,e5=25640+(x5<<2)|0,D5=e[e5>>2]|0,Z2=e[D5>>2]|0,u5=(Z2|0)==0,u5)break e;if(v5=(o2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,EB[Z2&3](P5,M1),l5=I5+1|0,k2=e[q2>>2]|0,n5=(l5|0)<(k2|0),n5)I5=l5;else break}if(R2=o2+20|0,_2=e[R2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[R2>>2]|0,L5=(C5|0)>0,L5)for(o5=0;d5=(o2+1312|0)+(o5<<2)|0,b5=e[d5>>2]|0,U2(M1,b5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(o2+1568|0)+(o5<<2)|0,y=e[w>>2]|0,EB[S&3](y,M1),D=o5+1|0,Q=e[R2>>2]|0,_=(D|0)<(Q|0),_;)o5=D;if(L=o2+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=(o2+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=(o2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,SQ[J&1](p,e0,M1),X=c5+1|0,U=e[L>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=o2+8|0,V=e[Z>>2]|0,a0=V+-1|0,U2(M1,a0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(B5=0;r0=(o2+32|0)+(B5<<2)|0,K=e[r0>>2]|0,s0=e[K>>2]|0,U2(M1,s0,1),g0=e[r0>>2]|0,j=g0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),f0=e[r0>>2]|0,d0=f0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,k0=C0+12|0,u0=e[k0>>2]|0,U2(M1,u0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),K0=Q1+72|0,_0=e[K0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=p7(M1)|0,M0=S9(L0)|0,e[K0>>2]=M0,N0=e[G1>>2]|0,U0=p7(M1)|0,s4(M0|0,N0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=p7(M1)|0,b0=c+4|0,e[b0>>2]=x0,T0=c+8|0,J0=c+24|0,e[T0>>2]=0,e[T0+4>>2]=0,e[T0+8>>2]=0,e[T0+12>>2]=0,Y0=J0,P0=Y0,e[P0>>2]=2,V0=Y0+4|0,G0=V0,e[G0>>2]=0,AB(M1),f=0,C=W2,f|0}while(!1);e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+24>>2]=0,e[o+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=x1,g5=-130}return(a5|0)==27&&(e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+24>>2]=0,e[o+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),AB(M1),O0=e[I>>2]|0,H0=(O0|0)==0,H0||I2(O0),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,f1=($1|0)==0,f1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=g5,C=W2,f|0}function cS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),o=1200,c=44;E=c+-1|0,I=o+1|0,L=d[o>>0]|0,J=L<<24>>24,U2(t,J,8),H=(E|0)==0,!H;)o=I,c=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(V=n+4|0,a0=0;;){if(m=e[n>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(S=e[V>>2]|0,w=S+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(a0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(F=e[n>>2]|0,M=F+(a0<<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=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function tQ(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,F=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=C,C=C+((1*f|0)+15&-16)|0,u0=(m|0)==0,u0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(o|0),O0)for(m1=0,L1=U0;;)if(s1=t+(L1<<2)|0,I1=+s[s1>>2],B=I1,v=L1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,D=y*B,Q=D+m1,_=L1+1|0,S1=(_|0)==(o|0),S1){h1=Q;break}else m1=Q,L1=_;else h1=0;if(L=F+(U0<<3)|0,o1[L>>3]=h1,x=U0+-1|0,M=(U0|0)==0,M)break;U0=x}I=+o1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,z0=Q1,C=Y1,+z0;for(;;){if(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=K+(U1<<3)|0,n0=+o1[a0>>3],i0=F1-U1|0,r0=F+(i0<<3)|0,h0=+o1[r0>>3],s0=h0*n0,g0=O1-s0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(l0=E/E1,f0=K+(F1<<3)|0,o1[f0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=K+(N1<<3)|0,p0=+o1[B0>>3],I0=C0-N1|0,S0=K+(I0<<3)|0,K0=+o1[S0>>3],_0=K0*l0,Q0=_0+p0,o1[B0>>3]=Q0,L0=p0*l0,M0=+o1[S0>>3],N0=M0+L0,o1[S0>>3]=N0,y0=N1+1|0,q0=(y0|0)<(d0|0),q0;)N1=y0;H1=k0?d0:1,P0=l0,Z1=H1}else P0=l0,Z1=0}else Z=U/E1,V=K+(F1<<3)|0,o1[V>>3]=Z,P0=Z,Z1=0;if(x0=F1&1,b0=(x0|0)==0,b0||(T0=K+(Z1<<3)|0,J0=+o1[T0>>3],Y0=J0*P0,V0=Y0+J0,o1[T0>>3]=V0),G0=P0*P0,r1=1-G0,H0=r1*E1,e1=(k1|0)<(a|0),e1)E1=H0,F1=k1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,b1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;D0=K+(b1<<3)|0,i1=+o1[D0>>3],c1=i1*d1,o1[D0>>3]=c1,$1=d1*.99,f1=b1+1|0,x1=(f1|0)==(a|0),!x1;)d1=$1,b1=f1;if(z)K1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;;)if(g1=K+(K1<<3)|0,l1=+o1[g1>>3],a1=l1,n1=n+(K1<<2)|0,s[n1>>2]=a1,A1=K1+1|0,R1=(A1|0)==(a|0),R1){Q1=p1;break}else K1=A1;return z0=Q1,C=Y1,+z0}function iQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0;if(V=C,I=c+o|0,m=I<<2,f=m,x=C,C=C+((1*f|0)+15&-16)|0,M=(n|0)==0,T=(o|0)>0,M?T&&(G=o<<2,Ae(x|0,0,G|0)|0):T&&(N=o<<2,s4(x|0,n|0,N|0)|0),O=(c|0)>0,!O){C=V;return}if(z=(o|0)>0,z)W=0,e0=o;else{Y=c<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=V;return}for(;;){for(X=W,U=o,$0=0;;)if(S=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=$0-L,t0=(S|0)==(e0|0),t0){E=F;break}else X=S,U=D,$0=F;if(p=x+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,H=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=H}C=V}function gS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[n>>2]|0,f=(c|0)>1,f?(U2(o,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(o,Y,4)):U2(o,0,1),a0=n+1156|0,f0=e[a0>>2]|0,d0=(f0|0)>0,d0){if(U2(o,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(o,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=n+1160|0,m=t+4|0,p=n+2184|0,u0=0;B=I+(u0<<2)|0,v=e[B>>2]|0,S=e[m>>2]|0,w=S+-1|0,y=F7(w)|0,U2(o,v,y),D=p+(u0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,F=F7(x)|0,U2(o,_,F),M=u0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)u0=M}else U2(o,0,1);if(U2(o,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(o,Z,4),V=B0+1|0,n0=e[z>>2]|0,i0=(V|0)<(n0|0),i0;)B0=V;a=e[n>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(H=(e0|0)>0,!H)))for(X=n+1028|0,U=n+1092|0,p0=0;U2(o,0,8),r0=X+(p0<<2)|0,K=e[r0>>2]|0,U2(o,K,8),h0=U+(p0<<2)|0,s0=e[h0>>2]|0,U2(o,s0,8),g0=p0+1|0,j=e[n>>2]|0,l0=(g0|0)<(j|0),l0;)p0=g0}function hS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,c=n4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,Ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=Z4(n,1)|0,Y0=(Q0|0)<0,Y0)a1=24;else{if(H0=(Q0|0)==0,H0)e[c>>2]=1;else if(e1=Z4(n,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=Z4(n,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=Z4(n,8)|0,S=v+1|0,w=c+1156|0,e[w>>2]=S,y=(v|0)<0,y)break;for(D=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,D0=0;;){if(M=T+-1|0,N=F7(M)|0,G=Z4(n,N)|0,O=D+(D0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=F7(t0)|0,W=Z4(n,J)|0,e0=_+(D0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),V=(W|0)<($0|0),f1=Z&V,x=D0+1|0,!f1))break e;if(L=e[w>>2]|0,F=(x|0)<(L|0),F)T=$0,D0=x;else break}}if(n0=Z4(n,2)|0,i0=(n0|0)==0,i0){if(r0=e[c>>2]|0,K=(r0|0)>1,K){if(h0=e[Y>>2]|0,s0=(h0|0)>0,s0)for(g0=c+4|0,i1=0;;){if(I0=Z4(n,4)|0,S0=g0+(i1<<2)|0,e[S0>>2]=I0,K0=e[c>>2]|0,_0=(I0|0)>=(K0|0),L0=(I0|0)<0,g1=L0|_0,B0=i1+1|0,g1)break e;if(u0=e[Y>>2]|0,p0=(B0|0)<(u0|0),p0)i1=B0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return o=c,o|0;for(f0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(Z4(n,8)|0,y0=Z4(n,8)|0,q0=f0+(c1<<2)|0,e[q0>>2]=y0,x0=e[w0>>2]|0,b0=(y0|0)>=(x0|0),T0=(y0|0)<0,l1=T0|b0,l1||(J0=Z4(n,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=J0,V0=e[k0>>2]|0,G0=(J0|0)>=(V0|0),O0=(J0|0)<0,s1=O0|G0,N0=c1+1|0,s1))break e;if(M0=e[c>>2]|0,U0=(N0|0)<(M0|0),U0)c1=N0;else{o=c;break}}return o|0}}}while(!1);return(a1|0)==24&&(r1=(c|0)==0,r1)?(o=0,o|0):(I2(c),o=0,o|0)}function fS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function uS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,Pn=0,iA=0,Zr=0,rA=0,nA=0,sA=0,On=0,AA=0,Hn=0,qn=0,oA=0,Wr=0,Yn=0,jr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Xr=0,Vn=0,cA=0,Ir=0,en=0,gA=0,hA=0,tn=0,li=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,dA=0,ci=0,rn=0,IA=0,Xn=0,EA=0,mA=0,CA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,nn=0,Er=0,sn=0,vA=0,Zi=0,SA=0,is=0,An=0,rs=0,on=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,mr=0,as=0,gi=0,an=0,Cr=0,Wi=0,Br=0,Oi=0,pr=0,$s=0,Hi=0,Qi=0,yi=0,jt=0,wi=0,Qr=0,ji=0,Xi=0,yr=0,hi=0,RA=0,at=0,j$=0,$n=0,ln=0;if($n=C,_=t+64|0,L=e[_>>2]|0,t2=L+4|0,P3=e[t2>>2]|0,_4=P3+28|0,q4=e[_4>>2]|0,gA=L+104|0,ci=e[gA>>2]|0,yA=t+104|0,An=e[yA>>2]|0,x=t+36|0,W=e[x>>2]|0,r0=P3+4|0,k0=e[r0>>2]|0,N0=k0<<2,a=N0,G0=C,C=C+((1*a|0)+15&-16)|0,l1=O7(t,N0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=O7(t,U1)|0,$2=e[r0>>2]|0,F2=$2<<2,O2=O7(t,F2)|0,k2=An+4|0,_5=+s[k2>>2],g2=e[r0>>2]|0,x2=g2<<2,c=x2,F5=C,C=C+((1*c|0)+15&-16)|0,R3=An+8|0,M5=e[R3>>2]|0,K5=t+28|0,c6=e[K5>>2]|0,q3=(q4+544|0)+(c6<<2)|0,n6=e[q3>>2]|0,L6=ci+56|0,f9=e[L6>>2]|0,E4=(c6|0)!=0,o4=E4?2:0,D=o4+M5|0,a4=f9+(D*52|0)|0,U4=t+40|0,e[U4>>2]=c6,ae=(g2|0)>0,ae)for(l4=+(W|0),Y3=4/l4,g7=(s[p2>>2]=Y3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,D8=g7&2147483647,A8=+(D8>>>0),Q4=A8*7177114298428933e-22,Ye=Q4+-764.6162109375,A7=Ye,ne=A7+.345,tt=ne,it=ci+4|0,Yt=t+24|0,$i=t+32|0,G7=tt+-764.6162109375,zr=W+-1|0,rA=(zr|0)>1,Jn=tt+-382.30810546875,pr=_5,Hi=0;;){if(hA=e[t>>2]|0,tn=hA+(Hi<<2)|0,li=e[tn>>2]|0,zn=O7(t,S8)|0,fA=W1+(Hi<<2)|0,e[fA>>2]=zn,uA=O7(t,S8)|0,Zn=l1+(Hi<<2)|0,e[Zn>>2]=uA,Wn=e[Yt>>2]|0,jn=e[K5>>2]|0,dA=e[$i>>2]|0,zS(li,it,q4,Wn,jn,dA),rn=e[K5>>2]|0,IA=(ci+12|0)+(rn<<2)|0,Xn=e[IA>>2]|0,EA=e[Xn>>2]|0,mA=e[Zn>>2]|0,rQ(EA,li,mA),CA=e[K5>>2]|0,es=(ci+20|0)+(CA*12|0)|0,qS(es,li),BA=e[li>>2]|0,pA=BA&2147483647,QA=+(pA>>>0),ts=QA*7177114298428933e-22,wA=G7+ts,kA=wA,nn=kA+.345,Er=nn,s[li>>2]=Er,sn=F5+(Hi<<2)|0,s[sn>>2]=Er,rA)for(O=Er,Qr=1;;)if(vA=li+(Qr<<2)|0,Zi=+s[vA>>2],SA=Zi*Zi,is=Qr+1|0,rs=li+(is<<2)|0,on=+s[rs>>2],DA=on*on,ns=DA+SA,ss=(s[p2>>2]=ns,e[p2>>2]|0),bA=ss&2147483647,As=+(bA>>>0),os=As*35885571492144663e-23,_A=Jn+os,mr=_A,F=mr+.345,M=F,T=is>>1,N=li+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[sn>>2]=M,Ir=M):Ir=O,z=Qr+2|0,Y=(z|0)<(zr|0),Y)O=Ir,Qr=z;else{J=Ir;break}else J=Er;if(t0=J>0,t0?(s[sn>>2]=0,H=0):H=J,e0=H>pr,$s=e0?H:pr,X=Hi+1|0,U=e[r0>>2]|0,$0=(X|0)<(U|0),$0)pr=$s,Hi=X;else{p=S8,v=k8,Oi=$s;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,Oi=_5;Z=O7(t,p)|0,V=O7(t,p)|0,a0=e[r0>>2]|0,n0=(a0|0)>0;e:do if(n0){if(i0=(W|0)>1,K=ci+48|0,i0)yi=0;else{for(Qi=0;;){e6=(n6+4|0)+(Qi<<2)|0,u6=e[e6>>2]|0,H3=l1+(Qi<<2)|0,D3=e[H3>>2]|0,z3=e[t>>2]|0,D6=z3+(Qi<<2)|0,o6=e[D6>>2]|0,t3=o6+(v<<2)|0,e[U4>>2]=c6,O6=O7(t,60)|0,s3=O2+(Qi<<2)|0,e[s3>>2]=O6,at=O6,ln=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(ln|0));if(oQ(a4,t3,Z),a6=F5+(Qi<<2)|0,d6=+s[a6>>2],aQ(a4,o6,V,Oi,d6),z$(a4,Z,V,1,o6,D3,t3),b3=(n6+1028|0)+(u6<<2)|0,N6=e[b3>>2]|0,Q6=(q4+800|0)+(N6<<2)|0,x6=e[Q6>>2]|0,V6=(x6|0)==1,!V6){o=-1;break}if(I6=e[K>>2]|0,J6=I6+(N6<<2)|0,L3=e[J6>>2]|0,W6=V$(t,L3,t3,o6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=W6,s9=_h(t)|0,U6=(s9|0)==0,U6||(b6=e[s3>>2]|0,z6=b6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(z$(a4,Z,V,2,o6,D3,t3),F3=e[b3>>2]|0,M6=e[K>>2]|0,t9=M6+(F3<<2)|0,o9=e[t9>>2]|0,j6=V$(t,o9,t3,o6)|0,u9=e[s3>>2]|0,d9=u9+56|0,e[d9>>2]=j6,z$(a4,Z,V,0,o6,D3,t3),a9=e[b3>>2]|0,$9=e[K>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=V$(t,E6,t3,o6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[b3>>2]|0,I9=e[K>>2]|0,A4=I9+(N9<<2)|0,h4=e[A4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,D9=G9+28|0,E9=e[D9>>2]|0,H6=L8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=H6,S4=e[b3>>2]|0,y9=e[K>>2]|0,D4=y9+(S4<<2)|0,b4=e[D4>>2]|0,R4=e[s3>>2]|0,M4=e[R4>>2]|0,W4=R4+28|0,C4=e[W4>>2]|0,T4=L8(t,b4,M4,C4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,x4=e[b3>>2]|0,f4=e[K>>2]|0,Ce=f4+(x4<<2)|0,H9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,G4=L8(t,H9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,j4=Ge+12|0,e[j4>>2]=G4,De=e[b3>>2]|0,e8=e[K>>2]|0,Z9=e8+(De<<2)|0,oe=e[Z9>>2]|0,u4=e[s3>>2]|0,_6=e[u4>>2]|0,P4=u4+28|0,L9=e[P4>>2]|0,$4=L8(t,oe,_6,L9,37449)|0,W9=e[s3>>2]|0,$e=W9+16|0,e[$e>>2]=$4,le=e[b3>>2]|0,B4=e[K>>2]|0,X4=B4+(le<<2)|0,L4=e[X4>>2]|0,ce=e[s3>>2]|0,C9=e[ce>>2]|0,g6=ce+28|0,Ue=e[g6>>2]|0,pe=L8(t,L4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[b3>>2]|0,be=e[K>>2]|0,_e=be+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,f8=g4+28|0,w9=e[f8>>2]|0,B9=L8(t,t8,k4,w9,56173)|0,F4=e[s3>>2]|0,ee=F4+24|0,e[ee>>2]=B9,$7=e[b3>>2]|0,Re=e[K>>2]|0,l7=Re+($7<<2)|0,Q7=e[l7>>2]|0,z8=e[s3>>2]|0,c7=z8+28|0,F8=e[c7>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=L8(t,Q7,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,y7=e[b3>>2]|0,G8=e[K>>2]|0,U8=G8+(y7<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,u8=v8+28|0,O8=e[u8>>2]|0,H8=v8+56|0,j8=e[H8>>2]|0,X8=L8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,xe=e[b3>>2]|0,i8=e[K>>2]|0,k9=i8+(xe<<2)|0,h7=e[k9>>2]|0,Qe=e[s3>>2]|0,f7=Qe+28|0,w7=e[f7>>2]|0,e7=Qe+56|0,k7=e[e7>>2]|0,te=L8(t,h7,w7,k7,28086)|0,t7=e[s3>>2]|0,q8=t7+40|0,e[q8>>2]=te,r8=e[b3>>2]|0,O4=e[K>>2]|0,Le=O4+(r8<<2)|0,n8=e[Le>>2]|0,I8=e[s3>>2]|0,b8=I8+28|0,ge=e[b8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=L8(t,n8,ge,s8,37449)|0,m8=e[s3>>2]|0,he=m8+44|0,e[he>>2]=E8,ye=e[b3>>2]|0,Oe=e[K>>2]|0,He=Oe+(ye<<2)|0,X9=e[He>>2]|0,Fe=e[s3>>2]|0,fe=Fe+28|0,o8=e[fe>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,i7=L8(t,X9,o8,C8,46811)|0,H4=e[s3>>2]|0,I3=H4+48|0,e[I3>>2]=i7,qe=e[b3>>2]|0,B8=e[K>>2]|0,ie=B8+(qe<<2)|0,q9=e[ie>>2]|0,re=e[s3>>2]|0,b9=re+28|0,Y8=e[b9>>2]|0,u7=re+56|0,r7=e[u7>>2]|0,n7=L8(t,q9,Y8,r7,56173)|0,J8=e[s3>>2]|0,s7=J8+52|0,e[s7>>2]=n7)),K8=Qi+1|0,a8=e[r0>>2]|0,$8=(K8|0)<(a8|0),$8)Qi=K8;else{B=K,R8=a8;break e}}return C=$n,o|0}for(;;){R6=(n6+4|0)+(yi<<2)|0,d0=e[R6>>2]|0,Y6=l1+(yi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,S3=C6+(yi<<2)|0,j=e[S3>>2]|0,h0=j+(v<<2)|0,e[U4>>2]=c6,X3=O7(t,60)|0,Q0=O2+(yi<<2)|0,e[Q0>>2]=X3,at=X3,ln=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(ln|0));for(ji=0;W3=l0+(ji<<2)|0,v3=e[W3>>2]|0,g3=v3&2147483647,O3=+(g3>>>0),l6=O3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=ji+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,j3=ji+1|0,p6=(j3|0)<(v|0),p6;)ji=j3;if(oQ(a4,h0,Z),s0=F5+(yi<<2)|0,g0=+s[s0>>2],aQ(a4,j,V,Oi,g0),z$(a4,Z,V,1,j,l0,h0),f0=(n6+1028|0)+(d0<<2)|0,w0=e[f0>>2]|0,C0=(q4+800|0)+(w0<<2)|0,u0=e[C0>>2]|0,B0=(u0|0)==1,!B0){o=-1;break}if(p0=e[K>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,K0=V$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,L0=_0+28|0,e[L0>>2]=K0,M0=_h(t)|0,U0=(M0|0)==0,U0||(y0=e[Q0>>2]|0,q0=y0+28|0,x0=e[q0>>2]|0,b0=(x0|0)==0,b0||(z$(a4,Z,V,2,j,l0,h0),T0=e[f0>>2]|0,J0=e[K>>2]|0,Y0=J0+(T0<<2)|0,P0=e[Y0>>2]|0,V0=V$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,r1=O0+56|0,e[r1>>2]=V0,z$(a4,Z,V,0,j,l0,h0),H0=e[f0>>2]|0,e1=e[K>>2]|0,D0=e1+(H0<<2)|0,i1=e[D0>>2]|0,c1=V$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,f1=e[f0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,A1=e[n1>>2]|0,z0=n1+28|0,I1=e[z0>>2]|0,h1=L8(t,a1,A1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[f0>>2]|0,p1=e[K>>2]|0,Q1=p1+(E1<<2)|0,R1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=L8(t,R1,w1,L1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[f0>>2]|0,N1=e[K>>2]|0,b1=N1+(Z1<<2)|0,K1=e[b1>>2]|0,O1=e[Q0>>2]|0,H1=e[O1>>2]|0,q1=O1+28|0,Y1=e[q1>>2]|0,j1=L8(t,K1,H1,Y1,28086)|0,r2=e[Q0>>2]|0,P1=r2+12|0,e[P1>>2]=j1,c2=e[f0>>2]|0,z1=e[K>>2]|0,f2=z1+(c2<<2)|0,s2=e[f2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,V1=E2+28|0,h2=e[V1>>2]|0,a2=L8(t,s2,A2,h2,37449)|0,i2=e[Q0>>2]|0,o2=i2+16|0,e[o2>>2]=a2,X1=e[f0>>2]|0,n2=e[K>>2]|0,u2=n2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,b2=L8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=b2,V2=e[f0>>2]|0,G2=e[K>>2]|0,q2=G2+(V2<<2)|0,M2=e[q2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,A5=P2+28|0,T1=e[A5>>2]|0,X2=L8(t,M2,z2,T1,56173)|0,x5=e[Q0>>2]|0,e5=x5+24|0,e[e5>>2]=X2,D5=e[f0>>2]|0,Z2=e[K>>2]|0,u5=Z2+(D5<<2)|0,v5=e[u5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,R2=e[n5>>2]|0,_2=L8(t,v5,m5,R2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,L5=e[f0>>2]|0,d5=e[K>>2]|0,b5=d5+(L5<<2)|0,G5=e[b5>>2]|0,H2=e[Q0>>2]|0,I5=H2+28|0,o5=e[I5>>2]|0,c5=H2+56|0,B5=e[c5>>2]|0,M1=L8(t,G5,o5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[f0>>2]|0,W2=e[K>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,f5=s5+56|0,i5=e[f5>>2]|0,R5=L8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=R5,Q5=e[f0>>2]|0,H5=e[K>>2]|0,j5=H5+(Q5<<2)|0,E5=e[j5>>2]|0,u3=e[Q0>>2]|0,h3=u3+28|0,Y5=e[h3>>2]|0,X5=u3+56|0,n3=e[X5>>2]|0,m3=L8(t,E5,Y5,n3,37449)|0,J5=e[Q0>>2]|0,w3=J5+44|0,e[w3>>2]=m3,f3=e[f0>>2]|0,B3=e[K>>2]|0,V3=B3+(f3<<2)|0,N3=e[V3>>2]|0,V5=e[Q0>>2]|0,y3=V5+28|0,Z5=e[y3>>2]|0,i6=V5+56|0,G3=e[i6>>2]|0,a3=L8(t,N3,Z5,G3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[f0>>2]|0,q5=e[K>>2]|0,U5=q5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,U3=k5+28|0,A6=e[U3>>2]|0,e3=k5+56|0,o3=e[e3>>2]|0,x3=L8(t,O5,A6,o3,56173)|0,f6=e[Q0>>2]|0,p3=f6+52|0,e[p3>>2]=x3)),k3=yi+1|0,Q3=e[r0>>2]|0,r6=(k3|0)<(Q3|0),r6)yi=k3;else{B=K,R8=Q3;break e}}return C=$n,o|0}else y=ci+48|0,B=y,R8=a0;while(!1);for(s[k2>>2]=Oi,_8=R8<<2,f=_8,Je=C,C=C+((1*f|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,o7=_h(t)|0,Ke=(o7|0)!=0,M7=Ke?0:7,H7=ci+44|0,v7=t+24|0,a7=t+32|0,S7=q4+2868|0,T7=ci+52|0,hi=M7;;){if(q7=(An+12|0)+(hi<<2)|0,l8=e[q7>>2]|0,U2(l8,0,1),x8=e[H7>>2]|0,U2(l8,c6,x8),D7=e[K5>>2]|0,V8=(D7|0)==0,V8||(Me=e[v7>>2]|0,U2(l8,Me,1),ue=e[a7>>2]|0,U2(l8,ue,1)),e4=e[r0>>2]|0,b7=(e4|0)>0,b7)for(jt=0;;)if(Gt=(n6+4|0)+(jt<<2)|0,Ut=e[Gt>>2]|0,Pt=W1+(jt<<2)|0,dt=e[Pt>>2]|0,Y7=(n6+1028|0)+(Ut<<2)|0,It=e[Y7>>2]|0,J7=e[B>>2]|0,Et=J7+(It<<2)|0,K7=e[Et>>2]|0,mt=O2+(jt<<2)|0,si=e[mt>>2]|0,Ot=si+(hi<<2)|0,Ct=e[Ot>>2]|0,Bt=Wv(l8,t,K7,Ct,dt)|0,Ai=G0+(jt<<2)|0,e[Ai>>2]=Bt,pt=jt+1|0,rt=e[r0>>2]|0,oi=(pt|0)<(rt|0),oi)jt=pt;else{I=rt;break}else I=e4;if(Ht=e[K5>>2]|0,qt=((q4+3240|0)+(Ht*60|0)|0)+(hi<<2)|0,Jt=e[qt>>2]|0,QS(hi,S7,a4,n6,l1,W1,G0,Jt,I),nt=e[n6>>2]|0,Qt=(nt|0)>0,Qt)for(wi=0;;){if(Kt=(n6+1092|0)+(wi<<2)|0,V7=e[Kt>>2]|0,st=e[r0>>2]|0,N7=(st|0)>0,N7)for(en=st,gi=0,Xi=0;;)if(z7=(n6+4|0)+(Xi<<2)|0,ai=e[z7>>2]|0,Vt=(ai|0)==(wi|0),Vt?(yt=p9+(gi<<2)|0,zt=G0+(Xi<<2)|0,wt=e[zt>>2]|0,RA=(wt|0)!=0,n=RA&1,e[yt>>2]=n,kt=W1+(Xi<<2)|0,Zt=e[kt>>2]|0,vt=gi+1|0,Z7=Je+(gi<<2)|0,e[Z7>>2]=Zt,m=e[r0>>2]|0,At=m,an=vt):(At=en,an=gi),St=Xi+1|0,Wt=(St|0)<(At|0),Wt)en=At,gi=an,Xi=St;else{as=an;break}else as=0;if(Dt=(q4+1312|0)+(V7<<2)|0,ke=e[Dt>>2]|0,bt=25648+(ke<<2)|0,_7=e[bt>>2]|0,ot=_7+20|0,n9=e[ot>>2]|0,d7=e[T7>>2]|0,p8=d7+(V7<<2)|0,I7=e[p8>>2]|0,R7=mB[n9&7](t,I7,Je,p9,as)|0,dr=e[r0>>2]|0,js=(dr|0)>0,js)for(Wi=0,yr=0;;)if(Gn=(n6+4|0)+(yr<<2)|0,Xs=e[Gn>>2]|0,Un=(Xs|0)==(wi|0),Un?(eA=W1+(yr<<2)|0,tA=e[eA>>2]|0,Pn=Wi+1|0,iA=Je+(Wi<<2)|0,e[iA>>2]=tA,Br=Pn):Br=Wi,Zr=yr+1|0,nA=(Zr|0)<(dr|0),nA)Wi=Br,yr=Zr;else{Cr=Br;break}else Cr=0;if(sA=e[Dt>>2]|0,On=25648+(sA<<2)|0,AA=e[On>>2]|0,Hn=AA+24|0,qn=e[Hn>>2]|0,oA=e[T7>>2]|0,Wr=oA+(V7<<2)|0,Yn=e[Wr>>2]|0,DQ[qn&3](l8,t,Yn,Je,p9,Cr,R7,wi)|0,jr=wi+1|0,Kn=e[n6>>2]|0,aA=(jr|0)<(Kn|0),aA)wi=jr;else break}if($A=hi+1|0,lA=_h(t)|0,Xr=(lA|0)!=0,Vn=Xr?14:7,cA=(hi|0)<(Vn|0),cA)hi=$A;else{o=0;break}}return C=$n,o|0}function dS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0;if(x2=C,S=t+64|0,w=e[S>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,u5=t+28|0,L5=e[u5>>2]|0,y=V1+(L5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,K0=e[l0>>2]|0,T0=K0<<2,c=T0,i1=C,C=C+((1*c|0)+15&-16)|0,f=T0,z0=C,C=C+((1*f|0)+15&-16)|0,E=T0,I1=C,C=C+((1*E|0)+15&-16)|0,I=T0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=n+4|0,p1=n+1028|0,Q1=M2+48|0,R1=O<<1,x1=R1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,b1=e[N1>>2]|0,K1=(V1+800|0)+(b1<<2)|0,O1=e[K1>>2]|0,H1=25640+(O1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(b1<<2)|0,c2=e[P1>>2]|0,z1=ut[r2&15](t,c2)|0,f2=h1+(W2<<2)|0,e[f2>>2]=z1,s2=I1+(W2<<2)|0,j2=(z1|0)!=0,o=j2&1,e[s2>>2]=o,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,Ae(h2|0,0,x1|0)|0,a2=W2+1|0,t2=e[l0>>2]|0,$2=(a2|0)<(t2|0),$2)W2=a2;else{n1=t2;break}else n1=d1;if(w1=n+1156|0,S1=e[w1>>2]|0,L1=(S1|0)>0,L1)for(G1=n+1160|0,k1=n+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,b2=k1+(g2<<2)|0,N2=e[b2>>2]|0,F2?(d2=I1+(N2<<2)|0,V2=e[d2>>2]|0,G2=(V2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,q2=I1+(N2<<2)|0,e[q2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(i2=e[n>>2]|0,o2=(i2|0)>0,o2){for(X1=n+1092|0,n2=M2+52|0,u2=n+4|0,A5=n1,p5=0;;){if(O2=(A5|0)>0,O2)for(A1=A5,g5=0,f5=0;;)if(T1=u2+(f5<<2)|0,X2=e[T1>>2]|0,x5=(X2|0)==(p5|0),x5?(e5=I1+(f5<<2)|0,D5=e[e5>>2]|0,Z2=z0+(g5<<2)|0,R5=(D5|0)!=0,a=R5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(f5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=A1,a5=g5),n5=f5+1|0,R2=(n5|0)<(_2|0),R2)A1=_2,g5=a5,f5=n5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(V1+1312|0)+(C5<<2)|0,b5=e[d5>>2]|0,G5=25648+(b5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,I5=e[H2>>2]|0,o5=e[n2>>2]|0,c5=o5+(C5<<2)|0,B5=e[c5>>2]|0,mB[I5&7](t,B5,i1,z0,S5)|0,M1=p5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[l0>>2]|0,A5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;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,H=e[e0>>2]|0,X=F+(H<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,V=e[$0>>2]|0,a0=F+(V<<2)|0,n0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],K=n0+(i5<<2)|0,h0=+s[K>>2],s0=r0>0,g0=h0>0;do if(s0)if(g0){s[i0>>2]=r0,j=r0-h0,s[K>>2]=j;break}else{s[K>>2]=r0,f0=h0+r0,s[i0>>2]=f0;break}else if(g0){s[i0>>2]=r0,d0=h0+r0,s[K>>2]=d0;break}else{s[K>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=x2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,L0=e[Q0>>2]|0,M0=(V1+800|0)+(L0<<2)|0,N0=e[M0>>2]|0,U0=25640+(N0<<2)|0,y0=e[U0>>2]|0,q0=y0+24|0,x0=e[q0>>2]|0,b0=e[W>>2]|0,J0=b0+(L0<<2)|0,Y0=e[J0>>2]|0,P0=h1+(h5<<2)|0,V0=e[P0>>2]|0,IB[x0&3](t,Y0,V0,I0)|0,G0=h5+1|0,O0=e[l0>>2]|0,r1=(G0|0)<(O0|0),r1)h5=G0;else{m=O0;break}if(u0=(m|0)>0,!u0)return C=x2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,D0=e[e1>>2]|0,c1=e[u5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,IS(g1,D0,D0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=x2,0}function cB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0;if(w1=C,o=(n|0)/4&-1,a=o<<2,y=S9(a)|0,O=o+n|0,Z=O<<2,l0=S9(Z)|0,K0=n>>1,T0=+(n|0),i1=T0,I1=+Kr(+i1),c=I1*1.4426950408889634,f=+Ui(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(n|0)>3,!B){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(v=+(n|0),S=3.141592653589793/v,w=n<<1,D=+(w|0),Q=3.141592653589793/D,B1=0;M=B1<<2,T=+(M|0),N=S*T,G=+zo(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Tn(+N),W=J,e0=-W,H=Y|1,X=l0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),$0=Q*U,V=+zo(+$0),a0=V,n0=Y+K0|0,i0=l0+(n0<<2)|0,s[i0>>2]=a0,r0=+Tn(+$0),K=r0,h0=n0+1|0,s0=l0+(h0<<2)|0,s[s0>>2]=K,g0=B1+1|0,j=(g0|0)<(o|0),j;)B1=g0;if(_=(n|0)/8&-1,L=(n|0)>7,!L){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(x=+(n|0),F=3.141592653589793/x,p1=0;f0=p1<<2,d0=f0|2,w0=+(d0|0),C0=F*w0,k0=+zo(+C0),u0=k0*.5,B0=u0,p0=p1<<1,I0=p0+n|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Tn(+C0),Q0=_0*-.5,L0=Q0,M0=I0+1|0,N0=l0+(M0<<2)|0,s[N0>>2]=L0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=z0;return}for(;;){for(V0=Y0,m1=0,R1=0;;)if(P0=V0&Q1,G0=(P0|0)==0,O0=1<>H0,D0=(e1|0)==0,D0){E1=d1;break}else V0=e1,m1=d1,R1=H0;if(c1=E1^-1,$1=b0&c1,f1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=f1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,A1=(n1|0)<(_|0),A1)Q1=n1;else break}z0=4/T0,h1=t+16|0,s[h1>>2]=z0}function gB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(o=t+8|0,a=e[o>>2]|0,c=(a|0)==0,c||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 IS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0;for(O3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,V2=n+(a<<2)|0,c=I+W1|0,e5=o+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=V2,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,k0=-r0,N0=+s[U5>>2],G0=c3+8|0,l1=+s[G0>>2],B1=l1*N0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],$2=+s[x>>2],y2=$2*P1,v2=+s[B3>>2],w2=+s[G0>>2],C2=w2*v2,F2=y2-C2,b2=k3+-12|0,s[b2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,q2=+s[G2>>2],M2=d2*q2,P2=-M2,z2=U5+16|0,A5=+s[z2>>2],O2=+s[c3>>2],T1=O2*A5,X2=P2-T1,x5=k3+-8|0,s[x5>>2]=X2,D5=+s[z2>>2],Z2=+s[G2>>2],u5=Z2*D5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=u5-l5,m5=k3+-4|0,s[m5>>2]=k2,n5=U5+-32|0,R2=c3+16|0,B2=n5>>>0>>0,!B2;)c3=R2,U5=n5,k3=E5;for(C5=o+(I<<2)|0,f=I+-8|0,L5=n+(f<<2)|0,C3=h5,O5=L5,Q3=e5;d5=C3+-16|0,b5=O5+16|0,G5=+s[b5>>2],_5=C3+-4|0,H2=+s[_5>>2],I5=H2*G5,o5=O5+24|0,B5=+s[o5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[Q3>>2]=a5,W2=+s[b5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[o5>>2],s5=+s[_5>>2],J2=s5*t5,f5=p5-J2,i5=Q3+4|0,s[i5>>2]=f5,R5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],x2=$5*R5,Q5=O5+8|0,H5=+s[Q5>>2],j5=+s[d5>>2],u3=j5*H5,h3=u3+x2,Y5=Q3+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],w3=J5*F5,f3=m3-w3,V3=Q3+12|0,s[V3>>2]=f3,N3=O5+-32|0,V5=Q3+16|0,y3=N3>>>0>>0,!y3;)C3=d5,O5=N3,Q3=V5;for(A6=t+4|0,e3=e[A6>>2]|0,nQ(e3,c5,C5,I),o3=e[t>>2]|0,x3=e[_2>>2]|0,f6=t+12|0,p3=e[f6>>2]|0,sQ(o3,x3,p3,o),Z5=e[_2>>2]|0,i6=Z5+(I<<2)|0,q5=i6,k5=o,r6=e5,K5=e5;R3=r6+-16|0,G3=+s[k5>>2],a3=q5+4|0,l3=+s[a3>>2],p=l3*G3,B=k5+4|0,v=+s[B>>2],S=+s[q5>>2],w=S*v,y=p-w,D=r6+-4|0,s[D>>2]=y,Q=+s[k5>>2],_=+s[q5>>2],L=_*Q,F=+s[B>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[K5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],$0=U*H,Z=J-$0,V=r6+-8|0,s[V>>2]=Z,a0=+s[O>>2],n0=+s[X>>2],i0=n0*a0,K=+s[e0>>2],h0=+s[Y>>2],s0=h0*K,g0=i0+s0,j=-g0,l0=K5+4|0,s[l0>>2]=j,f0=k5+16|0,d0=+s[f0>>2],w0=q5+20|0,C0=+s[w0>>2],u0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=q5+16|0,S0=+s[I0>>2],K0=S0*p0,_0=u0-K0,Q0=r6+-12|0,s[Q0>>2]=_0,L0=+s[f0>>2],M0=+s[I0>>2],U0=M0*L0,y0=+s[B0>>2],q0=+s[w0>>2],x0=q0*y0,b0=U0+x0,T0=-b0,J0=K5+8|0,s[J0>>2]=T0,Y0=k5+24|0,P0=+s[Y0>>2],V0=q5+28|0,O0=+s[V0>>2],r1=O0*P0,H0=k5+28|0,e1=+s[H0>>2],D0=q5+24|0,i1=+s[D0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[D0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[V0>>2],A1=n1*a1,z0=s1+A1,I1=-z0,h1=K5+12|0,s[h1>>2]=I1,m1=K5+16|0,d1=k5+32|0,E1=q5+32|0,p1=d1>>>0>>0,p1;)q5=E1,k5=d1,r6=R3,K5=m1;for(Q1=o+(W1<<2)|0,U3=e5,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=U3+-16|0,w1=U3+-4|0,S1=+s[w1>>2],L1=W3+-4|0,s[L1>>2]=S1,F1=-S1,s[v3>>2]=F1,G1=U3+-8|0,k1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=k1,N1=-k1,b1=v3+4|0,s[b1>>2]=N1,K1=U3+-12|0,O1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=O1,q1=-O1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,r2=-j1,c2=v3+12|0,s[c2>>2]=r2,z1=v3+16|0,f2=z1>>>0>>0,f2)U3=x1,W3=R1,v3=z1;else{M5=e5,P3=e5;break}for(;s2=P3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[s2>>2]=A2,V1=M5+8|0,h2=e[V1>>2]|0,a2=P3+-12|0,e[a2>>2]=h2,t2=M5+4|0,i2=e[t2>>2]|0,o2=P3+-8|0,e[o2>>2]=i2,X1=e[M5>>2]|0,n2=P3+-4|0,e[n2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,P3=s2}function rQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,b2=t+8|0,T1=e[b2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=n+(f<<2)|0,f0=a1+-1|0,_0=f0>>>1,J0=_0<<1,P0=y+-2|0,V0=P0-J0|0,G0=c+-4|0,O0=_0<<2,H0=G0-O0|0,n5=D,b5=0,h5=i2,R5=V;e1=h5+-16|0,D0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[R5>>2],f1=$1+c1,g1=+s[e1>>2],l1=R5+8|0,s1=+s[l1>>2],n1=s1+g1,A1=n5+-4|0,z0=+s[A1>>2],I1=n1*z0,h1=+s[D0>>2],m1=h1*f1,d1=m1+I1,v=b5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[D0>>2],p1=B1*n1,R1=+s[A1>>2],x1=R1*f1,w1=p1-x1,S1=b5|1,S=S1+y|0,L1=N1+(S<<2)|0,s[L1>>2]=w1,F1=R5+16|0,G1=b5+2|0,k1=(G1|0)<(a1|0),k1;)n5=D0,b5=G1,h5=e1,R5=F1;U1=J0+2|0,g2=T1+(V0<<2)|0,p5=n+(H0<<2)|0,O2=V0,m5=g2,d5=U1,s5=p5}else O2=y,m5=D,d5=0,s5=i2;if(Z1=n+4|0,b1=y-a1|0,K1=(d5|0)<(b1|0),K1){for(O1=y+-1|0,H1=O1-d5|0,q1=H1-a1|0,Y1=q1>>>1,j1=Y1<<1,r2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;f2=_2+-8|0,s2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],V1=+s[$5>>2],h2=A2-V1,a2=+s[s2>>2],t2=$5+8|0,$2=+s[t2>>2],o2=a2-$2,X1=_2+-4|0,n2=+s[X1>>2],u2=o2*n2,e2=+s[f2>>2],y2=e2*h2,v2=y2+u2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[f2>>2],F2=C2*o2,N2=+s[X1>>2],d2=N2*h2,V2=F2-d2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=V2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(b1|0),z2;)_2=f2,_5=P2,J2=s2,$5=M2;A5=r2+2|0,a5=n+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,R2=W2,G5=A5,j2=a5}else R2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(x5=n+(w<<2)|0,B2=R2,H2=G5,f5=x5,x2=j2;e5=B2+-8|0,D5=f5+-16|0,Z2=f5+-8|0,u5=+s[Z2>>2],v5=-u5,P5=+s[x2>>2],l5=v5-P5,k2=+s[D5>>2],Q=-k2,_=x2+8|0,L=+s[_>>2],x=Q-L,F=B2+-4|0,M=+s[F>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=H2+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,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,$0=x2+16|0,Z=H2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,H2=Z,f5=D5,x2=$0;if(o5=t+4|0,c5=e[o5>>2]|0,nQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[b2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,sQ(g5,B5,S5,N1),n0=(r1|0)>0,!n0){C=H5;return}for(i0=o+(y<<2)|0,r0=e[b2>>2]|0,K=r0+(y<<2)|0,h0=t+16|0,C5=K,I5=0,t5=N1,i5=i0;s0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],l0=j*g0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],u0=k0*w0,B0=u0+l0,p0=+s[h0>>2],I0=B0*p0,S0=o+(I5<<2)|0,s[S0>>2]=I0,K0=+s[t5>>2],Q0=+s[C0>>2],L0=Q0*K0,M0=+s[d0>>2],N0=+s[C5>>2],U0=N0*M0,y0=L0-U0,q0=+s[h0>>2],x0=y0*q0,s[s0>>2]=x0,b0=t5+8|0,T0=C5+8|0,Y0=I5+1|0,L5=(Y0|0)==(r1|0),!L5;)C5=T0,I5=Y0,t5=b0,i5=s0;C=H5}function nQ(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0;if(dr=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=o+(I<<2)|0,b3=a>>1,B=b3+-8|0,z8=o+(B<<2)|0,c=n,d7=P5,I7=z8;l8=d7+24|0,Pt=+s[l8>>2],Ct=I7+24|0,Qt=+s[Ct>>2],wt=Pt-Qt,C0=d7+28|0,M0=+s[C0>>2],V0=I7+28|0,g1=+s[V0>>2],E1=M0-g1,k1=Qt+Pt,s[l8>>2]=k1,r2=+s[V0>>2],a2=r2+M0,s[C0>>2]=a2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*wt,$5=W2+l5,s[Ct>>2]=$5,m3=+s[c>>2],i6=m3*E1,U3=+s[w2>>2],W3=U3*wt,B6=i6-W3,s[V0>>2]=B6,H3=d7+16|0,N6=+s[H3>>2],s9=I7+16|0,j6=+s[s9>>2],I9=N6-j6,S4=d7+20|0,N4=+s[S4>>2],Ge=I7+20|0,$4=+s[Ge>>2],g6=N4-$4,k4=j6+N6,s[H3>>2]=k4,c7=+s[Ge>>2],P8=c7+N4,s[S4>>2]=P8,i8=c+20|0,q8=+s[i8>>2],E8=q8*g6,we=c+16|0,b9=+s[we>>2],_8=b9*I9,a7=_8+E8,s[s9>>2]=a7,q7=+s[we>>2],x8=q7*g6,D7=+s[i8>>2],V8=D7*I9,Me=x8-V8,s[Ge>>2]=Me,ue=d7+8|0,e4=+s[ue>>2],b7=I7+8|0,tt=+s[b7>>2],Gt=e4-tt,Ut=d7+12|0,dt=+s[Ut>>2],Y7=I7+12|0,It=+s[Y7>>2],J7=dt-It,Et=tt+e4,s[ue>>2]=Et,K7=+s[Y7>>2],mt=K7+dt,s[Ut>>2]=mt,it=c+36|0,si=+s[it>>2],Ot=si*J7,Bt=c+32|0,Ai=+s[Bt>>2],pt=Ai*Gt,rt=pt+Ot,s[b7>>2]=rt,oi=+s[Bt>>2],Ht=oi*J7,qt=+s[it>>2],Yt=qt*Gt,Jt=Ht-Yt,s[Y7>>2]=Jt,nt=+s[d7>>2],Kt=+s[I7>>2],V7=nt-Kt,st=d7+4|0,N7=+s[st>>2],z7=I7+4|0,ai=+s[z7>>2],Vt=N7-ai,$i=Kt+nt,s[d7>>2]=$i,yt=+s[z7>>2],zt=yt+N7,s[st>>2]=zt,kt=c+52|0,Zt=+s[kt>>2],vt=Zt*Vt,Z7=c+48|0,St=+s[Z7>>2],Wt=St*V7,At=Wt+vt,s[I7>>2]=At,G7=+s[Z7>>2],Dt=G7*Vt,ke=+s[kt>>2],k0=ke*V7,u0=Dt-k0,s[z7>>2]=u0,B0=d7+-32|0,p0=I7+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,d7=B0,I7=p0;if(K0=(d0|0)>1,K0)for(_7=1;;){if(_0=1<<_7,Q0=(_7|0)==31,!Q0)for(L0=a>>_7,N0=4<<_7,m=L0+-8|0,U0=L0>>1,v=U0+-8|0,N=N0+1|0,$0=N0<<1,i0=$0|1,h0=N0*3|0,g0=h0+1|0,l0=N0<<2,ot=0;;){for(q0=r5(ot,L0)|0,x0=o+(q0<<2)|0,E=m+q0|0,b0=o+(E<<2)|0,a0=v+q0|0,T0=o+(a0<<2)|0,f=n,p8=b0,R7=T0;J0=p8+24|0,Y0=+s[J0>>2],P0=R7+24|0,G0=+s[P0>>2],O0=Y0-G0,r1=p8+28|0,H0=+s[r1>>2],e1=R7+28|0,D0=+s[e1>>2],i1=H0-D0,c1=G0+Y0,s[J0>>2]=c1,$1=+s[e1>>2],f1=$1+H0,s[r1>>2]=f1,l1=f+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[f>>2],A1=n1*O0,z0=A1+a1,s[P0>>2]=z0,I1=+s[f>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=f+(N0<<2)|0,Q1=p8+16|0,R1=+s[Q1>>2],x1=R7+16|0,w1=+s[x1>>2],S1=R1-w1,L1=p8+20|0,F1=+s[L1>>2],G1=R7+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+R1,s[Q1>>2]=N1,b1=+s[G1>>2],K1=b1+F1,s[L1>>2]=K1,O1=f+(N<<2)|0,H1=+s[O1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],f2=z1*S1,s2=c2-f2,s[G1>>2]=s2,E2=f+($0<<2)|0,A2=p8+8|0,V1=+s[A2>>2],h2=R7+8|0,t2=+s[h2>>2],$2=V1-t2,i2=p8+12|0,o2=+s[i2>>2],X1=R7+12|0,n2=+s[X1>>2],u2=o2-n2,e2=t2+V1,s[A2>>2]=e2,y2=+s[X1>>2],v2=y2+o2,s[i2>>2]=v2,C2=f+(i0<<2)|0,F2=+s[C2>>2],b2=F2*u2,N2=+s[E2>>2],d2=N2*$2,V2=d2+b2,s[h2>>2]=V2,G2=+s[E2>>2],q2=G2*u2,M2=+s[C2>>2],P2=M2*$2,A5=q2-P2,s[X1>>2]=A5,O2=f+(h0<<2)|0,T1=+s[p8>>2],X2=+s[R7>>2],x5=T1-X2,e5=p8+4|0,D5=+s[e5>>2],Z2=R7+4|0,u5=+s[Z2>>2],v5=D5-u5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],n5=m5+D5,s[e5>>2]=n5,R2=f+(g0<<2)|0,_2=+s[R2>>2],B2=_2*v5,C5=+s[O2>>2],L5=C5*x5,d5=L5+B2,s[R7>>2]=d5,b5=+s[O2>>2],_5=b5*v5,H2=+s[R2>>2],I5=H2*x5,o5=_5-I5,s[Z2>>2]=o5,c5=f+(l0<<2)|0,B5=p8+-32|0,M1=R7+-32|0,S5=M1>>>0>>0,!S5;)f=c5,p8=B5,R7=M1;if(g5=ot+1|0,a5=(g5|0)<(_0|0),a5)ot=g5;else break}if(g2=_7+1|0,bt=(g2|0)==(d0|0),bt)break;_7=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;p5=o+(n9<<2)|0,p=n9|30,t5=o+(p<<2)|0,s5=+s[t5>>2],T=n9|14,h5=o+(T<<2)|0,J2=+s[h5>>2],f5=s5-J2,U=n9|31,i5=o+(U<<2)|0,R5=+s[i5>>2],n0=n9|15,j2=o+(n0<<2)|0,x2=+s[j2>>2],Q5=R5-x2,H5=J2+s5,s[t5>>2]=H5,j5=x2+R5,s[i5>>2]=j5,s[h5>>2]=f5,s[j2>>2]=Q5,r0=n9|28,E5=o+(r0<<2)|0,u3=+s[E5>>2],K=n9|12,h3=o+(K<<2)|0,Y5=+s[h3>>2],X5=u3-Y5,s0=n9|29,n3=o+(s0<<2)|0,F5=+s[n3>>2],j=n9|13,J5=o+(j<<2)|0,w3=+s[J5>>2],f3=F5-w3,B3=Y5+u3,s[E5>>2]=B3,V3=w3+F5,s[n3>>2]=V3,N3=X5*.9238795042037964,V5=f3*.3826834261417389,y3=N3-V5,s[h3>>2]=y3,Z5=X5*.3826834261417389,R3=f3*.9238795042037964,G3=R3+Z5,s[J5>>2]=G3,f0=n9|26,a3=o+(f0<<2)|0,l3=+s[a3>>2],S=n9|10,c3=o+(S<<2)|0,C3=+s[c3>>2],q5=l3-C3,w=n9|27,U5=o+(w<<2)|0,O5=+s[U5>>2],y=n9|11,k5=o+(y<<2)|0,M5=+s[k5>>2],A6=O5-M5,e3=C3+l3,s[a3>>2]=e3,o3=M5+O5,s[U5>>2]=o3,x3=q5-A6,f6=x3*.7071067690849304,s[c3>>2]=f6,p3=A6+q5,k3=p3*.7071067690849304,s[k5>>2]=k3,D=n9|24,Q3=o+(D<<2)|0,r6=+s[Q3>>2],Q=n9|8,P3=o+(Q<<2)|0,K5=+s[P3>>2],v3=r6-K5,_=n9|25,g3=o+(_<<2)|0,O3=+s[g3>>2],L=n9|9,l6=o+(L<<2)|0,d3=+s[l6>>2],k6=O3-d3,v6=K5+r6,s[Q3>>2]=v6,S6=d3+O3,s[g3>>2]=S6,j3=v3*.3826834261417389,c6=k6*.9238795042037964,p6=j3-c6,R6=k6*.3826834261417389,Y6=v3*.9238795042037964,C6=R6+Y6,x=n9|22,S3=o+(x<<2)|0,X3=+s[S3>>2],F=n9|6,e6=o+(F<<2)|0,u6=+s[e6>>2],D3=X3-u6,M=n9|7,q3=o+(M<<2)|0,z3=+s[q3>>2],G=n9|23,D6=o+(G<<2)|0,o6=+s[D6>>2],t3=z3-o6,O6=u6+X3,s[S3>>2]=O6,s3=o6+z3,s[D6>>2]=s3,s[e6>>2]=t3,s[q3>>2]=D3,O=n9|4,a6=o+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=o+(z<<2)|0,Q6=+s[n6>>2],x6=d6-Q6,Y=n9|5,V6=o+(Y<<2)|0,I6=+s[V6>>2],t0=n9|21,J6=o+(t0<<2)|0,L3=+s[J6>>2],W6=I6-L3,G6=Q6+d6,s[n6>>2]=G6,e9=L3+I6,s[J6>>2]=e9,L6=W6*.9238795042037964,U6=x6*.3826834261417389,b6=L6+U6,z6=W6*.3826834261417389,y6=x6*.9238795042037964,F6=z6-y6,J=n9|2,F3=o+(J<<2)|0,M6=+s[F3>>2],W=n9|18,t9=o+(W<<2)|0,o9=+s[t9>>2],f9=M6-o9,e0=n9|3,u9=o+(e0<<2)|0,d9=+s[u9>>2],H=n9|19,a9=o+(H<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=o9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+f9,N9=i9*.7071067690849304,E4=T9-f9,A4=E4*.7071067690849304,h4=+s[p5>>2],X=n9|16,G9=o+(X<<2)|0,z9=+s[G9>>2],D9=h4-z9,Z=n9|1,E9=o+(Z<<2)|0,H6=+s[E9>>2],V=n9|17,r9=o+(V<<2)|0,m4=+s[r9>>2],o4=H6-m4,y9=z9+h4,s[G9>>2]=y9,D4=m4+H6,s[r9>>2]=D4,b4=o4*.3826834261417389,R4=D9*.9238795042037964,M4=b4+R4,W4=o4*.9238795042037964,C4=D9*.3826834261417389,T4=W4-C4,U9=T4-C6,a4=M4-p6,x4=M4+p6,f4=T4+C6,Ce=a4+U9,H9=U9-a4,m9=+s[k5>>2],Be=A4-m9,Ne=+s[c3>>2],Xe=Ne-N9,G4=Ne+N9,U4=m9+A4,j4=+s[h3>>2],De=j4-b6,e8=+s[J5>>2],Z9=e8-F6,oe=j4+b6,u4=e8+F6,_6=De-Z9,P4=Z9+De,L9=+s[h5>>2],_4=L9-t3,ae=+s[j2>>2],W9=ae-D3,$e=t3+L9,le=D3+ae,B4=_4+Be,X4=_4-Be,L4=_6+Ce,ce=L4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ce+B4,s[e6>>2]=l4,pe=B4-ce,s[a6>>2]=pe,p4=P4-H9,c4=p4*.7071067690849304,P6=W9-Xe,be=c4+X4,s[p5>>2]=be,_e=X4-c4,s[F3>>2]=_e,t8=P4+H9,g4=t8*.7071067690849304,f8=W9+Xe,Y3=P6+Ue,s[u9>>2]=Y3,w9=P6-Ue,s[E9>>2]=w9,B9=f8+g4,s[q3>>2]=B9,F4=f8-g4,s[V6>>2]=F4,ee=$e+G4,$7=$e-G4,Re=x4+oe,l7=oe-x4,Q7=ee+Re,s[h5>>2]=Q7,g7=ee-Re,s[h3>>2]=g7,F8=u4-f4,M8=le-U4,T8=$7+F8,s[P3>>2]=T8,N8=$7-F8,s[c3>>2]=N8,Z8=u4+f4,W8=le+U4,y7=M8+l7,s[k5>>2]=y7,G8=M8-l7,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[J5>>2]=k8,v8=+s[g3>>2],u8=D4-v8,O8=+s[Q3>>2],H8=y9-O8,j8=O8+y9,X8=v8+D4,d8=H8+u8,Pe=u8-H8,xe=+s[a9>>2],S8=+s[U5>>2],k9=xe-S8,h7=+s[a3>>2],Qe=+s[t9>>2],f7=h7-Qe,w7=Qe+h7,e7=S8+xe,k7=+s[E5>>2],te=+s[n6>>2],t7=k7-te,D8=+s[n3>>2],r8=+s[J6>>2],O4=D8-r8,Le=te+k7,n8=r8+D8,I8=t7-O4,b8=O4+t7,ge=+s[t5>>2],j9=+s[S3>>2],s8=ge-j9,A8=+s[i5>>2],m8=+s[D6>>2],he=A8-m8,ye=j9+ge,Oe=m8+A8,He=s8+k9,X9=s8-k9,Fe=I8+d8,fe=Fe*.7071067690849304,o8=I8-d8,Q4=o8*.7071067690849304,C8=fe+He,s[S3>>2]=C8,i7=He-fe,s[n6>>2]=i7,H4=b8-Pe,I3=H4*.7071067690849304,qe=he-f7,B8=I3+X9,s[G9>>2]=B8,ie=X9-I3,s[t9>>2]=ie,q9=b8+Pe,re=q9*.7071067690849304,Ye=he+f7,Y8=qe+Q4,s[a9>>2]=Y8,u7=qe-Q4,s[r9>>2]=u7,r7=Ye+re,s[D6>>2]=r7,n7=Ye-re,s[J6>>2]=n7,J8=ye+w7,s7=ye-w7,K8=Le+j8,a8=Le-j8,$8=J8+K8,s[t5>>2]=$8,q4=J8-K8,s[E5>>2]=q4,A7=n8-X8,R8=Oe-e7,Je=s7+A7,s[Q3>>2]=Je,p9=s7-A7,s[a3>>2]=p9,o7=n8+X8,Ke=Oe+e7,M7=R8+a8,s[U5>>2]=M7,H7=R8-a8,s[g3>>2]=H7,v7=Ke+o7,s[i5>>2]=v7,S7=Ke-o7,s[n3>>2]=S7,ne=n9+32|0,T7=(ne|0)<(a|0),T7;)n9=ne}function sQ(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0;for(m1=C,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,A1=o,z0=a,I1=w;$0=e[A1>>2]|0,c=$0+S|0,j=a+(c<<2)|0,S0=A1+4|0,b0=e[S0>>2]|0,f=b0+S|0,D0=a+(f<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=f+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,H=e0*.5,X=_-L,U=X*.5,Z=z+H,s[z0>>2]=Z,V=H-z,a0=I1+-8|0,s[a0>>2]=V,n0=J+U,i0=z0+4|0,s[i0>>2]=n0,r0=J-U,K=I1+-4|0,s[K>>2]=r0,h0=A1+8|0,s0=e[h0>>2]|0,m=s0+S|0,g0=a+(m<<2)|0,l0=A1+12|0,f0=e[l0>>2]|0,p=f0+S|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,u0=+s[k0>>2],B0=C0-u0,p0=+s[g0>>2],I0=+s[d0>>2],K0=I0+p0,_0=n1+8|0,Q0=+s[_0>>2],L0=K0*Q0,M0=n1+12|0,N0=+s[M0>>2],U0=N0*B0,y0=U0+L0,q0=N0*K0,x0=Q0*B0,T0=q0-x0,J0=u0+C0,Y0=J0*.5,P0=p0-I0,V0=P0*.5,G0=y0+Y0,O0=z0+8|0,s[O0>>2]=G0,r1=Y0-y0,s[W>>2]=r1,H0=T0+V0,e1=z0+12|0,s[e1>>2]=H0,i1=T0-V0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,f1=A1+16|0,g1=z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,A1=f1,z0=g1,I1=W}function ES(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0;return B=C,n=t+28|0,o=e[n>>2]|0,a=o+2868|0,c=n4(1,36)|0,f=t+4|0,E=e[f>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function mS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function CS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function BS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=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[o>>2]|0,L=t+36|0,e[L>>2]=_,t2=+(_|0),j5=t2*8,f3=j5,l3=+Kr(+f3),o3=l3*1.4426950408889634,g3=+Ui(o3),R6=g3+-1,D6=~~R6,x=t+32|0,e[x>>2]=D6,W=+(c|0),r0=W*.25,k0=r0,N0=k0*.5,G0=+(a|0),l1=N0/G0,B1=+Kr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=D6+1|0,F2=1<<$2,O2=+(F2|0),k2=O2*W1,_5=+(_|0),g2=k2-_5,$5=~~g2,x2=t+28|0,e[x2>>2]=$5,Q5=+(a|0),H5=Q5+.25,E5=H5*W,u3=E5,h3=u3*.5,Y5=h3/G0,X5=+Kr(+Y5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,J5=F5+.5,w3=~~J5,B3=1-$5|0,V3=B3+w3|0,N3=t+40|0,e[N3>>2]=V3,V5=a<<2,y3=S9(V5)|0,Z5=t+16|0,e[Z5>>2]=y3,i6=S9(V5)|0,R3=t+20|0,e[R3>>2]=i6,G3=S9(V5)|0,a3=t+24|0,e[a3>>2]=G3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[q5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[q5>>2]=1.274999976158142)}while(!1);U3=G0*2,M5=+(c|0),A6=(a|0)>0,p3=A6,z6=0,j6=0;e:for(;;){for(p=p3^1,y6=z6;;){if(Q3=y6+1|0,r6=+(Q3|0),W3=r6*.08664337545633316,P3=W3+2.7488713472395148,K5=+Nn(+P3),v3=U3*K5,O3=v3/M5,l6=+Ui(O3),d3=~~l6,m=(d3|0)<=(j6|0),V6=m|p,!V6){E=Q3,I=d3,F6=y6;break}if(k6=(Q3|0)<87,k6)y6=Q3;else{o9=j6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],c6=j3-S6,p6=I-j6|0,Y6=+(p6|0),C6=c6/Y6,S3=j6-I|0,X3=j6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,e3=j6-T9|0,x6=S6,f9=j6;u6=x6+100,H3=y3+(f9<<2)|0,s[H3>>2]=u6,D3=x6+C6,q3=f9+1|0,G6=(q3|0)==(e3|0),!G6;)x6=D3,f9=q3;if(x3=(e3|0)<(a|0),f6=(E|0)<87,f6)p3=x3,z6=E,j6=e3;else{o9=e3;break}}if(k3=(o9|0)<(a|0),k3)for(u9=o9;N6=u9+-1|0,n6=y3+(N6<<2)|0,Q6=e[n6>>2]|0,F=y3+(u9<<2)|0,e[F>>2]=Q6,M=u9+1|0,W6=(M|0)==(a|0),!W6;)u9=M;if(z3=(a|0)>0,z3){for(o6=a<<1,t3=(c|0)/(o6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,b3=n+112|0,L6=1,F3=0,d9=-99;;){Y=r5(t3,F3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Js(+e0),X=H*13.100000381469727,U=r5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,V=Z,a0=+Js(+V),n0=a0*2.240000009536743,i0=n0+X,K=t0*9999999747378752e-20,h0=K,s0=i0+h0,g0=s0,j=s3+d9|0,l0=(j|0)<(F3|0);e:do if(l0)for(f0=+s[b3>>2],d0=g0-f0,w0=d0,$9=d9;;){if(C0=r5($9,t3)|0,u0=+(C0|0),B0=u0*.0007399999885819852,p0=B0,I0=+Js(+p0),S0=I0*13.100000381469727,K0=r5(C0,C0)|0,_0=+(K0|0),Q0=_0*18499999754340024e-24,L0=Q0,M0=+Js(+L0),U0=M0*2.240000009536743,y0=u0*9999999747378752e-20,q0=y0,x0=S0+q0,b0=x0+U0,T0=b0(a|0);e:do if(J0)U6=L6;else for(Y0=e[a6>>2]|0,P0=Y0+F3|0,b6=L6;;){if(H0=(b6|0)<(P0|0),!H0&&(e1=r5(b6,t3)|0,D0=+(e1|0),i1=D0*.0007399999885819852,c1=i1,$1=+Js(+c1),f1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,A1=+Js(+n1),z0=A1*2.240000009536743,I1=D0*9999999747378752e-20,h1=I1,m1=f1+h1,d1=m1+z0,E1=+s[d6>>2],p1=E1+g0,Q1=p1,R1=d1>2]=F1,k1=F3+1|0,L3=(k1|0)==(a|0),L3)break;L6=U6,F3=k1,d9=a9}if(z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),f2=n+36|0,s2=w/G0,E2=s2,A2=n+24|0,V1=+s[A2>>2],h2=n+28|0,a2=+s[h2>>2],i2=yS(f2,E2,a,V1,a2)|0,o2=t+8|0,e[o2>>2]=i2,X1=S9(12)|0,n2=t+12|0,e[n2>>2]=X1,u2=S9(V5)|0,e[X1>>2]=u2,e2=S9(V5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(V5)|0,w2=X1+8|0,e[w2>>2]=v2,!!z3)for(C2=e[c3>>2]|0,S=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,D=e[v>>2]|0,t9=0;b2=+(t9|0),N2=b2+.5,d2=N2*M5,V2=d2/U3,G2=+Kr(+V2),q2=G2*2.885390043258667,M2=q2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,f=e9>=16,s9=f?16:e9,A5=~~s9,T1=+(A5|0),X2=s9-T1,x5=X2,e5=1-x5,D5=A5+1|0,Z2=(C2+132|0)+(A5<<2)|0,u5=+s[Z2>>2],v5=u5,P5=v5*e5,l5=(C2+132|0)+(D5<<2)|0,m5=+s[l5>>2],n5=m5*X2,R2=n5,_2=R2+P5,B2=_2,C5=S+(t9<<2)|0,s[C5>>2]=B2,L5=(C2+200|0)+(A5<<2)|0,d5=+s[L5>>2],b5=d5,G5=b5*e5,H2=(C2+200|0)+(D5<<2)|0,I5=+s[H2>>2],o5=I5*X2,c5=o5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(A5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(D5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,f5=J2+p5,i5=f5,R5=D+(t9<<2)|0,s[R5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function AQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0;if(G0=C,o=(t|0)==0,!o){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,K0=(l0|0)==0,K0||I2(l0),x0=t+24|0,b0=e[x0>>2]|0,T0=(b0|0)==0,T0||I2(b0),c=t+8|0,f=e[c>>2]|0,E=(f|0)==0,!E){for(m=f,Y0=0;I=m+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,S=v+(Y0<<2)|0,w=e[S>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[c>>2]|0,L=_+(Y0<<2)|0,x=e[L>>2]|0,F=x+8|0,M=e[F>>2]|0,I2(M),T=e[c>>2]|0,N=T+(Y0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(Y0<<2)|0,W=e[J>>2]|0,e0=W+16|0,H=e[e0>>2]|0,I2(H),X=e[c>>2]|0,U=X+(Y0<<2)|0,$0=e[U>>2]|0,V=$0+20|0,a0=e[V>>2]|0,I2(a0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,K=r0+24|0,h0=e[K>>2]|0,I2(h0),s0=e[c>>2]|0,g0=s0+(Y0<<2)|0,j=e[g0>>2]|0,f0=j+28|0,d0=e[f0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(Y0<<2)|0,k0=e[C0>>2]|0,I2(k0),u0=Y0+1|0,J0=(u0|0)==17,!J0;)n=e[c>>2]|0,m=n,Y0=u0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,L0=Q0+4|0,M0=e[L0>>2]|0,I2(M0),N0=e[p0>>2]|0,U0=N0+8|0,y0=e[U0>>2]|0,I2(y0),q0=e[p0>>2]|0,I2(q0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function oQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,f=I,L=C,C=C+((1*f|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,$Q(E,a0,n,o,140,-1),n0=(E|0)>0,n0)for(l0=0;i0=n+(l0<<2)|0,r0=+s[i0>>2],K=o+(l0<<2)|0,h0=+s[K>>2],m=r0-h0,p=L+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,g0=(B|0)==(E|0),!g0;)l0=B;if(v=e[J>>2]|0,S=t+4|0,w=e[S>>2]|0,y=w+128|0,D=e[y>>2]|0,$Q(E,v,L,o,0,D),n0)f0=0;else{C=C0;return}for(;_=n+(f0<<2)|0,x=+s[_>>2],F=L+(f0<<2)|0,M=+s[F>>2],T=x-M,s[F>>2]=T,N=f0+1|0,j=(N|0)==(E|0),!j;)f0=N;if(!n0){C=C0;return}for(Q=e[S>>2]|0,d0=0;G=o+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=L+(d0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,V=d0+1|0,s0=(V|0)==(E|0),!s0;)d0=V;C=C0}function aQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,C2=t2+4|0,A5=+s[C2>>2],l5=A5+c,N=(l1|0)>0,N)for(o5=0;U=U1+(o5<<2)|0,s[U>>2]=-9999,g0=o5+1|0,I0=(g0|0)<(l1|0),I0;)o5=g0;if(x0=t2+8|0,e1=+s[x0>>2],c1=l50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,A1=o+(g5<<2)|0,s[A1>>2]=n1,z0=g5+1|0,H2=(z0|0)==(M|0),!H2;)g5=z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=t2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){S1=n+(c5<<2)|0,L1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=L1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,b1=e[N1>>2]|0,K1=(b1|0)==(G1|0),!K1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=n+(k1<<2)|0,H1=+s[O1>>2],q1=H1>s5,q1){S5=k1,s5=H1;continue e}else B5=k1}if(Y1=h5+6,j1=o+(M1<<2)|0,r2=+s[j1>>2],P1=Y1>r2,P1&&(c2=e[R1>>2]|0,z1=G1>>c2,f2=(z1|0)>16,E=f2?16:z1,s2=(E|0)<0,f=s2?0:E,E2=h1+(f<<2)|0,A2=e[E2>>2]|0,V1=e[x1>>2]|0,h2=E1+h5,a2=h2,$2=a2+-30,i2=$2*.10000000149011612,o2=~~i2,X1=(o2|0)<0,n2=X1?0:o2,u2=(n2|0)>7,e2=u2?7:n2,y2=A2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],b2=~~F2,N2=+s[v2>>2],d2=~~N2,V2=(d2|0)<(b2|0),V2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=q2-M2|0,z2=+(P2|0),O2=V1>>1,T1=+(O2|0),X2=N2+-16,x5=+(V1|0),e5=X2*x5,D5=e5-T1,Z2=D5+z2,u5=~~Z2,I5=d2,H5=u5;v5=(H5|0)>0,v5&&(F=I5+2|0,P5=v2+(F<<2)|0,k2=+s[P5>>2],m5=k2+h5,n5=U1+(H5<<2)|0,R2=+s[n5>>2],_2=R2>2]=m5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),L5=I5+1|0,d5=(L5|0)<(b2|0),$5=d5&C5,$5;)I5=L5,H5=B2;if(v)c5=w;else{L=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),b5=e[L>>2]|0,wS(U1,b5,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=b5>>1,e0=J-W|0,H=e[Y>>2]|0,X=e0-H|0,$0=e[W1>>2]|0,Z=$0+32|0,K=1,j=J,W2=0,x2=X;;){n0=U1+(x2<<2)|0,i0=+s[n0>>2],r0=t0+(K<<2)|0,h0=e[r0>>2]|0,s0=h0+j|0,l0=s0>>1,f0=l0-H|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(x2|0)<(f0|0);t:do if(C0)for(m=x2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(u0=p+1|0,B0=U1+(u0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(K0=p0=(G|0),N0=(j|0)>(L0|0),R5=M0|N0;t:do if(R5)g2=W2;else for(p5=W2;;){if(U0=o+(p5<<2)|0,y0=+s[U0>>2],q0=y0>2]=f5),b0=p5+1|0,T0=(b0|0)<(G|0),!T0){g2=b0;break t}if(D=t0+(b0<<2)|0,x=e[D>>2]|0,J0=(x|0)>(L0|0),J0){g2=b0;break}else p5=b0}while(!1);if(V=g2+1|0,a0=(V|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,K=V,j=_,W2=g2,x2=Q5}else a5=0;while(!1);if(Y0=e[T>>2]|0,P0=Y0+-1|0,V0=U1+(P0<<2)|0,G0=+s[V0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;r1=o+(t5<<2)|0,H0=+s[r1>>2],D0=H0>2]=G0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function z$(t,n,o,a,c,f,E){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,K=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,u0=e[k0>>2]|0,B=u0+(a<<2)|0,v=e[B>>2]|0,S=F+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,I0=0;_=n+(I0<<2)|0,L=+s[_>>2],x=v+(I0<<2)|0,M=+s[x>>2],T=M+L,N=+s[S>>2],G=T>N,S0=G?N:T,O=o+(I0<<2)|0,z=+s[O>>2],Y=z+K,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,H=+s[W>>2],X=S0-H,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(V=D*Z,a0=1-V,n0=a0,i0=n0<0,i0?B0=9999999747378752e-20:B0=n0):(r0=Q*Z,h0=1-r0,s0=h0,B0=s0),g0=f+(I0<<2)|0,j=+s[g0>>2],l0=j*B0,s[g0>>2]=l0),f0=I0+1|0,p0=(f0|0)==(m|0),!p0;)I0=f0}function pS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,F=(x|0)/2&-1,M=+(F|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),m=M/I,p=D+2936|0,B=+s[p>>2],v=B*m,S=v+t,w=S<-9999,o=w?-9999:S,+o}function QS(t,n,o,a,c,f,E,I,m){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0;if(N4=C,n0=e[o>>2]|0,i0=o+4|0,A5=e[i0>>2]|0,V3=A5+500|0,C3=e[V3>>2]|0,f6=(C3|0)==0,f6?J5=16:(l6=A5+508|0,C6=e[l6>>2]|0,J5=C6),t3=e[A5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,k0=(n+252|0)+(t<<2)|0,N0=e[k0>>2]|0,G0=1624+(N0<<3)|0,l1=+o1[G0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,t2=C,C=C+((1*v|0)+15&-16)|0,S=W1,C2=C,C=C+((1*S|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|0)+15&-16)|0,g2=a+1156|0,x2=(n0|0)>1e3,T4=x2?1696:1624,M4=T4+(U1<<3)|0,R4=+o1[M4>>3],F5=r5(W1,J5)|0,x=F5,w3=C,C=C+((1*x|0)+15&-16)|0,e[t2>>2]=w3,w=F5,f3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=f3,y=F5,B3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=B3,D=F5,N3=C,C=C+((1*D|0)+15&-16)|0,e[k2>>2]=N3,V5=(m|0)>1,V5&&(y3=w3+(J5<<2)|0,Z5=t2+4|0,e[Z5>>2]=y3,i6=f3+(J5<<2)|0,R3=C2+4|0,e[R3>>2]=i6,G3=B3+(J5<<2)|0,a3=O2+4|0,e[a3>>2]=G3,l3=N3+(J5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,f9=(m|0)==2,!f9))for(k5=2;M=e[t2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=r5(k5,J5)|0,U3=M+(O5<<2)|0,M5=t2+(k5<<2)|0,e[M5>>2]=U3,A6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=A6,o3=O+(O5<<2)|0,x3=O2+(k5<<2)|0,e[x3>>2]=o3,p3=z+(O5<<2)|0,k3=k2+(k5<<2)|0,e[k3>>2]=p3,Q3=k5+1|0,j6=(Q3|0)==(m|0),!j6;)k5=Q3;if(q5=e[g2>>2]|0,U5=(n0|0)>0,U5)for(r6=e[k2>>2]|0,W3=(m|0)>0,P3=n0^-1,K5=J5^-1,T6=0,I9=P3;;){if(O3=(I9|0)>(K5|0),W4=O3?I9:K5,d3=W4^-1,k6=n0-T6|0,v6=(J5|0)>(k6|0),p=v6?k6:J5,s4(_5|0,E|0,W1|0)|0,Ae(r6|0,0,F5|0)|0,W3)for(S6=(p|0)>0,B6=r0-T6|0,r9=0;;){if(S3=f+(r9<<2)|0,X3=e[S3>>2]|0,e6=X3+(T6<<2)|0,u6=_5+(r9<<2)|0,H3=e[u6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(D6=O2+(r9<<2)|0,o6=e[D6>>2]|0,O6=t2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,b3=k2+(r9<<2)|0,N6=e[b3>>2]|0,E9=0;T0=o6+(E9<<2)|0,s[T0>>2]=1000000013351432e-25,J0=s3+(E9<<2)|0,s[J0>>2]=0,Y0=d6+(E9<<2)|0,s[Y0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,V0=X3+(U<<2)|0,e[V0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(q3=O2+(r9<<2)|0,z3=e[q3>>2]|0,S6){for(z9=0;$0=z9+T6|0,n6=X3+($0<<2)|0,Q6=e[n6>>2]|0,x6=1768+(Q6<<2)|0,V6=e[x6>>2]|0,J6=z3+(z9<<2)|0,e[J6>>2]=V6,L3=z9+1|0,y6=(L3|0)==(d3|0),!y6;)z9=L3;if(W6=c+(r9<<2)|0,G6=e[W6>>2]|0,e9=k2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;L6=(G9|0)>=(B6|0),a0=L6?R4:l1,U6=a0,Z=G9+T6|0,b6=G6+(Z<<2)|0,z6=+s[b6>>2],d9=+Vi(+z6),K=z3+(G9<<2)|0,h0=+s[K>>2],s0=d9/h0,g0=s9+(G9<<2)|0,y9=!(s0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=t2+(r9<<2)|0,f0=e[l0>>2]|0,d0=C2+(r9<<2)|0,w0=e[d0>>2]|0,D9=0;;)if(C0=D9+T6|0,u0=G6+(C0<<2)|0,B0=+s[u0>>2],p0=B0*B0,I0=f0+(D9<<2)|0,s[I0>>2]=p0,S0=w0+(D9<<2)|0,s[S0>>2]=p0,K0=+s[u0>>2],_0=K0<0,_0&&(Q0=+s[I0>>2],L0=-Q0,s[I0>>2]=L0),M0=z3+(D9<<2)|0,U0=+s[M0>>2],y0=U0*U0,s[M0>>2]=y0,q0=D9+1|0,F3=(q0|0)==(d3|0),F3){T=d0,b0=f0;break}else D9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(r9<<2)|0,Y=e[F>>2]|0,H=C2+(r9<<2)|0,T=H,b0=Y),x0=e[T>>2]|0,D4=e[i0>>2]|0,+lQ(D4,r0,b0,x0,z3,0,T6,p,e6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(j3=e[g2>>2]|0,c6=(j3|0)>0,c6)for(p6=(p|0)>0,R6=I-T6|0,Y6=r0-T6|0,m3=j3,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,f1=$1+(T6<<2)|0,g1=f+(i1<<2)|0,s1=e[g1>>2]|0,a1=t2+(e1<<2)|0,n1=e[a1>>2]|0,A1=t2+(i1<<2)|0,z0=e[A1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=k2+(e1<<2)|0,w1=e[x1>>2]|0,S1=k2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,b1=(N1|0)==0,b1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(H6=0;;){K1=(H6|0)<(R6|0);do if(K1){if(O1=w1+(H6<<2)|0,H1=e[O1>>2]|0,q1=(H1|0)==0,Y1=L1+(H6<<2)|0,q1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){e5=(H6|0)<(Y6|0);do if(e5)D5=z0+(H6<<2)|0,Z2=+s[D5>>2],u5=n1+(H6<<2)|0,v5=+s[u5>>2],P5=v5+Z2,s[u5>>2]=P5,$9=+Vi(+P5),l5=h1+(H6<<2)|0,s[l5>>2]=$9,N=D5;else if(m5=n1+(H6<<2)|0,n5=+s[m5>>2],R2=z0+(H6<<2)|0,_2=+s[R2>>2],B2=_2+n5,C5=B2<0,u9=+Vi(+n5),a9=+Vi(+_2),L5=a9+u9,d5=h1+(H6<<2)|0,s[d5>>2]=L5,C5){b5=-L5,s[m5>>2]=b5,N=R2;break}else{s[m5>>2]=L5,N=R2;break}while(!1);G5=d1+(H6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=H6+T6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}P1=n1+(H6<<2)|0,c2=+s[P1>>2],T9=+Vi(+c2),z1=z0+(H6<<2)|0,f2=+s[z1>>2],E6=+Vi(+f2),s2=E6+T9,s[P1>>2]=s2,E2=h1+(H6<<2)|0,A2=+s[E2>>2],V1=d1+(H6<<2)|0,h2=+s[V1>>2],a2=h2+A2,s[E2>>2]=a2,e[Y1>>2]=1,e[O1>>2]=1,V=H6+T6|0,$2=$1+(V<<2)|0,i2=e[$2>>2]|0,o2=s1+(V<<2)|0,X1=e[o2>>2]|0,E4=(i2|0)>-1,m4=0-i2|0,n2=E4?i2:m4,A4=(X1|0)>-1,o4=0-X1|0,u2=A4?X1:o4,e2=(n2|0)>(u2|0),e2?(y2=(i2|0)>0,v2=i2-X1|0,w2=X1-i2|0,F2=y2?v2:w2,e[o2>>2]=F2,J=e[$2>>2]|0,G2=J,P2=F2):(b2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,V2=b2?N2:d2,e[o2>>2]=V2,e[$2>>2]=X1,t0=e[o2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,q2=h4?G2:S4,M2=q2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[o2>>2]=T1,X2=e[$2>>2]|0,x5=0-X2|0,e[$2>>2]=x5)}while(!1);if(I5=p1+(H6<<2)|0,o5=+s[I5>>2],c5=R1+(H6<<2)|0,B5=+s[c5>>2],M1=B5+o5,s[c5>>2]=M1,s[I5>>2]=M1,S5=H6+1|0,o9=(S5|0)==(d3|0),o9)break;H6=S5}b4=e[i0>>2]|0,+lQ(b4,r0,n1,h1,p1,w1,T6,p,f1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=j3;if(p5=T6+J5|0,t5=(n0|0)>(p5|0),N9=I9+J5|0,t5)T6=p5,I9=N9;else{v3=n3;break}}else v3=q5;if(g3=(v3|0)>0,g3)X5=v3,i9=0;else{C=N4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,f5=e[J2>>2]|0,i5=(f5|0)==0,R5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[R5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,H5=(Q5|0)==0,H5?Y5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[R5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,Y5=e0),u3=i9+1|0,h3=(u3|0)<(Y5|0),h3;)X5=Y5,i9=u3;C=N4}function yS(t,n,o,a,c){t=t|0,n=+n,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0;for(Ke=C,C=C+32480|0,Y3=Ke+32256|0,p9=Ke+1792|0,w9=Ke,x=o<<2,S=x,F=C,C=C+((1*S|0)+15&-16)|0,i2=S9(68)|0,Ae(p9|0,0,30464)|0,v3=a>0,A4=a<0,k9=0;;){for(ae=k9<<2,te=0;n5=te+ae|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,H5=+s[t5>>2],q9=H5):q9=-30,w3=n5+1|0,a3=(w3|0)<88,a3?(L6=1272+(w3<<2)|0,U6=+s[L6>>2],z6=q9>U6,z6?re=U6:re=q9):(s9=q9>-30,s9?re=-30:re=q9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],o9=re>t9,o9?b9=t9:b9=re):(F3=re>-30,F3?b9=-30:b9=re),j6=n5+3|0,f9=(j6|0)<88,f9?(a9=1272+(j6<<2)|0,$9=+s[a9>>2],T9=b9>$9,T9?Ye=$9:Ye=b9):(u9=b9>-30,u9?Ye=-30:Ye=b9),E6=Y3+(te<<2)|0,s[E6>>2]=Ye,T6=te+1|0,T8=(T6|0)==56,!T8;)te=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,H=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(H|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,r1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,o2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,o2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,v3)for(r8=0;;){if(A4)for(E8=0;h4=16-E8|0,w7=(h4|0)>-1,n7=0-h4|0,G9=w7?h4:n7,z9=+(G9|0),D9=z9*c,E9=D9+a,H6=E9<0,I=H6?0:E9,r9=I>0,f=r9?0:I,m4=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],o4=S4+f,s[m4>>2]=o4,D4=E8+1|0,P8=(D4|0)==56,!P8;)E8=D4;else for(A8=0;g3=16-A8|0,e7=(g3|0)>-1,J8=0-g3|0,R6=e7?g3:J8,D6=+(R6|0),x6=D6*c,b6=x6+a,d9=b6<0,m=d9?0:b6,i9=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(A8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=A8+1|0,U8=(E4|0)==56,!U8;)A8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(D8=0;;){if(A4)for(m8=0;W4=16-m8|0,k7=(W4|0)>-1,s7=0-W4|0,C4=k7?W4:s7,T4=+(C4|0),U9=T4*c,N4=U9+a,a4=N4>0,E=a4?0:N4,f4=((p9+(k9*1792|0)|0)+(D8*224|0)|0)+(m8<<2)|0,Ce=+s[f4>>2],H9=Ce+E,s[f4>>2]=H9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,f7=(Be|0)>-1,r7=0-Be|0,Ne=f7?Be:r7,Xe=+(Ne|0),G4=Xe*c,Ge=G4+a,U4=((p9+(k9*1792|0)|0)+(D8*224|0)|0)+(s8<<2)|0,De=+s[U4>>2],e8=De+Ge,s[U4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(oe=D8+1|0,W8=(oe|0)==8,W8)break;D8=oe}for(b4=t+(k9<<2)|0,R4=+s[b4>>2],M4=R4,O4=0;;){for(u4=(O4|0)<2,_6=+(O4|0),w=_6*10,y=70-w,P4=u4?50:y,L9=P4+M4,$4=L9,d8=0;_4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],$e=W9+$4,s[_4>>2]=$e,le=d8+1|0,F4=(le|0)==56,!F4;)d8=le;for(B4=w9+(O4*224|0)|0,s4(B4|0,Y3|0,224)|0,X4=+(O4|0),L4=X4*10,ce=70-L4,S8=0;;)if(C9=(w9+(O4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ce+g6,s[C9>>2]=Ue,pe=S8+1|0,l7=(pe|0)==56,l7){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(O4*224|0)|0)+(i8<<2)|0,be=+s[P6>>2],_e=c4>be,_e&&(s[P6>>2]=c4),t8=i8+1|0,Re=(t8|0)==56,!Re;)i8=t8;if(g4=O4+1|0,y7=(g4|0)==8,y7){Le=1;break}else O4=g4}for(;;){for(k4=Le+-1|0,xe=0;;)if(f8=(w9+(k4*224|0)|0)+(xe<<2)|0,T=+s[f8>>2],N=(w9+(Le*224|0)|0)+(xe<<2)|0,G=+s[N>>2],O=T>2]=T),z=xe+1|0,$7=(z|0)==56,$7){Pe=0;break}else xe=z;for(;Y=(w9+(Le*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Le*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,ee=(X|0)==56,!ee;)Pe=X;if(U=Le+1|0,G8=(U|0)==8,G8)break;Le=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=n,x4=(o|0)>0,j4=o^-1,Qe=0;;){for(Z=S9(32)|0,V=i2+(Qe<<2)|0,e[V>>2]=Z,a0=+(Qe|0),n0=a0*.5,i0=a0*.34657350182533264,r0=i0+4.135165354540845,K=+Nn(+r0),s0=K/y9,g0=+Vo(+s0),j=~~g0,l0=+(j|0),f0=l0*n,d0=f0+1,w0=d0,C0=+Kr(+w0),k0=C0*2.885390043258667,u0=k0+-11.931568145751953,p0=+nB(+u0),I0=~~p0,S0=j+1|0,K0=+(S0|0),_0=K0*n,Q0=_0,L0=+Kr(+Q0),M0=L0*2.885390043258667,N0=M0+-11.931568145751953,U0=+Vo(+N0),q0=~~U0,x0=(I0|0)>(Qe|0),h7=x0?Qe:I0,b0=(h7|0)<0,B8=b0?0:h7,T0=(q0|0)>16,p=T0?16:q0,J0=(B8|0)>(p|0),Y0=Qe+1|0,P0=(Y0|0)<17,V0=n0+3.9657840728759766,ie=0;;){if(G0=S9(232)|0,O0=Z+(ie<<2)|0,e[O0>>2]=G0,x4)for(n8=0;H0=F+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,B9=(e1|0)==(o|0),!B9;)n8=e1;if(!J0)for(he=B8;;){for(D0=+(he|0),i1=D0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,A1=n1*.6931470036506653,z0=+Nn(+A1),I1=z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Nn(+d1),B1=E1/y9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,w1=(B|0)>(o|0),i7=w1?o:B,S1=(i7|0)<(ye|0),H4=S1?i7:ye,L1=(R1|0)<0,j8=L1?0:R1,F1=(j8|0)>(o|0),Y8=F1?o:j8,G1=(H4|0)<(Y8|0),k1=(H4|0)<(o|0),K8=G1&k1,K8)for(U1=((p9+(he*1792|0)|0)+(ie*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],b1=(ye|0)<(o|0),K1=b1?ye:o,O1=K1^-1,H1=(h1|0)>0,_=h1^-1,q1=H1?_:-1,Y1=(q1|0)<(O1|0),q4=Y1?O1:q1,j1=q4^-1,r2=(R1|0)>0,L=R1^-1,W1=r2?L:-1,P1=(W1|0)<(j4|0),A7=P1?j4:W1,z1=A7-q4|0,f2=q4+o|0,s2=f2^-1,E2=z1>>>0>s2>>>0,R8=E2?z1:s2,A2=j1-R8|0,X9=H4;;)if(V1=F+(X9<<2)|0,h2=+s[V1>>2],a2=h2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,u8=(t2|0)==(A2|0),u8){Oe=A2;break}else X9=t2;else Oe=H4;if($2=I8+1|0,O8=($2|0)==56,O8){He=Oe;break}else I8=$2,ye=Oe}if(c1=(He|0)<(o|0),c1)for($1=((p9+(he*1792|0)|0)+(ie*224|0)|0)+220|0,f1=+s[$1>>2],Fe=He;X1=F+(Fe<<2)|0,n2=+s[X1>>2],u2=n2>f1,u2&&(s[X1>>2]=f1),e2=Fe+1|0,H8=(e2|0)==(o|0),!H8;)Fe=e2;if(y2=he+1|0,v2=(he|0)<(p|0),v2)he=y2;else break}if(P0){for(b8=0,fe=0;;){if(G2=+(b8|0),q2=G2*.125,M2=q2+n0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,A5=+Nn(+z2),O2=A5/y9,T1=~~O2,x5=M2+4.028284072875977,e5=x5*.6931470036506653,D5=+Nn(+e5),Z2=D5/y9,u5=Z2+1,v5=~~u5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(o|0),I3=l5?o:v,k2=(I3|0)<(fe|0),qe=k2?I3:fe,m5=(v5|0)<0,X8=m5?0:v5,R2=(X8|0)>(o|0),u7=R2?o:X8,_2=(qe|0)<(u7|0),B2=(qe|0)<(o|0),a8=_2&B2,a8)for(C5=((p9+(Y0*1792|0)|0)+(ie*224|0)|0)+(b8<<2)|0,L5=+s[C5>>2],d5=(fe|0)<(o|0),b5=d5?fe:o,G5=b5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,o5=(H2|0)<(G5|0),$8=o5?G5:H2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(j4|0),_8=S5?j4:M1,g5=_8-$8|0,a5=$8+o|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=qe;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>L5,J2&&(s[s5>>2]=L5),f5=Q4+1|0,Q7=(f5|0)==(p5|0),Q7){o8=p5;break}else Q4=f5;else o8=qe;if(i5=b8+1|0,z8=(i5|0)==56,z8){we=o8;break}else b8=i5,fe=o8}if(b2=(we|0)<(o|0),b2)for(d2=((p9+(Y0*1792|0)|0)+(ie*224|0)|0)+220|0,V2=+s[d2>>2],C8=we;R5=F+(C8<<2)|0,j2=+s[R5>>2],$5=j2>V2,$5&&(s[R5>>2]=V2),x2=C8+1|0,c7=(x2|0)==(o|0),!c7;)C8=x2}for(w2=Z+(ie<<2)|0,C2=Z+(ie<<2)|0,F2=Z+(ie<<2)|0,ge=0;;){u3=+(ge|0),h3=u3*.125,Y5=V0+h3,X5=Y5*.6931470036506653,n3=+Nn(+X5),m3=n3/y9,F5=~~m3,J5=(F5|0)<0;do if(J5)f3=ge+2|0,B3=e[w2>>2]|0,V3=B3+(f3<<2)|0,s[V3>>2]=-999;else if(N3=(F5|0)<(o|0),N3){i6=F+(F5<<2)|0,R3=e[i6>>2]|0,G3=ge+2|0,l3=e[C2>>2]|0,c3=l3+(G3<<2)|0,e[c3>>2]=R3;break}else{V5=ge+2|0,y3=e[F2>>2]|0,Z5=y3+(V5<<2)|0,s[Z5>>2]=-999;break}while(!1);if(C3=ge+1|0,g7=(C3|0)==56,g7)break;ge=C3}Q5=G0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(q5=G0+12|0,U5=+s[q5>>2],O5=U5>-200,O5)j9=1;else if(Q3=G0+16|0,r6=+s[Q3>>2],W3=r6>-200,W3)j9=2;else if(P3=G0+20|0,K5=+s[P3>>2],O3=K5>-200,O3)j9=3;else if(l6=G0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=G0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(j3=G0+32|0,c6=+s[j3>>2],p6=c6>-200,p6)j9=6;else if(Y6=G0+36|0,C6=+s[Y6>>2],S3=C6>-200,S3)j9=7;else if(X3=G0+40|0,e6=+s[X3>>2],u6=e6>-200,u6)j9=8;else if(H3=G0+44|0,D3=+s[H3>>2],q3=D3>-200,q3)j9=9;else if(z3=G0+48|0,o6=+s[z3>>2],t3=o6>-200,t3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=G0+56|0,b3=+s[d6>>2],N6=b3>-200,N6)j9=12;else if(n6=G0+60|0,Q6=+s[n6>>2],V6=Q6>-200,V6)j9=13;else{if(I6=G0+64|0,J6=+s[I6>>2],L3=J6>-200,L3){j9=14;break}if(W6=G0+68|0,G6=+s[W6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,q8=55;;){if(k5=q8+2|0,U3=G0+(k5<<2)|0,M5=+s[U3>>2],A6=M5>-200,A6){t7=q8;break}if(o3=q8+-1|0,x3=(o3|0)>17,x3)q8=o3;else{t7=o3;break}}if(f6=+(t7|0),p3=G0+4|0,s[p3>>2]=f6,k3=ie+1|0,F8=(k3|0)==8,F8)break;ie=k3}if(M8=(Y0|0)==17,M8)break;Qe=Y0}return C=Ke,i2|0}function $Q(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=+c,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0;if(b4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,A2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,n3=C,C=C+((1*p|0)+15&-16)|0,B=w,Z5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[o>>2],r6=k5+c,S6=r6<1,o4=S6?1:r6,u6=o4*o4,D=u6*.5,z=D*o4,s[y>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[Z5>>2]=0,V=(t|0)>1,V)for(F3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=o+(F3<<2)|0,h1=+s[c1>>2],L1=h1+c,q1=L1<1,y9=q1?1:L1,V1=y9*y9,y2=V1+E6,M2=V1*E4,u5=M2+T6,L5=M2*E4,S5=L5+i9,J2=V1*y9,f5=J2+I9,i5=M2*y9,R5=i5+N9,$5=y+(F3<<2)|0,s[$5>>2]=y2,x2=A2+(F3<<2)|0,s[x2>>2]=u5,Q5=j2+(F3<<2)|0,s[Q5>>2]=S5,H5=n3+(F3<<2)|0,s[H5>>2]=f5,j5=Z5+(F3<<2)|0,s[j5>>2]=R5,E5=F3+1|0,u3=E4+1,F6=(E5|0)==(t|0),!F6;)F3=E5,E6=y2,T6=u5,i9=S5,N9=R5,I9=f5,E4=u3;if(f0=e[n>>2]|0,_0=f0>>16,J0=(_0|0)>-1,J0)Y5=f0,d6=0,Q6=0,J6=1,M6=0,A4=0;else for(F5=f0,B3=_0,t9=0,h4=0;;)if(m3=F5&65535,J5=y+(m3<<2)|0,w3=+s[J5>>2],f3=0-B3|0,V3=y+(f3<<2)|0,N3=+s[V3>>2],V5=N3+w3,y3=A2+(m3<<2)|0,i6=+s[y3>>2],R3=A2+(f3<<2)|0,G3=+s[R3>>2],a3=i6-G3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(f3<<2)|0,q5=+s[C3>>2],U5=q5+c3,O5=n3+(m3<<2)|0,U3=+s[O5>>2],M5=n3+(f3<<2)|0,A6=+s[M5>>2],e3=A6+U3,o3=Z5+(m3<<2)|0,x3=+s[o3>>2],f6=Z5+(f3<<2)|0,p3=+s[f6>>2],k3=x3-p3,Q3=e3*U5,W3=k3*a3,P3=Q3-W3,K5=k3*V5,v3=e3*a3,g3=K5-v3,O3=U5*V5,l6=a3*a3,d3=O3-l6,k6=g3*h4,v6=k6+P3,B6=v6/d3,j3=B6<0,e9=j3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,R6=t9+1|0,Y6=h4+1,C6=n+(R6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){Y5=S3,d6=P3,Q6=g3,J6=d3,M6=R6,A4=Y6;break}else F5=S3,B3=X3,t9=R6,h4=Y6;if(h3=Y5&65535,X5=(h3|0)<(t|0),X5)for(v=Y5,z3=h3,j6=M6,z9=A4;;)if(D3=v>>16,q3=y+(z3<<2)|0,D6=+s[q3>>2],o6=y+(D3<<2)|0,t3=+s[o6>>2],O6=D6-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=Z5+(z3<<2)|0,e0=+s[W>>2],H=Z5+(D3<<2)|0,X=+s[H>>2],U=e0-X,$0=J*N,Z=U*L,a0=$0-Z,n0=U*O6,i0=J*L,r0=n0-i0,K=N*O6,h0=L*L,s0=K-h0,g0=r0*z9,j=g0+a0,l0=j/s0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(j6<<2)|0,s[C0>>2]=w0,k0=j6+1|0,u0=z9+1,B0=n+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,z3=I0,j6=k0,z9=u0;else{b3=a0,x6=r0,L3=s0,o9=k0,G9=u0;break}else b3=d6,x6=Q6,L3=J6,o9=M6,G9=A4;if(H3=(o9|0)<(t|0),H3)for(f9=o9,D9=G9;K0=D9*x6,Q0=K0+b3,L0=Q0/L3,M0=L0<0,L6=M0?0:L0,N0=L6-c,U0=a+(f9<<2)|0,s[U0>>2]=N0,y0=f9+1|0,q0=D9+1,y6=(y0|0)==(t|0),!y6;)f9=y0,D9=q0;if(x0=(f|0)<1,x0){C=b4;return}if(b0=(f|0)/2&-1,T0=b0-f|0,Y0=(T0|0)>-1,Y0)N6=b3,V6=x6,W6=L3,u9=0,E9=0;else for(P0=f-b0|0,H0=b0,i1=T0,d9=0,H6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],D0=0-i1|0,$1=y+(D0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(D0<<2)|0,n1=+s[a1>>2],A1=s1-n1,z0=j2+(H0<<2)|0,I1=+s[z0>>2],m1=j2+(D0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(D0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,w1=Z5+(H0<<2)|0,S1=+s[w1>>2],F1=Z5+(D0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=x1*E1,Z1=k1*A1,N1=U1-Z1,b1=k1*g1,K1=x1*A1,O1=b1-K1,H1=E1*g1,Y1=A1*A1,j1=H1-Y1,r2=O1*H6,W1=r2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,f2=+s[z1>>2],s2=c2>2]=c2),E2=d9+1|0,h2=H6+1,a2=b0+E2|0,t2=a2-f|0,z6=(E2|0)==(P0|0),z6){N6=N1,V6=O1,W6=j1,u9=P0,E9=h2;break}else H0=a2,i1=t2,d9=E2,H6=h2;if(V0=u9+b0|0,G0=(V0|0)<(t|0),G0)for(O0=t-b0|0,S=V0,$9=u9,m4=E9;;)if(i2=S-f|0,o2=y+(S<<2)|0,X1=+s[o2>>2],n2=y+(i2<<2)|0,u2=+s[n2>>2],e2=X1-u2,v2=A2+(S<<2)|0,w2=+s[v2>>2],C2=A2+(i2<<2)|0,F2=+s[C2>>2],b2=w2-F2,N2=j2+(S<<2)|0,d2=+s[N2>>2],V2=j2+(i2<<2)|0,G2=+s[V2>>2],q2=d2-G2,P2=n3+(S<<2)|0,z2=+s[P2>>2],A5=n3+(i2<<2)|0,O2=+s[A5>>2],T1=z2-O2,X2=Z5+(S<<2)|0,x5=+s[X2>>2],e5=Z5+(i2<<2)|0,D5=+s[e5>>2],Z2=x5-D5,v5=T1*q2,P5=Z2*b2,l5=v5-P5,k2=Z2*e2,m5=T1*b2,n5=k2-m5,R2=q2*e2,_2=b2*b2,B2=R2-_2,C5=n5*m4,d5=C5+l5,b5=d5/B2,G5=b5-c,_5=a+($9<<2)|0,H2=+s[_5>>2],I5=G5>2]=G5),o5=$9+1|0,c5=m4+1,B5=o5+b0|0,b6=(o5|0)==(O0|0),b6){n6=l5,I6=n5,G6=B2,a9=O0,r9=c5;break}else S=B5,$9=o5,m4=c5;else n6=N6,I6=V6,G6=W6,a9=u9,r9=E9;if($2=(a9|0)<(t|0),$2)T9=a9,S4=r9;else{C=b4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=b4}function wS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;if(c1=C,f=o<<2,a=f,E=C,C=C+((1*a|0)+15&-16)|0,c=f,_=C,C=C+((1*c|0)+15&-16)|0,t0=(o|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,H0=P0;else{for(K0=t+(y0<<2)|0,_0=+s[K0>>2],V0=P0;;){if(B=V0+-1|0,v=_+(B<<2)|0,S=+s[v>>2],w=_0>2]|0,x=L+n|0,F=(y0|0)<(x|0),M=(V0|0)>1,b0=M&F,!b0){O0=V0,i1=12;break}if(T=V0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(S<=G),O){O0=V0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)V0=B;else{O0=V0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=y0,D=_+(G0<<2)|0,s[D>>2]=_0,H0=G0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,H=_+(O0<<2)|0,s[H>>2]=_0,H0=O0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,U0=(X|0)==(o|0),U0){e1=H0,D0=r1;break}else y0=X,P0=r1}if(n0=(e1|0)>-1,!n0){C=c1;return}for(w0=n+1|0,q0=0,T0=0;;){if(U=(q0|0)<(e1|0),U?($0=q0+1|0,Z=_+($0<<2)|0,V=+s[Z>>2],a0=_+(q0<<2)|0,i0=+s[a0>>2],r0=V>i0,r0?(K=E+($0<<2)|0,h0=e[K>>2]|0,L0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(q0<<2)|0,g0=e[s0>>2]|0,j=w0+g0|0,L0=j),l0=(L0|0)>(o|0),x0=l0?o:L0,f0=(T0|0)<(x0|0),f0)for(d0=_+(q0<<2)|0,C0=e[d0>>2]|0,k0=(L0|0)<(o|0),u0=k0?L0:o,Y0=T0;;)if(B0=t+(Y0<<2)|0,e[B0>>2]=C0,p0=Y0+1|0,M0=(p0|0)==(u0|0),M0){J0=u0;break}else Y0=p0;else J0=T0;if(I0=q0+1|0,N0=(I0|0)==(D0|0),N0)break;q0=I0,T0=J0}C=c1}function lQ(t,n,o,a,c,f,E,I,m){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=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,K=e[e0>>2]|0,u0=(K|0)==0,u0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(f|0)==0,N=(p1|0)<(I|0),G=N?p1: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,H=a+(O1<<2)|0,X=+s[H>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,V=o+(O1<<2)|0,a0=+s[V>>2],n0=a0<0,i0=Z,r0=+Mn(+i0),h0=+Ui(r0),n0){s0=-h0,g0=~~s0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{l0=~~h0,f0=m+(O1<<2)|0,e[f0>>2]=l0;break}while(!1);if(d0=O1+1|0,b1=(d0|0)==(G|0),b1){K1=G;break}else O1=d0}else K1=0;if(O=(K1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(f|0)!=0,Y=n-E|0,p=0,G1=0,H1=K1;;){z?(w0=f+(H1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(H1<<2)|0,p0=+s[B0>>2],I0=c+(H1<<2)|0,S0=+s[I0>>2],K0=p0/S0,_0=!(K0<.25),Q0=(H1|0)<(Y|0),j1=z&Q0,r2=_0|j1,r2){y0=o+(H1<<2)|0,q0=+s[y0>>2],x0=q0<0,b0=K0,T0=+Mn(+b0),J0=+Ui(T0),Y0=-J0,_=x0?Y0:J0,Q=~~_,P0=m+(H1<<2)|0,e[P0>>2]=Q,V0=r5(Q,Q)|0,G0=+(V0|0),r1=+s[I0>>2],H0=G0*r1,s[B0>>2]=H0,B=p,k1=G1;break}else{L0=K0+p,M0=G1+1|0,N0=F+(G1<<2)|0,e[N0>>2]=B0,B=L0,k1=M0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,H1=e1}if(D0=(U1|0)==0,D0||(Lh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,f1=+o1[$1>>3],S=v,q1=0;;)if(g1=F+(q1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,A1=n1>>2,z0=S,I1=!(z0>=f1),I1?(w=S,L=0,W1=0):(h1=o+(A1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,R1=S+-1,x1=c+(A1<<2)|0,w1=+s[x1>>2],w=R1,L=Q1,W1=w1),S1=m+(A1<<2)|0,e[S1>>2]=L,s[l1>>2]=W1,L1=q1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else S=w,q1=L1;return C=c2,+y}function kS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,o=e[t>>2]|0,a=+s[o>>2],c=e[n>>2]|0,f=+s[c>>2],E=af,p=m&1,B=I-p|0,B|0}function vS(t){t=t|0;var n=0,o=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function SS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,o=(t|0)==0,!o){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?f=x:(I2(G),n=e[a>>2]|0,f=n),z=Y+1|0,c=(z|0)<(f|0),c;)x=f,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,S=v+(t0<<2)|0,w=e[S>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[B>>2]|0,I2(L),I2(t)}}function DS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(n,c,24),f=t+4|0,Q=e[f>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(n,$0,24),Z=t+12|0,V=e[Z>>2]|0,a0=V+-1|0,U2(n,a0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,K=0;;){if(S=p+(K<<2)|0,w=e[S>>2]|0,y=F7(w)|0,D=(y|0)>3,_=e[S>>2]|0,D?(U2(n,_,3),U2(n,1,1),L=e[S>>2]|0,x=L>>3,U2(n,x,5)):U2(n,_,4),F=e[S>>2]|0,M=(F|0)==0,M)s0=0;else for(o=F,g0=0;;)if(T=o&1,N=T+g0|0,G=o>>>1,O=(G|0)==0,O){s0=N;break}else o=G,g0=N;if(z=s0+i0|0,t0=K+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,K=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,H=e[e0>>2]|0,U2(n,H,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function bS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=Z4(n,24)|0,e[E>>2]=J,i0=Z4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,M0=Z4(n,24)|0,V0=M0+1|0,O0=E+8|0,e[O0>>2]=V0,r1=Z4(n,6)|0,m=r1+1|0,p=E+12|0,e[p>>2]=m,B=Z4(n,8)|0,v=E+20|0,e[v>>2]=B,S=(B|0)<0;e:do if(S)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=Z4(n,3)|0,x=Z4(n,1)|0,F=(x|0)<0,F){a1=26;break e}if(M=(x|0)==0,M)D0=_;else{if(T=Z4(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,H=(e0|0)==0,H){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{f=X;break}}if(D=(f|0)>0,D)for(Q=E+280|0,$1=0;;){if(V=Z4(n,8)|0,a0=(V|0)<0,a0)break e;if(n0=Q+($1<<2)|0,e[n0>>2]=V,r0=$1+1|0,K=(r0|0)<(f|0),K)$1=r0;else{G0=D,H0=f;break}}else G0=0,H0=f}else G0=0,H0=0;if(h0=e[v>>2]|0,s0=L+24|0,g0=e[s0>>2]|0,j=(h0|0)<(g0|0),j){if(G0)for(l0=E+280|0,f1=0;;){if(w0=l0+(f1<<2)|0,k0=e[w0>>2]|0,u0=(k0|0)<(g0|0),!u0||(B0=(L+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,K0=(S0|0)==0,f0=f1+1|0,K0))break e;if(d0=(f0|0)<(H0|0),d0)f1=f0;else break}if(_0=(L+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,L0=Q0+4|0,N0=e[L0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(T0=r5(q0,g1)|0,J0=(T0|0)>(N0|0),J0)break e;if(x0=i1+-1|0,b0=(i1|0)>1,b0)i1=x0,g1=T0;else{c=T0;break}}return Y0=E+16|0,e[Y0>>2]=c,o=E,o|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(o=0,o|0):(I2(E),o=0,o|0)}function _S(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,f=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,n0=e[t0>>2]|0,e[f>>2]=n,w0=n+12|0,L0=e[w0>>2]|0,P0=f+4|0,e[P0>>2]=L0,r1=n0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,m=H0,p=n+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,S=f+16|0,e[S>>2]=v,w=e[v>>2]|0,y=n4(L0,4)|0,D=f+20|0,e[D>>2]=y,Q=(L0|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=F7(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,A1=0;;)if(e0=1<>2]|0,$0=D0+1|0,Z=x+(D0<<2)|0,V=e[Z>>2]|0,a0=U+(V*56|0)|0,i0=e[W>>2]|0,r0=i0+(A1<<2)|0,e[r0>>2]=a0,i1=$0),K=A1+1|0,f1=(K|0)==(T|0),f1){c1=i1,m1=a;break}else D0=i1,A1=K;else c1=e1,m1=a;if(h0=l1+1|0,s0=(h0|0)<(L0|0),s0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=f+24|0,e[g0>>2]=1,j=(w|0)>0,j){for(f0=1,s1=0;;)if(l0=r5(f0,L0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){o=l0;break}else f0=l0,s1=d0;e[g0>>2]=o,u0=o}else u0=1;if(C0=f+8|0,e[C0>>2]=I1,k0=u0<<2,B0=S9(k0)|0,p0=f+28|0,e[p0>>2]=B0,I0=(u0|0)>0,!I0)return f|0;if(S0=w<<2,!j){for(a1=0;Y0=S9(S0)|0,V0=B0+(a1<<2)|0,e[V0>>2]=Y0,G0=a1+1|0,O0=(G0|0)<(u0|0),O0;)a1=G0;return f|0}for(K0=e[p0>>2]|0,n1=0;;){for(b0=S9(S0)|0,T0=B0+(n1<<2)|0,e[T0>>2]=b0,J0=K0+(n1<<2)|0,q0=e[J0>>2]|0,c=u0,z0=0,E1=n1;d1=(c|0)/(L0|0)&-1,M0=(E1|0)/(d1|0)&-1,N0=r5(M0,d1)|0,U0=E1-N0|0,y0=q0+(z0<<2)|0,e[y0>>2]=M0,x0=z0+1|0,g1=(x0|0)==(w|0),!g1;)c=d1,z0=x0,E1=U0;if(_0=n1+1|0,Q0=(_0|0)<(u0|0),Q0)n1=_0;else break}return f|0}function RS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||cQ(t,n,o,x,2),0}function xS(t,n,o,a,c,f,E,I){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=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=(f|0)>0,m)x=0,F=0;else return 0;for(;;)if(p=c+(x<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?M=F:(S=a+(x<<2)|0,w=e[S>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=w,M=y),Q=x+1|0,L=(Q|0)==(f|0),L){T=M;break}else x=Q,F=M;return _=(T|0)==0,_||gQ(t,o,a,T,E),0}function LS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(m=a+(i1<<2)|0,x=e[m>>2]|0,W=(x|0)==0,W?m1=h1:(r0=o+(i1<<2)|0,k0=e[r0>>2]|0,N0=h1+1|0,J0=o+(h1<<2)|0,e[J0>>2]=k0,m1=N0),Y0=i1+1|0,O0=(Y0|0)==(c|0),O0){d1=m1;break}else i1=Y0,h1=m1;if(P0=(d1|0)==0,P0)return f=0,f|0;if(p=e[n>>2]|0,B=p+8|0,v=e[B>>2]|0,S=p+12|0,w=e[S>>2]|0,y=p+4|0,D=e[y>>2]|0,Q=e[p>>2]|0,_=D-Q|0,L=(_|0)/(v|0)&-1,F=d1<<2,M=O7(t,F)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;H=O7(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=H,Ae(H|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=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=r5($1,v)|0,Z=e[p>>2]|0,V=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=o+(g1<<2)|0,n0=e[a0>>2]|0,G0=0,l1=0,A1=0;;)if(i0=V+l1|0,K=n0+(i0<<2)|0,h0=e[K>>2]|0,f1=(h0|0)>-1,z0=0-h0|0,s0=f1?h0:z0,g0=(s0|0)>(A1|0),E=g0?s0:A1,j=s0+G0|0,l0=l1+1|0,r1=(l0|0)==(v|0),r1){V0=j,n1=E;break}else G0=j,l1=l0,A1=E;else V0=0,n1=0;f0=+(V0|0),d0=f0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,u0=e[C0>>2]|0,B0=(n1|0)>(u0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,K0=(w0|0)<(I0|0),I1=S0|K0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(L0=M+(g1<<2)|0,M0=e[L0>>2]|0,U0=M0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(q0=$1+1|0,e1=(q0|0)==(L|0),e1)break;$1=q0}return x0=n+40|0,b0=e[x0>>2]|0,T0=b0+1|0,e[x0>>2]=T0,f=M,f|0}function FS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,L=v),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||cQ(t,n,o,x,3),0}function MS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0;if(z0=C,m=(c|0)>0,m)T0=0,n1=0;else return f=0,f|0;for(;;)if(p=a+(T0<<2)|0,F=e[p>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,K=T0+1|0,q0=(K|0)==(c|0),q0){a1=s1;break}else T0=K,n1=s1;if(l1=(a1|0)==0,l1)return f=0,f|0;if(u0=e[n>>2]|0,K0=u0+8|0,_0=e[K0>>2]|0,Q0=u0+12|0,L0=e[Q0>>2]|0,B=u0+4|0,v=e[B>>2]|0,S=e[u0>>2]|0,w=v-S|0,y=(w|0)/(_0|0)&-1,D=O7(t,4)|0,Q=y<<2,_=O7(t,Q)|0,e[D>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[u0>>2]|0,M=(x|0)/(c|0)&-1,T=(_0|0)>0,N=L0+-1|0,G=(L0|0)>1,O=e[D>>2]|0,z=(c|0)>1,J0=0,H0=M;;){if(T)for(Y=e[o>>2]|0,N0=0,V0=0,D0=H0,c1=0;;){if(t0=Y+(D0<<2)|0,J=e[t0>>2]|0,Y0=(J|0)>-1,$1=0-J|0,W=Y0?J:$1,H=(W|0)>(c1|0),I=H?W:c1,z)for(y0=N0,r1=1;;)if(X=o+(r1<<2)|0,U=e[X>>2]|0,$0=U+(D0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,f1=0-Z|0,V=P0?Z:f1,a0=(V|0)>(y0|0),E=a0?V:y0,n0=r1+1|0,x0=(n0|0)==(c|0),x0){U0=E;break}else y0=E,r1=n0;else U0=N0;if(i0=D0+1|0,r0=V0+c|0,h0=(r0|0)<(_0|0),h0)N0=U0,V0=r0,D0=i0,c1=I;else{M0=U0,e1=i0,i1=I;break}}else M0=0,e1=H0,i1=0;e:do if(G)for(O0=0;;){if(s0=(u0+2328|0)+(O0<<2)|0,g0=e[s0>>2]|0,j=(i1|0)>(g0|0),!j&&(l0=(u0+2584|0)+(O0<<2)|0,f0=e[l0>>2]|0,d0=(M0|0)>(f0|0),!d0)){G0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{G0=w0;break}}else G0=0;while(!1);if(k0=O+(J0<<2)|0,e[k0>>2]=G0,B0=J0+1|0,b0=(B0|0)==(y|0),b0)break;J0=B0,H0=e1}return p0=n+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,f=D,f|0}function TS(t,n,o,a,c,f,E,I){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0;if(n0=C,C=C+16|0,V=n0,m=n+36|0,p=e[m>>2]|0,F=(p|0)/2&-1,M=f<<2,T=r5(M,F)|0,N=O7(n,T)|0,e[V>>2]=N,G=(f|0)>0,!G)return C=n0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,H=(v|0)!=0,S=H&1,U=S+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+f|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(f|0),t0){$0=U;break}else J=x,Z=U}return X=($0|0)==0,X?(C=n0,0):(gQ(t,o,V,1,E),C=n0,0)}function NS(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,x=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,k0=e[r0>>2]|0,N0=t+36|0,G0=e[N0>>2]|0,l1=r5(G0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),f=v?B:s1,S=e[I>>2]|0,w=f-S|0,y=(w|0)>0,!y)return 0;D=(w|0)/(x|0)&-1,Q=k0+-1|0,_=Q+D|0,L=(_|0)/(k0|0)&-1,F=L<<2,M=O7(t,F)|0,T=(c|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(c|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=n+8|0,e0=e[J>>2]|0,H=(e0|0)>0,!H))return 0;X=(D|0)>0,U=t+4|0,$0=I+16|0,Z=n+28|0,V=(k0|0)>0,a0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,h0=Km(K,U)|0,s0=(h0|0)==-1,s0){p1=23;break e}if(g0=e[$0>>2]|0,j=(h0|0)<(g0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,f0=l0+(h0<<2)|0,d0=e[f0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(u0=(A1|0)<(D|0),E1=V&u0,E1)for(B0=M+(m1<<2)|0,I1=A1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,K0=(I+24|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0&i0,L0=(Q0|0)==0,!L0&&(M0=e[a0>>2]|0,U0=M0+(S0<<2)|0,y0=e[U0>>2]|0,q0=y0+(B1<<2)|0,x0=e[q0>>2]|0,b0=(x0|0)==0,!b0&&(T0=r5(I1,x)|0,J0=e[I>>2]|0,Y0=J0+T0|0,P0=qv(x0,o,Y0,c,U,x)|0,V0=(P0|0)==-1,V0))){p1=23;break e}if(O0=h1+1|0,r1=I1+1|0,H0=(O0|0)<(k0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=O0;else{z0=r1;break}}else z0=A1;if(D0=m1+1|0,i1=(z0|0)<(D|0),i1)A1=z0,m1=D0;else break}E=e[J>>2]|0,f1=E}else f1=g1;if(c1=B1+1|0,$1=(c1|0)<(f1|0),$1)g1=f1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function cQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=C,p=e[n>>2]|0,B=p+8|0,M=e[B>>2]|0,H=n+16|0,h0=e[H>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=p+4|0,v=e[Q1>>2]|0,S=(v|0)<(a1|0),f=S?v:a1,w=e[p>>2]|0,y=f-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=B0+-1|0,T=F+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=O7(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=$0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(B0|0)>0,U=n+20|0,m=x^1,q1=0;e:for(;;){if(t0)for(a0=1<>2]|0,H0=Km(O0,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,f1=e[$1>>2]|0,g1=L+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(b1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,V0=k1+1|0,n1){Y1=25;break e}if(G0=(V0|0)<(a|0),G0)k1=V0;else break}n0=(w1|0)<(Q|0),H1=X&n0;t:do if(H1){if(x)F1=w1,N1=0;else for(L1=w1,Z1=0;;)if(A1=Z1+1|0,z0=L1+1|0,I1=(A1|0)<(B0|0),h1=(z0|0)<(Q|0),K1=I1&h1,K1)L1=z0,Z1=A1;else{S1=z0;break t}for(;;){for(l0=r5(F1,M)|0,U1=0;;){if(g0=e[p>>2]|0,j=g0+l0|0,f0=L+(U1<<2)|0,d0=e[f0>>2]|0,w0=d0+(b1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,u0=e[k0>>2]|0,p0=(p+24|0)+(u0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,K0=(S0|0)==0,!K0&&(_0=e[U>>2]|0,Q0=_0+(u0<<2)|0,L0=e[Q0>>2]|0,M0=L0+(q1<<2)|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0&&(q0=o+(U1<<2)|0,x0=e[q0>>2]|0,b0=x0+(j<<2)|0,T0=IB[c&3](N0,b0,J,M)|0,J0=(T0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,P0=(Y0|0)<(a|0),P0)U1=Y0;else break}if(i0=N1+1|0,r0=F1+1|0,K=(i0|0)<(B0|0),s0=(r0|0)<(Q|0),O1=K&s0,O1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=w1;while(!1);if(m1=b1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,b1=m1;else break}if(E1=q1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)q1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function gQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,a2=e[_>>2]|0,q2=Q+12|0,Z2=e[q2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,f5=e[M1>>2]|0,h3=Q+4|0,N3=e[h3>>2]|0,L=e[Q>>2]|0,J=N3-L|0,i0=(J|0)/(a2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=n+8|0,M0=e[C0>>2]|0,V0=(M0|0)>0,!V0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(f5|0)>1,r2=n+36|0,t2=(f5|0)>0,v2=n+20|0,w2=n+32|0,C2=0-f5|0,y2=M0,a6=0;;){if(g1){for(F2=(a6|0)==0,b2=1<>2]|0,G5=b5+(K5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,I5=H2+4|0,o5=e[I5>>2]|0,c5=(_5|0)<(o5|0),c5&&(B5=Rh(H2,_5,t)|0,S5=e[r2>>2]|0,g5=S5+B5|0,e[r2>>2]=g5),a5=C6+1|0,A6=(a5|0)==(a|0),A6)break e;C6=a5}for(;;){for(k2=c+(S3<<2)|0,u5=e[k2>>2]|0,m5=u5+(K5<<2)|0,n5=e[m5>>2]|0,u6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,x5=u6+K5|0,e5=(x5|0)<(i0|0),e5?(D5=u5+(x5<<2)|0,v5=e[D5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=u6+1|0,k3=(l5|0)==(f5|0),k3){x6=Q6;break}else u6=l5,n6=Q6;if(V2=e[C5>>2]|0,G2=V2+4|0,M2=e[G2>>2]|0,P2=(x6|0)<(M2|0),P2&&(z2=Rh(V2,x6,t)|0,A5=e[r2>>2]|0,O2=A5+z2|0,e[r2>>2]=O2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(R2=(K5|0)<(i0|0),D6=t2&R2,D6){for(_2=K5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,L5=0-N6|0,l6=K5,H3=0;;){if(W2=r5(l6,a2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(e6=0;;){if(t5=c+(e6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,R5=e[i5>>2]|0,j2=R5+a2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,x2=e[$5>>2]|0,Q5=x2&b2,H5=(Q5|0)==0,!H5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,u3=e[E5>>2]|0,Y5=u3+(a6<<2)|0,X5=e[Y5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=o+(e6<<2)|0,F5=e[m3>>2]|0,J5=e[X5>>2]|0,w3=(a2|0)/(J5|0)&-1,f3=(w3|0)>0,f3){for(B3=X5+48|0,V3=X5+52|0,V5=X5+44|0,y3=X5+12|0,Z5=X5+4|0,x=J5,k5=0,g3=0;;){i6=r5(g3,J5)|0,S=i6+p5|0,R3=F5+(S<<2)|0,G3=e[B3>>2]|0,a3=e[V3>>2]|0,l3=e[V5>>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){j3=0;break}for(G=l3+-1|0,d3=0,B6=0,q3=x;;)if(d0=q3+-1|0,D=S+d0|0,w0=F5+(D<<2)|0,k0=e[w0>>2]|0,u0=k0-G3|0,B0=(u0|0)<(c3|0),B0?(p0=c3-u0|0,I0=p0<<1,S0=I0+-1|0,L0=S0):(K0=u0-c3|0,_0=K0<<1,L0=_0),Q0=r5(B6,l3)|0,N0=(L0|0)<0,U0=(L0|0)>=(l3|0),y0=U0?G:L0,q0=N0?0:y0,x0=q0+Q0|0,b0=t3+(d0<<2)|0,e[b0>>2]=k0,T0=d3+1|0,W3=(T0|0)==(x|0),W3){j3=x0;break}else d3=T0,B6=x0,q3=d0}else{if(!F){j3=0;break}for(M=a3>>1,T=M-G3|0,N=l3+-1|0,v3=0,S6=0,D3=x;;)if(O=D3+-1|0,y=S+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(H=c3-W|0,X=H<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),V=r5(S6,l3)|0,n0=(a0|0)<0,r0=(a0|0)>=(l3|0),K=r0?N:a0,h0=n0?0:K,s0=h0+V|0,g0=r5(W,a3)|0,j=g0+G3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,f0=v3+1|0,P3=(f0|0)==(x|0),P3){j3=s0;break}else v3=f0,S6=s0,D3=O}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,P0=e[Y0>>2]|0,G0=P0+j3|0,O0=d[G0>>0]|0,r1=O0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,D0=e1+G3|0,i1=e[Z5>>2]|0,c1=(i1|0)>0,c1)q5=-1,k6=0,c6=j3;else{R6=j3;break}for(;;){$1=P0+k6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(F)for(Y6=0,b3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=S+Y6|0,n1=F5+(w<<2)|0,A1=e[n1>>2]|0,z0=a1-A1|0,I1=r5(z0,z0)|0,h1=I1+b3|0,m1=Y6+1|0,r6=(m1|0)==(x|0),r6){d6=h1;break}else Y6=m1,b3=h1;else d6=0;if(d1=(q5|0)==-1,B1=(d6|0)<(q5|0),z3=d1|B1,!z3){U5=q5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=q5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(D0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,w1=M5+(R1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)<(D0|0),L1){E=w1,I=S1;break}else x1=w1,X3=R1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){R6=p6;break}else q5=U5,k6=N1,c6=p6}}else R6=j3;while(!1);if(b1=(R6|0)>-1,o6=F&b1,o6)for(f=R3,v6=0;K1=t3+(v6<<2)|0,O1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-O1|0,e[f>>2]=Y1,j1=v6+1|0,o3=(j1|0)==(x|0),!o3;)f=H1,v6=j1;if(W1=Rh(X5,R6,t)|0,P1=W1+k5|0,c2=g3+1|0,x3=(c2|0)==(w3|0),x3){m=P1;break}p=e[X5>>2]|0,x=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,f2=z1+O5|0,e[w2>>2]=f2,s2=E2+(l6<<2)|0,A2=e[s2>>2]|0,V1=O6+(A2<<2)|0,h2=e[V1>>2]|0,$2=h2+O5|0,e[V1>>2]=$2}if(i2=e6+1|0,f6=(i2|0)==(a|0),f6)break;e6=i2}if(o2=H3+1|0,X1=l6+1|0,p3=(o2|0)==(L5|0),p3)break;l6=X1,H3=o2}N2=K5-N6|0,O3=N2}else O3=K5;if(d2=(O3|0)<(i0|0),d2)K5=O3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(n2=a6+1|0,u2=(n2|0)<(e2|0),u2)y2=e2,a6=n2;else break}C=I6}function F7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;if(p=C,o=(t|0)==0,o)E=0;else for(n=t,I=0;;)if(a=n>>>1,c=I+1|0,f=(a|0)==0,f){E=c;break}else n=a,I=c;return E|0}function hQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(o|0)!=0,p=m?o:n,F=p<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,K=(n|0)>0;do if(K){u0=P1+4|0,U0=(o|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=P1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,c2=y|Q,!c2){V1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,L=P1+(B<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(H=w,X=L,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,$0=(K1|0)>1,!$0)break i;if(f=P1+(U<<2)|0,I=e[f>>2]|0,Z=P1+(U<<2)|0,V=I&1,a0=(V|0)==0,a0)H=I,X=Z,K1=U;else{c=Z,b1=U,V1=8;break}}else c=L,b1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,N=(b1|0)==1,N){G=e[u0>>2]|0,O=G+1|0,e[u0>>2]=O;break}else{z=b1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(L1=w,H1=B,j1=Y1;;){if(n0=P1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,h0=(r0|0)==(L1|0),!h0){E=1;break t}if(s0=P1+(H1<<2)|0,g0=e[s0>>2]|0,j=g0<<1,e[n0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)q1=j1,L1=i0,j1=O1,H1=q1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,f0=k1+1|0,d0=(f0|0)<(n|0),d0)p1=Q1,k1=f0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return I2(e0),a=0,C=h2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,V0=P1+(U1<<2)|0,G0=e[V0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=G0&H0,D0=(e1|0)==0,Y0=U1+1|0,!!D0;)if(P0=(Y0|0)<33,P0)U1=Y0,V1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!K)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(f1=e0+(x1<<2)|0,g1=e[f1>>2]|0,l1=c1<<24>>24,r2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>r2,A1=n1&1,z0=A1|a1,I1=r2+1|0,h1=(I1|0)<(l1|0),h1)r2=I1,E2=z0;else{f2=z0;break}else f2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=f2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(J0=e0+(w1<<2)|0,N0=e[J0>>2]|0,T0=p0<<24>>24,W1=0,A2=0;;)if(L0=A2<<1,M0=N0>>>W1,y0=M0&1,q0=y0|L0,x0=W1+1|0,b0=(x0|0)<(T0|0),b0)W1=x0,A2=q0;else{s2=q0;break}else s2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(K0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=s2,S1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function GS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0;if(H=C,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),L=_,x=+(D|0),F=1/x,M=F,T=+Dh(+L,+M),f=+Vo(+T),E=~~f,Y=E;;){for(S=Y+1|0,N=1,G=1,O=0;;)if(B=r5(N,Y)|0,v=r5(G,S)|0,w=O+1|0,y=(w|0)<(D|0),y)N=B,G=v,O=w;else{n=B,o=v;break}if(I=(n|0)<=(c|0),m=(o|0)>(c|0),z=I&m,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function US(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0;if(H5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,R1=n1&2097151,b1=+(R1|0),z1=n1>>>21,o2=z1&1023,N2=(n1|0)<0,X2=-b1,a=N2?X2:b1,v=o2+-788|0,T=+Zm(a,v),X=T,s0=t+20|0,p0=e[s0>>2]|0,q0=p0&2097151,V0=+(q0|0),G0=p0>>>21,O0=G0&1023,r1=(p0|0)<0,e1=-V0,c=r1?e1:V0,D0=O0+-788|0,i1=+Zm(c,D0),c1=i1,$1=e[t>>2]|0,f1=r5($1,n)|0,g1=n4(f1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(p1|0),w1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+Dh(+w1,+F1),k1=+Vo(+G1),U1=~~k1,$5=U1;;){for(f2=$5+1|0,n5=1,R2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(R2,f2)|0,s2=I5+1|0,d5=(s2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,R2=c2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),f5=N1&Z1,f5){x2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,R5=j2+$5|0,$5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(O1=(o|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,r2=t+28|0,_2=0,M1=0;;){if(O1)if(a2=e[q1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=r5($1,_2)|0,$2)for(B5=1,W2=0;;)if(D5=(M1|0)/(B5|0)&-1,Z2=(D5|0)%(x2|0)&-1,u5=a2+(Z2<<2)|0,v5=e[u5>>2]|0,P5=+(v5|0),H2=+Vi(+P5),l5=H2,k2=l5*Y1,m5=j1+k2,S=m5,w=i2+W2|0,y=g1+(w<<2)|0,s[y>>2]=S,D=r5(B5,x2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=D,W2=Q;else{Q5=21;break}else for(o5=1,g5=0,t5=0;;)if(L=(M1|0)/(o5|0)&-1,x=(L|0)%(x2|0)&-1,F=a2+(x<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+Vi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=i2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=r5(o5,x2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)o5=H,g5=U,t5=J;else{Q5=21;break}else if(E2=e[H1>>2]|0,A2=E2+M1|0,V1=d[A2>>0]|0,h2=V1<<24>>24==0,h2)B2=_2;else for(X1=e[q1>>2]|0,n2=e[r2>>2]|0,u2=(n2|0)==0,e2=o+(_2<<2)|0,y2=e[e2>>2]|0,v2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(x2|0)&-1,F2=X1+(C2<<2)|0,b2=e[F2>>2]|0,d2=+(b2|0),_5=+Vi(+d2),V2=_5,G2=V2*Y1,q2=s5,M2=q2+j1,P2=M2+G2,z2=P2,p5=u2?s5:z2,A5=v2+a5|0,O2=g1+(A5<<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=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),V=M1+1|0,a0=(V|0)<(p1|0),a0)_2=B2,M1=V;else{f=g1;break}}return f|0}else if((B|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return f=g1,f|0;for(A1=(o|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(A1?(n0=e[z0>>2]|0,i0=n0+S5|0,r0=d[i0>>0]|0,K=r0<<24>>24==0,K?L5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,l0=o+(C5<<2)|0,f0=r5($1,S5)|0,d0=r5($1,C5)|0,g2=0,J2=0;w0=f0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,u0=+(k0|0),b5=+Vi(+u0),B0=b5,I0=B0*h1,S0=J2,K0=S0+m1,_0=K0+I0,Q0=_0,h5=j?J2:Q0,A1?(L0=e[l0>>2]|0,M0=r5(L0,$1)|0,N0=M0+g2|0,U0=g1+(N0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,x0=g1+(y0<<2)|0,s[x0>>2]=Q0),b0=g2+1|0,T0=(b0|0)<($1|0),T0;)g2=b0,J2=h5;J0=C5+1|0,L5=J0}if(Y0=S5+1|0,P0=(Y0|0)<(s1|0),P0)C5=L5,S5=Y0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function hB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,n=t+36|0,o=e[n>>2]|0,a=(o|0)==0,!a&&(c=t+32|0,f=e[c>>2]|0,E=(f|0)==0,E||I2(f),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function PS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,n=t+16|0,o=e[n>>2]|0,m=(o|0)==0,m||I2(o),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),S=t+24|0,w=e[S>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||I2(a),f=t+32|0,E=e[f>>2]|0,I=(E|0)==0,I||I2(E),Q=t,x=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(x|0))}function fQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0;G0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,L=e[I>>2]|0,J=t+4|0,e[J>>2]=L,i0=t+8|0,e[i0>>2]=L,C0=e[n>>2]|0,e[t>>2]=C0,S0=n+8|0,K0=e[S0>>2]|0,_0=hQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),S=v,w=+(p|0),y=1/w,D=y,Q=+Dh(+S,+D),_=+Vo(+Q),x=~~_,J0=x;;){for(O=J0+1|0,L0=1,M0=1,U0=0;;)if(N=r5(L0,J0)|0,G=r5(M0,O)|0,z=U0+1|0,N0=(z|0)==(p|0),N0){c=N,f=G;break}else L0=N,M0=G,U0=z;if(F=(c|0)<=(m|0),M=(f|0)>(m|0),y0=M&F,y0){Y0=J0;break}T=(c|0)>(m|0),T0=T?-1:1,b0=T0+J0|0,J0=b0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-H,o=$0?Z:H,V=U+-788|0,a0=+Zm(o,V),n0=a0,q0=+CQ(n0),r0=~~q0,K=t+48|0,e[K>>2]=r0,h0=n+20|0,s0=e[h0>>2]|0,g0=s0&2097151,j=+(g0|0),l0=s0>>>21,f0=l0&1023,d0=(s0|0)<0,w0=-j,a=d0?w0:j,k0=f0+-788|0,u0=+Zm(a,k0),B0=u0,x0=+CQ(B0),p0=~~x0,I0=t+52|0,e[I0>>2]=p0,0}function OS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0;F3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(H2=n+8|0,p5=e[H2>>2]|0,H3=0,x6=0;;)if(Q5=p5+H3|0,J5=d[Q5>>0]|0,G3=J5<<24>>24>0,A6=G3&1,m=A6+x6|0,K5=H3+1|0,y=(K5|0)<(w|0),y)H3=K5,x6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,K0=e[n>>2]|0,e[t>>2]=K0,T0=(l0|0)>0,!T0)return a=0,C=F3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=hQ(I1,w,l0)|0,H1=l0<<2,f=H1,A2=C,C=C+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,A5=(z2|0)==0,A5||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,D5=(e5|0)==0,D5||I2(e5),u5=t+28|0,v5=e[u5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=F3,a|0}else D3=0;for(;q2=S1+(D3<<2)|0,Z2=e[q2>>2]|0,C5=Z2>>>16,L5=Z2<<16,d5=C5|L5,b5=d5>>>8,G5=b5&16711935,_5=d5<<8,I5=_5&-16711936,o5=G5|I5,c5=o5>>>4,B5=c5&252645135,M1=o5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,f5=s5<<1,i5=f5&-1431655766,R5=J2|i5,e[q2>>2]=R5,j2=A2+(D3<<2)|0,e[j2>>2]=q2,$5=D3+1|0,Y6=($5|0)==(l0|0),!Y6;)D3=$5;for(Lh(A2,l0,4,10),E=H1,x2=C,C=C+((1*E|0)+15&-16)|0,H5=S9(H1)|0,j5=t+20|0,e[j5>>2]=H5,E5=S1,q3=0;;)if(u3=A2+(q3<<2)|0,h3=e[u3>>2]|0,Y5=h3,X5=Y5-E5|0,n3=X5>>2,m3=x2+(n3<<2)|0,e[m3>>2]=q3,F5=q3+1|0,R6=(F5|0)==(l0|0),R6){z3=0;break}else q3=F5;for(;w3=S1+(z3<<2)|0,f3=e[w3>>2]|0,B3=x2+(z3<<2)|0,V3=e[B3>>2]|0,N3=H5+(V3<<2)|0,e[N3>>2]=f3,V5=z3+1|0,p6=(V5|0)==(l0|0),!p6;)z3=V5;if(I2(S1),y3=US(n,l0,x2)|0,Z5=t+16|0,e[Z5>>2]=y3,i6=S9(H1)|0,R3=t+24|0,e[R3>>2]=i6,a3=e[S>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,D6=0,I6=0;;)if(c3=p+D6|0,C3=d[c3>>0]|0,q5=C3<<24>>24>0,q5?(U5=I6+1|0,O5=x2+(I6<<2)|0,k5=e[O5>>2]|0,U3=i6+(k5<<2)|0,e[U3>>2]=D6,J6=U5):J6=I6,M5=D6+1|0,e3=(M5|0)<(a3|0),e3)D6=M5,I6=J6;else{V6=J6;break}else V6=0;if(o3=S9(V6)|0,x3=t+28|0,e[x3>>2]=o3,f6=t+40|0,e[f6>>2]=0,l3){for(B=e[i1>>2]|0,n5=0,k3=B,o6=0,W6=0;;)if(p3=k3+o6|0,Q3=d[p3>>0]|0,r6=Q3<<24>>24>0,r6?(W3=W6+1|0,P3=x2+(W6<<2)|0,v3=e[P3>>2]|0,g3=e[x3>>2]|0,O3=g3+v3|0,d[O3>>0]=Q3,l6=e[i1>>2]|0,d3=l6+o6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[f6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[f6>>2]=v6,R2=v6,_2=l6,G6=W3):(R2=S6,_2=l6,G6=W3)):(R2=n5,_2=k3,G6=W6),j3=o6+1|0,D=e[S>>2]|0,Q=(j3|0)<(D|0),Q)n5=R2,k3=_2,o6=j3,W6=G6;else{I=R2,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=F3,a|0;L3=1}else L3=e9}else L3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)L6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){b6=U6;break}else c=z,U6=Y;s9=b6+-3|0,L6=s9}if(J=t+36|0,W=(L6|0)<5,o=W?5:L6,e0=(o|0)>8,z6=e0?8:o,e[J>>2]=z6,H=1<>2]=X,$0=(L3|0)>0,$0)for(r0=z6,t3=0;;){if(V=e[x3>>2]|0,a0=V+t3|0,n0=d[a0>>0]|0,i0=n0<<24>>24,K=(r0|0)<(i0|0),K)B2=r0;else if(h0=e[j5>>2]|0,s0=h0+(t3<<2)|0,g0=e[s0>>2]|0,j=g0>>>16,f0=g0<<16,d0=j|f0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,u0=k0&-16711936,B0=C0|u0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,L0=Q0>>>2,M0=L0&858993459,N0=Q0<<2,U0=N0&-858993460,y0=M0|U0,q0=y0>>>1,x0=q0&1431655765,b0=y0<<1,J0=b0&-1431655766,Y0=x0|J0,P0=r0-i0|0,V0=(P0|0)==31,V0)B2=r0;else for(G0=t3+1|0,r1=i0,s3=0;;)if(O0=s3<>2]=G0,D0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,w1=Q1<<8,L1=w1&-16711936,F1=x1|L1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,b1=N1>>>2,K1=b1&858993459,O1=N1<<2,q1=O1&-858993460,Y1=K1|q1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=r2|P1,z1=X+(c2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(d6=a6;;){if(V1=d6+1|0,h2=(V1|0)<(L3|0),!h2){b3=d6;break}if(a2=e[j5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>E1>>>0,i2){b3=d6;break}else d6=V1}o2=(L3|0)>(C6|0);e:do if(o2)for(X1=e[j5>>2]|0,X3=C6;;){if(n2=X1+(X3<<2)|0,u2=e[n2>>2]|0,y2=u2&z0,v2=E1>>>0>>0,v2){S3=X3;break e}if(w2=X3+1|0,C2=(L3|0)>(w2|0),C2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);F2=L3-S3|0,b2=b3>>>0>32767,N2=F2>>>0>32767,u6=N2?32767:F2,N6=b3<<15,n6=N6|-2147483648,d2=b2?-1073774592:n6,V2=d2|u6,e[z1>>2]=V2,e6=S3,Q6=b3}else e6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(H|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=e6,O6=G2,a6=Q6}return C=F3,a|0}function HS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,o=e[t>>2]|0,a=e[o>>2]|0,c=e[n>>2]|0,f=e[c>>2]|0,E=a>>>0>f>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function qS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0;if(K0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,H=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,K=r0+4|0,h0=e[K>>2]|0,s0=(h0|0)>0,!!s0)){for(g0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,u0=1;;){v=g0-w0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(C0|0)/(w|0)&-1,D=(p|0)/(C0|0)&-1,Q=r5(D,y)|0,_=w+-1|0,L=r5(D,_)|0,x=d0-L|0,F=1-u0|0;do if((w|0)==2)if(Y=(F|0)==0,o=m+x|0,t0=H+(o<<2)|0,Y){EQ(D,y,n,H,t0),B0=0;break}else{EQ(D,y,H,n,t0),B0=F;break}else if((w|0)==4)if(T=x+D|0,N=(F|0)==0,a=m+x|0,G=H+(a<<2)|0,c=m+T|0,O=H+(c<<2)|0,f=m+D|0,E=f+T|0,z=H+(E<<2)|0,N){IQ(D,y,n,H,G,O,z),B0=0;break}else{IQ(D,y,H,n,G,O,z),B0=F;break}else if(J=(D|0)==1,k0=J?u0:F,W=(k0|0)==0,I=m+x|0,e0=H+(I<<2)|0,W){mQ(D,w,y,Q,n,n,n,H,H,e0),B0=1;break}else{mQ(D,w,y,Q,H,H,H,n,n,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=x,w0=X,C0=y,u0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)f0=0;else return;for(;Z=H+(f0<<2)|0,V=e[Z>>2]|0,a0=n+(f0<<2)|0,e[a0>>2]=V,n0=f0+1|0,j=(n0|0)==(p|0),!j;)f0=n0}}function uQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,L=t+4|0,e[L>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(_0=H0+1|0,Q0=(_0|0)<4,Q0?(L0=25768+(_0<<2)|0,m=e[L0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=f1;;){if(J0=P0+1|0,v=(g1|0)/(s1|0)&-1,S=r5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=_0,$1=P0,f1=g1,l1=s1;continue e}if(y=P0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(x0=1;x=J0-x0|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=x0+1|0,y0=(O|0)==(J0|0),!y0;)x0=O;e[K0>>2]=2}if(z=(v|0)==1,z){o=Q,Y0=J0,V0=P0;break e}else P0=J0,g1=v}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=Y0,t0=+(n|0),W=6.2831854820251465/t0,a=o^1,e0=(V0|0)>0,n1=e0&a,!!n1)for(H=n+1|0,G0=0,D0=0,i1=1;;){if(X=D0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=r5($0,i1)|0,V=(n|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(n0=(V|0)>2,r0=$0+-1|0,r1=G0,e1=0,c1=0;;){if(K=c1+i1|0,h0=+(K|0),s0=h0*W,n0)for(q0=0,b0=r1,T0=2;g0=q0+1,j=s0*g0,M0=+zo(+j),c=b0+n|0,l0=I+(c<<2)|0,s[l0>>2]=M0,A1=+Tn(+j),f0=b0+2|0,f=H+b0|0,d0=I+(f<<2)|0,s[d0>>2]=A1,w0=T0+2|0,k0=(w0|0)<(V|0),k0;)q0=g0,b0=f0,T0=w0;if(u0=r1+V|0,B0=e1+1|0,N0=(B0|0)==(r0|0),N0)break;r1=u0,e1=B0,c1=K}p0=r5(V,r0)|0,I0=p0+G0|0,O0=I0}else O0=G0;if(S0=D0+1|0,U0=(S0|0)==(V0|0),U0)break;G0=O0,D0=S0,i1=Z}}}function dQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(o=t+4|0,a=e[o>>2]|0,c=(a|0)==0,c||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 IQ(t,n,o,a,c,f,E){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0;if(u3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,g2=0,s5=I,f5=F1,j2=0,$5=m;M2=o+(s5<<2)|0,u5=+s[M2>>2],L5=o+(f5<<2)|0,p=+s[L5>>2],F=p+u5,e0=o+(j2<<2)|0,K=+s[e0>>2],u0=o+($5<<2)|0,U0=+s[u0>>2],O0=U0+K,s1=O0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-F,E1=V1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[u0>>2],R1=p1-Q1,x1=I1+y2|0,w1=x1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=R1,L1=+s[L5>>2],G1=+s[M2>>2],k1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=f5+t|0,b1=j2+t|0,K1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,f5=N1,j2=b1,$5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,x2=j,H5=l0;P1=i5+2|0,c2=x2+2|0,z1=H5+-2|0,f2=P1+I|0,s2=W2+-2|0,E2=c+(s2<<2)|0,A2=+s[E2>>2],h2=f2+-1|0,a2=o+(h2<<2)|0,t2=+s[a2>>2],$2=t2*A2,i2=W2+-1|0,o2=c+(i2<<2)|0,X1=+s[o2>>2],n2=o+(f2<<2)|0,u2=+s[n2>>2],e2=u2*X1,v2=e2+$2,w2=u2*A2,C2=X1*t2,F2=w2-C2,b2=f2+I|0,N2=f+(s2<<2)|0,d2=+s[N2>>2],V2=b2+-1|0,G2=o+(V2<<2)|0,q2=+s[G2>>2],P2=q2*d2,z2=f+(i2<<2)|0,A5=+s[z2>>2],O2=o+(b2<<2)|0,T1=+s[O2>>2],X2=T1*A5,x5=X2+P2,e5=T1*d2,D5=A5*q2,Z2=e5-D5,v5=b2+I|0,P5=E+(s2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=o+(k2<<2)|0,n5=+s[m5>>2],R2=n5*l5,_2=E+(i2<<2)|0,B2=+s[_2>>2],C5=o+(v5<<2)|0,d5=+s[C5>>2],b5=d5*B2,G5=b5+R2,_5=d5*l5,H2=B2*n5,I5=_5-H2,o5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=o+(P1<<2)|0,v=+s[B>>2],S=v+Z2,w=v-Z2,y=i5+1|0,D=o+(y<<2)|0,Q=+s[D>>2],_=Q+x5,L=Q-x5,x=o5+_,M=x2|1,T=a+(M<<2)|0,s[T>>2]=x,N=B5+S,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=H5+-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,H=c2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(H<<2)|0,s[Z>>2]=$0,V=_-o5,a0=z1+j1|0,n0=a0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=V,r0=B5-S,h0=a+(a0<<2)|0,s[h0>>2]=r0,s0=W2+2|0,g0=(s0|0)<(t|0),g0;)W2=s0,i5=P1,x2=c2,H5=z1;if(r2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(n|0),a5)break;p5=W1,h5=r2}if(f0=t&1,d0=(f0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,R5=p0,Q5=t,j5=t;I0=o+(J2<<2)|0,S0=+s[I0>>2],K0=o+(R5<<2)|0,_0=+s[K0>>2],Q0=_0+S0,L0=Q0*-.7071067690849304,M0=S0-_0,N0=M0*.7071067690849304,y0=j5+-1|0,q0=o+(y0<<2)|0,x0=+s[q0>>2],b0=N0+x0,T0=Q5+-1|0,J0=a+(T0<<2)|0,s[J0>>2]=b0,Y0=+s[q0>>2],P0=Y0-N0,V0=Q5+B0|0,G0=V0+-1|0,r1=a+(G0<<2)|0,s[r1>>2]=P0,H0=J2+I|0,e1=o+(H0<<2)|0,D0=+s[e1>>2],i1=L0-D0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+L0,g1=a+(V0<<2)|0,s[g1>>2]=f1,l1=J2+t|0,a1=R5+t|0,n1=Q5+k0|0,A1=j5+t|0,z0=t5+1|0,S5=(z0|0)==(n|0),!S5;)t5=z0,J2=l1,R5=a1,Q5=n1,j5=A1}}function EQ(t,n,o,a,c){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,f=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=f;n0=o+(d1<<2)|0,w0=+s[n0>>2],L0=o+(p1<<2)|0,P0=+s[L0>>2],f1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,m=+s[n0>>2],p=+s[L0>>2],B=m-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=d1+t|0,y=p1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=f;;){for(q0=E1<<1,x0=q0+E|0,z0=2,x1=Q1,S1=x0,L1=E1,F1=q0;T=x1+2|0,N=S1+-2|0,G=L1+2|0,O=F1+2|0,z=z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=o+(W<<2)|0,H=+s[e0>>2],X=H*J,U=z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],V=o+(T<<2)|0,a0=+s[V>>2],i0=a0*Z,r0=i0+X,K=a0*J,h0=Z*H,s0=K-h0,g0=o+(G<<2)|0,j=+s[g0>>2],l0=s0+j,f0=a+(O<<2)|0,s[f0>>2]=l0,d0=+s[g0>>2],C0=s0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,u0=L1+1|0,B0=o+(u0<<2)|0,p0=+s[B0>>2],I0=p0+r0,S0=F1|1,K0=a+(S0<<2)|0,s[K0>>2]=I0,_0=+s[B0>>2],Q0=_0-r0,M0=S1+-3|0,N0=a+(M0<<2)|0,s[N0>>2]=Q0,U0=z0+2|0,y0=(U0|0)<(t|0),y0;)z0=U0,x1=T,S1=N,L1=G,F1=O;if(x=E1+t|0,F=Q1+t|0,M=h1+1|0,A1=(M|0)==(n|0),A1)break;h1=M,E1=x,Q1=F}if(b0=(t|0)%2&-1,T0=(b0|0)==1,T0)return}if(J0=t+-1|0,!!_)for(Y0=f+J0|0,m1=0,B1=t,R1=Y0,w1=J0;V0=o+(R1<<2)|0,G0=+s[V0>>2],O0=-G0,r1=a+(B1<<2)|0,s[r1>>2]=O0,H0=o+(w1<<2)|0,e1=e[H0>>2]|0,D0=B1+-1|0,i1=a+(D0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,B1=c1,R1=$1,w1=g1}}function mQ(t,n,o,a,c,f,E,I,m,p){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0;p8=C,S=+(n|0),w=6.2831854820251465/S,u8=+zo(+w),M7=+Tn(+w),E2=n+1|0,p3=E2>>1,U9=t+-1|0,G4=U9>>1,L9=r5(o,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(Q7=(a|0)>0,Q7)for(we=0;l0=E+(we<<2)|0,K0=e[l0>>2]|0,T0=m+(we<<2)|0,e[T0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(o|0)>0,B8=1,H7=0;;){if(I1=H7+L9|0,Z)for(s7=0,e4=I1;S1=f+(e4<<2)|0,H1=e[S1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=H1,e2=e4+t|0,q2=s7+1|0,j9=(q2|0)==(o|0),!j9;)s7=q2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(n|0),s8)break;B8=Z2,H7=I1}if(C5=0-t|0,M1=(G4|0)>(o|0),M1){if(O)for(N3=(o|0)>0,q5=(t|0)>2,I3=C5,q9=1,S7=0;;){if(k3=S7+L9|0,k6=I3+t|0,N3)for(X3=k3-t|0,s3=k6+-1|0,a8=0,b7=X3;;){if(L3=b7+t|0,q5)for(A8=2,fe=s3,Et=L3;F3=fe+2|0,E6=Et+2|0,E9=fe+1|0,W4=p+(E9<<2)|0,T4=+s[W4>>2],N4=Et+1|0,a4=f+(N4<<2)|0,x4=+s[a4>>2],f4=x4*T4,Ce=p+(F3<<2)|0,H9=+s[Ce>>2],m9=f+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*H9,Xe=Ne+f4,Ge=I+(N4<<2)|0,s[Ge>>2]=Xe,U4=+s[W4>>2],j4=+s[m9>>2],De=j4*U4,e8=+s[Ce>>2],Z9=+s[a4>>2],oe=Z9*e8,u4=De-oe,_6=I+(E6<<2)|0,s[_6>>2]=u4,P4=A8+2|0,$4=(P4|0)<(t|0),$4;)A8=P4,fe=F3,Et=E6;if(_4=a8+1|0,n8=(_4|0)==(o|0),n8)break;a8=_4,b7=L3}if(ae=q9+1|0,I8=(ae|0)==(n|0),I8)break;I3=k6,q9=ae,S7=k3}}else if(O)for(f5=(t|0)>2,h3=(o|0)>0,qe=C5,re=1,T7=0;;){if(W9=qe+t|0,$e=T7+L9|0,f5)for(le=W9+-1|0,m8=2,o8=le,tt=$e;;){if(B4=o8+2|0,X4=tt+2|0,h3)for(L4=o8+1|0,ce=p+(L4<<2)|0,g6=p+(B4<<2)|0,$8=0,K7=X4;Ue=+s[ce>>2],l4=K7+-1|0,pe=f+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],be=f+(K7<<2)|0,_e=+s[be>>2],t8=_e*P6,k4=t8+c4,f8=I+(l4<<2)|0,s[f8>>2]=k4,Y3=+s[ce>>2],w9=+s[be>>2],B9=w9*Y3,F4=+s[g6>>2],ee=+s[pe>>2],$7=ee*F4,Re=B9-$7,l7=I+(K7<<2)|0,s[l7>>2]=Re,z8=K7+t|0,c7=$8+1|0,b8=(c7|0)==(o|0),!b8;)$8=c7,K7=z8;if(g7=m8+2|0,F8=(g7|0)<(t|0),F8)m8=g7,o8=B4,tt=X4;else break}if(M8=re+1|0,ge=(M8|0)==(n|0),ge)break;qe=W9,re=M8,T7=$e}if(T8=r5(L9,n)|0,N8=(G4|0)<(o|0),Z8=(p3|0)>1,!N8){if(!Z8)break;for(W8=(o|0)>0,y7=(t|0)>2,Ye=1,l8=0,Ut=T8;;){if(B0=l8+L9|0,p0=Ut-L9|0,W8)for(q4=0,it=B0,rt=p0;;){if(y7)for(ye=2,V7=it,yt=rt;I0=V7+2|0,S0=yt+2|0,_0=V7+1|0,Q0=I+(_0<<2)|0,L0=+s[Q0>>2],M0=yt+1|0,N0=I+(M0<<2)|0,U0=+s[N0>>2],y0=U0+L0,q0=f+(_0<<2)|0,s[q0>>2]=y0,x0=I+(I0<<2)|0,b0=+s[x0>>2],J0=I+(S0<<2)|0,Y0=+s[J0>>2],P0=b0-Y0,V0=f+(M0<<2)|0,s[V0>>2]=P0,G0=+s[x0>>2],O0=+s[J0>>2],r1=O0+G0,H0=f+(I0<<2)|0,s[H0>>2]=r1,e1=+s[N0>>2],D0=+s[Q0>>2],c1=e1-D0,$1=f+(S0<<2)|0,s[$1>>2]=c1,f1=ye+2|0,g1=(f1|0)<(t|0),g1;)ye=f1,V7=I0,yt=S0;if(l1=it+t|0,s1=rt+t|0,a1=q4+1|0,O4=(a1|0)==(o|0),O4)break;q4=a1,it=l1,rt=s1}if(n1=Ye+1|0,Le=(n1|0)==(p3|0),Le)break e;Ye=n1,l8=B0,Ut=p0}}if(Z8)for(D=(t|0)>2,Q=(o|0)>0,b9=1,q7=0,Gt=T8;;){if(_=q7+L9|0,L=Gt-L9|0,D)for(he=2,mt=_,pt=L;;){if(x=mt+2|0,F=pt+2|0,Q)for(M=F-t|0,T=x-t|0,_8=0,Kt=T,$i=M;N=Kt+t|0,G=$i+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],H=e0+t0,X=f+(z<<2)|0,s[X>>2]=H,U=I+(N<<2)|0,$0=+s[U>>2],V=I+(G<<2)|0,a0=+s[V>>2],n0=$0-a0,i0=f+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],K=+s[V>>2],h0=K+r0,s0=f+(N<<2)|0,s[s0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],f0=g0-j,d0=f+(G<<2)|0,s[d0>>2]=f0,w0=_8+1|0,D8=(w0|0)==(o|0),!D8;)_8=w0,Kt=N,$i=G;if(C0=he+2|0,k0=(C0|0)<(t|0),k0)he=C0,mt=x,pt=F;else break}if(u0=b9+1|0,r8=(u0|0)==(p3|0),r8)break;b9=u0,q7=_,Gt=L}}while(!1);if(y=(a|0)>0,y)for(Q4=0;A1=m+(Q4<<2)|0,z0=e[A1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=z0,m1=Q4+1|0,q8=(m1|0)==(a|0),!q8;)Q4=m1;if(d1=r5(a,n)|0,E1=(p3|0)>1,E1){for(B1=(o|0)>0,Y8=1,x8=0,Pt=d1;;){if(p1=x8+L9|0,Q1=Pt-L9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,A7=0,si=x1,oi=R1;w1=si+t|0,L1=oi+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(L1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=f+(w1<<2)|0,s[N1>>2]=Z1,b1=+s[k1>>2],K1=+s[F1>>2],O1=b1-K1,q1=f+(L1<<2)|0,s[q1>>2]=O1,Y1=A7+1|0,te=(Y1|0)==(o|0),!te;)A7=Y1,si=w1,oi=L1;if(j1=Y8+1|0,t7=(j1|0)==(p3|0),t7)break;Y8=j1,x8=p1,Pt=Q1}if(r2=n+-1|0,W1=r5(r2,a)|0,E1){for(P1=(p3|0)>2,G8=0,P8=1,Ke=1,D7=0,dt=d1;;){if(c2=D7+a|0,z1=dt-a|0,f2=P8*u8,s2=G8*M7,V1=f2-s2,h2=G8*u8,a2=P8*M7,t2=a2+h2,y)for(C8=0,Ht=c2,st=z1,zt=W1,Z7=a;$2=E+(C8<<2)|0,i2=+s[$2>>2],o2=Z7+1|0,X1=E+(Z7<<2)|0,n2=+s[X1>>2],u2=n2*V1,y2=u2+i2,v2=Ht+1|0,w2=m+(Ht<<2)|0,s[w2>>2]=y2,C2=zt+1|0,F2=E+(zt<<2)|0,b2=+s[F2>>2],N2=b2*t2,d2=st+1|0,V2=m+(st<<2)|0,s[V2>>2]=N2,G2=C8+1|0,f7=(G2|0)==(a|0),!f7;)C8=G2,Ht=v2,st=d2,zt=C2,Z7=o2;if(P1)for(U8=t2,k8=V1,u7=2,qt=a,N7=W1;;){if(M2=qt+a|0,P2=N7-a|0,z2=k8*V1,A5=U8*t2,O2=z2-A5,T1=U8*V1,X2=k8*t2,x5=X2+T1,y)for(i7=0,wt=c2,St=z1,Dt=M2,_7=P2;e5=Dt+1|0,D5=E+(Dt<<2)|0,u5=+s[D5>>2],v5=u5*O2,P5=wt+1|0,l5=m+(wt<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,n5=_7+1|0,R2=E+(_7<<2)|0,_2=+s[R2>>2],B2=_2*x5,L5=St+1|0,d5=m+(St<<2)|0,b5=+s[d5>>2],G5=b5+B2,s[d5>>2]=G5,_5=i7+1|0,w7=(_5|0)==(a|0),!w7;)i7=_5,wt=P5,St=L5,Dt=e5,_7=n5;if(H2=u7+1|0,e7=(H2|0)==(p3|0),e7)break;U8=x5,k8=O2,u7=H2,qt=M2,N7=P2}if(I5=Ke+1|0,k7=(I5|0)==(p3|0),k7)break;G8=t2,P8=V1,Ke=I5,D7=c2,dt=z1}if(E1)for(r7=1,V8=0;;){if(o5=V8+a|0,y)for(H4=0,Y7=o5;c5=Y7+1|0,B5=E+(Y7<<2)|0,S5=+s[B5>>2],g5=m+(H4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=H4+1|0,h7=(g2|0)==(a|0),!h7;)H4=g2,Y7=c5;if(p5=r7+1|0,Qe=(p5|0)==(p3|0),Qe)break;r7=p5,V8=o5}}}if(t5=(t|0)<(o|0),t5){if(J2=(t|0)>0,J2)for(i5=(o|0)>0,He=0;;){if(i5)for(Je=0,ue=He,J7=He;Y5=I+(ue<<2)|0,X5=e[Y5>>2]|0,n3=c+(J7<<2)|0,e[n3>>2]=X5,m3=ue+t|0,F5=J7+C9|0,J5=Je+1|0,xe=(J5|0)==(o|0),!xe;)Je=J5,ue=m3,J7=F5;if(w3=He+1|0,i8=(w3|0)==(t|0),i8)break;He=w3}}else if(s5=(o|0)>0,s5)for(h5=(t|0)>0,R8=0,Me=0,It=0;;){if(h5)for(Oe=0,Ot=Me,Yt=It;R5=Ot+1|0,j2=I+(Ot<<2)|0,$5=e[j2>>2]|0,x2=Yt+1|0,Q5=c+(Yt<<2)|0,e[Q5>>2]=$5,H5=Oe+1|0,S8=(H5|0)==(t|0),!S8;)Oe=H5,Ot=R5,Yt=x2;if(j5=Me+t|0,E5=It+C9|0,u3=R8+1|0,k9=(u3|0)==(o|0),k9)break;R8=u3,Me=j5,It=E5}if(f3=t<<1,B3=r5(L9,n)|0,E1)for(V3=(o|0)>0,n7=1,v7=0,Ct=0,Jt=B3;;){if(V5=v7+f3|0,y3=Ct+L9|0,Z5=Jt-L9|0,V3)for(p9=0,z7=V5,kt=y3,Wt=Z5;i6=I+(kt<<2)|0,R3=e[i6>>2]|0,G3=z7+-1|0,a3=c+(G3<<2)|0,e[a3>>2]=R3,l3=I+(Wt<<2)|0,c3=e[l3>>2]|0,C3=c+(z7<<2)|0,e[C3>>2]=c3,U5=z7+C9|0,O5=kt+t|0,k5=Wt+t|0,U3=p9+1|0,d8=(U3|0)==(o|0),!d8;)p9=U3,z7=U5,kt=O5,Wt=k5;if(M5=n7+1|0,Pe=(M5|0)==(p3|0),Pe)break;n7=M5,v7=V5,Ct=y3,Jt=Z5}if(!g4){if(A6=(G4|0)<(o|0),e3=0-t|0,!A6){if(!E1)return;for(B=(o|0)<1,v=(t|0)<3,v8=B|v,J8=1,a7=e3,Bt=0,nt=0,ai=B3;;){if(f6=a7+f3|0,Q3=Bt+f3|0,r6=nt+L9|0,W3=ai-L9|0,!v8)for(o7=0,Zt=f6,At=Q3,ke=r6,ot=W3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],j3=X9+ot|0,c6=j3+-1|0,p6=I+(c6<<2)|0,R6=+s[p6>>2],Y6=R6+B6,C6=X9+At|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=Y6,u6=+s[S6>>2],H3=+s[p6>>2],D3=u6-H3,q3=l6+Zt|0,z3=q3+-1|0,D6=c+(z3<<2)|0,s[D6>>2]=D3,o6=I+(d3<<2)|0,t3=+s[o6>>2],O6=I+(j3<<2)|0,a6=+s[O6>>2],d6=a6+t3,b3=c+(C6<<2)|0,s[b3>>2]=d6,N6=+s[O6>>2],n6=+s[o6>>2],Q6=N6-n6,x6=c+(q3<<2)|0,s[x6>>2]=Q6,V6=X9+2|0,I6=(V6|0)<(t|0),I6;)X9=V6;if(P3=Zt+C9|0,K5=At+C9|0,v3=ke+t|0,g3=ot+t|0,O3=o7+1|0,j8=(O3|0)==(o|0),j8)break;o7=O3,Zt=P3,At=K5,ke=v3,ot=g3}if(J6=J8+1|0,X8=(J6|0)==(p3|0),X8)break;J8=J6,a7=f6,Bt=Q3,nt=r6,ai=W3}return}if(E1)for(o3=(t|0)>2,x3=(o|0)>0,ie=1,ne=e3,Ai=0,Qt=0,Vt=B3;;){if(W6=ne+f3|0,G6=Ai+f3|0,e9=Qt+L9|0,s9=Vt-L9|0,o3&&(L6=W6+t|0,x3))for(Fe=2;;){for(D4=Fe+s9|0,b4=Fe+e9|0,R4=Fe+G6|0,M4=L6-Fe|0,K8=0,vt=M4,G7=R4,bt=b4,n9=D4;z6=bt+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,o9=+s[t9>>2],j6=o9+F6,f9=G7+-1|0,u9=c+(f9<<2)|0,s[u9>>2]=j6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=vt+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(bt<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],A4=E4+N9,h4=c+(G7<<2)|0,s[h4>>2]=A4,G9=+s[I9>>2],z9=+s[i9>>2],D9=G9-z9,H6=c+(vt<<2)|0,s[H6>>2]=D9,r9=vt+C9|0,m4=G7+C9|0,S4=bt+t|0,o4=n9+t|0,y9=K8+1|0,O8=(y9|0)==(o|0),!O8;)K8=y9,vt=r9,G7=m4,bt=S4,n9=o4;if(U6=Fe+2|0,b6=(U6|0)<(t|0),b6)Fe=U6;else break}if(C4=ie+1|0,H8=(C4|0)==(p3|0),H8)break;ie=C4,ne=W6,Ai=G6,Qt=e9,Vt=s9}}}function YS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,Pn=0,iA=0,Zr=0,rA=0,nA=0,sA=0,On=0,AA=0,Hn=0,qn=0,oA=0,Wr=0,Yn=0,jr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Xr=0,Vn=0,cA=0,Ir=0,en=0,gA=0,hA=0,tn=0,li=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,dA=0,ci=0,rn=0,IA=0,Xn=0,EA=0,mA=0,CA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,nn=0,Er=0,sn=0,vA=0,Zi=0,SA=0,is=0,An=0,rs=0,on=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,mr=0,as=0,gi=0,an=0,Cr=0,Wi=0,Br=0,Oi=0,pr=0,$s=0,Hi=0,Qi=0,yi=0,jt=0,wi=0,Qr=0,ji=0,Xi=0,yr=0,hi=0,RA=0,at=0,j$=0,$n=0,ln=0,Fh=0,X$=0,xA=0,Mh=0,jo=0,el=0,Th=0,Nh=0,Gh=0,Xo=0,tl=0,il=0,ea=0,cn=0,rl=0,Uh=0,LA=0,er=0,Ph=0,Oh=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,nl=0,wr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,FA=0,ia=0,ef=0,tf=0,ra=0,Al=0,ol=0,al=0,na=0,$l=0,MA=0,rf=0,nf=0,ll=0,sf=0,Af=0,cl=0,of=0,af=0,gl=0,hl=0,fl=0,ul=0,dl=0,gn=0,$f=0,Il=0,lf=0,El=0,ml=0,cf=0,gf=0,hf=0,sa=0,Cl=0,Bl=0,ls=0,pl=0,Aa=0,ff=0,Ql=0,uf=0,yl=0,df=0,If=0,wl=0,kl=0,Ef=0,TA=0,mf=0,oa=0,vl=0,Sl=0,Cf=0,Bf=0,pf=0,Qf=0,yf=0,wf=0,NA=0,Dl=0,bl=0,_l=0,GA=0,kf=0,Rl=0,vf=0,xl=0,Sf=0,Df=0,Ll=0,aa=0,bf=0,_f=0,UA=0,Rf=0,PA=0,xf=0,$a=0,Lf=0,Ff=0,Mf=0,Fl=0,Tf=0,Nf=0,Gf=0,Uf=0,Ml=0,Tl=0,tr=0,Nl=0,OA=0,la=0,ca=0,hn=0,Gl=0,fn=0,Pf=0,Ul=0,Of=0,Hf=0,qf=0,Yf=0,HA=0,ga=0,kr=0,Jf=0,Kf=0,Pl=0,ha=0,Ol=0,Hl=0,Vf=0,ql=0,zf=0,fa=0,Zf=0,Wf=0,P9=0,jf=0,Yl=0,Xf=0,eu=0,ua=0,tu=0,da=0,Jl=0,iu=0,ru=0,Kl=0,Vl=0,nu=0,Ia=0,Ea=0,zl=0,Zl=0,su=0,Wl=0,ma=0,Au=0,jl=0,ou=0,au=0,$u=0,lu=0,Xl=0,ec=0,Ca=0,qA=0,tc=0,cu=0,ic=0,rc=0,gu=0,hu=0,fu=0,nc=0,uu=0,du=0,Iu=0,Eu=0,mu=0,Cu=0,sc=0,Bu=0,Ac=0,pu=0,un=0,Qu=0,oc=0,yu=0,cs=0,ac=0,Ba=0,wu=0,YA=0,pa=0,ku=0,Qa=0,$c=0,vu=0,Su=0,Du=0,bu=0,_u=0,lc=0,Ru=0,xu=0,Lu=0,JA=0,gs=0,ya=0,Fu=0,wa=0,Mu=0,Tu=0,Nu=0,cc=0,Gu=0,Uu=0,Pu=0,Ou=0,Hu=0,KA=0,qu=0,Yu=0,gc=0,Ju=0,Ku=0,Vu=0,zu=0,fi=0,hc=0,ui=0,fc=0,ka=0,Zu=0,Xt=0,hs=0,Wu=0,ju=0,Xu=0,ed=0,td=0,uc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,Ad=0,Ic=0,od=0,ad=0,VA=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,dn=0,hd=0,fd=0,In=0,ud=0,Cc=0,dd=0,Id=0,us=0,Bc=0,Ed=0,pc=0,md=0,ir=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,ds=0,vd=0,En=0,Sd=0,Dd=0,Da=0,bd=0,ba=0,_a=0,_d=0,vc=0,Sc=0,Rd=0,Dc=0,bc=0,_c=0,xd=0,Rc=0,xc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,Ra=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Hc=0,xa=0,Kd=0,Vd=0,zd=0,qc=0,Yc=0,Zd=0,Jc=0,La=0,zA=0,Kc=0,Wd=0,jd=0,Xd=0,eI=0,Vc=0,ZA=0,tI=0,iI=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,WA=0,Zc=0,hI=0,fI=0,mn=0,Wc=0,jc=0,Fa=0,uI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,jA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,vr=0,sg=0,Ag=0,DI=0,og=0,XA=0,bI=0,_I=0,RI=0,eo=0,ag=0,xI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,to=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Is=0,OI=0,hg=0,HI=0,Na=0,fg=0,qI=0,YI=0,JI=0,KI=0,ug=0,VI=0,zI=0,dg=0,io=0,ZI=0,WI=0,jI=0,Es=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,ki=0,Bg=0,rr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,ro=0,pg=0,Qg=0,nE=0,no=0,ms=0,sE=0,so=0,Ua=0,AE=0,Pa=0,oE=0,aE=0,yg=0,Ao=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,W7=0,y4=0,ei=0,fE=0,vg=0,Sg=0,Oa=0,uE=0,Sr=0,Cs=0,dE=0,IE=0,Dg=0,Ha=0,EE=0,bg=0,_g=0,Rg=0,qa=0,Ya=0,xg=0,Bs=0,Ja=0,Lg=0,mE=0,Cn=0,CE=0,Fg=0,oo=0,BE=0,Mg=0,vi=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,Si=0,SE=0,DE=0,bE=0,Tg=0,di=0,ao=0,Ka=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,RE=0,xE=0,Og=0,Hg=0,LE=0,FE=0,qg=0,ME=0,ps=0,$o=0,lo=0,TE=0,Va=0,NE=0,GE=0,Yg=0,Qs=0,UE=0,PE=0,za=0,Za=0,co=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ys=0,sr=0,Bn=0,OE=0,Ar=0,pn=0,HE=0,_t=0,Rt=0,xt=0,go=0,ho=0,Jg=0,Kg=0,fo=0,t$=0,Lt=0,uo=0,_r=0,i$=0,qE=0,r$=0,YE=0,n$=0,Vg=0,Io=0,JE=0,KE=0,Eo=0,VE=0,mo=0,Qn=0,Ve=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,Co=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,Bo=0,yn=0,A$=0,ws=0,ks=0,j7=0,vs=0,jg=0,Xg=0,po=0,Ss=0,Ds=0,bs=0,sm=0,_s=0,or=0,eh=0,Rr=0,ii=0,o$=0,a$=0,qi=0,$$=0,l$=0,c$=0,xr=0,$6=0,Qo=0,Lr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Fr=0,Y4=0,h$=0,CB=0,Am=0,Xm=0,eC=0,BB=0,om=0,bQ=0,_Q=0,RQ=0,xQ=0,LQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,pB=0,QB=0,OQ=0,HQ=0,qQ=0,ih=0,tC=0,Ii=0,rh=0,nh=0,sh=0,Ah=0,am=0,$m=0,lm=0,cm=0,gm=0,hm=0,fm=0,um=0,dm=0,Im=0,iC=0,yo=0,ar=0,f$=0,oh=0,u$=0,yB=0,wo=0,Em=0,d$=0,rC=0,nC=0,mm=0,sC=0,AC=0,oC=0,aC=0,$C=0,lC=0,cC=0,wB=0,kB=0,vB=0,SB=0,DB=0,ko=0,vo=0,So=0,Do=0,YQ=0,$r=0,t4=0,CD=0,bo=0,gC=0;if(CD=C,g0=t+28|0,j=e[g0>>2]|0,X8=(j|0)==0,X8||(st=j+3456|0,$s=e[st>>2]|0,Dl=($s|0)==0,n=Dl&1,cs=j+3496|0,Dc=+o1[cs>>3],lg=Dc>-80,lg?o1[cs>>3]=-80:(xE=Dc<-200,xE&&(o1[cs>>3]=-200)),l0=j+3512|0,Z2=+o1[l0>>3],s3=Z2>0,s3?o1[l0>>3]=0:(C4=Z2<-99999,C4&&(o1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,L4=(_6|0)==0,L4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,Re=j+3400|0,W8=+o1[Re>>3],d8=_6+24|0,k7=e[d8>>2]|0,ge=_6+28|0,Fe=e[ge>>2]|0,ie=~~W8,K8=k7+(ie<<2)|0,M7=e[K8>>2]|0,V8=Fe+(ie<<2)|0,It=e[V8>>2]|0,e[j>>2]=M7,pt=j+4|0,e[pt>>2]=It,N7=(M7|0)==(It|0),Z7=_6+144|0,d7=e[Z7>>2]|0,tA=(d7|0)>0,tA){for(oA=_6+136|0,cA=_6+140|0,Wn=_6+148|0,Zi=W8,kr=j,iC=0;;){if(BA=~~Zi,os=e[oA>>2]|0,Hi=e[cA>>2]|0,at=e[Wn>>2]|0,Nh=at+(iC<<2)|0,Ph=e[Nh>>2]|0,wr=n4(1,1120)|0,Al=Ph+(BA<<2)|0,cl=e[Al>>2]|0,lf=Hi+(cl*1120|0)|0,s4(wr|0,lf|0,1120)|0,Aa=e[wr>>2]|0,mf=(Aa|0)>0,mf){for(bl=wr+4|0,tC=0,cC=-1;;)if(ma=bl+(tC<<2)|0,tc=e[ma>>2]|0,Eu=(tc|0)>(cC|0),t0=Eu?tc:cC,ac=tC+1|0,UQ=(ac|0)==(Aa|0),UQ){J=t0;break}else tC=ac,cC=t0;if(bf=(J|0)<0,!bf){for(Tf=wr+256|0,hn=kr+24|0,Zf=wr+192|0,iu=wr+320|0,u$=0,oC=-1;;){if(yc=Tf+(u$<<2)|0,En=e[yc>>2]|0,bc=(En|0)>(oC|0),z=bc?En:oC,Tc=e[hn>>2]|0,Pd=Tc+En|0,e[yc>>2]=Pd,qc=Zf+(u$<<2)|0,Vc=e[qc>>2]|0,$I=(Vc|0)==31,$I)aC=z;else for(y9=Vc,sC=0,lC=z;;)if(Fa=(iu+(u$<<5)|0)+(sC<<2)|0,jA=e[Fa>>2]|0,ng=(jA|0)>(lC|0),Y=ng?jA:lC,ag=(jA|0)>-1,ag?(cg=e[hn>>2]|0,YI=cg+jA|0,e[Fa>>2]=YI,e0=e[qc>>2]|0,Ua=e0):Ua=y9,Es=sC+1|0,iE=1<>2]|0,Zu=e[Yu>>2]|0,dc=e[hn>>2]|0,ld=dc+1|0,e[hn>>2]=ld,dd=(kr+1824|0)+(dc<<2)|0,e[dd>>2]=Zu,MQ=($C|0)==0,!MQ))for(yB=0;Ya=yB+1|0,Z=e[Al>>2]|0,Mg=os+(Z<<2)|0,bE=e[Mg>>2]|0,Og=bE+(Ya<<2)|0,NE=e[Og>>2]|0,nr=e[hn>>2]|0,HE=nr+1|0,e[hn>>2]=HE,uo=(kr+1824|0)+(nr<<2)|0,e[uo>>2]=NE,FQ=(Ya|0)==($C|0),!FQ;)yB=Ya}}if(Eo=kr+16|0,WE=e[Eo>>2]|0,Bo=(kr+800|0)+(WE<<2)|0,e[Bo>>2]=1,Ds=e[Eo>>2]|0,$$=(kr+1056|0)+(Ds<<2)|0,e[$$>>2]=wr,f0=e[Eo>>2]|0,_0=f0+1|0,e[Eo>>2]=_0,J0=iC+1|0,c1=e[Z7>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+o1[Re>>3],r0=e[g0>>2]|0,Zi=W,kr=r0,iC=J0}h0=e[g0>>2]|0,V5=h0}else V5=j;L1=j+3520|0,q1=+o1[L1>>3],A2=_6+124|0,e2=e[A2>>2]|0,q2=_6+128|0,u5=e[q2>>2]|0,L5=~~q1,S5=+(L5|0),i5=q1-S5,Y5=V5+2868|0,U5=u5+(L5<<3)|0,k3=+o1[U5>>3],k6=~~k3,X3=e2+(k6*492|0)|0,s4(Y5|0,X3|0,492)|0,a6=+o1[U5>>3],W6=1-i5,M6=a6*W6,T6=L5+1|0,H6=u5+(T6<<3)|0,D4=+o1[H6>>3],b4=D4*i5,R4=b4+M6,M4=~~R4,W4=+(M4|0),T4=R4-W4,U9=T4==0,N4=(M4|0)>0,wB=N4&U9,I=wB?1:T4,a4=wB<<31>>31,F=a4+M4|0,x4=1-I,f4=F+1|0,Ce=(e2+(F*492|0)|0)+4|0,H9=+s[Ce>>2],m9=H9,Be=x4*m9,Xe=(e2+(f4*492|0)|0)+4|0,G4=+s[Xe>>2],Ge=G4,U4=I*Ge,j4=Be+U4,De=j4,e8=V5+2872|0,s[e8>>2]=De,Z9=(e2+(F*492|0)|0)+32|0,oe=+s[Z9>>2],u4=oe,P4=x4*u4,L9=(e2+(f4*492|0)|0)+32|0,$4=+s[L9>>2],_4=$4,ae=I*_4,W9=P4+ae,$e=W9,le=V5+2900|0,s[le>>2]=$e,B4=(e2+(F*492|0)|0)+8|0,X4=+s[B4>>2],ce=X4,C9=x4*ce,g6=(e2+(f4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=V5+2876|0,s[P6>>2]=c4,be=(e2+(F*492|0)|0)+36|0,t8=+s[be>>2],g4=t8,k4=x4*g4,f8=(e2+(f4*492|0)|0)+36|0,Y3=+s[f8>>2],w9=Y3,B9=w9*I,F4=B9+k4,ee=F4,$7=V5+2904|0,s[$7>>2]=ee,l7=(e2+(F*492|0)|0)+12|0,Q7=+s[l7>>2],z8=Q7,c7=z8*x4,g7=(e2+(f4*492|0)|0)+12|0,F8=+s[g7>>2],M8=F8,T8=M8*I,N8=T8+c7,Z8=N8,y7=V5+2880|0,s[y7>>2]=Z8,G8=(e2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*x4,v8=(e2+(f4*492|0)|0)+40|0,u8=+s[v8>>2],O8=u8,H8=O8*I,j8=H8+k8,Pe=j8,xe=V5+2908|0,s[xe>>2]=Pe,i8=(e2+(F*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,h7=k9*x4,Qe=(e2+(f4*492|0)|0)+16|0,f7=+s[Qe>>2],w7=f7,e7=w7*I,te=e7+h7,t7=te,q8=V5+2884|0,s[q8>>2]=t7,D8=(e2+(F*492|0)|0)+44|0,r8=+s[D8>>2],O4=r8,Le=O4*x4,n8=(e2+(f4*492|0)|0)+44|0,I8=+s[n8>>2],b8=I8,j9=b8*I,s8=j9+Le,E8=s8,A8=V5+2912|0,s[A8>>2]=E8,m8=V5+3512|0,he=+o1[m8>>3],ye=he,Oe=V5+2936|0,s[Oe>>2]=ye,He=_6+132|0,X9=e[He>>2]|0,fe=j+3472|0,o8=+o1[fe>>3],we=o8,Q4=~~we,C8=+(Q4|0),i7=we-C8,H4=i7,I3=e[g0>>2]|0,qe=(X9|0)==0;e:do if(qe)B8=I3+4|0,q9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=q9,b9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=b9,Y8=I3+3244|0,e[Y8>>2]=q9,u7=I3+3304|0,e[u7>>2]=b9,r7=I3+3248|0,e[r7>>2]=q9,n7=I3+3308|0,e[n7>>2]=b9,J8=I3+3252|0,e[J8>>2]=q9,s7=I3+3312|0,e[s7>>2]=b9,a8=I3+3256|0,e[a8>>2]=q9,$8=I3+3316|0,e[$8>>2]=b9,_8=I3+3260|0,e[_8>>2]=q9,q4=I3+3320|0,e[q4>>2]=b9,A7=I3+3264|0,e[A7>>2]=q9,R8=I3+3324|0,e[R8>>2]=b9,Je=I3+3268|0,e[Je>>2]=q9,p9=I3+3328|0,e[p9>>2]=b9,o7=I3+3272|0,e[o7>>2]=q9,Ke=I3+3332|0,e[Ke>>2]=b9,H7=I3+3276|0,e[H7>>2]=q9,v7=I3+3336|0,e[v7>>2]=b9,a7=I3+3280|0,e[a7>>2]=q9,S7=I3+3340|0,e[S7>>2]=b9,ne=I3+3284|0,e[ne>>2]=q9,T7=I3+3344|0,e[T7>>2]=b9,q7=I3+3288|0,e[q7>>2]=q9,l8=I3+3348|0,e[l8>>2]=b9,x8=I3+3292|0,e[x8>>2]=q9,D7=I3+3352|0,e[D7>>2]=b9,Me=I3+3296|0,e[Me>>2]=q9,ue=I3+3356|0,e[ue>>2]=b9;else{e4=I3+3120|0,b7=X9+(Q4*240|0)|0,$r=e4,bo=b7,gC=$r+60|0;do e[$r>>2]=e[bo>>2]|0,$r=$r+4|0,bo=bo+4|0;while(($r|0)<(gC|0));tt=I3+3180|0,Gt=(X9+(Q4*240|0)|0)+60|0,$r=tt,bo=Gt,gC=$r+60|0;do e[$r>>2]=e[bo>>2]|0,$r=$r+4|0,bo=bo+4|0;while(($r|0)<(gC|0));if(Ut=j+3420|0,Pt=e[Ut>>2]|0,dt=(Pt|0)==0,!dt)for(Y7=1-H4,J7=Q4+1|0,Et=t+8|0,K7=I3+4|0,X=e[Et>>2]|0,mt=+(X|0),ar=0;;){if(it=((X9+(Q4*240|0)|0)+120|0)+(ar<<2)|0,si=+s[it>>2],Ot=si,Ct=Ot*Y7,Bt=((X9+(J7*240|0)|0)+120|0)+(ar<<2)|0,Ai=+s[Bt>>2],rt=Ai,oi=rt*H4,Ht=oi+Ct,qt=Ht,Yt=qt,Jt=Yt*1e3,nt=Jt/mt,Qt=e[I3>>2]|0,Kt=+(Qt|0),V7=Kt*nt,z7=~~V7,ai=(I3+3e3|0)+(ar<<2)|0,e[ai>>2]=z7,Vt=e[K7>>2]|0,$i=+(Vt|0),yt=$i*nt,zt=~~yt,wt=(I3+3060|0)+(ar<<2)|0,e[wt>>2]=zt,kt=~~qt,Zt=(I3+2940|0)+(ar<<2)|0,e[Zt>>2]=kt,vt=((X9+(Q4*240|0)|0)+180|0)+(ar<<2)|0,St=+s[vt>>2],Wt=St,At=Wt*Y7,G7=((X9+(J7*240|0)|0)+180|0)+(ar<<2)|0,Dt=+s[G7>>2],ke=Dt,bt=ke*H4,_7=bt+At,ot=_7,n9=ot,p8=n9*1e3,I7=p8/mt,R7=e[I3>>2]|0,zr=+(R7|0),dr=zr*I7,js=~~dr,Gn=(I3+3240|0)+(ar<<2)|0,e[Gn>>2]=js,Xs=e[K7>>2]|0,Un=+(Xs|0),eA=Un*I7,Pn=~~eA,iA=(I3+3300|0)+(ar<<2)|0,e[iA>>2]=Pn,Zr=ar+1|0,NQ=(Zr|0)==15,NQ)break e;ar=Zr}for(rA=(X9+(Q4*240|0)|0)+148|0,nA=+s[rA>>2],sA=nA,On=1-H4,AA=sA*On,Hn=Q4+1|0,qn=(X9+(Hn*240|0)|0)+148|0,Wr=+s[qn>>2],Yn=Wr,jr=Yn*H4,Jn=jr+AA,Kn=Jn,aA=Kn,$A=aA*1e3,lA=t+8|0,Xr=I3+4|0,Vn=~~Kn,$0=e[lA>>2]|0,Ir=+($0|0),en=$A/Ir,oh=0;gA=e[I3>>2]|0,hA=+(gA|0),tn=hA*en,li=~~tn,zn=(I3+3e3|0)+(oh<<2)|0,e[zn>>2]=li,fA=e[Xr>>2]|0,uA=+(fA|0),Zn=uA*en,jn=~~Zn,dA=(I3+3060|0)+(oh<<2)|0,e[dA>>2]=jn,ci=(I3+2940|0)+(oh<<2)|0,e[ci>>2]=Vn,rn=oh+1|0,PQ=(rn|0)==15,!PQ;)oh=rn;for(IA=(X9+(Q4*240|0)|0)+208|0,Xn=+s[IA>>2],EA=Xn,mA=EA*On,CA=(X9+(Hn*240|0)|0)+208|0,es=+s[CA>>2],pA=es,QA=pA*H4,yA=QA+mA,ts=yA,wA=ts,kA=wA*1e3,nn=kA/Ir,Em=0;Er=e[I3>>2]|0,sn=+(Er|0),vA=sn*nn,SA=~~vA,is=(I3+3240|0)+(Em<<2)|0,e[is>>2]=SA,An=e[Xr>>2]|0,rs=+(An|0),on=rs*nn,DA=~~on,ns=(I3+3300|0)+(Em<<2)|0,e[ns>>2]=DA,ss=Em+1|0,TQ=(ss|0)==15,!TQ;)Em=ss}while(!1);for(bA=+o1[Re>>3],As=_6+92|0,_A=e[As>>2]|0,mr=_6+100|0,as=e[mr>>2]|0,gi=_6+108|0,an=e[gi>>2]|0,Cr=e[g0>>2]|0,Wi=Cr+2852|0,Br=e[Wi>>2]|0,Oi=~~bA,pr=Cr+28|0,Qi=e[pr>>2]|0,yi=(Qi|0)>0,yi||(e[pr>>2]=1),jt=(Br|0)==0,jt?(wi=n4(1,520)|0,e[Wi>>2]=wi,ko=wi):ko=Br,s4(ko|0,25784,520)|0,e[ko>>2]=0,Qr=Cr+3460|0,ji=e[Qr>>2]|0,Xi=(ji|0)==0,Xi||(yr=ko+500|0,e[yr>>2]=1,hi=_A+(Oi<<2)|0,RA=e[hi>>2]|0,j$=ko+504|0,e[j$>>2]=RA,$n=as+(Oi<<2)|0,ln=e[$n>>2]|0,Fh=ko+508|0,e[Fh>>2]=ln,X$=an+(Oi<<3)|0,xA=+o1[X$>>3],Mh=ko+512|0,o1[Mh>>3]=xA),jo=+o1[Re>>3],el=e[As>>2]|0,Th=e[mr>>2]|0,Gh=e[gi>>2]|0,Xo=e[g0>>2]|0,tl=Xo+2856|0,il=e[tl>>2]|0,ea=~~jo,cn=Xo+28|0,rl=e[cn>>2]|0,Uh=(rl|0)>1,Uh||(e[cn>>2]=2),LA=(il|0)==0,LA?(er=n4(1,520)|0,e[tl>>2]=er,vo=er):vo=il,s4(vo|0,25784,520)|0,e[vo>>2]=0,Oh=Xo+3460|0,Hh=e[Oh>>2]|0,qh=(Hh|0)==0,qh||(Yh=vo+500|0,e[Yh>>2]=1,Jh=el+(ea<<2)|0,Kh=e[Jh>>2]|0,Vh=vo+504|0,e[Vh>>2]=Kh,zh=Th+(ea<<2)|0,Zh=e[zh>>2]|0,nl=vo+508|0,e[nl>>2]=Zh,Wh=Gh+(ea<<3)|0,jh=+o1[Wh>>3],sl=vo+512|0,o1[sl>>3]=jh),N7||(Xh=+o1[Re>>3],ta=_6+96|0,FA=e[ta>>2]|0,ia=_6+104|0,ef=e[ia>>2]|0,tf=e[gi>>2]|0,ra=e[g0>>2]|0,ol=ra+2860|0,al=e[ol>>2]|0,na=~~Xh,$l=ra+28|0,MA=e[$l>>2]|0,rf=(MA|0)>2,rf||(e[$l>>2]=3),nf=(al|0)==0,nf?(ll=n4(1,520)|0,e[ol>>2]=ll,So=ll):So=al,s4(So|0,25784,520)|0,e[So>>2]=1,sf=ra+3460|0,Af=e[sf>>2]|0,of=(Af|0)==0,of||(af=So+500|0,e[af>>2]=1,gl=FA+(na<<2)|0,hl=e[gl>>2]|0,fl=So+504|0,e[fl>>2]=hl,ul=ef+(na<<2)|0,dl=e[ul>>2]|0,gn=So+508|0,e[gn>>2]=dl,$f=tf+(na<<3)|0,Il=+o1[$f>>3],El=So+512|0,o1[El>>3]=Il),ml=+o1[Re>>3],cf=e[ta>>2]|0,gf=e[ia>>2]|0,hf=e[gi>>2]|0,sa=e[g0>>2]|0,Cl=sa+2864|0,Bl=e[Cl>>2]|0,ls=~~ml,pl=sa+28|0,ff=e[pl>>2]|0,Ql=(ff|0)>3,Ql||(e[pl>>2]=4),uf=(Bl|0)==0,uf?(yl=n4(1,520)|0,e[Cl>>2]=yl,Do=yl):Do=Bl,s4(Do|0,25784,520)|0,e[Do>>2]=1,df=sa+3460|0,If=e[df>>2]|0,wl=(If|0)==0,wl||(kl=Do+500|0,e[kl>>2]=1,Ef=cf+(ls<<2)|0,TA=e[Ef>>2]|0,oa=Do+504|0,e[oa>>2]=TA,vl=gf+(ls<<2)|0,Sl=e[vl>>2]|0,Cf=Do+508|0,e[Cf>>2]=Sl,Bf=hf+(ls<<3)|0,pf=+o1[Bf>>3],Qf=Do+512|0,o1[Qf>>3]=pf)),yf=(j+3528|0)+(n<<5)|0,wf=+o1[yf>>3],NA=_6+32|0,_l=e[NA>>2]|0,GA=_6+36|0,kf=e[GA>>2]|0,Rl=_6+44|0,vf=e[Rl>>2]|0,Vm(t,wf,0,_l,kf,vf),xl=j+3560|0,Sf=+o1[xl>>3],Df=e[NA>>2]|0,Ll=e[GA>>2]|0,aa=_6+52|0,_f=e[aa>>2]|0,Vm(t,Sf,1,Df,Ll,_f),N7||(UA=j+3592|0,Rf=+o1[UA>>3],PA=e[NA>>2]|0,xf=e[GA>>2]|0,$a=e[aa>>2]|0,Vm(t,Rf,2,PA,xf,$a),Lf=j+3624|0,Ff=+o1[Lf>>3],Mf=e[NA>>2]|0,Fl=e[GA>>2]|0,Nf=_6+48|0,Gf=e[Nf>>2]|0,Vm(t,Ff,3,Mf,Fl,Gf)),Uf=((j+3528|0)+(n<<5)|0)+24|0,Ml=+o1[Uf>>3],Tl=_6+80|0,tr=e[Tl>>2]|0,Nl=_6+84|0,OA=e[Nl>>2]|0,la=~~Ml,ca=+(la|0),Gl=Ml-ca,fn=e[g0>>2]|0,Pf=fn+2852|0,Ul=e[Pf>>2]|0,Of=OA+(la<<3)|0,Hf=+o1[Of>>3],qf=1-Gl,Yf=Hf*qf,HA=la+1|0,ga=OA+(HA<<3)|0,Jf=+o1[ga>>3],Kf=Jf*Gl,Pl=Kf+Yf,ha=~~Pl,Ol=+(ha|0),Hl=Pl-Ol,Vf=Hl==0,ql=(ha|0)>0,kB=ql&Vf,a=kB?1:Hl,zf=kB<<31>>31,M=zf+ha|0,fa=1-a,Wf=M+1|0,rh=0;P9=(tr+(M*160|0)|0)+(rh<<2)|0,jf=e[P9>>2]|0,Yl=+(jf|0),Xf=Yl*fa,eu=(tr+(Wf*160|0)|0)+(rh<<2)|0,ua=e[eu>>2]|0,tu=+(ua|0),da=tu*a,Jl=da+Xf,ru=Jl,Kl=(Ul+336|0)+(rh<<2)|0,s[Kl>>2]=ru,Vl=rh+1|0,_Q=(Vl|0)==40,!_Q;)rh=Vl;for(nu=j+3584|0,Ia=+o1[nu>>3],Ea=~~Ia,zl=+(Ea|0),Zl=Ia-zl,su=fn+2856|0,Wl=e[su>>2]|0,Au=OA+(Ea<<3)|0,jl=+o1[Au>>3],ou=1-Zl,au=jl*ou,$u=Ea+1|0,lu=OA+($u<<3)|0,Xl=+o1[lu>>3],ec=Xl*Zl,Ca=ec+au,qA=~~Ca,cu=+(qA|0),ic=Ca-cu,rc=ic==0,gu=(qA|0)>0,vB=gu&rc,c=vB?1:ic,hu=vB<<31>>31,T=hu+qA|0,fu=1-c,nc=T+1|0,nh=0;uu=(tr+(T*160|0)|0)+(nh<<2)|0,du=e[uu>>2]|0,Iu=+(du|0),mu=Iu*fu,Cu=(tr+(nc*160|0)|0)+(nh<<2)|0,sc=e[Cu>>2]|0,Bu=+(sc|0),Ac=Bu*c,pu=Ac+mu,un=pu,Qu=(Wl+336|0)+(nh<<2)|0,s[Qu>>2]=un,oc=nh+1|0,RQ=(oc|0)==40,!RQ;)nh=oc;if(!N7){for(yu=j+3616|0,Ba=+o1[yu>>3],wu=_6+88|0,YA=e[wu>>2]|0,pa=~~Ba,ku=+(pa|0),Qa=Ba-ku,$c=fn+2860|0,vu=e[$c>>2]|0,Su=YA+(pa<<3)|0,Du=+o1[Su>>3],_u=1-Qa,lc=Du*_u,Ru=pa+1|0,xu=YA+(Ru<<3)|0,Lu=+o1[xu>>3],JA=Lu*Qa,gs=JA+lc,ya=~~gs,Fu=+(ya|0),wa=gs-Fu,Tu=wa==0,Nu=(ya|0)>0,SB=Nu&Tu,f=SB?1:wa,cc=SB<<31>>31,N=cc+ya|0,Gu=1-f,Uu=N+1|0,sh=0;Pu=(tr+(N*160|0)|0)+(sh<<2)|0,Ou=e[Pu>>2]|0,Hu=+(Ou|0),KA=Hu*Gu,qu=(tr+(Uu*160|0)|0)+(sh<<2)|0,gc=e[qu>>2]|0,Ju=+(gc|0),Ku=Ju*f,Vu=Ku+KA,zu=Vu,fi=(vu+336|0)+(sh<<2)|0,s[fi>>2]=zu,hc=sh+1|0,xQ=(hc|0)==40,!xQ;)sh=hc;for(ui=j+3648|0,fc=+o1[ui>>3],ka=~~fc,Xt=+(ka|0),hs=fc-Xt,Wu=fn+2864|0,ju=e[Wu>>2]|0,Xu=YA+(ka<<3)|0,ed=+o1[Xu>>3],td=1-hs,uc=ed*td,id=ka+1|0,rd=YA+(id<<3)|0,nd=+o1[rd>>3],sd=nd*hs,fs=sd+uc,va=~~fs,Ad=+(va|0),Ic=fs-Ad,od=Ic==0,ad=(va|0)>0,DB=ad&od,E=DB?1:Ic,VA=DB<<31>>31,G=VA+va|0,$d=1-E,Ec=G+1|0,Ah=0;mc=(tr+(G*160|0)|0)+(Ah<<2)|0,cd=e[mc>>2]|0,gd=+(cd|0),dn=gd*$d,hd=(tr+(Ec*160|0)|0)+(Ah<<2)|0,fd=e[hd>>2]|0,In=+(fd|0),ud=In*E,Cc=ud+dn,Id=Cc,us=(ju+336|0)+(Ah<<2)|0,s[us>>2]=Id,Bc=Ah+1|0,LQ=(Bc|0)==40,!LQ;)Ah=Bc}for(Ed=((j+3528|0)+(n<<5)|0)+8|0,pc=+o1[Ed>>3],md=_6+40|0,ir=e[md>>2]|0,Sa=~~pc,Cd=+(Sa|0),Qc=pc-Cd,Bd=ir+(Sa<<2)|0,pd=e[Bd>>2]|0,wc=+(pd|0),Qd=1-Qc,yd=wc*Qd,wd=Sa+1|0,kc=ir+(wd<<2)|0,kd=e[kc>>2]|0,ds=+(kd|0),vd=ds*Qc,Sd=vd+yd,Dd=Sd,Da=Ul+32|0,s[Da>>2]=Dd,bd=j+3568|0,ba=+o1[bd>>3],_a=~~ba,_d=+(_a|0),vc=ba-_d,Sc=ir+(_a<<2)|0,Rd=e[Sc>>2]|0,_c=+(Rd|0),xd=1-vc,Rc=_c*xd,xc=_a+1|0,Ld=ir+(xc<<2)|0,Fd=e[Ld>>2]|0,Lc=+(Fd|0),Fc=Lc*vc,Md=Fc+Rc,Mc=Md,Td=Wl+32|0,s[Td>>2]=Mc,N7||(Nd=j+3600|0,Nc=+o1[Nd>>3],Ra=~~Nc,Gc=+(Ra|0),Uc=Nc-Gc,Pc=fn+2860|0,Oc=e[Pc>>2]|0,Gd=ir+(Ra<<2)|0,Ud=e[Gd>>2]|0,Od=+(Ud|0),Hd=1-Uc,qd=Od*Hd,Yd=Ra+1|0,Jd=ir+(Yd<<2)|0,Hc=e[Jd>>2]|0,xa=+(Hc|0),Kd=xa*Uc,Vd=Kd+qd,zd=Vd,Yc=Oc+32|0,s[Yc>>2]=zd,Zd=j+3632|0,Jc=+o1[Zd>>3],La=~~Jc,zA=+(La|0),Kc=Jc-zA,Wd=fn+2864|0,jd=e[Wd>>2]|0,Xd=ir+(La<<2)|0,eI=e[Xd>>2]|0,ZA=+(eI|0),tI=1-Kc,iI=ZA*tI,rI=La+1|0,nI=ir+(rI<<2)|0,sI=e[nI>>2]|0,AI=+(sI|0),oI=AI*Kc,aI=oI+iI,zc=aI,lI=jd+32|0,s[lI>>2]=zc),cI=((j+3528|0)+(n<<5)|0)+16|0,gI=+o1[cI>>3],WA=_6+76|0,Zc=e[WA>>2]|0,hI=_6+60|0,fI=e[hI>>2]|0,mn=_6+56|0,Wc=e[mn>>2]|0,Dl?Xc=0:(jc=j+3408|0,uI=+o1[jc>>3],Xc=uI),zm(t,gI,0,Zc,fI,Wc,Xc),dI=j+3576|0,eg=+o1[dI>>3],tg=e[WA>>2]|0,II=_6+64|0,EI=e[II>>2]|0,mI=e[mn>>2]|0,zm(t,eg,1,tg,EI,mI,0),N7?(Is=e[g0>>2]|0,OI=Is+2852|0,hg=e[OI>>2]|0,HI=Is+3496|0,Na=+o1[HI>>3],fg=Na,qI=hg+4|0,s[qI>>2]=fg,JI=Is+3504|0,KI=+o1[JI>>3],ug=KI,VI=hg+8|0,s[VI>>2]=ug,zI=Is+2856|0,dg=e[zI>>2]|0,io=dg+4|0,s[io>>2]=fg,ZI=dg+8|0,s[ZI>>2]=ug,rr=Is):(CI=j+3608|0,BI=+o1[CI>>3],Ma=e[WA>>2]|0,pI=_6+68|0,QI=e[pI>>2]|0,yI=e[mn>>2]|0,zm(t,BI,2,Ma,QI,yI,0),wI=j+3640|0,ig=+o1[wI>>3],kI=e[WA>>2]|0,rg=_6+72|0,vI=e[rg>>2]|0,SI=e[mn>>2]|0,zm(t,ig,3,kI,vI,SI,0),vr=e[g0>>2]|0,sg=vr+2852|0,Ag=e[sg>>2]|0,DI=vr+3496|0,og=+o1[DI>>3],XA=og,bI=Ag+4|0,s[bI>>2]=XA,_I=vr+3504|0,RI=+o1[_I>>3],eo=RI,xI=Ag+8|0,s[xI>>2]=eo,LI=vr+2856|0,$g=e[LI>>2]|0,FI=$g+4|0,s[FI>>2]=XA,MI=$g+8|0,s[MI>>2]=eo,Ta=vr+2860|0,to=e[Ta>>2]|0,TI=to+4|0,s[TI>>2]=XA,NI=to+8|0,s[NI>>2]=eo,GI=vr+2864|0,gg=e[GI>>2]|0,UI=gg+4|0,s[UI>>2]=XA,PI=gg+8|0,s[PI>>2]=eo,rr=vr),WI=+o1[Re>>3],jI=_6+152|0,Ig=e[jI>>2]|0,Eg=~~WI,XI=Ig+(Eg<<3)|0,mg=e[XI>>2]|0,Cg=(Ig+(Eg<<3)|0)+4|0,ki=e[Cg>>2]|0,Bg=e[rr>>2]|0,eE=rr+4|0,tE=e[eE>>2]|0,rE=(Bg|0)==(tE|0),o=rE?1:2,Ga=rr+8|0,ro=rr+12|0,pg=t+8|0,Qg=t+4|0,Ii=0;;){if(nE=n4(1,3208)|0,no=(rr+544|0)+(Ii<<2)|0,e[no>>2]=nE,ms=n4(1,16)|0,sE=(rr+32|0)+(Ii<<2)|0,e[sE>>2]=ms,so=26304+(Ii<<4)|0,e[ms>>2]=e[so>>2]|0,e[ms+4>>2]=e[so+4>>2]|0,e[ms+8>>2]=e[so+8>>2]|0,e[ms+12>>2]=e[so+12>>2]|0,AE=e[Ga>>2]|0,Pa=(Ii|0)<(AE|0),Pa||(oE=Ii+1|0,e[Ga>>2]=oE),aE=(rr+288|0)+(Ii<<2)|0,e[aE>>2]=0,yg=e[no>>2]|0,Ao=mg+(Ii*3208|0)|0,s4(yg|0,Ao|0,3208)|0,wg=e[ro>>2]|0,$E=(Ii|0)<(wg|0),$E||(lE=Ii+1|0,e[ro>>2]=lE),cE=e[Ao>>2]|0,kg=(cE|0)>0,kg)for(nC=0;;){hE=((mg+(Ii*3208|0)|0)+1092|0)+(nC<<2)|0,W7=e[hE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,fE=(y4+1568|0)+(W7<<2)|0,e[fE>>2]=ei,vg=(ki+(W7<<5)|0)+12|0,Sg=e[vg>>2]|0,s4(ei|0,Sg|0,2840)|0,Oa=y4+20|0,uE=e[Oa>>2]|0,Cs=(uE|0)>(W7|0),Cs||(dE=W7+1|0,e[Oa>>2]=dE),IE=(ki+(W7<<5)|0)+8|0,Dg=e[IE>>2]|0,Ha=ei+8|0,e[Ha>>2]=Dg,EE=ki+(W7<<5)|0,bg=e[EE>>2]|0,_g=(y4+1312|0)+(W7<<2)|0,e[_g>>2]=bg,Rg=y4+3420|0,qa=e[Rg>>2]|0,xg=(qa|0)==0,Bs=ei+12|0,Ja=e[Bs>>2]|0,Lg=(Ja|0)>0;do if(xg){if(Lg)for(Fg=(ki+(W7<<5)|0)+24|0,oo=e[Fg>>2]|0,BE=ei+24|0,wo=0;;)if(Ar=BE+(wo<<2)|0,pn=oo+(wo<<4)|0,_t=e[pn>>2]|0,Rt=(_t|0)==0,Rt||(xt=e[Ar>>2]|0,go=xt|1,e[Ar>>2]=go),ho=(oo+(wo<<4)|0)+4|0,Jg=e[ho>>2]|0,Kg=(Jg|0)==0,Kg||(k2=e[Ar>>2]|0,m5=k2|2,e[Ar>>2]=m5),n5=(oo+(wo<<4)|0)+8|0,R2=e[n5>>2]|0,_2=(R2|0)==0,_2||(B2=e[Ar>>2]|0,C5=B2|4,e[Ar>>2]=C5),d5=(oo+(wo<<4)|0)+12|0,b5=e[d5>>2]|0,G5=(b5|0)==0,G5||(_5=e[Ar>>2]|0,H2=_5|8,e[Ar>>2]=H2),I5=wo+1|0,o5=e[Bs>>2]|0,c5=(I5|0)<(o5|0),c5)wo=I5;else{mo=o5;break}else mo=Ja;fo=(ki+(W7<<5)|0)+16|0,t$=e[fo>>2]|0,Lt=y4+24|0,_r=e[Lt>>2]|0,i$=(_r|0)>0,qE=t$;e:do if(i$)for(Im=0;;){if(r$=(y4+1824|0)+(Im<<2)|0,YE=e[r$>>2]|0,n$=(YE|0)==(t$|0),n$){x=Im;break e}if(Vg=Im+1|0,Io=(Vg|0)<(_r|0),Io)Im=Vg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,JE=_r+1|0,e[Lt>>2]=JE,x=_r),KE=ei+20|0,e[KE>>2]=x,VE=(y4+1824|0)+(x<<2)|0,e[VE>>2]=qE,Qn=(mo|0)>0,!Qn)break;for(Ve=(ki+(W7<<5)|0)+24|0,v4=ei+280|0,Fr=0,d$=0;;){if(zg=e[Ve>>2]|0,zE=zg+(d$<<4)|0,s$=e[zE>>2]|0,Zg=(s$|0)==0,ZE=s$,Zg)ws=zg,Am=Fr;else{Co=e[Lt>>2]|0,jE=(Co|0)>0;e:do if(jE)for(gm=0;;){if(XE=(y4+1824|0)+(gm<<2)|0,em=e[XE>>2]|0,tm=(em|0)==(s$|0),tm){L=gm;break e}if(Wg=gm+1|0,im=(Wg|0)<(Co|0),im)gm=Wg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,rm=Co+1|0,e[Lt>>2]=rm,L=Co),nm=Fr+1|0,ti=v4+(Fr<<2)|0,e[ti>>2]=L,yn=(y4+1824|0)+(L<<2)|0,e[yn>>2]=ZE,n0=e[Ve>>2]|0,ws=n0,Am=nm}if(A$=(ws+(d$<<4)|0)+4|0,ks=e[A$>>2]|0,j7=(ks|0)==0,vs=ks,j7)E2=ws,Y4=Am;else{K1=e[Lt>>2]|0,O1=(K1|0)>0;e:do if(O1)for($m=0;;){if(H1=(y4+1824|0)+($m<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(ks|0),j1){D=$m;break e}if(r2=$m+1|0,W1=(r2|0)<(K1|0),W1)$m=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=K1+1|0,e[Lt>>2]=P1,D=K1),c2=Am+1|0,z1=v4+(Am<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=vs,i0=e[Ve>>2]|0,E2=i0,Y4=c2}if(s2=(E2+(d$<<4)|0)+8|0,V1=e[s2>>2]|0,h2=(V1|0)==0,a2=V1,h2)b2=E2,h$=Y4;else{t2=e[Lt>>2]|0,$2=(t2|0)>0;e:do if($2)for(lm=0;;){if(i2=(y4+1824|0)+(lm<<2)|0,o2=e[i2>>2]|0,X1=(o2|0)==(V1|0),X1){Q=lm;break e}if(n2=lm+1|0,u2=(n2|0)<(t2|0),u2)lm=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[Lt>>2]=y2,Q=t2),v2=Y4+1|0,w2=v4+(Y4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=a2,K=e[Ve>>2]|0,b2=K,h$=v2}if(F2=(b2+(d$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,V2=N2,d2)CB=h$;else{G2=e[Lt>>2]|0,M2=(G2|0)>0;e:do if(M2)for(cm=0;;){if(P2=(y4+1824|0)+(cm<<2)|0,z2=e[P2>>2]|0,A5=(z2|0)==(N2|0),A5){_=cm;break e}if(O2=cm+1|0,T1=(O2|0)<(G2|0),T1)cm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[Lt>>2]=X2,_=G2),x5=h$+1|0,e5=v4+(h$<<2)|0,e[e5>>2]=_,D5=(y4+1824|0)+(_<<2)|0,e[D5>>2]=V2,CB=x5}if(v5=d$+1|0,P5=e[Bs>>2]|0,l5=(v5|0)<(P5|0),l5)Fr=CB,d$=v5;else break}}else{if(Lg)for(mE=(ki+(W7<<5)|0)+28|0,Cn=e[mE>>2]|0,CE=ei+24|0,yo=0;;)if(vi=CE+(yo<<2)|0,pE=Cn+(yo<<4)|0,QE=e[pE>>2]|0,yE=(QE|0)==0,yE||(wE=e[vi>>2]|0,kE=wE|1,e[vi>>2]=kE),vE=(Cn+(yo<<4)|0)+4|0,Si=e[vE>>2]|0,SE=(Si|0)==0,SE||(A6=e[vi>>2]|0,e3=A6|2,e[vi>>2]=e3),o3=(Cn+(yo<<4)|0)+8|0,x3=e[o3>>2]|0,f6=(x3|0)==0,f6||(p3=e[vi>>2]|0,Q3=p3|4,e[vi>>2]=Q3),r6=(Cn+(yo<<4)|0)+12|0,W3=e[r6>>2]|0,P3=(W3|0)==0,P3||(K5=e[vi>>2]|0,v3=K5|8,e[vi>>2]=v3),g3=yo+1|0,O3=e[Bs>>2]|0,l6=(g3|0)<(O3|0),l6)yo=g3;else{qg=O3;break}else qg=Ja;DE=(ki+(W7<<5)|0)+20|0,Tg=e[DE>>2]|0,di=y4+24|0,ao=e[di>>2]|0,Ka=(ao|0)>0,Ng=Tg;e:do if(Ka)for(am=0;;){if(Gg=(y4+1824|0)+(am<<2)|0,_E=e[Gg>>2]|0,Ug=(_E|0)==(Tg|0),Ug){B=am;break e}if(Pg=am+1|0,RE=(Pg|0)<(ao|0),RE)am=Pg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Hg=ao+1|0,e[di>>2]=Hg,B=ao),LE=ei+20|0,e[LE>>2]=B,FE=(y4+1824|0)+(B<<2)|0,e[FE>>2]=Ng,ME=(qg|0)>0,!ME)break;for(ps=(ki+(W7<<5)|0)+28|0,$o=ei+280|0,Rs=0,f$=0;;){if(lo=e[ps>>2]|0,TE=lo+(f$<<4)|0,Va=e[TE>>2]|0,GE=(Va|0)==0,Yg=Va,GE)ys=lo,vn=Rs;else{Qs=e[di>>2]|0,UE=(Qs|0)>0;e:do if(UE)for(dm=0;;){if(PE=(y4+1824|0)+(dm<<2)|0,za=e[PE>>2]|0,Za=(za|0)==(Va|0),Za){y=dm;break e}if(co=dm+1|0,Wa=(co|0)<(Qs|0),Wa)dm=co;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,ja=Qs+1|0,e[di>>2]=ja,y=Qs),Dr=Rs+1|0,br=$o+(Rs<<2)|0,e[br>>2]=y,Xa=(y4+1824|0)+(y<<2)|0,e[Xa>>2]=Yg,H=e[ps>>2]|0,ys=H,vn=Dr}if(e$=(ys+(f$<<4)|0)+4|0,sr=e[e$>>2]|0,Bn=(sr|0)==0,OE=sr,Bn)R5=ys,wn=vn;else{B5=e[di>>2]|0,M1=(B5|0)>0;e:do if(M1)for(hm=0;;){if(g5=(y4+1824|0)+(hm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(sr|0),W2){v=hm;break e}if(g2=hm+1|0,p5=(g2|0)<(B5|0),p5)hm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[di>>2]=t5,v=B5),s5=vn+1|0,h5=$o+(vn<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=OE,V=e[ps>>2]|0,R5=V,wn=s5}if(f5=(R5+(f$<<4)|0)+8|0,j2=e[f5>>2]|0,$5=(j2|0)==0,x2=j2,$5)f3=R5,kn=wn;else{Q5=e[di>>2]|0,H5=(Q5|0)>0;e:do if(H5)for(fm=0;;){if(j5=(y4+1824|0)+(fm<<2)|0,E5=e[j5>>2]|0,u3=(E5|0)==(j2|0),u3){S=fm;break e}if(h3=fm+1|0,X5=(h3|0)<(Q5|0),X5)fm=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[di>>2]=n3,S=Q5),m3=wn+1|0,F5=$o+(wn<<2)|0,e[F5>>2]=S,J5=(y4+1824|0)+(S<<2)|0,e[J5>>2]=x2,a0=e[ps>>2]|0,f3=a0,kn=m3}if(w3=(f3+(f$<<4)|0)+12|0,B3=e[w3>>2]|0,V3=(B3|0)==0,N3=B3,V3)F9=kn;else{y3=e[di>>2]|0,Z5=(y3|0)>0;e:do if(Z5)for(um=0;;){if(i6=(y4+1824|0)+(um<<2)|0,R3=e[i6>>2]|0,G3=(R3|0)==(B3|0),G3){w=um;break e}if(a3=um+1|0,l3=(a3|0)<(y3|0),l3)um=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=y3+1|0,e[di>>2]=c3,w=y3),C3=kn+1|0,q5=$o+(kn<<2)|0,e[q5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=N3,F9=C3}if(k5=f$+1|0,U3=e[Bs>>2]|0,M5=(k5|0)<(U3|0),M5)Rs=F9,f$=k5;else break}}while(!1);jg=y4+3480|0,Xg=+o1[jg>>3],po=Xg*1e3,Ss=(y4+1056|0)+(Ii<<2)|0,bs=e[Ss>>2]|0,sm=e[pg>>2]|0,_s=+(sm|0),or=_s*.5,eh=y4+(Ii<<2)|0,Rr=e[eh>>2]|0,ii=Rr>>1,o$=po>or,pB=o$?or:po,a$=pB/or,qi=+(ii|0),l$=qi*a$,c$=~~l$,xr=bs+1116|0,e[xr>>2]=c$,$6=(ki+(W7<<5)|0)+4|0,Qo=e[$6>>2]|0;do if((Qo|0)==2)ih=250;else if((Qo|0)==1){if(Lr=e[Rg>>2]|0,th=(Lr|0)==0,ve=y4+2996|0,g$=y4+2968|0,qQ=th?g$:ve,HQ=e[qQ>>2]|0,OQ=+(HQ|0),QB=OQ*1e3,Q8=QB>or,!Q8){ih=QB;break}ih=or}else ih=pB;while(!1);d0=e[_g>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,u0=(k0|0)>0,u0)for(rC=0;;){if(B0=(y4+544|0)+(rC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(mm=0;;){K0=(p0+1092|0)+(mm<<2)|0,Q0=e[K0>>2]|0,L0=(Q0|0)==(W7|0);do if(L0){if(M0=e[Qg>>2]|0,N0=(M0|0)>0,N0)BB=0,AC=0;else{om=0;break}for(;;)if(U0=(p0+4|0)+(AC<<2)|0,y0=e[U0>>2]|0,q0=(y0|0)==(mm|0),x0=q0&1,O=x0+BB|0,b0=AC+1|0,bQ=(b0|0)==(M0|0),bQ){om=O;break}else BB=O,AC=b0}else om=0;while(!1);if(T0=mm+1|0,Y0=(T0|0)<(I0|0),P0=(om|0)==0,V0=Y0&P0,V0)mm=T0;else{eC=om;break}}else eC=0;if(G0=rC+1|0,O0=(G0|0)<(k0|0),r1=(eC|0)==0,H0=O0&r1,H0)rC=G0;else{Xm=eC;break}}else Xm=0;if(e1=ih/or,D0=+(Xm|0),i1=D0*qi,$1=i1*e1,f1=e[Ha>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,f1)|0,A1=ei+4|0,e[A1>>2]=n1,z0=r5(Xm,ii)|0,I1=(n1|0)>(z0|0),!I1){U=A1,Z1=n1,b1=f1;break}m1=(z0|0)%(f1|0)&-1,d1=z0-m1|0,e[A1>>2]=d1,U=A1,Z1=d1,b1=f1}else{if(E1=ih/or,B1=E1*qi,p1=e[Ha>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,w1=~~x1,S1=r5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,b1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,b1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=b1),d3=nC+1|0,v6=e[Ao>>2]|0,S6=(d3|0)<(v6|0),S6)nC=d3;else break}if(B6=Ii+1|0,j3=(B6|0)<(o|0),j3)Ii=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,R6=(p6|0)>0,R6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[g0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,u6=C6+3400|0,H3=+o1[u6>>3],D3=~~H3,q3=+(D3|0),z3=H3-q3,D6=e6+4|0,o6=e[D6>>2]|0,t3=(o6|0)==0,t3?p=-1:(O6=e[Qg>>2]|0,d6=o6+(D3<<3)|0,b3=+o1[d6>>3],N6=1-z3,n6=b3*N6,Q6=D3+1|0,x6=o6+(Q6<<3)|0,V6=+o1[x6>>3],I6=V6*z3,J6=I6+n6,L3=+(O6|0),G6=J6*L3,YQ=~~G6,p=YQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,L6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=L6,b6=j+3440|0,z6=e[b6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?s0=0:(F3=j+3444|0,t9=e[F3>>2]|0,o9=+(t9|0),j6=+(p6|0),f9=o9/j6,u9=~~f9,s0=u9),d9=t+24|0,e[d9>>2]=s0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[b6>>2]|0,A4=j+3368|0,e[A4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,D9=j+3448|0,E9=+o1[D9>>3],r9=j+3376|0,o1[r9>>3]=E9,m4=j+3432|0,S4=+o1[m4>>3],o4=j+3384|0,o1[o4>>3]=S4,m=0,m|0)}function JS(t,n,o,a){t=t|0,n=n|0,o=o|0,a=+a;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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=(o|0)<1,I)f=-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,p=KS(n,o,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return VS(t,n,o),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=YS(t)|0,D=(y|0)==0,D?(c=0,c|0):(lB(t),c=y,c|0);return lB(t),c=f,c|0}function Vm(t,n,o,a,c,f){t=t|0,n=+n,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~n,I=+(E|0),L=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(o<<2)|0,M0=e[C0>>2]|0,V0=a+(E*20|0)|0,g1=e[V0>>2]|0,h1=+(g1|0),m=1-L,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*L,D=y+p,Q=D,_=M0+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+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=M0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,H=e[e0>>2]|0,X=+(H|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,V=+(Z|0),a0=V*L,n0=a0+U,r0=n0,K=M0+20|0,s[K>>2]=r0,h0=(a+(E*20|0)|0)+12|0,s0=+s[h0>>2],g0=s0,j=g0*m,l0=(a+(B*20|0)|0)+12|0,f0=+s[l0>>2],d0=f0,w0=d0*L,k0=w0+j,u0=k0,B0=M0+24|0,s[B0>>2]=u0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,K0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],L0=Q0,N0=L0*L,U0=N0+K0,y0=U0,q0=M0+28|0,s[q0>>2]=y0,x0=c+(E<<2)|0,b0=e[x0>>2]|0,T0=+(b0|0),J0=T0*m,Y0=c+(B<<2)|0,P0=e[Y0>>2]|0,G0=+(P0|0),O0=G0*L,r1=O0+J0,H0=r1,e1=M0+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,f1=(f+(B*68|0)|0)+(d1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*L,n1=a1+$1,A1=n1,z0=(M0+36|0)+(d1<<2)|0,s[z0>>2]=A1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function zm(t,n,o,a,c,f,E){t=t|0,n=+n,o=o|0,a=a|0,c=c|0,f=f|0,E=+E;var I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),$0=n-y,j=t+28|0,S0=e[j>>2]|0,b0=(S0+2852|0)+(o<<2)|0,D0=e[b0>>2]|0,z0=a+(w<<2)|0,w1=e[z0>>2]|0,O1=+(w1|0),D=1-$0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,H=e0+z,X=H,U=D0+108|0,s[U>>2]=X,Z=f+(o*12|0)|0,V=e[Z>>2]|0,a0=D0+120|0,e[a0>>2]=V,n0=(f+(o*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=D0+124|0,e[r0>>2]=i0,K=(f+(o*12|0)|0)+8|0,h0=e[K>>2]|0,s0=D0+128|0,e[s0>>2]=h0,t2=0;;)if(g0=(c+(w*204|0)|0)+(t2<<2)|0,l0=e[g0>>2]|0,f0=+(l0|0),d0=f0*D,w0=(c+(Y*204|0)|0)+(t2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),u0=k0*$0,B0=u0+d0,p0=B0,I0=(D0+132|0)+(t2<<2)|0,s[I0>>2]=p0,K0=t2+1|0,V1=(K0|0)==17,V1){$2=0;break}else t2=K0;for(;;)if(x1=((c+(w*204|0)|0)+68|0)+($2<<2)|0,S1=e[x1>>2]|0,L1=+(S1|0),F1=L1*D,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,b1=N1,K1=(D0+200|0)+($2<<2)|0,s[K1>>2]=b1,H1=$2+1|0,h2=(H1|0)==17,h2){i2=0;break}else $2=H1;for(;q1=((c+(w*204|0)|0)+136|0)+(i2<<2)|0,Y1=e[q1>>2]|0,j1=+(Y1|0),r2=j1*D,W1=((c+(Y*204|0)|0)+136|0)+(i2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,f2=z1+r2,Q=f2,_=(D0+268|0)+(i2<<2)|0,s[_>>2]=Q,L=i2+1|0,a2=(L|0)==17,!a2;)i2=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,_0=1;I=(D0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(D0+132|0)+(_0<<2)|0,L0=B,M0=L0+E,N0=M0,U0=N0>2]=o2,q0=_0+1|0,s2=(q0|0)==17,!s2;)_0=q0;for(x0=D0+200|0,T0=+s[x0>>2],J0=T0+6,Y0=D0+200|0,P0=T0,V0=P0+E,G0=V0,O0=G0>2]=n2,r1=1;m=(D0+200|0)+(r1<<2)|0,v=+s[m>>2],H0=(D0+200|0)+(r1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,f1=r1+1|0,E2=(f1|0)==17,!E2;)r1=f1;for(g1=D0+268|0,l1=+s[g1>>2],s1=l1+6,a1=D0+268|0,n1=l1,A1=n1+E,I1=A1,h1=I1>2]=e2,m1=1;p=(D0+268|0)+(m1<<2)|0,S=+s[p>>2],d1=(D0+268|0)+(m1<<2)|0,E1=S,B1=E1+E,p1=B1,Q1=p1>2]=u2,R1=m1+1|0,A2=(R1|0)==17,!A2;)m1=R1}function KS(t,n,o,a,c){t=t|0,n=n|0,o=+o,a=a|0,c=c|0;var f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(H=26336,z0=0;;){if(e0=e[H>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,V=(U|0)==(t|0),d1=$0|V,d1&&(a0=e0+16|0,n0=e[a0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,K=e[r0>>2]|0,h0=(K|0)<(n|0),!h0&&(s0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,f0=+o1[j>>3],d0=f0>o,!d0&&(k0=j+(s0<<3)|0,u0=+o1[k0>>3],B0=u0>2]|0,K0=Z+12|0,T0=e[K0>>2]|0,i1=(T0|0)==-1,s1=(T0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,x=(L|0)<(n|0),!x&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+o1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=l0,p=T,l1=N;break e}if(A1=I1+1|0,J=26336+(A1<<2)|0,W=(A1|0)==17,W){f=0;break}else l0=J,I1=A1}return f|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),S=m1+1|0,!I0&&(_0=p+(S<<3)|0,Q0=+o1[_0>>3],L0=E>3],S0=v,m1=S}else h1=0;while(!1);return N0=(h1|0)==(I|0),N0?(U0=+(I|0),y0=U0+-.001,B1=y0):(q0=p+(h1<<3)|0,x0=+o1[q0>>3],b0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,P0=+o1[Y0>>3],V0=P0,G0=b0,O0=E-G0,r1=V0-b0,H0=r1,e1=O0/H0,D0=e1,c1=+(h1|0),$1=D0+c1,f1=$1,B1=f1),o1[c>>3]=B1,g1=e[m>>2]|0,f=g1,f|0}function VS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=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,k0=t+8|0,e[k0>>2]=o,N0=m+3456|0,e[N0>>2]=1,G0=m+3460|0,e[G0>>2]=1,r1=m+3400|0,H0=+o1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=m+3472|0,o1[S>>3]=H0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(p<<3)|0,F=+o1[L>>3],M=1-v,T=F*M,N=p+1|0,G=_+(N<<3)|0,O=+o1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,o1[t0>>3]=Y,c=N,f=M):(a=1-v,E=p+1|0,c=E,f=a),J=W+112|0,e0=e[J>>2]|0,H=e0+(p<<2)|0,X=e[H>>2]|0,U=+(X|0),$0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,a0=+(V|0),n0=a0*v,i0=n0+$0,K=m+3496|0,o1[K>>3]=i0,h0=W+116|0,s0=e[h0>>2]|0,g0=s0+(p<<2)|0,j=e[g0>>2]|0,l0=+(j|0),f0=l0*f,d0=s0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),u0=C0*v,B0=u0+f0,p0=m+3504|0,o1[p0>>3]=B0,I0=m+3512|0,o1[I0>>3]=-6,S0=m+3520|0,o1[S0>>3]=H0,K0=m+3528|0,o1[K0>>3]=H0,_0=m+3536|0,o1[_0>>3]=H0,Q0=m+3544|0,o1[Q0>>3]=H0,L0=m+3552|0,o1[L0>>3]=H0,M0=m+3560|0,o1[M0>>3]=H0,U0=m+3568|0,o1[U0>>3]=H0,y0=m+3576|0,o1[y0>>3]=H0,q0=m+3584|0,o1[q0>>3]=H0,x0=m+3592|0,o1[x0>>3]=H0,b0=m+3600|0,o1[b0>>3]=H0,T0=m+3608|0,o1[T0>>3]=H0,J0=m+3616|0,o1[J0>>3]=H0,Y0=m+3624|0,o1[Y0>>3]=H0,P0=m+3632|0,o1[P0>>3]=H0,V0=m+3640|0,o1[V0>>3]=H0,O0=m+3648|0,o1[O0>>3]=H0}function zS(t,n,o,a,c,f){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,x=I?f:0,W=n+(m<<2)|0,r0=e[W>>2]|0,k0=520336+(r0<<2)|0,S0=e[k0>>2]|0,K0=n+(x<<2)|0,_0=e[K0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=o+(c<<2)|0,v=e[B>>2]|0,S=o+(m<<2)|0,w=e[S>>2]|0,y=o+(x<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,F=(w|0)/2&-1,M=L+F|0,T=(v|0)/2&-1,N=T+Q|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(L|0)>0,Y?(t0=Q-_|0,J=t0<<2,Ae(t|0,0,J|0)|0,M0=L):M0=0,e0=(M0|0)<(M|0),e0)for(H=Q+F|0,X=H-M0|0,U=X-_|0,N0=M0,q0=0;a0=S0+(q0<<2)|0,n0=+s[a0>>2],i0=t+(N0<<2)|0,K=+s[i0>>2],h0=K*n0,s[i0>>2]=h0,s0=N0+1|0,g0=q0+1|0,L0=(g0|0)==(U|0),!L0;)N0=s0,q0=g0;if($0=(D|0)>1,$0){for(Z=G+1|0,V=(z|0)>(Z|0),y0=G,b0=O;x0=b0+-1|0,d0=p+(x0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,u0=+s[C0>>2],B0=u0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,b0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(T0=t+(U0<<2)|0,l0=v-U0|0,f0=l0<<2,Ae(T0|0,0,f0|0)|0)}function ZS(t,n,o){t=t|0,n=+n,o=+o;var a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0;if(K=C,C=C+64|0,i0=K+32|0,n0=K,a=S9(688)|0,c=a+408|0,$S(c),D=~~n,JS(c,t,D,o)|0,z=a+440|0,AS(z),oS(z,553008,553016),X=a+456|0,Nv(X,c)|0,U=a+568|0,Mv(X,U)|0,$0=Yp(0)|0,rD($0),Z=nD()|0,vv(a,Z)|0,V=a+680|0,e[V>>2]=0,a0=a+684|0,e[a0>>2]=0,f=a+360|0,lS(X,z,f,i0,n0)|0,Jm(a,f)|0,Jm(a,i0)|0,Jm(a,n0)|0,E=a+392|0,I=Kp(a,E)|0,m=(I|0)==0,m)return C=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[a0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[V>>2]|0,T=Pi(M,_)|0,e[V>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[a0>>2]=H),x=Kp(a,E)|0,F=(x|0)==0,!F;);return C=K,a|0}function WS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0;m=C,Sv(t)|0,n=t+568|0,Tv(n)|0,o=t+456|0,Wp(o),a=t+440|0,aS(a),c=t+408|0,lB(c),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function jS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0;return f=C,o=t+456|0,a=jp(o,n)|0,a|0}function XS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0;if(K=C,o=t+456|0,Gv(o,n)|0,a=t+568|0,y=Xp(o,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,V=t+684|0,a0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(Rv(a,0)|0,Fv(a)|0,m=Zp(o,$0)|0,p=(m|0)==0,!p)for(;;){if(Jm(t,$0)|0,S=Vp(t,Z)|0,w=(S|0)==0,!w)for(;D=e[V>>2]|0,Q=e[a0>>2]|0,_=Q+D|0,L=e[n0>>2]|0,x=_+L|0,F=(x|0)==0,F||(N=e[i0>>2]|0,G=Pi(N,x)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[V>>2]=W,e0=G+W|0,H=e[f>>2]|0,X=e[n0>>2]|0,s4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),M=Vp(t,Z)|0,T=(M|0)==0,!T;);if(B=Zp(o,$0)|0,v=(B|0)==0,v)break}if(E=Xp(o,a)|0,I=(E|0)==1,!I)break}}function eD(t){t=t|0;var n=0,o=0,a=0,c=0;return c=C,n=t+684|0,o=e[n>>2]|0,o|0}function tD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;return f=C,n=t+684|0,e[n>>2]=0,o=t+680|0,a=e[o>>2]|0,a|0}function Zm(t,n){t=+t,n=n|0;var o=0,a=0,c=0;return c=C,o=+iD(t,n),+o}function Lh(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0;if(x3=C,C=C+688|0,e3=x3+424|0,Y5=x3+192|0,Z5=x3,X=r5(o,n)|0,U=(X|0)==0,U){C=x3;return}for(J=X-o|0,q1=Z5+4|0,e[q1>>2]=o,e[Z5>>2]=o,e2=o,u5=o,w3=2;A2=e2+o|0,M2=A2+u5|0,L5=Z5+(w3<<2)|0,e[L5>>2]=M2,S5=M2>>>0>>0,i5=w3+1|0,S5;)y2=u5,u5=M2,w3=i5,e2=y2;if($0=0-o|0,j=t+J|0,S0=(J|0)>0,S0)for(b0=(o|0)==0,D0=j,w1=1,z2=0,F5=t,U5=1;;){z0=w1&3,K1=(z0|0)==3;do if(K1){e[Y5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,V5=1;;){if(H1=Q+$0|0,Y1=B+-2|0,j1=Z5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+o|0,W=0-M5|0,W1=Q+W|0,c2=ut[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(f2=ut[a&15](P1,H1)|0,s2=(f2|0)>-1,s2)){f3=V5;break}if(E2=ut[a&15](W1,H1)|0,V1=(E2|0)>-1,h2=V5+1|0,a2=Y5+(V5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,m=t2):(e[a2>>2]=H1,f=H1,m=Y1),$2=(m|0)>1,!$2){f3=h2;break}O=e[Y5>>2]|0,B=m,Q=f,P1=O,V5=h2}if(i2=(f3|0)<2,!i2&&(o2=Y5+(f3<<2)|0,e[o2>>2]=e3,!b0))for(y=o,G2=e3;;){for(d2=y>>>0>256,n2=d2?256:y,V2=e[Y5>>2]|0,s4(G2|0,V2|0,n2|0)|0,b2=V2,V3=0;v2=Y5+(V3<<2)|0,w2=V3+1|0,C2=Y5+(w2<<2)|0,F2=e[C2>>2]|0,s4(b2|0,F2|0,n2|0)|0,N2=b2+n2|0,e[v2>>2]=N2,X5=(w2|0)==(f3|0),!X5;)b2=F2,V3=w2;if(X1=(y|0)==(n2|0),X1)break e;u2=y-n2|0,Y=e[o2>>2]|0,y=u2,G2=Y}}while(!1);q2=w1>>>2,P2=z2<<30,A5=q2|P2,O2=z2>>>2,T1=U5+2|0,r0=A5,b1=O2,O5=T1}else{if(X2=U5+-1|0,x5=Z5+(X2<<2)|0,e5=e[x5>>2]|0,D5=F5,Z2=D0-D5|0,v5=e5>>>0>>0,v5){e[Y5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,y3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=Z5+(k2<<2)|0,n5=e[m5>>2]|0,A6=n5+o|0,e0=0-A6|0,R2=_+e0|0,B2=ut[a&15](_2,R2)|0,C5=(B2|0)>-1,C5&&(d5=ut[a&15](_2,l5)|0,b5=(d5|0)>-1,b5)){B3=y3;break}if(G5=ut[a&15](R2,l5)|0,_5=(G5|0)>-1,H2=y3+1|0,I5=Y5+(y3<<2)|0,_5?(e[I5>>2]=R2,o5=v+-1|0,E=R2,p=o5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){B3=H2;break}z=e[Y5>>2]|0,v=p,_=E,_2=z,y3=H2}if(B5=(B3|0)<2,!B5&&(M1=Y5+(B3<<2)|0,e[M1>>2]=e3,!b0))for(D=o,j2=e3;;){for(f5=D>>>0>256,a5=f5?256:D,R5=e[Y5>>2]|0,s4(j2|0,R5|0,a5|0)|0,h5=R5,N3=0;g2=Y5+(N3<<2)|0,p5=N3+1|0,t5=Y5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(p5|0)==(B3|0),!n3;)h5=s5,N3=p5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else Wm(F5,o,a,w1,z2,U5,0,Z5);if($5=(U5|0)==1,$5){x2=z2<<1,Q5=w1>>>31,H5=Q5|x2,j5=w1<<1,r0=j5,b1=H5,O5=0;break}else{E5=X2>>>0>31,u3=U5+-33|0,c=E5?0:w1,L=E5?w1:z2,x=E5?u3:X2,h3=L<>>Z,a0=V|h3,n0=c<>>0>>0,h0)w1=i0,z2=b1,F5=K,U5=O5;else{T=b1,N=i0,m3=K,q5=O5;break}}else T=0,N=1,m3=t,q5=1;if(Wm(m3,o,a,N,T,q5,0,Z5),s0=(q5|0)==1,g0=(N|0)==1,C3=g0&s0,l0=(T|0)==0,c3=l0&C3,c3){C=x3;return}else w0=N,Q0=T,J5=m3,k5=q5;for(;;){if(f0=(k5|0)<2,!f0){O0=Q0<<2,r1=w0>>>30,H0=r1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=Z5+(e1<<2)|0,a1=e[s1>>2]|0,U3=a1+o|0,H=0-U3|0,n1=J5+H|0,A1=k5+-1|0,Wm(n1,o,a,g1,l1,A1,1,Z5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=J5+$0|0,Wm(B1,o,a,E1,m1,e1,1,Z5),w0=E1,Q0=m1,J5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)G0=32,o3=56;else{if(k0=d0&1,u0=(k0|0)==0,u0){for(S=d0,i6=0;;)if(B0=i6+1|0,p0=S>>>1,I0=p0&1,K0=(I0|0)==0,K0)S=p0,i6=B0;else{F=B0;break}_0=(F|0)==0,_0?o3=51:Y0=F}else o3=51;if((o3|0)==51){if(o3=0,L0=(Q0|0)==0,L0){G0=64,o3=56;break}if(M0=Q0&1,N0=(M0|0)==0,N0)w=Q0,R3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=R3+1|0,y0=w>>>1,q0=y0&1,x0=(q0|0)==0,x0)w=y0,R3=U0;else{M=U0,G3=R3;break}if(T0=G3+33|0,J0=(M|0)==0,J0){I=0,Q1=w0,S1=Q0,k1=0;break}else Y0=T0}P0=Y0>>>0>31,P0?(G0=Y0,o3=56):(I=Y0,Q1=w0,S1=Q0,k1=Y0)}while(!1);if((o3|0)==56&&(o3=0,V0=G0+-32|0,I=V0,Q1=Q0,S1=0,k1=G0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=k1+k5|0,G=J5+$0|0,U1=(G1|0)==1,Z1=(L1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=L1,Q0=F1,J5=G,k5=G1}C=x3}function Wm(t,n,o,a,c,f,E,I){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0;B2=C,C=C+720|0,R2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-n|0,$0=(a|0)!=1,Q0=(c|0)!=0,Y0=Q0|$0;e:do if(Y0)if($1=I+(f<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,V1=ut[o&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,L=f,G=E,O2=1,_2=18;else for(w=t,T=f,O=E,I0=Y1,O0=c,D5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,u0=T+-2|0,B0=I+(u0<<2)|0,p0=e[B0>>2]|0,S0=ut[o&15](k0,I0)|0,K0=(S0|0)>-1,K0){v=w,x=T,X2=D5;break e}if(m5=p0+n|0,H=0-m5|0,_0=w+H|0,L0=ut[o&15](_0,I0)|0,M0=(L0|0)>-1,M0){v=w,x=T,X2=D5;break e}}N0=D5+1|0,U0=M2+(D5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,q0=(y0|0)==0;do if(q0)A1=32,_2=15;else{if(x0=y0&1,b0=(x0|0)==0,b0){for(Q=y0,u5=0;;)if(T0=u5+1|0,J0=Q>>>1,P0=J0&1,V0=(P0|0)==0,V0)Q=J0,u5=T0;else{z=T0;break}G0=(z|0)==0,G0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(O0|0)==0,r1){A1=64,_2=15;break}if(H0=O0&1,e1=(H0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,R1=0;break}for(;;)if(D0=v5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,v5=D0;else{Y=D0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(A1=s1,_2=15):(p=s1,I1=k2,E1=O0,R1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=A1+-32|0,p=n1,I1=O0,E1=0,R1=A1),z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=R1+T|0,x1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|x1,!S1){v=I0,x=Q1,X2=N0;break e}if(t0=e[M2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=ut[o&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,L=Q1,G=0,O2=N0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,D5=N0,k2=B1,w=y}else B=t,L=f,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(b1=(G|0)==0,b1)v=B,x=L,X2=O2;else{C=B2;return}K1=(X2|0)<2;e:do if(!K1&&(O1=M2+(X2<<2)|0,e[O1>>2]=R2,H1=(n|0)==0,!H1))for(M=n,h2=R2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,f2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,A5=(P1|0)==(X2|0),!A5;)f2=z1,e5=P1;if(q1=(M|0)==(j1|0),q1)break e;r2=M-j1|0,e0=e[O1>>2]|0,M=r2,h2=e0}while(!1);e[P2>>2]=v,a2=(x|0)>1;e:do if(a2){for(D=x,N=v,n2=v,Z2=1;;){if(t2=N+U|0,$2=D+-2|0,i2=I+($2<<2)|0,o2=e[i2>>2]|0,n5=o2+n|0,X=0-n5|0,X1=N+X|0,u2=ut[o&15](n2,X1)|0,e2=(u2|0)>-1,e2&&(v2=ut[o&15](n2,t2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=ut[o&15](X1,t2)|0,F2=(C2|0)>-1,b2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,S=d2):(e[N2>>2]=t2,m=t2,S=$2),V2=(S|0)>1,!V2){T1=b2;break}J=e[P2>>2]|0,D=S,N=m,n2=J,Z2=b2}if(G2=(T1|0)<2,G2)C0=R2;else if(q2=P2+(T1<<2)|0,e[q2>>2]=R2,V=(n|0)==0,V)C0=R2;else for(F=n,w0=R2;;){for(f0=F>>>0>256,n0=f0?256:F,d0=e[P2>>2]|0,s4(w0|0,d0|0,n0|0)|0,g0=d0,x5=0;r0=P2+(x5<<2)|0,K=x5+1|0,h0=P2+(K<<2)|0,s0=e[h0>>2]|0,s4(g0|0,s0|0,n0|0)|0,j=g0+n0|0,e[r0>>2]=j,z2=(K|0)==(T1|0),!z2;)g0=s0,x5=K;if(a0=(F|0)==(n0|0),a0){C0=R2;break e}i0=F-n0|0,W=e[q2>>2]|0,F=i0,w0=W}}else C0=R2;while(!1);C=B2}function Ui(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,o1[p2>>3]=t,o=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,S=(p|0)==1126170624,w=S&v,y=B|w,y?(n=t,+n):(D=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,f=t+4503599627370496,E=f+-4503599627370496,_=D?c:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function CQ(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,o=(s[p2>>2]=t,e[p2>>2]|0),a=o&2130706432,c=a>>>0>1249902592,c?(n=t,+n):(f=(o|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,S=f?I:p,B=S==0,B?(v=f?-0:0,n=v,+n):(n=S,+n))}function iD(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,f=(n|0)>1023,f?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=n+-2046|0,F=(x|0)>1023,o=F?1023:x,a=o,G=L):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=n,G=t)),v=a+1023|0,S=QQ(v|0,0,52)|0,w=q6,e[p2>>2]=S,e[p2+4>>2]=w,y=+o1[p2>>3],D=G*y,+D}function rD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0;I=C,n=t+-1|0,o=553040,a=o,e[a>>2]=n,c=o+4|0,f=c,e[f>>2]=0}function nD(){var t=0,n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=aD(m|0,v|0,1284865837,1481765933)|0,w=q6,y=Vs(S|0,w|0,1,0)|0,D=q6,o=553040,a=o,e[a>>2]=y,c=o+4|0,f=c,e[f>>2]=D,E=zs(y|0,D|0,33)|0,I=q6,E|0}function S9(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0,l7=0,Q7=0,z8=0,c7=0,g7=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,y7=0,G8=0,U8=0,P8=0,k8=0,v8=0,u8=0,O8=0,H8=0,j8=0,X8=0,d8=0,Pe=0,xe=0,i8=0,S8=0,k9=0,h7=0,Qe=0,f7=0,w7=0,e7=0,k7=0,te=0,t7=0,q8=0,D8=0,r8=0,O4=0,Le=0,n8=0,I8=0,b8=0,ge=0,j9=0,s8=0,E8=0,A8=0,m8=0,he=0,ye=0,Oe=0,He=0,X9=0,Fe=0,fe=0,o8=0,we=0,Q4=0,C8=0,i7=0,H4=0,I3=0,qe=0,B8=0,ie=0,q9=0,re=0,b9=0,Ye=0,Y8=0,u7=0,r7=0,n7=0,J8=0,s7=0,K8=0,a8=0,$8=0,_8=0,q4=0,A7=0,R8=0,Je=0,p9=0,o7=0,Ke=0,M7=0,H7=0,v7=0,a7=0,S7=0,ne=0,T7=0,q7=0,l8=0,x8=0,D7=0,V8=0,Me=0,ue=0,e4=0,b7=0,tt=0,Gt=0,Ut=0,Pt=0,dt=0,Y7=0,It=0,J7=0,Et=0,K7=0,mt=0,it=0,si=0,Ot=0,Ct=0,Bt=0,Ai=0,pt=0,rt=0,oi=0,Ht=0,qt=0,Yt=0,Jt=0,nt=0,Qt=0,Kt=0,V7=0,st=0,N7=0,z7=0,ai=0,Vt=0,$i=0,yt=0,zt=0,wt=0,kt=0,Zt=0,vt=0,Z7=0,St=0,Wt=0,At=0,G7=0,Dt=0,ke=0,bt=0,_7=0,ot=0,n9=0,d7=0,p8=0,I7=0,R7=0,zr=0,dr=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,Pn=0,iA=0,Zr=0,rA=0,nA=0,sA=0,On=0,AA=0,Hn=0,qn=0,oA=0,Wr=0,Yn=0,jr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Xr=0,Vn=0,cA=0,Ir=0,en=0,gA=0,hA=0,tn=0,li=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,dA=0,ci=0,rn=0,IA=0,Xn=0,EA=0,mA=0,CA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,nn=0,Er=0,sn=0,vA=0,Zi=0,SA=0,is=0,An=0,rs=0,on=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,mr=0,as=0,gi=0,an=0,Cr=0,Wi=0,Br=0,Oi=0,pr=0,$s=0,Hi=0,Qi=0,yi=0,jt=0,wi=0,Qr=0,ji=0,Xi=0,yr=0,hi=0,RA=0,at=0,j$=0,$n=0,ln=0,Fh=0,X$=0,xA=0,Mh=0,jo=0,el=0,Th=0,Nh=0,Gh=0,Xo=0,tl=0,il=0,ea=0,cn=0,rl=0,Uh=0,LA=0,er=0,Ph=0,Oh=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,nl=0,wr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,FA=0,ia=0,ef=0,tf=0,ra=0,Al=0,ol=0,al=0,na=0,$l=0,MA=0,rf=0,nf=0,ll=0,sf=0,Af=0,cl=0,of=0,af=0,gl=0,hl=0,fl=0,ul=0,dl=0,gn=0,$f=0,Il=0,lf=0,El=0,ml=0,cf=0,gf=0,hf=0,sa=0,Cl=0,Bl=0,ls=0,pl=0,Aa=0,ff=0,Ql=0,uf=0,yl=0,df=0,If=0,wl=0,kl=0,Ef=0,TA=0,mf=0,oa=0,vl=0,Sl=0,Cf=0,Bf=0,pf=0,Qf=0,yf=0,wf=0,NA=0,Dl=0,bl=0,_l=0,GA=0,kf=0,Rl=0,vf=0,xl=0,Sf=0,Df=0,Ll=0,aa=0,bf=0,_f=0,UA=0,Rf=0,PA=0,xf=0,$a=0,Lf=0,Ff=0,Mf=0,Fl=0,Tf=0,Nf=0,Gf=0,Uf=0,Ml=0,Tl=0,tr=0,Nl=0,OA=0,la=0,ca=0,hn=0,Gl=0,fn=0,Pf=0,Ul=0,Of=0,Hf=0,qf=0,Yf=0,HA=0,ga=0,kr=0,Jf=0,Kf=0,Pl=0,ha=0,Ol=0,Hl=0,Vf=0,ql=0,zf=0,fa=0,Zf=0,Wf=0,P9=0,jf=0,Yl=0,Xf=0,eu=0,ua=0,tu=0,da=0,Jl=0,iu=0,ru=0,Kl=0,Vl=0,nu=0,Ia=0,Ea=0,zl=0,Zl=0,su=0,Wl=0,ma=0,Au=0,jl=0,ou=0,au=0,$u=0,lu=0,Xl=0,ec=0,Ca=0,qA=0,tc=0,cu=0,ic=0,rc=0,gu=0,hu=0,fu=0,nc=0,uu=0,du=0,Iu=0,Eu=0,mu=0,Cu=0,sc=0,Bu=0,Ac=0,pu=0,un=0,Qu=0,oc=0,yu=0,cs=0,ac=0,Ba=0,wu=0,YA=0,pa=0,ku=0,Qa=0,$c=0,vu=0,Su=0,Du=0,bu=0,_u=0,lc=0,Ru=0,xu=0,Lu=0,JA=0,gs=0,ya=0,Fu=0,wa=0,Mu=0,Tu=0,Nu=0,cc=0,Gu=0,Uu=0,Pu=0,Ou=0,Hu=0,KA=0,qu=0,Yu=0,gc=0,Ju=0,Ku=0,Vu=0,zu=0,fi=0,hc=0,ui=0,fc=0,ka=0,Zu=0,Xt=0,hs=0,Wu=0,ju=0,Xu=0,ed=0,td=0,uc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,Ad=0,Ic=0,od=0,ad=0,VA=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,dn=0,hd=0,fd=0,In=0,ud=0,Cc=0,dd=0,Id=0,us=0,Bc=0,Ed=0,pc=0,md=0,ir=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,ds=0,vd=0,En=0,Sd=0,Dd=0,Da=0,bd=0,ba=0,_a=0,_d=0,vc=0,Sc=0,Rd=0,Dc=0,bc=0,_c=0,xd=0,Rc=0,xc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,Ra=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,Hd=0,qd=0,Yd=0,Jd=0,Hc=0,xa=0,Kd=0,Vd=0,zd=0,qc=0,Yc=0,Zd=0,Jc=0,La=0,zA=0,Kc=0,Wd=0,jd=0,Xd=0,eI=0,Vc=0,ZA=0,tI=0,iI=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,WA=0,Zc=0,hI=0,fI=0,mn=0,Wc=0,jc=0,Fa=0,uI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,jA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,vr=0,sg=0,Ag=0,DI=0,og=0,XA=0,bI=0,_I=0,RI=0,eo=0,ag=0,xI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,to=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Is=0,OI=0,hg=0,HI=0,Na=0,fg=0,qI=0,YI=0,JI=0,KI=0,ug=0,VI=0,zI=0,dg=0,io=0,ZI=0,WI=0,jI=0,Es=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,ki=0,Bg=0,rr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,ro=0,pg=0,Qg=0,nE=0,no=0,ms=0,sE=0,so=0,Ua=0,AE=0,Pa=0,oE=0,aE=0,yg=0,Ao=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,W7=0,y4=0,ei=0,fE=0,vg=0,Sg=0,Oa=0,uE=0,Sr=0,Cs=0,dE=0,IE=0,Dg=0,Ha=0,EE=0,bg=0,_g=0,Rg=0,qa=0,Ya=0,xg=0,Bs=0,Ja=0,Lg=0,mE=0,Cn=0,CE=0,Fg=0,oo=0,BE=0,Mg=0,vi=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,Si=0,SE=0,DE=0,bE=0,Tg=0,di=0,ao=0,Ka=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,RE=0,xE=0,Og=0,Hg=0,LE=0,FE=0,qg=0,ME=0,ps=0,$o=0,lo=0,TE=0,Va=0,NE=0,GE=0,Yg=0,Qs=0,UE=0,PE=0,za=0,Za=0,co=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ys=0,sr=0,Bn=0,OE=0,Ar=0,pn=0,HE=0,_t=0,Rt=0,xt=0,go=0,ho=0,Jg=0,Kg=0,fo=0,t$=0,Lt=0,uo=0,_r=0,i$=0,qE=0,r$=0,YE=0,n$=0,Vg=0,Io=0,JE=0,KE=0,Eo=0,VE=0,mo=0,Qn=0,Ve=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,Co=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,Bo=0,yn=0,A$=0,ws=0,ks=0,j7=0,vs=0,jg=0,Xg=0,po=0,Ss=0,Ds=0,bs=0,sm=0,_s=0,or=0,eh=0,Rr=0,ii=0,o$=0,a$=0,qi=0,$$=0,l$=0,c$=0,xr=0,$6=0,Qo=0,Lr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Fr=0,Y4=0,h$=0;h$=C,V1=t>>>0<245;do if(V1){if(h2=t>>>0<11,h4=t+11|0,O4=h4&-8,ke=h2?16:O4,xA=ke>>>3,$a=e[138262]|0,JA=$a>>>xA,Uc=JA&3,dg=(Uc|0)==0,!dg){a2=JA&1,f3=a2^1,l3=f3+xA|0,o3=l3<<1,g3=553088+(o3<<2)|0,w0=o3+2|0,R6=553088+(w0<<2)|0,D6=e[R6>>2]|0,x6=D6+8|0,b6=e[x6>>2]|0,d9=(g3|0)==(b6|0);do if(d9)G9=1<>>0>>0,$e&&Q2(),p4=b6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(D6|0),M8){e[p4>>2]=g3,e[R6>>2]=b6;break}else Q2();while(!1);return u8=l3<<3,h7=u8|3,Le=D6+4|0,e[Le>>2]=h7,p0=u8|4,ye=D6+p0|0,H4=e[ye>>2]|0,r7=H4|1,e[ye>>2]=r7,Ve=x6,Ve|0}if(Je=e[138264]|0,q7=ke>>>0>Je>>>0,q7){if(Ut=(JA|0)==0,!Ut){Ot=JA<>>12,nn=EA&16,ns=zn>>>nn,Wi=ns>>>5,ji=Wi&8,Mh=ji|nn,rl=ns>>>ji,Vh=rl>>>2,ia=Vh&4,nf=Mh|ia,dl=rl>>>ia,Cl=dl>>>1,wl=Cl&2,Qf=nf|wl,xl=dl>>>wl,Lf=xl>>>1,Nl=Lf&1,qf=Qf|Nl,Vf=xl>>>Nl,ua=qf+Vf|0,zl=ua<<1,Xl=553088+(zl<<2)|0,U1=zl+2|0,nc=553088+(U1<<2)|0,un=e[nc>>2]|0,Qa=un+8|0,gs=e[Qa>>2]|0,Ou=(Xl|0)==(gs|0);do if(Ou)hc=1<>>0>>0,ir&&Q2(),kc=gs+12|0,_d=e[kc>>2]|0,Fd=(_d|0)==(un|0),Fd){e[kc>>2]=Xl,e[nc>>2]=gs,y=e[138264]|0,to=y;break}else Q2();while(!1);return Pc=ua<<3,xa=Pc-ke|0,Wd=ke|3,AI=un+4|0,e[AI>>2]=Wd,fI=un+ke|0,EI=xa|1,j1=ke|4,kI=un+j1|0,e[kI>>2]=EI,bI=un+Pc|0,e[bI>>2]=xa,hg=(to|0)==0,hg||(io=e[138267]|0,Bg=to>>>3,no=Bg<<1,wg=553088+(no<<2)|0,vg=e[138262]|0,bg=1<>2]|0,C2=e[138266]|0,A5=t2>>>0>>0,A5?Q2():(G=ps,co=t2)),e[G>>2]=io,l5=co+12|0,e[l5>>2]=io,G5=io+8|0,e[G5>>2]=co,W2=io+12|0,e[W2>>2]=wg),e[138264]=xa,e[138267]=fI,Ve=Qa,Ve|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(J5=0-$5|0,w3=$5&J5,B3=w3+-1|0,V3=B3>>>12,N3=V3&16,V5=B3>>>N3,y3=V5>>>5,Z5=y3&8,i6=Z5|N3,R3=V5>>>Z5,G3=R3>>>2,a3=G3&4,c3=i6|a3,C3=R3>>>a3,q5=C3>>>1,U5=q5&2,O5=c3|U5,k5=C3>>>U5,U3=k5>>>1,M5=U3&1,A6=O5|M5,e3=k5>>>M5,x3=A6+e3|0,f6=553352+(x3<<2)|0,p3=e[f6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,r6=Q3&-8,W3=r6-ke|0,Bo=W3,a$=p3,g$=p3;;){if(P3=a$+16|0,K5=e[P3>>2]|0,v3=(K5|0)==0,v3)if(O3=a$+20|0,l6=e[O3>>2]|0,d3=(l6|0)==0,d3){yn=Bo,Q8=g$;break}else v6=l6;else v6=K5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,j3=B6-ke|0,c6=j3>>>0>>0,H=c6?j3:Bo,A2=c6?v6:g$,Bo=H,a$=v6,g$=A2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,S3=Q8>>>0>>0,S3||Q2(),X3=Q8+24|0,e6=e[X3>>2]|0,u6=Q8+12|0,H3=e[u6>>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(V6=Q8+16|0,I6=e[V6>>2]|0,J6=(I6|0)==0,J6){_t=0;break}else sr=I6,go=V6;else sr=n6,go=N6;for(;;){if(L3=sr+20|0,W6=e[L3>>2]|0,G6=(W6|0)==0,!G6){sr=W6,go=L3;continue}if(e9=sr+16|0,s9=e[e9>>2]|0,L6=(s9|0)==0,L6){Ar=sr,Kg=go;break}else sr=s9,go=e9}if(U6=Kg>>>0>>0,U6)Q2();else{e[Kg>>2]=0,_t=Ar;break}}else if(q3=Q8+8|0,z3=e[q3>>2]|0,o6=z3>>>0>>0,o6&&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,b3=(d6|0)==(Q8|0),b3){e[t3>>2]=H3,e[a6>>2]=z3,_t=H3;break}else Q2();while(!1);z6=(e6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,F3=553352+(F6<<2)|0,M6=e[F3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[F3>>2]=_t,JE=(_t|0)==0,JE){o9=1<>>0>>0,$9&&Q2(),T9=e6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_t:(i9=e6+20|0,e[i9>>2]=_t),N9=(_t|0)==0,N9)break;I9=e[138266]|0,E4=_t>>>0>>0,E4&&Q2(),A4=_t+24|0,e[A4>>2]=e6,z9=Q8+16|0,D9=e[z9>>2]|0,E9=(D9|0)==0;do if(!E9)if(H6=D9>>>0>>0,H6)Q2();else{r9=_t+16|0,e[r9>>2]=D9,m4=D9+24|0,e[m4>>2]=_t;break}while(!1);if(S4=Q8+20|0,o4=e[S4>>2]|0,y9=(o4|0)==0,!y9)if(D4=e[138266]|0,R4=o4>>>0>>0,R4)Q2();else{M4=_t+20|0,e[M4>>2]=o4,W4=o4+24|0,e[W4>>2]=_t;break}}while(!1);return C4=yn>>>0<16,C4?(T4=yn+ke|0,U9=T4|3,N4=Q8+4|0,e[N4>>2]=U9,Z1=T4+4|0,a4=Q8+Z1|0,x4=e[a4>>2]|0,f4=x4|1,e[a4>>2]=f4):(H9=ke|3,m9=Q8+4|0,e[m9>>2]=H9,Be=yn|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,g0=yn+ke|0,Xe=Q8+g0|0,e[Xe>>2]=yn,G4=e[138264]|0,Ge=(G4|0)==0,Ge||(U4=e[138267]|0,j4=G4>>>3,De=j4<<1,Z9=553088+(De<<2)|0,oe=e[138262]|0,u4=1<>2]|0,ae=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(T=$4,Za=_4)),e[T>>2]=U4,le=Za+12|0,e[le>>2]=U4,B4=U4+8|0,e[B4>>2]=Za,X4=U4+12|0,e[X4>>2]=Z9),e[138264]=yn,e[138267]=C6),L4=Q8+8|0,Ve=L4,Ve|0}}else v4=ke}else if(ce=t>>>0>4294967231,ce)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?Qn=0:(be=g6>>>0>16777215,be?Qn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=Y3&4,F4=w9|g4,ee=k4<>>16,l7=Re&2,Q7=F4|l7,z8=14-Q7|0,c7=ee<>>15,F8=z8+g7|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,y7=W8|T8,Qn=y7)),G8=553352+(Qn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)ks=pe,$$=0,kn=0,Y4=86;else for(k8=(Qn|0)==31,v8=Qn>>>1,O8=25-v8|0,H8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,xe=Pe-g6|0,i8=xe>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){vs=xe,xr=qi,Fr=qi,Y4=90;break e}else ws=xe,wn=qi;else ws=A$,wn=Rs;if(k9=qi+20|0,Qe=e[k9>>2]|0,f7=po>>>31,w7=(qi+16|0)+(f7<<2)|0,e7=e[w7>>2]|0,k7=(Qe|0)==0,te=(Qe|0)==(e7|0),jE=k7|te,Xg=jE?jg:Qe,t7=(e7|0)==0,q8=po<<1,t7){ks=ws,$$=Xg,kn=wn,Y4=86;break}else A$=ws,jg=Xg,po=q8,qi=e7,Rs=wn}while(!1);if((Y4|0)==86){if(D8=($$|0)==0,r8=(kn|0)==0,ZE=D8&r8,ZE){if(n8=2<>>12,he=m8&16,Oe=A8>>>he,He=Oe>>>5,X9=He&8,Fe=X9|he,fe=Oe>>>X9,o8=fe>>>2,we=o8&4,Q4=Fe|we,C8=fe>>>we,i7=C8>>>1,I3=i7&2,qe=Q4|I3,B8=C8>>>I3,ie=B8>>>1,q9=ie&1,re=qe|q9,b9=B8>>>q9,Ye=re+b9|0,Y8=553352+(Ye<<2)|0,u7=e[Y8>>2]|0,l$=u7,vn=0}else l$=$$,vn=kn;n7=(l$|0)==0,n7?(j7=ks,F9=vn):(vs=ks,xr=l$,Fr=vn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,J8=xr+4|0,s7=e[J8>>2]|0,K8=s7&-8,a8=K8-g6|0,$8=a8>>>0>>0,X=$8?a8:vs,c$=$8?xr:Fr,_8=xr+16|0,q4=e[_8>>2]|0,A7=(q4|0)==0,!A7){vs=X,xr=q4,Fr=c$,Y4=90;continue}if(R8=xr+20|0,p9=e[R8>>2]|0,o7=(p9|0)==0,o7){j7=X,F9=c$;break}else vs=X,xr=p9,Fr=c$,Y4=90}if(Ke=(F9|0)==0,Ke)v4=g6;else if(M7=e[138264]|0,H7=M7-g6|0,v7=j7>>>0>>0,v7){a7=e[138266]|0,S7=F9>>>0>>0,S7&&Q2(),ne=F9+g6|0,T7=F9>>>0>>0,T7||Q2(),l8=F9+24|0,x8=e[l8>>2]|0,D7=F9+12|0,V8=e[D7>>2]|0,Me=(V8|0)==(F9|0);do if(Me){if(J7=F9+20|0,Et=e[J7>>2]|0,K7=(Et|0)==0,K7)if(mt=F9+16|0,it=e[mt>>2]|0,si=(it|0)==0,si){xt=0;break}else pn=it,fo=mt;else pn=Et,fo=J7;for(;;){if(Ct=pn+20|0,Bt=e[Ct>>2]|0,Ai=(Bt|0)==0,!Ai){pn=Bt,fo=Ct;continue}if(pt=pn+16|0,rt=e[pt>>2]|0,oi=(rt|0)==0,oi){HE=pn,t$=fo;break}else pn=rt,fo=pt}if(Ht=t$>>>0>>0,Ht)Q2();else{e[t$>>2]=0,xt=HE;break}}else if(ue=F9+8|0,e4=e[ue>>2]|0,b7=e4>>>0>>0,b7&&Q2(),tt=e4+12|0,Gt=e[tt>>2]|0,Pt=(Gt|0)==(F9|0),Pt||Q2(),dt=V8+8|0,Y7=e[dt>>2]|0,It=(Y7|0)==(F9|0),It){e[tt>>2]=V8,e[dt>>2]=e4,xt=V8;break}else Q2();while(!1);qt=(x8|0)==0;do if(!qt){if(Yt=F9+28|0,Jt=e[Yt>>2]|0,Qt=553352+(Jt<<2)|0,Kt=e[Qt>>2]|0,V7=(F9|0)==(Kt|0),V7){if(e[Qt>>2]=xt,Eo=(xt|0)==0,Eo){st=1<>>0>>0,$i&&Q2(),yt=x8+16|0,wt=e[yt>>2]|0,kt=(wt|0)==(F9|0),kt?e[yt>>2]=xt:(Zt=x8+20|0,e[Zt>>2]=xt),vt=(xt|0)==0,vt)break;Z7=e[138266]|0,St=xt>>>0>>0,St&&Q2(),Wt=xt+24|0,e[Wt>>2]=x8,At=F9+16|0,G7=e[At>>2]|0,Dt=(G7|0)==0;do if(!Dt)if(_7=G7>>>0>>0,_7)Q2();else{ot=xt+16|0,e[ot>>2]=G7,n9=G7+24|0,e[n9>>2]=xt;break}while(!1);if(d7=F9+20|0,p8=e[d7>>2]|0,I7=(p8|0)==0,!I7)if(R7=e[138266]|0,zr=p8>>>0>>0,zr)Q2();else{dr=xt+20|0,e[dr>>2]=p8,js=p8+24|0,e[js>>2]=xt;break}}while(!1);Xs=j7>>>0<16;e:do if(Xs)Un=j7+g6|0,eA=Un|3,tA=F9+4|0,e[tA>>2]=eA,c1=Un+4|0,Pn=F9+c1|0,iA=e[Pn>>2]|0,Zr=iA|1,e[Pn>>2]=Zr;else{if(rA=g6|3,nA=F9+4|0,e[nA>>2]=rA,sA=j7|1,r0=g6|4,AA=F9+r0|0,e[AA>>2]=sA,d0=j7+g6|0,Hn=F9+d0|0,e[Hn>>2]=j7,qn=j7>>>3,oA=j7>>>0<256,oA){Wr=qn<<1,Yn=553088+(Wr<<2)|0,jr=e[138262]|0,Jn=1<>2]|0,cA=e[138266]|0,Ir=Vn>>>0>>0,Ir?Q2():(M=Xr,ja=Vn)),e[M>>2]=ne,en=ja+12|0,e[en>>2]=ne,O0=g6+8|0,gA=F9+O0|0,e[gA>>2]=ja,H0=g6+12|0,hA=F9+H0|0,e[hA>>2]=Yn;break}if(tn=j7>>>8,li=(tn|0)==0,li?Dr=0:(fA=j7>>>0>16777215,fA?Dr=31:(uA=tn+1048320|0,Zn=uA>>>16,Wn=Zn&8,jn=tn<>>16,rn=ci&4,IA=rn|Wn,Xn=jn<>>16,es=CA&2,BA=IA|es,pA=14-BA|0,QA=Xn<>>15,ts=pA+yA|0,wA=ts<<1,kA=ts+7|0,Er=j7>>>kA,sn=Er&1,vA=sn|wA,Dr=vA)),Zi=553352+(Dr<<2)|0,g1=g6+28|0,SA=F9+g1|0,e[SA>>2]=Dr,x1=g6+16|0,is=F9+x1|0,b1=g6+20|0,An=F9+b1|0,e[An>>2]=0,e[is>>2]=0,rs=e[138263]|0,on=1<>2]=ne,q1=g6+24|0,As=F9+q1|0,e[As>>2]=Zi,r2=g6+12|0,os=F9+r2|0,e[os>>2]=ne,P1=g6+8|0,_A=F9+P1|0,e[_A>>2]=ne;break}mr=e[Zi>>2]|0,as=mr+4|0,gi=e[as>>2]|0,an=gi&-8,Cr=(an|0)==(j7|0);t:do if(Cr)Lt=mr;else{for(Br=(Dr|0)==31,Oi=Dr>>>1,pr=25-Oi|0,$s=Br?0:pr,Hi=j7<<$s,Xa=Hi,i$=mr;;){if(yr=Xa>>>31,hi=(i$+16|0)+(yr<<2)|0,jt=e[hi>>2]|0,RA=(jt|0)==0,RA){w=hi,qE=i$;break}if(Qi=Xa<<1,yi=jt+4|0,wi=e[yi>>2]|0,Qr=wi&-8,Xi=(Qr|0)==(j7|0),Xi){Lt=jt;break t}else Xa=Qi,i$=jt}if(at=e[138266]|0,j$=w>>>0>>0,j$)Q2();else{e[w>>2]=ne,u0=g6+24|0,$n=F9+u0|0,e[$n>>2]=qE,U0=g6+12|0,ln=F9+U0|0,e[ln>>2]=ne,P0=g6+8|0,Fh=F9+P0|0,e[Fh>>2]=ne;break e}}while(!1);if(X$=Lt+8|0,jo=e[X$>>2]|0,el=e[138266]|0,Th=jo>>>0>=el>>>0,zg=Lt>>>0>=el>>>0,Nh=Th&zg,Nh){Gh=jo+12|0,e[Gh>>2]=ne,e[X$>>2]=ne,c2=g6+8|0,Xo=F9+c2|0,e[Xo>>2]=jo,f2=g6+12|0,tl=F9+f2|0,e[tl>>2]=Lt,C0=g6+24|0,il=F9+C0|0,e[il>>2]=0;break}else Q2()}while(!1);return ea=F9+8|0,Ve=ea,Ve|0}else v4=g6}while(!1);if(cn=e[138264]|0,Uh=cn>>>0>>0,!Uh)return LA=cn-v4|0,er=e[138267]|0,Ph=LA>>>0>15,Ph?(Oh=er+v4|0,e[138267]=Oh,e[138264]=LA,Hh=LA|1,f1=v4+4|0,qh=er+f1|0,e[qh>>2]=Hh,Yh=er+cn|0,e[Yh>>2]=LA,Jh=v4|3,Kh=er+4|0,e[Kh>>2]=Jh):(e[138264]=0,e[138267]=0,zh=cn|3,Zh=er+4|0,e[Zh>>2]=zh,s0=cn+4|0,nl=er+s0|0,wr=e[nl>>2]|0,Wh=wr|1,e[nl>>2]=Wh),jh=er+8|0,Ve=jh,Ve|0;if(sl=e[138265]|0,Xh=sl>>>0>v4>>>0,Xh)return ta=sl-v4|0,e[138265]=ta,FA=e[138268]|0,ef=FA+v4|0,e[138268]=ef,tf=ta|1,U=v4+4|0,ra=FA+U|0,e[ra>>2]=tf,Al=v4|3,ol=FA+4|0,e[ol>>2]=Al,al=FA+8|0,Ve=al,Ve|0;na=e[138380]|0,$l=(na|0)==0;do if($l)if(MA=Iv(30)|0,rf=MA+-1|0,ll=rf&MA,sf=(ll|0)==0,sf){e[138382]=MA,e[138381]=MA,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,Af=Yp(0)|0,cl=Af&-16,of=cl^1431655768,e[138380]=of;break}else Q2();while(!1);if(af=v4+48|0,gl=e[138382]|0,hl=v4+47|0,fl=gl+hl|0,ul=0-gl|0,gn=fl&ul,$f=gn>>>0>v4>>>0,!$f||(Il=e[138372]|0,lf=(Il|0)==0,!lf&&(El=e[138370]|0,ml=El+gn|0,cf=ml>>>0<=El>>>0,gf=ml>>>0>Il>>>0,Co=cf|gf,Co)))return Ve=0,Ve|0;hf=e[138373]|0,sa=hf&4,Bl=(sa|0)==0;e:do if(Bl){ls=e[138268]|0,pl=(ls|0)==0;t:do if(pl)Y4=174;else{for(Ss=553496;;){if(Aa=e[Ss>>2]|0,ff=Aa>>>0>ls>>>0,!ff&&(Ql=Ss+4|0,uf=e[Ql>>2]|0,yl=Aa+uf|0,df=yl>>>0>ls>>>0,df)){v=Ss,S=Ql;break}if(If=Ss+8|0,kl=e[If>>2]|0,Ef=(kl|0)==0,Ef){Y4=174;break t}else Ss=kl}if(bf=e[138265]|0,_f=fl-bf|0,UA=_f&ul,Rf=UA>>>0<2147483647,Rf)if(PA=Nt(UA|0)|0,xf=e[v>>2]|0,Ff=e[S>>2]|0,Mf=xf+Ff|0,Fl=(PA|0)==(Mf|0),n=Fl?UA:0,Fl)if(Tf=(PA|0)==-1,Tf)Lr=n;else{$6=PA,ve=n,Y4=194;break e}else Io=PA,ii=UA,Qo=n,Y4=184;else Lr=0}while(!1);do if((Y4|0)==174)if(TA=Nt(0)|0,mf=(TA|0)==-1,mf)Lr=0;else if(oa=TA,vl=e[138381]|0,Sl=vl+-1|0,Cf=Sl&oa,Bf=(Cf|0)==0,Bf?Rr=gn:(pf=Sl+oa|0,yf=0-vl|0,wf=pf&yf,NA=gn-oa|0,Dl=NA+wf|0,Rr=Dl),bl=e[138370]|0,_l=bl+Rr|0,GA=Rr>>>0>v4>>>0,kf=Rr>>>0<2147483647,WE=GA&kf,WE){if(Rl=e[138372]|0,vf=(Rl|0)==0,!vf&&(Sf=_l>>>0<=bl>>>0,Df=_l>>>0>Rl>>>0,XE=Sf|Df,XE)){Lr=0;break}if(Ll=Nt(Rr|0)|0,aa=(Ll|0)==(TA|0),eh=aa?Rr:0,aa){$6=TA,ve=eh,Y4=194;break e}else Io=Ll,ii=Rr,Qo=eh,Y4=184}else Lr=0;while(!1);t:do if((Y4|0)==184){Nf=0-ii|0,Gf=(Io|0)!=-1,Uf=ii>>>0<2147483647,tm=Uf&Gf,Ml=af>>>0>ii>>>0,im=Ml&tm;do if(im)if(Tl=e[138382]|0,tr=hl-ii|0,OA=tr+Tl|0,la=0-Tl|0,ca=OA&la,hn=ca>>>0<2147483647,hn)if(Gl=Nt(ca|0)|0,fn=(Gl|0)==-1,fn){Nt(Nf|0)|0,Lr=Qo;break t}else{Pf=ca+ii|0,o$=Pf;break}else o$=ii;else o$=ii;while(!1);if(Ul=(Io|0)==-1,Ul)Lr=Qo;else{$6=Io,ve=o$,Y4=194;break e}}while(!1);Of=e[138373]|0,Hf=Of|4,e[138373]=Hf,th=Lr,Y4=191}else th=0,Y4=191;while(!1);if((Y4|0)==191&&(Yf=gn>>>0<2147483647,Yf&&(HA=Nt(gn|0)|0,ga=Nt(0)|0,kr=(HA|0)!=-1,Jf=(ga|0)!=-1,em=kr&Jf,Kf=HA>>>0>>0,rm=Kf&em,rm&&(Pl=ga,ha=HA,Ol=Pl-ha|0,Hl=v4+40|0,ql=Ol>>>0>Hl>>>0,E2=ql?Ol:th,ql&&($6=HA,ve=E2,Y4=194)))),(Y4|0)==194){zf=e[138370]|0,fa=zf+ve|0,e[138370]=fa,Zf=e[138371]|0,Wf=fa>>>0>Zf>>>0,Wf&&(e[138371]=fa),P9=e[138268]|0,jf=(P9|0)==0;e:do if(jf){for(Yl=e[138266]|0,Xf=(Yl|0)==0,eu=$6>>>0>>0,nm=Xf|eu,nm&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,tu=e[138380]|0,e[138271]=tu,e[138270]=-1,mo=0;da=mo<<1,Jl=553088+(da<<2)|0,$0=da+3|0,iu=553088+($0<<2)|0,e[iu>>2]=Jl,j=da+2|0,ru=553088+(j<<2)|0,e[ru>>2]=Jl,Kl=mo+1|0,VE=(Kl|0)==32,!VE;)mo=Kl;Vl=ve+-40|0,nu=$6+8|0,Ia=nu,Ea=Ia&7,Zl=(Ea|0)==0,su=0-Ia|0,Wl=su&7,ma=Zl?0:Wl,Au=$6+ma|0,jl=Vl-ma|0,e[138268]=Au,e[138265]=jl,ou=jl|1,V=ma+4|0,au=$6+V|0,e[au>>2]=ou,l1=ve+-36|0,$u=$6+l1|0,e[$u>>2]=40,lu=e[138384]|0,e[138269]=lu}else{for(bs=553496;;){if(ec=e[bs>>2]|0,Ca=bs+4|0,qA=e[Ca>>2]|0,tc=ec+qA|0,cu=($6|0)==(tc|0),cu){m=ec,p=Ca,B=qA,sm=bs,Y4=204;break}if(ic=bs+8|0,rc=e[ic>>2]|0,gu=(rc|0)==0,gu)break;bs=rc}if((Y4|0)==204&&(hu=sm+12|0,fu=e[hu>>2]|0,uu=fu&8,du=(uu|0)==0,du&&(Iu=P9>>>0>=m>>>0,Eu=P9>>>0<$6>>>0,Wg=Eu&Iu,Wg))){mu=B+ve|0,e[p>>2]=mu,Cu=e[138265]|0,sc=Cu+ve|0,Bu=P9+8|0,Ac=Bu,pu=Ac&7,Qu=(pu|0)==0,oc=0-Ac|0,yu=oc&7,cs=Qu?0:yu,ac=P9+cs|0,Ba=sc-cs|0,e[138268]=ac,e[138265]=Ba,wu=Ba|1,n0=cs+4|0,YA=P9+n0|0,e[YA>>2]=wu,n1=sc+4|0,pa=P9+n1|0,e[pa>>2]=40,ku=e[138384]|0,e[138269]=ku;break}for($c=e[138266]|0,vu=$6>>>0<$c>>>0,vu?(e[138266]=$6,us=$6):us=$c,Su=$6+ve|0,_s=553496;;){if(Du=e[_s>>2]|0,bu=(Du|0)==(Su|0),bu){I=_s,or=_s,Y4=212;break}if(_u=_s+8|0,lc=e[_u>>2]|0,Ru=(lc|0)==0,Ru){Ds=553496;break}else _s=lc}if((Y4|0)==212)if(xu=or+12|0,Lu=e[xu>>2]|0,ya=Lu&8,Fu=(ya|0)==0,Fu){e[I>>2]=$6,wa=or+4|0,Mu=e[wa>>2]|0,Tu=Mu+ve|0,e[wa>>2]=Tu,Nu=$6+8|0,cc=Nu,Gu=cc&7,Uu=(Gu|0)==0,Pu=0-cc|0,Hu=Pu&7,KA=Uu?0:Hu,qu=$6+KA|0,I0=ve+8|0,Yu=$6+I0|0,gc=Yu,Ju=gc&7,Ku=(Ju|0)==0,Vu=0-gc|0,zu=Vu&7,fi=Ku?0:zu,S0=fi+ve|0,ui=$6+S0|0,fc=ui,ka=qu,Zu=fc-ka|0,i0=KA+v4|0,Xt=$6+i0|0,hs=Zu-v4|0,Wu=v4|3,f0=KA+4|0,ju=$6+f0|0,e[ju>>2]=Wu,Xu=(ui|0)==(P9|0);t:do if(Xu)ed=e[138265]|0,uc=ed+hs|0,e[138265]=uc,e[138268]=Xt,id=uc|1,H1=i0+4|0,rd=$6+H1|0,e[rd>>2]=id;else{if(dc=e[138267]|0,nd=(ui|0)==(dc|0),nd){sd=e[138264]|0,fs=sd+hs|0,e[138264]=fs,e[138267]=Xt,va=fs|1,K1=i0+4|0,Ad=$6+K1|0,e[Ad>>2]=va,O1=fs+i0|0,Ic=$6+O1|0,e[Ic>>2]=fs;break}if(A1=ve+4|0,K0=A1+fi|0,ad=$6+K0|0,VA=e[ad>>2]|0,$d=VA&3,ld=($d|0)==1,ld){Ec=VA&-8,mc=VA>>>3,cd=VA>>>0<256;i:do if(cd){G1=fi|8,J0=G1+ve|0,gd=$6+J0|0,dn=e[gd>>2]|0,k1=ve+12|0,Y0=k1+fi|0,hd=$6+Y0|0,In=e[hd>>2]|0,ud=mc<<1,Cc=553088+(ud<<2)|0,dd=(dn|0)==(Cc|0);do if(!dd){if(Id=dn>>>0>>0,Id&&Q2(),Bc=dn+12|0,Ed=e[Bc>>2]|0,pc=(Ed|0)==(ui|0),pc)break;Q2()}while(!1);if(md=(In|0)==(dn|0),md){Sa=1<>>0>>0,pd&&Q2(),wc=In+8|0,Qd=e[wc>>2]|0,yd=(Qd|0)==(ui|0),yd){N=wc;break}Q2()}while(!1);wd=dn+12|0,e[wd>>2]=In,e[N>>2]=dn}else{L1=fi|24,_0=L1+ve|0,kd=$6+_0|0,ds=e[kd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,vd=$6+Q0|0,En=e[vd>>2]|0,Sd=(En|0)==(ui|0);do if(Sd){if(W1=fi|16,b0=A1+W1|0,bc=$6+b0|0,_c=e[bc>>2]|0,xd=(_c|0)==0,xd)if(T0=W1+ve|0,Rc=$6+T0|0,xc=e[Rc>>2]|0,Ld=(xc|0)==0,Ld){Rt=0;break}else Bn=xc,ho=Rc;else Bn=_c,ho=bc;for(;;){if(Lc=Bn+20|0,Fc=e[Lc>>2]|0,Md=(Fc|0)==0,!Md){Bn=Fc,ho=Lc;continue}if(Mc=Bn+16|0,Tc=e[Mc>>2]|0,Td=(Tc|0)==0,Td){OE=Bn,Jg=ho;break}else Bn=Tc,ho=Mc}if(Nd=Jg>>>0>>0,Nd)Q2();else{e[Jg>>2]=0,Rt=OE;break}}else if(F1=fi|8,L0=F1+ve|0,Dd=$6+L0|0,Da=e[Dd>>2]|0,bd=Da>>>0>>0,bd&&Q2(),ba=Da+12|0,_a=e[ba>>2]|0,vc=(_a|0)==(ui|0),vc||Q2(),Sc=En+8|0,Rd=e[Sc>>2]|0,Dc=(Rd|0)==(ui|0),Dc){e[ba>>2]=En,e[Sc>>2]=Da,Rt=En;break}else Q2();while(!1);if(Nc=(ds|0)==0,Nc)break;w1=ve+28|0,M0=w1+fi|0,Ra=$6+M0|0,Gc=e[Ra>>2]|0,Oc=553352+(Gc<<2)|0,Gd=e[Oc>>2]|0,Ud=(ui|0)==(Gd|0);do if(Ud){if(e[Oc>>2]=Rt,KE=(Rt|0)==0,!KE)break;Pd=1<>>0>>0,Jd&&Q2(),Hc=ds+16|0,Kd=e[Hc>>2]|0,Vd=(Kd|0)==(ui|0),Vd?e[Hc>>2]=Rt:(zd=ds+20|0,e[zd>>2]=Rt),qc=(Rt|0)==0,qc)break i;while(!1);Yc=e[138266]|0,Zd=Rt>>>0>>0,Zd&&Q2(),Jc=Rt+24|0,e[Jc>>2]=ds,S1=fi|16,N0=S1+ve|0,La=$6+N0|0,zA=e[La>>2]|0,Kc=(zA|0)==0;do if(!Kc)if(jd=zA>>>0>>0,jd)Q2();else{Xd=Rt+16|0,e[Xd>>2]=zA,eI=zA+24|0,e[eI>>2]=Rt;break}while(!1);if(q0=A1+S1|0,Vc=$6+q0|0,ZA=e[Vc>>2]|0,tI=(ZA|0)==0,tI)break;if(iI=e[138266]|0,rI=ZA>>>0>>0,rI)Q2();else{nI=Rt+20|0,e[nI>>2]=ZA,sI=ZA+24|0,e[sI>>2]=Rt;break}}while(!1);s2=Ec|fi,x0=s2+ve|0,oI=$6+x0|0,aI=Ec+hs|0,Zg=oI,ti=aI}else Zg=ui,ti=hs;if(zc=Zg+4|0,$I=e[zc>>2]|0,lI=$I&-2,e[zc>>2]=lI,cI=ti|1,k0=i0+4|0,gI=$6+k0|0,e[gI>>2]=cI,B0=ti+i0|0,WA=$6+B0|0,e[WA>>2]=ti,Zc=ti>>>3,hI=ti>>>0<256,hI){mn=Zc<<1,Wc=553088+(mn<<2)|0,jc=e[138262]|0,Fa=1<>2]|0,II=e[138266]|0,mI=tg>>>0>>0,!mI){F=eg,Wa=tg;break}Q2()}while(!1);e[F>>2]=Xt,CI=Wa+12|0,e[CI>>2]=Xt,B1=i0+8|0,BI=$6+B1|0,e[BI>>2]=Wa,p1=i0+12|0,jA=$6+p1|0,e[jA>>2]=Wc;break}Ma=ti>>>8,pI=(Ma|0)==0;do if(pI)br=0;else{if(QI=ti>>>0>16777215,QI){br=31;break}yI=Ma+1048320|0,wI=yI>>>16,ig=wI&8,rg=Ma<>>16,ng=SI&4,vr=ng|ig,sg=rg<>>16,og=DI&2,XA=vr|og,_I=14-XA|0,RI=sg<>>15,ag=_I+eo|0,xI=ag<<1,LI=ag+7|0,$g=ti>>>LI,FI=$g&1,MI=FI|xI,br=MI}while(!1);if(Ta=553352+(br<<2)|0,y0=i0+28|0,TI=$6+y0|0,e[TI>>2]=br,V0=i0+16|0,NI=$6+V0|0,G0=i0+20|0,GI=$6+G0|0,e[GI>>2]=0,e[NI>>2]=0,lg=e[138263]|0,cg=1<>2]=Xt,r1=i0+24|0,Is=$6+r1|0,e[Is>>2]=Ta,e1=i0+12|0,OI=$6+e1|0,e[OI>>2]=Xt,i1=i0+8|0,HI=$6+i1|0,e[HI>>2]=Xt;break}Na=e[Ta>>2]|0,fg=Na+4|0,qI=e[fg>>2]|0,YI=qI&-8,JI=(YI|0)==(ti|0);i:do if(JI)_r=Na;else{for(KI=(br|0)==31,ug=br>>>1,VI=25-ug|0,zI=KI?0:VI,ZI=ti<>>31,Cg=(r$+16|0)+(mg<<2)|0,Es=e[Cg>>2]|0,ki=(Es|0)==0,ki){o=Cg,YE=r$;break}if(WI=ys<<1,jI=Es+4|0,Ig=e[jI>>2]|0,Eg=Ig&-8,XI=(Eg|0)==(ti|0),XI){_r=Es;break i}else ys=WI,r$=Es}if(rr=e[138266]|0,eE=o>>>0>>0,eE)Q2();else{e[o>>2]=Xt,m1=i0+24|0,tE=$6+m1|0,e[tE>>2]=YE,d1=i0+12|0,iE=$6+d1|0,e[iE>>2]=Xt,E1=i0+8|0,rE=$6+E1|0,e[rE>>2]=Xt;break t}}while(!1);if(Ga=_r+8|0,ro=e[Ga>>2]|0,pg=e[138266]|0,Qg=ro>>>0>=pg>>>0,s$=_r>>>0>=pg>>>0,nE=Qg&s$,nE){ms=ro+12|0,e[ms>>2]=Xt,e[Ga>>2]=Xt,z0=i0+8|0,sE=$6+z0|0,e[sE>>2]=ro,I1=i0+12|0,so=$6+I1|0,e[so>>2]=_r,h1=i0+24|0,Ua=$6+h1|0,e[Ua>>2]=0;break}else Q2()}while(!1);return $1=KA|8,AE=$6+$1|0,Ve=AE,Ve|0}else Ds=553496;for(;;){if(Pa=e[Ds>>2]|0,oE=Pa>>>0>P9>>>0,!oE&&(aE=Ds+4|0,yg=e[aE>>2]|0,Ao=Pa+yg|0,$E=Ao>>>0>P9>>>0,$E)){c=Pa,f=yg,E=Ao;break}lE=Ds+8|0,cE=e[lE>>2]|0,Ds=cE}if(a0=f+-47|0,l0=f+-39|0,gE=c+l0|0,kg=gE,hE=kg&7,W7=(hE|0)==0,y4=0-kg|0,ei=y4&7,fE=W7?0:ei,a1=a0+fE|0,Sg=c+a1|0,Oa=P9+16|0,uE=Sg>>>0>>0,Sr=uE?P9:Sg,Cs=Sr+8|0,dE=ve+-40|0,IE=$6+8|0,Dg=IE,Ha=Dg&7,EE=(Ha|0)==0,_g=0-Dg|0,Rg=_g&7,qa=EE?0:Rg,Ya=$6+qa|0,xg=dE-qa|0,e[138268]=Ya,e[138265]=xg,Bs=xg|1,Z=qa+4|0,Ja=$6+Z|0,e[Ja>>2]=Bs,s1=ve+-36|0,Lg=$6+s1|0,e[Lg>>2]=40,mE=e[138384]|0,e[138269]=mE,Cn=Sr+4|0,e[Cn>>2]=27,e[Cs>>2]=e[138374]|0,e[Cs+4>>2]=e[138375]|0,e[Cs+8>>2]=e[138376]|0,e[Cs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=Cs,Fg=Sr+28|0,e[Fg>>2]=7,oo=Sr+32|0,BE=oo>>>0>>0,BE)for(vi=Fg;Mg=vi+4|0,e[Mg>>2]=7,pE=vi+8|0,QE=pE>>>0>>0,QE;)vi=Mg;if(yE=(Sr|0)==(P9|0),!yE){if(wE=Sr,kE=P9,Si=wE-kE|0,SE=e[Cn>>2]|0,DE=SE&-2,e[Cn>>2]=DE,bE=Si|1,Tg=P9+4|0,e[Tg>>2]=bE,e[Sr>>2]=Si,di=Si>>>3,ao=Si>>>0<256,ao){Ka=di<<1,Ng=553088+(Ka<<2)|0,Gg=e[138262]|0,Ug=1<>2]|0,LE=e[138266]|0,FE=Hg>>>0>>0,FE?Q2():(x=Og,za=Hg)),e[x>>2]=P9,qg=za+12|0,e[qg>>2]=P9,ME=P9+8|0,e[ME>>2]=za,$o=P9+12|0,e[$o>>2]=Ng;break}if(lo=Si>>>8,TE=(lo|0)==0,TE?nr=0:(Va=Si>>>0>16777215,Va?nr=31:(NE=lo+1048320|0,GE=NE>>>16,Yg=GE&8,Qs=lo<>>16,$2=PE&4,i2=$2|Yg,o2=Qs<<$2,X1=o2+245760|0,n2=X1>>>16,u2=n2&2,e2=i2|u2,y2=14-e2|0,v2=o2<>>15,F2=y2+w2|0,b2=F2<<1,N2=F2+7|0,d2=Si>>>N2,V2=d2&1,G2=V2|b2,nr=G2)),q2=553352+(nr<<2)|0,M2=P9+28|0,e[M2>>2]=nr,P2=P9+20|0,e[P2>>2]=0,e[Oa>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=q2,D5=P9+12|0,e[D5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}u5=e[q2>>2]|0,v5=u5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(Si|0);t:do if(m5)uo=u5;else{for(n5=(nr|0)==31,R2=nr>>>1,_2=25-R2|0,B2=n5?0:_2,C5=Si<>>31,c5=(n$+16|0)+(o5<<2)|0,b5=e[c5>>2]|0,B5=(b5|0)==0,B5){a=c5,Vg=n$;break}if(L5=e$<<1,d5=b5+4|0,_5=e[d5>>2]|0,H2=_5&-8,I5=(H2|0)==(Si|0),I5){uo=b5;break t}else e$=L5,n$=b5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Vg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=uo+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,zE=uo>>>0>=s5>>>0,J2=h5&zE,J2){f5=t5+12|0,e[f5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,R5=P9+12|0,e[R5>>2]=uo,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(x2=e[138265]|0,Q5=x2>>>0>v4>>>0,Q5)return H5=x2-v4|0,e[138265]=H5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,u3=H5|1,K=v4+4|0,h3=j5+K|0,e[h3>>2]=u3,Y5=v4|3,X5=j5+4|0,e[X5>>2]=Y5,n3=j5+8|0,Ve=n3,Ve|0}return F5=qp()|0,e[F5>>2]=12,Ve=0,Ve|0}function I2(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,m=0,p=0,B=0,v=0,S=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,H=0,X=0,U=0,$0=0,Z=0,V=0,a0=0,n0=0,i0=0,r0=0,K=0,h0=0,s0=0,g0=0,j=0,l0=0,f0=0,d0=0,w0=0,C0=0,k0=0,u0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,q0=0,x0=0,b0=0,T0=0,J0=0,Y0=0,P0=0,V0=0,G0=0,O0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,K1=0,O1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,h2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,b2=0,N2=0,d2=0,V2=0,G2=0,q2=0,M2=0,P2=0,z2=0,A5=0,O2=0,T1=0,X2=0,x5=0,e5=0,D5=0,Z2=0,u5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,R2=0,_2=0,B2=0,C5=0,L5=0,d5=0,b5=0,G5=0,_5=0,H2=0,I5=0,o5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,f5=0,i5=0,R5=0,j2=0,$5=0,x2=0,Q5=0,H5=0,j5=0,E5=0,u3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,w3=0,f3=0,B3=0,V3=0,N3=0,V5=0,y3=0,Z5=0,i6=0,R3=0,G3=0,a3=0,l3=0,c3=0,C3=0,q5=0,U5=0,O5=0,k5=0,U3=0,M5=0,A6=0,e3=0,o3=0,x3=0,f6=0,p3=0,k3=0,Q3=0,r6=0,W3=0,P3=0,K5=0,v3=0,g3=0,O3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,j3=0,c6=0,p6=0,R6=0,Y6=0,C6=0,S3=0,X3=0,e6=0,u6=0,H3=0,D3=0,q3=0,z3=0,D6=0,o6=0,t3=0,O6=0,s3=0,a6=0,d6=0,b3=0,N6=0,n6=0,Q6=0,x6=0,V6=0,I6=0,J6=0,L3=0,W6=0,G6=0,e9=0,s9=0,L6=0,U6=0,b6=0,z6=0,y6=0,F6=0,F3=0,M6=0,t9=0,o9=0,j6=0,f9=0,u9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,A4=0,h4=0,G9=0,z9=0,D9=0,E9=0,H6=0,r9=0,m4=0,S4=0,o4=0,y9=0,D4=0,b4=0,R4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,x4=0,f4=0,Ce=0,H9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,De=0,e8=0,Z9=0,oe=0,u4=0,_6=0,P4=0,L9=0,$4=0,_4=0,ae=0,W9=0,$e=0,le=0,B4=0,X4=0,L4=0,ce=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,be=0,_e=0,t8=0,g4=0,k4=0,f8=0,Y3=0,w9=0,B9=0,F4=0,ee=0,$7=0,Re=0;if(Re=C,X=(t|0)==0,!X){U=t+-8|0,V2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,R4=(z9|0)==1,R4&&Q2(),H9=$9&-8,p=H9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,b0=(z9|0)==0,b0)return;if(Q=-8-S0|0,D0=t+Q|0,z0=S0+H9|0,w1=D0>>>0>>0,w1&&Q2(),O1=e[138267]|0,s2=(D0|0)==(O1|0),s2){if(z=H9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,K=(r0|0)==3,!K){Y3=D0,w9=z0;break}e[138264]=z0,h0=i0&-2,e[n0>>2]=h0,s0=z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=s0,e[Z9>>2]=z0;return}if(n2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,D5=t+Y|0,B2=e[D5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,u3=n2<<1,V3=553088+(u3<<2)|0,C3=(B2|0)==(V3|0),C3||(f6=B2>>>0>>0,f6&&Q2(),l6=B2+12|0,S3=e[l6>>2]|0,O6=(S3|0)==(D0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,b6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,F3=(F6|0)==(D0|0),F3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,Y3=D0,w9=z0;break}L=Q+24|0,t9=t+L|0,o9=e[t9>>2]|0,x=Q+12|0,j6=t+x|0,f9=e[j6>>2]|0,u9=(f9|0)==(D0|0);do if(u9){if(M=Q+20|0,A4=t+M|0,h4=e[A4>>2]|0,G9=(h4|0)==0,G9)if(F=Q+16|0,D9=t+F|0,E9=e[D9>>2]|0,H6=(E9|0)==0,H6){C9=0;break}else L4=E9,pe=D9;else L4=h4,pe=A4;for(;;){if(r9=L4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){L4=m4,pe=r9;continue}if(o4=L4+16|0,y9=e[o4>>2]|0,D4=(y9|0)==0,D4){ce=L4,p4=pe;break}else L4=y9,pe=o4}if(b4=p4>>>0>>0,b4)Q2();else{e[p4>>2]=0,C9=ce;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=f9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(D0|0),E4){e[E6>>2]=f9,e[N9>>2]=a9,C9=f9;break}else Q2();while(!1);if(M4=(o9|0)==0,M4)Y3=D0,w9=z0;else{if(T=Q+28|0,W4=t+T|0,C4=e[W4>>2]|0,T4=553352+(C4<<2)|0,U9=e[T4>>2]|0,N4=(D0|0)==(U9|0),N4){if(e[T4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=o9+16|0,Xe=e[Ne>>2]|0,G4=(Xe|0)==(D0|0),G4?e[Ne>>2]=C9:(Ge=o9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){Y3=D0,w9=z0;break}j4=e[138266]|0,De=C9>>>0>>0,De&&Q2(),e8=C9+24|0,e[e8>>2]=o9,N=Q+16|0,oe=t+N|0,u4=e[oe>>2]|0,_6=(u4|0)==0;do if(!_6)if(P4=u4>>>0>>0,P4)Q2();else{L9=C9+16|0,e[L9>>2]=u4,$4=u4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,ae=e[_4>>2]|0,W9=(ae|0)==0,W9)Y3=D0,w9=z0;else if($e=e[138266]|0,Z=ae>>>0<$e>>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=ae,a0=ae+24|0,e[a0>>2]=C9,Y3=D0,w9=z0;break}}}else Y3=U,w9=H9;while(!1);if(l0=Y3>>>0>>0,l0||Q2(),D=H9+-4|0,f0=t+D|0,d0=e[f0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,u0=(k0|0)==0,u0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,K0=I0+w9|0,e[138265]=K0,e[138268]=Y3,_0=K0|1,Q0=Y3+4|0,e[Q0>>2]=_0,L0=e[138267]|0,M0=(Y3|0)==(L0|0),!M0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(Z9|0)==(N0|0),U0){y0=e[138264]|0,q0=y0+w9|0,e[138264]=q0,e[138267]=Y3,x0=q0|1,T0=Y3+4|0,e[T0>>2]=x0,J0=Y3+q0|0,e[J0>>2]=q0;return}Y0=d0&-8,P0=Y0+w9|0,V0=d0>>>3,G0=d0>>>0<256;do if(G0){if(O0=t+H9|0,r1=e[O0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=V0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){A1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,R1=(Q1|0)==(Z9|0),R1?a=p1:Q2()),x1=r1+12|0,e[x1>>2]=e1,e[a>>2]=r1}else{J=H9+16|0,S1=t+J|0,L1=e[S1>>2]|0,W=H9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(H=H9+12|0,W1=t+H|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){l4=0;break}else g6=f2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,V1=e[A2>>2]|0,h2=(V1|0)==0,!h2){g6=V1,c4=A2;continue}if(a2=g6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ue=g6,P6=c4;break}else g6=t2,c4=a2}if(i2=e[138266]|0,o2=P6>>>0>>0,o2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+H9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,b1=Z1>>>0>>0,b1&&Q2(),K1=Z1+12|0,H1=e[K1>>2]|0,q1=(H1|0)==(Z9|0),q1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,r2=(j1|0)==(Z9|0),r2){e[K1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(L1|0)==0,!X1){if(v=H9+20|0,u2=t+v|0,e2=e[u2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,q2&&Q2(),M2=L1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(A5=L1+20|0,e[A5>>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]=L1,S=H9+8|0,e5=t+S|0,Z2=e[e5>>2]|0,u5=(Z2|0)==0;do if(!u5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=H9+12|0,k2=t+w|0,m5=e[k2>>2]|0,n5=(m5|0)==0,!n5)if(R2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,L5=m5+24|0,e[L5>>2]=l4;break}}}while(!1);if(d5=P0|1,b5=Y3+4|0,e[b5>>2]=d5,G5=Y3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,H2=(Y3|0)==(_5|0),H2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[f0>>2]=I5,o5=w9|1,c5=Y3+4|0,e[c5>>2]=o5,M1=Y3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,R5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(f=f5,le=i5)),e[f>>2]=Y3,$5=le+12|0,e[$5>>2]=Y3,x2=Y3+8|0,e[x2>>2]=le,Q5=Y3+12|0,e[Q5>>2]=W2;return}H5=B9>>>8,j5=(H5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=H5+1048320|0,Y5=h3>>>16,X5=Y5&8,n3=H5<>>16,J5=F5&4,w3=J5|X5,f3=n3<>>16,V5=N3&2,y3=w3|V5,Z5=14-y3|0,i6=f3<>>15,G3=Z5+R3|0,a3=G3<<1,l3=G3+7|0,c3=B9>>>l3,q5=c3&1,U5=q5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=Y3+28|0,e[k5>>2]=B4,U3=Y3+16|0,M5=Y3+20|0,e[M5>>2]=0,e[U3>>2]=0,A6=e[138263]|0,e3=1<>2]=Y3,k3=Y3+24|0,e[k3>>2]=O5,Q3=Y3+12|0,e[Q3>>2]=Y3,r6=Y3+8|0,e[r6>>2]=Y3;else{W3=e[O5>>2]|0,P3=W3+4|0,K5=e[P3>>2]|0,v3=K5&-8,g3=(v3|0)==(B9|0);t:do if(g3)be=W3;else{for(O3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=O3?0:k6,S6=B9<>>31,e6=(_e+16|0)+(X3<<2)|0,c6=e[e6>>2]|0,u6=(c6|0)==0,u6){n=e6,t8=_e;break}if(B6=X4<<1,j3=c6+4|0,p6=e[j3>>2]|0,R6=p6&-8,Y6=(R6|0)==(B9|0),Y6){be=c6;break t}else X4=B6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

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

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

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