diff --git a/src/spessasynth_lib/synthetizer/worklet_processor.min.js b/src/spessasynth_lib/synthetizer/worklet_processor.min.js index 61f2f367..40431274 100644 --- a/src/spessasynth_lib/synthetizer/worklet_processor.min.js +++ b/src/spessasynth_lib/synthetizer/worklet_processor.min.js @@ -1,16 +1,16 @@ -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 ye(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 lt(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 as(t){return t.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}function hA(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},gs={8:2,9:2,10:2,11:2,12:1,13:1,14:2};var AA={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},re={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},bA=-1,mA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Cs=!0,Es=!0,Je=!0,Bs=!0;function hs(t,A,e,s){Cs=t,Es=A,Je=e,Bs=s}function m(...t){Cs&&console.info(...t)}function b(...t){Es&&console.warn(...t)}function Qs(...t){Bs&&console.table(...t)}function Ae(...t){Je&&console.group(...t)}function pA(...t){Je&&console.groupCollapsed(...t)}function Z(){Je&&console.groupEnd()}var ie={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var cs="spessasynth-worklet-system",ls=450,SA=9,qe=16,Ke="gs";var MA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},kA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function WA(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function us(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=De(t.messageStatusByte),s=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=s,e.status){case w.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 C=this.playingNotes.findIndex(g=>g.midiNote===t.messageData[0]&&g.channel===e.channel);C!==-1&&this.playingNotes.splice(C,1)}break;case w.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case w.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case w.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case w.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case w.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case w.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case w.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case w.setTempo:this.oneTickToSeconds=60/(Do(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),b("invalid tempo! falling back to 120 BPM"));break;case w.timeSignature:case w.endOfTrack:case w.midiChannelPrefix:case w.songPosition:case w.activeSensing:case w.keySignature:break;case w.text:case w.lyric:case w.copyright:case w.trackName:case w.marker:case w.cuePoint:case w.instrumentName:this.post(kA.textEvent,[t.messageData,e.status]);break;case w.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case w.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:b(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(w).find(C=>w[C]===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===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function Do(t){return t.messageData.currentIndex=0,6e7/WA(t.messageData,3)}function fs(){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 ms(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>>0}function ae(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){ae(t,A,4)}function Ie(t,A){let e=A<<8|t;return e>32767?e-65536:e}function ps(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 C=0;C127){if(s){n=!0;continue}else if(g===0){n=!0;continue}}o+=String.fromCharCode(g)}}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))}function Pe(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var I={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},T=[];T[I.startAddrsOffset]={min:0,max:32768,def:0};T[I.endAddrOffset]={min:-32768,max:32768,def:0};T[I.startloopAddrsOffset]={min:-32768,max:32768,def:0};T[I.endloopAddrsOffset]={min:-32768,max:32768,def:0};T[I.startAddrsCoarseOffset]={min:0,max:32768,def:0};T[I.modLfoToPitch]={min:-12e3,max:12e3,def:0};T[I.vibLfoToPitch]={min:-12e3,max:12e3,def:0};T[I.modEnvToPitch]={min:-12e3,max:12e3,def:0};T[I.initialFilterFc]={min:1500,max:13500,def:13500};T[I.initialFilterQ]={min:0,max:960,def:0};T[I.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};T[I.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};T[I.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};T[I.modLfoToVolume]={min:-960,max:960,def:0};T[I.chorusEffectsSend]={min:0,max:1e3,def:0};T[I.reverbEffectsSend]={min:0,max:1e3,def:0};T[I.pan]={min:-500,max:500,def:0};T[I.delayModLFO]={min:-12e3,max:5e3,def:-12e3};T[I.freqModLFO]={min:-16e3,max:4500,def:0};T[I.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};T[I.freqVibLFO]={min:-16e3,max:4500,def:0};T[I.delayModEnv]={min:-32768,max:5e3,def:-32768};T[I.attackModEnv]={min:-32768,max:8e3,def:-32768};T[I.holdModEnv]={min:-12e3,max:5e3,def:-12e3};T[I.decayModEnv]={min:-12e3,max:8e3,def:-12e3};T[I.sustainModEnv]={min:0,max:1e3,def:0};T[I.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};T[I.keyNumToModEnvHold]={min:-1200,max:1200,def:0};T[I.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};T[I.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};T[I.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};T[I.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};T[I.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};T[I.sustainVolEnv]={min:0,max:1440,def:0};T[I.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};T[I.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};T[I.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};T[I.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};T[I.keyNum]={min:-1,max:127,def:-1};T[I.velocity]={min:-1,max:127,def:-1};T[I.initialAttenuation]={min:-250,max:1440,def:0};T[I.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};T[I.coarseTune]={min:-120,max:120,def:0};T[I.fineTune]={min:-99,max:99,def:0};T[I.scaleTuning]={min:0,max:1200,def:100};T[I.exclusiveClass]={min:0,max:99999,def:0};T[I.overridingRootKey]={min:-1,max:127,def:-1};var U=class{constructor(A=I.INVALID,e=0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");let s=T[A];this.generatorValue=Math.round(e),s!==void 0&&(this.generatorValue=Math.max(s.min,Math.min(s.max,this.generatorValue)))}generatorType=I.INVALID;generatorValue=0};function Ss(t,A,e){let s=T[t]||{min:0,max:32768,def:0},n=A.find(Q=>Q.generatorType===t),o=0;n&&(o=n.generatorValue);let C=e.find(Q=>Q.generatorType===t),g=s.def;C&&(g=C.generatorValue);let h=g+o;return t===I.initialAttenuation?h:Math.max(s.min,Math.min(s.max,h))}var ut=class extends U{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=Ie(A[e+2],A[e+3]),A.currentIndex+=4}};function dt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new ut(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},lA={linear:0,concave:1,convex:2,switch:3},ko=[];for(let t=0;t<4;t++)ko.push([[],[]]);var rA=class t{constructor(A){A.srcEnum?(this.modulatorSource=A.srcEnum,this.modulatorDestination=A.dest,this.modulationSecondarySrc=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform):(this.modulatorSource=D(A,2),this.modulatorDestination=D(A,2),this.transformAmount=Ie(A[A.currentIndex++],A[A.currentIndex++]),this.modulationSecondarySrc=D(A,2),this.transformType=D(A,2)),this.modulatorDestination>58&&(this.modulatorDestination=I.INVALID),this.sourcePolarity=this.modulatorSource>>9&1,this.sourceDirection=this.modulatorSource>>8&1,this.sourceUsesCC=this.modulatorSource>>7&1,this.sourceIndex=this.modulatorSource&127,this.sourceCurveType=this.modulatorSource>>10&3,this.secSrcPolarity=this.modulationSecondarySrc>>9&1,this.secSrcDirection=this.modulationSecondarySrc>>8&1,this.secSrcUsesCC=this.modulationSecondarySrc>>7&1,this.secSrcIndex=this.modulationSecondarySrc&127,this.secSrcCurveType=this.modulationSecondarySrc>>10&3}sumTransform(A){return new t({srcEnum:this.modulatorSource,secSrcEnum:this.modulationSecondarySrc,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+A.transformAmount})}debugString(){function A(n,o){return Object.keys(n).find(C=>n[C]===o)}let e=A(lA,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(lA,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} +var rs=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(A,t)=>(typeof require<"u"?require:A)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var H=class extends Uint8Array{constructor(A){super(A),this.currentIndex=0}currentIndex};function ye(e){let A=e.reduce((n,o)=>n+o.length,0),t=new H(A),s=0;for(let n of e)t.set(n,s),s+=n.length;return t}function lt(e){e=Math.floor(e);let A=Math.floor(e/60),t=Math.round(e-A*60);return{minutes:A,seconds:t,time:`${A.toString().padStart(2,"0")}:${t.toString().padStart(2,"0")}`}}function is(e){return e.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}function hA(e){let A="";for(let t=0;t=128&&A<=224&&(s=t,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},Is={8:2,9:2,10:2,11:2,12:1,13:1,14:2};var AA={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},re={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},bA=-1,mA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var gs=!0,Cs=!0,Je=!0,Es=!0;function Bs(e,A,t,s){gs=e,Cs=A,Je=t,Es=s}function m(...e){gs&&console.info(...e)}function b(...e){Cs&&console.warn(...e)}function hs(...e){Es&&console.table(...e)}function Ae(...e){Je&&console.group(...e)}function pA(...e){Je&&console.groupCollapsed(...e)}function Z(){Je&&console.groupEnd()}var ie={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var Qs="spessasynth-worklet-system",cs=450,SA=9,qe=16,Ke="gs";var NA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},kA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function _A(e,A){let t=0;for(let s=8*(A-1);s>=0;s-=8)t|=e[e.currentIndex++]<>>0}function ls(e,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&e.messageStatusByte>=128){this.sendMIDIMessage([e.messageStatusByte,...e.messageData]);return}let t=De(e.messageStatusByte),s=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(t.channel+=s,t.status){case w.noteOn:let n=e.messageData[1];if(n>0)this.synth.noteOn(t.channel,e.messageData[0],n),this.playingNotes.push({midiNote:e.messageData[0],channel:t.channel,velocity:n});else{this.synth.noteOff(t.channel,e.messageData[0]);let g=this.playingNotes.findIndex(C=>C.midiNote===e.messageData[0]&&C.channel===t.channel);g!==-1&&this.playingNotes.splice(g,1)}break;case w.noteOff:this.synth.noteOff(t.channel,e.messageData[0]);let o=this.playingNotes.findIndex(g=>g.midiNote===e.messageData[0]&&g.channel===t.channel);o!==-1&&this.playingNotes.splice(o,1);break;case w.pitchBend:this.synth.pitchWheel(t.channel,e.messageData[1],e.messageData[0]);break;case w.controllerChange:this.synth.controllerChange(t.channel,e.messageData[0],e.messageData[1]);break;case w.programChange:this.synth.programChange(t.channel,e.messageData[0]);break;case w.polyPressure:this.synth.polyPressure(t.channel,e.messageData[0],e.messageData[1]);break;case w.channelPressure:this.synth.channelPressure(t.channel,e.messageData[0]);break;case w.systemExclusive:this.synth.systemExclusive(e.messageData,s);break;case w.setTempo:this.oneTickToSeconds=60/(Do(e)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),b("invalid tempo! falling back to 120 BPM"));break;case w.timeSignature:case w.endOfTrack:case w.midiChannelPrefix:case w.songPosition:case w.activeSensing:case w.keySignature:break;case w.text:case w.lyric:case w.copyright:case w.trackName:case w.marker:case w.cuePoint:case w.instrumentName:this.post(kA.textEvent,[e.messageData,t.status]);break;case w.midiPort:this.assignMIDIPort(A,e.messageData[0]);break;case w.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:b(`%cUnrecognized Event: %c${e.messageStatusByte}%c status byte: %c${Object.keys(w).find(g=>w[g]===t.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function us(){for(let e=0;e<16;e++)this.synth.createWorkletChannel(!0),e===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function Do(e){return e.messageData.currentIndex=0,6e7/_A(e.messageData,3)}function fs(){let e=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let s=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(s.ticks-t.ticks),this.midiData.loop.end<=t.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(e>=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 ds(){let e=0,A=1/0;return this.tracks.forEach((t,s)=>{this.eventIndex[s]>=t.length||t[this.eventIndex[s]].ticks>>0}function ae(e,A,t){for(let s=0;s>s*8&255}function Y(e,A){e[e.currentIndex++]=A&255,e[e.currentIndex++]=A>>8}function cA(e,A){ae(e,A,4)}function Ie(e,A){let t=A<<8|e;return t>32767?t-65536:t}function ms(e){return e>127?e-256:e}function V(e,A,t=void 0,s=!0){if(t){let n=e.slice(e.currentIndex,e.currentIndex+A);return e.currentIndex+=A,new TextDecoder(t.replace(/[^\x20-\x7E]/g,"")).decode(n.buffer)}else{let n=!1,o="";for(let g=0;g127){if(s){n=!0;continue}else if(C===0){n=!0;continue}}o+=String.fromCharCode(C)}}return o}}function wA(e,A,t=0){t>0&&A.length>t&&(A=A.slice(0,t));for(let s=0;sA.length)for(let s=0;st.header!=="LIST"?!1:(t.chunkData.currentIndex=0,V(t.chunkData,4)===A))}function Pe(e){let A=0;for(;e;){let t=e[e.currentIndex++];if(A=A<<7|t&127,t>>7!==1)break}return A}var I={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},T=[];T[I.startAddrsOffset]={min:0,max:32768,def:0};T[I.endAddrOffset]={min:-32768,max:32768,def:0};T[I.startloopAddrsOffset]={min:-32768,max:32768,def:0};T[I.endloopAddrsOffset]={min:-32768,max:32768,def:0};T[I.startAddrsCoarseOffset]={min:0,max:32768,def:0};T[I.modLfoToPitch]={min:-12e3,max:12e3,def:0};T[I.vibLfoToPitch]={min:-12e3,max:12e3,def:0};T[I.modEnvToPitch]={min:-12e3,max:12e3,def:0};T[I.initialFilterFc]={min:1500,max:13500,def:13500};T[I.initialFilterQ]={min:0,max:960,def:0};T[I.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};T[I.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};T[I.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};T[I.modLfoToVolume]={min:-960,max:960,def:0};T[I.chorusEffectsSend]={min:0,max:1e3,def:0};T[I.reverbEffectsSend]={min:0,max:1e3,def:0};T[I.pan]={min:-500,max:500,def:0};T[I.delayModLFO]={min:-12e3,max:5e3,def:-12e3};T[I.freqModLFO]={min:-16e3,max:4500,def:0};T[I.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};T[I.freqVibLFO]={min:-16e3,max:4500,def:0};T[I.delayModEnv]={min:-32768,max:5e3,def:-32768};T[I.attackModEnv]={min:-32768,max:8e3,def:-32768};T[I.holdModEnv]={min:-12e3,max:5e3,def:-12e3};T[I.decayModEnv]={min:-12e3,max:8e3,def:-12e3};T[I.sustainModEnv]={min:0,max:1e3,def:0};T[I.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};T[I.keyNumToModEnvHold]={min:-1200,max:1200,def:0};T[I.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};T[I.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};T[I.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};T[I.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};T[I.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};T[I.sustainVolEnv]={min:0,max:1440,def:0};T[I.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};T[I.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};T[I.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};T[I.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};T[I.keyNum]={min:-1,max:127,def:-1};T[I.velocity]={min:-1,max:127,def:-1};T[I.initialAttenuation]={min:-250,max:1440,def:0};T[I.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};T[I.coarseTune]={min:-120,max:120,def:0};T[I.fineTune]={min:-99,max:99,def:0};T[I.scaleTuning]={min:0,max:1200,def:100};T[I.exclusiveClass]={min:0,max:99999,def:0};T[I.overridingRootKey]={min:-1,max:127,def:-1};var U=class{constructor(A=I.INVALID,t=0){if(this.generatorType=A,t===void 0)throw new Error("No value provided.");let s=T[A];this.generatorValue=Math.round(t),s!==void 0&&(this.generatorValue=Math.max(s.min,Math.min(s.max,this.generatorValue)))}generatorType=I.INVALID;generatorValue=0};function ps(e,A,t){let s=T[e]||{min:0,max:32768,def:0},n=A.find(Q=>Q.generatorType===e),o=0;n&&(o=n.generatorValue);let g=t.find(Q=>Q.generatorType===e),C=s.def;g&&(C=g.generatorValue);let h=C+o;return e===I.initialAttenuation?h:Math.max(s.min,Math.min(s.max,h))}var ut=class extends U{constructor(A){super();let t=A.currentIndex;this.generatorType=A[t+1]<<8|A[t],this.generatorValue=Ie(A[t+2],A[t+3]),A.currentIndex+=4}};function ft(e){let A=[];for(;e.chunkData.length>e.chunkData.currentIndex;)A.push(new ut(e.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},lA={linear:0,concave:1,convex:2,switch:3},ko=[];for(let e=0;e<4;e++)ko.push([[],[]]);var rA=class e{constructor(A){A.srcEnum?(this.modulatorSource=A.srcEnum,this.modulatorDestination=A.dest,this.modulationSecondarySrc=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform):(this.modulatorSource=D(A,2),this.modulatorDestination=D(A,2),this.transformAmount=Ie(A[A.currentIndex++],A[A.currentIndex++]),this.modulationSecondarySrc=D(A,2),this.transformType=D(A,2)),this.modulatorDestination>58&&(this.modulatorDestination=I.INVALID),this.sourcePolarity=this.modulatorSource>>9&1,this.sourceDirection=this.modulatorSource>>8&1,this.sourceUsesCC=this.modulatorSource>>7&1,this.sourceIndex=this.modulatorSource&127,this.sourceCurveType=this.modulatorSource>>10&3,this.secSrcPolarity=this.modulationSecondarySrc>>9&1,this.secSrcDirection=this.modulationSecondarySrc>>8&1,this.secSrcUsesCC=this.modulationSecondarySrc>>7&1,this.secSrcIndex=this.modulationSecondarySrc&127,this.secSrcCurveType=this.modulationSecondarySrc>>10&3}sumTransform(A){return new e({srcEnum:this.modulatorSource,secSrcEnum:this.modulationSecondarySrc,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+A.transformAmount})}debugString(){function A(n,o){return Object.keys(n).find(g=>n[g]===o)}let t=A(lA,this.sourceCurveType);t+=this.sourcePolarity===0?" unipolar ":" bipolar ",t+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?t+=A(p,this.sourceIndex):t+=A(P,this.sourceIndex);let s=A(lA,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: ${t} Secondary source: ${s} Destination: ${A(I,this.modulatorDestination)} Trasform amount: ${this.transformAmount} Transform type: ${this.transformType} -`}};function qA(t,A,e,s,n){return t<<10|A<<9|e<<8|s<<7|n}var ft=960,mt=lA.concave,ys=[new rA({srcEnum:qA(mt,0,1,0,P.noteOnVelocity),dest:I.initialAttenuation,amt:ft,secSrcEnum:0,transform:0}),new rA({srcEnum:129,dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(mt,0,1,1,p.mainVolume),dest:I.initialAttenuation,amt:ft,secSrcEnum:0,transform:0}),new rA({srcEnum:13,dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new rA({srcEnum:526,dest:I.fineTune,amt:12700,secSrcEnum:16,transform:0}),new rA({srcEnum:650,dest:I.pan,amt:1e3,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(mt,0,1,1,p.expressionController),dest:I.initialAttenuation,amt:ft,secSrcEnum:0,transform:0}),new rA({srcEnum:219,dest:I.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new rA({srcEnum:221,dest:I.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,0,0,0,P.polyPressure),dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,0,0,1,p.effects2Depth),dest:I.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,1,0,1,p.releaseTime),dest:I.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,1,0,1,p.brightness),dest:I.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0})];function pt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new rA(t.chunkData));return A}function Ds(t=!1){let A={midiControllers:new Int16Array(St),lockedControllers:Array(St).fill(!1),customControllers:new Float32Array(ks),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},lockVibrato:!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 gA=128,St=147,KA=new Int16Array(St).fill(0);KA[p.mainVolume]=12800;KA[p.expressionController]=16256;KA[p.pan]=8192;KA[p.releaseTime]=8192;KA[p.brightness]=8192;KA[p.effects1Depth]=5120;KA[gA+P.pitchWheel]=8192;KA[gA+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},ks=Object.keys(iA).length,yt=new Float32Array(ks);yt[iA.modulationMultiplier]=1;var Ve={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 Oe=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 ge(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.ticks0&&(W+=this.tracks[S-1][this.tracks[S-1].length-1].ticks);x.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=W),K=gs[a>>4],(a&240)===w.noteOn){N.add(sA);let IA=x.data[x.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,IA),this.keyRange.max=Math.max(this.keyRange.max,IA)}M=a;break}let z=new H(K),$=x.data.slice(x.data.currentIndex,x.data.currentIndex+K);x.data.currentIndex+=K,z.set($,0);let QA=new oe(W,a,z);switch(k.push(QA),sA){case-2:switch(a){case w.setTempo:this.tempoChanges.push({ticks:W,tempo:6e7/WA($,3)});break;case w.marker:switch(V(z,z.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=W;break;case"loopend":l=W}z.currentIndex=0;break;case w.midiPort:let TA=z[0];this.midiPorts[S]=TA,this.midiPortChannelOffsets[TA]===void 0&&(this.midiPortChannelOffsets[TA]=c,c+=16);break;case w.copyright:o||(this.copyright+=V(z,z.length,void 0,!1)+` +`}};function qA(e,A,t,s,n){return e<<10|A<<9|t<<8|s<<7|n}var dt=960,mt=lA.concave,Ss=[new rA({srcEnum:qA(mt,0,1,0,P.noteOnVelocity),dest:I.initialAttenuation,amt:dt,secSrcEnum:0,transform:0}),new rA({srcEnum:129,dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(mt,0,1,1,p.mainVolume),dest:I.initialAttenuation,amt:dt,secSrcEnum:0,transform:0}),new rA({srcEnum:13,dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new rA({srcEnum:526,dest:I.fineTune,amt:12700,secSrcEnum:16,transform:0}),new rA({srcEnum:650,dest:I.pan,amt:1e3,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(mt,0,1,1,p.expressionController),dest:I.initialAttenuation,amt:dt,secSrcEnum:0,transform:0}),new rA({srcEnum:219,dest:I.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new rA({srcEnum:221,dest:I.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,0,0,0,P.polyPressure),dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,0,0,1,p.effects2Depth),dest:I.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,1,0,1,p.releaseTime),dest:I.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new rA({srcEnum:qA(lA.linear,1,0,1,p.brightness),dest:I.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0})];function pt(e){let A=[];for(;e.chunkData.length>e.chunkData.currentIndex;)A.push(new rA(e.chunkData));return A}function ys(e=!1){let A={midiControllers:new Int16Array(St),lockedControllers:Array(St).fill(!1),customControllers:new Float32Array(Ds),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},lockVibrato:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let t=0;t<128;t++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),e&&this.callEvent("newchannel",void 0)}var gA=128,St=147,KA=new Int16Array(St).fill(0);KA[p.mainVolume]=12800;KA[p.expressionController]=16256;KA[p.pan]=8192;KA[p.releaseTime]=8192;KA[p.brightness]=8192;KA[p.effects1Depth]=5120;KA[gA+P.pitchWheel]=8192;KA[gA+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},Ds=Object.keys(iA).length,yt=new Float32Array(Ds);yt[iA.modulationMultiplier]=1;var Ve={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 Oe=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 ge(e,A){let t=0;for(;e>0;){let s=A.tempoChanges.find(o=>o.ticks0&&(W+=this.tracks[S-1][this.tracks[S-1].length-1].ticks);x.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=W),K=Is[a>>4],(a&240)===w.noteOn){N.add(sA);let IA=x.data[x.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,IA),this.keyRange.max=Math.max(this.keyRange.max,IA)}M=a;break}let z=new H(K),$=x.data.slice(x.data.currentIndex,x.data.currentIndex+K);x.data.currentIndex+=K,z.set($,0);let QA=new oe(W,a,z);switch(k.push(QA),sA){case-2:switch(a){case w.setTempo:this.tempoChanges.push({ticks:W,tempo:6e7/_A($,3)});break;case w.marker:switch(V(z,z.length).trim().toLowerCase()){default:break;case"start":case"loopstart":f=W;break;case"loopend":u=W}z.currentIndex=0;break;case w.midiPort:let TA=z[0];this.midiPorts[S]=TA,this.midiPortChannelOffsets[TA]===void 0&&(this.midiPortChannelOffsets[TA]=c,c+=16);break;case w.copyright:o||(this.copyright+=V(z,z.length,void 0,!1)+` `);break;case w.lyric:this.lyrics.push(z)}break;case-3:if(hA(z.slice(0,7)).trim()==="41 10 45 12 10 00 00"){let IA=z.slice(7,$.length-3),TA=V(IA,IA.length)+` -`;this.copyright+=TA,m(`%cDecoded Roland SC message! %c${TA}`,r.recognized,r.value)}break;default:if((a&240)===w.controllerChange)switch(z[0]){case 2:case 116:d=W;break;case 4:case 117:l===null?l=W:l=0;break;case 0:g&&z[1]!==0&&z[1]!==127&&(m("%cDLS RMIDI with offset 1 detected!",r.recognized),this.bankOffset=1)}}}this.tracks.push(k),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),pA("%cCorrecting loops, ports and detecting notes...",r.info);let u=[];for(let S of this.tracks){let k=S.find(x=>(x.messageStatusByte&240)===w.noteOn);k&&u.push(k.ticks)}this.firstNoteOn=Math.min(...u),m(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,r.info,r.recognized,r.info),d!==null&&l===null?(d=this.firstNoteOn,l=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(l===null||l===0)&&(l=this.lastVoiceEventTick)),this.loop={start:d,end:l},m(`%cLoop points: start: %c${this.loop.start}%c end: %c${this.loop.end}`,r.info,r.recognized,r.info,r.recognized);let y=0;for(let S of this.midiPorts)if(S!==-1){y=S;break}if(this.midiPorts=this.midiPorts.map(S=>S===-1?y: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),!C)if(this.tracks.length>1){if(this.tracks[0].find(S=>S.messageStatusByte>=w.noteOn&&S.messageStatusBytek.messageStatusByte===w.trackName);S&&(this.rawMidiName=S.messageData,this.midiName=V(S.messageData,S.messageData.length,void 0,!1))}}else{let S=this.tracks[0].find(k=>k.messageStatusByte===w.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=as(e),this.rawMidiName=new Uint8Array(this.midiName.length);for(let S=0;Sc>l?c:l),s=[];for(let l=0;l{C[y]>=u.length||u[C[y]].ticks0;){let l=h(),c=t.tracks[l];if(C[l]>=c.length){g--;continue}let u=c[C[l]];if(C[l]++,u.messageStatusByte===w.midiPort){Q[l]=u.messageData[0];continue}let y=u.messageStatusByte&240;if(y!==w.noteOn&&y!==w.controllerChange&&y!==w.programChange&&y!==w.systemExclusive)continue;let S=(u.messageStatusByte&15)+t.midiPortChannelOffsets[Q[l]]||0,k=s[S];switch(y){case w.programChange:k.program=u.messageData[0],n(k);break;case w.controllerChange:if(u.messageData[0]!==p.bankSelect||d==="gs"&&k.drums)continue;let x=u.messageData[1],N=Math.max(0,x-t.bankOffset);if(d==="xg"){let J=x===120||x===126||x===127;J!==k.drums?(k.drums=J,k.bank=k.drums?128:N,n(k)):k.bank=k.drums?128:N;continue}s[S].bank=N;break;case w.noteOn:if(u.messageData[1]===0)continue;n(k),o[k.string].add(`${u.messageData[0]}-${u.messageData[1]}`);break;case w.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 M=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][u.messageData[5]&15]+t.midiPortChannelOffsets[Q[l]],W=!!(u.messageData[7]>0&&u.messageData[5]>>4);k=s[M],k.drums=W,k.bank=W?128:0,n(k);break}}for(let l of Object.keys(o))o[l].size===0&&(m(`%cDetected change but no keys for %c${l}`,r.info,r.value),delete o[l]);return Z(),o}function Fs(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=ge(this.midiData.firstNoteOn,this.midiData),m(`%cTotal song time: ${lt(Math.ceil(this.duration)).time}`,r.recognized),this.post(kA.songChange,[new ve(this.midiData),this.songIndex]),this.synth.resetAllControllers(),this.duration<=1&&(b(`%cVery short song: (${lt(Math.round(this.duration)).time}). Disabling loop!`,r.warn),this.loop=!1),this.play(!0)}function Gs(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(kA.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 xs(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ms(){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 vA=new Int16Array(127);vA[p.mainVolume]=100;vA[p.expressionController]=127;vA[p.pan]=64;vA[p.releaseTime]=64;vA[p.brightness]=64;vA[p.effects1Depth]=40;function Ns(t,A=void 0){if(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),this.synth.resetAllControllers(),this.sendMIDIMessages){this.sendMIDIMessage([w.reset]);for(let g=0;gg===p.dataDecrement||g===p.dataIncrement||g===p.dataEntryMsb||g===p.dataDecrement||g===p.lsbForControl6DataEntry||g===p.RPNLsb||g===p.RPNMsb||g===p.NRPNLsb||g===p.NRPNMsb||g===p.bankSelect||g===p.lsbForControl0BankSelect||g===p.resetAllControllers,C=[];for(let g=0;g=A)break}else if(this.playedTime>=t)break;let Q=De(h.messageStatusByte),d=Q.channel+(this.midiPortChannelOffsets[this.midiPorts[g]]||0);switch(Q.status){case w.noteOn:case w.noteOff:case w.keySignature:break;case w.pitchBend:s[d]=h.messageData[1]<<7|h.messageData[0];break;case w.programChange:let c=n[d];c.program=h.messageData[0],c.actualBank=c.bank;break;case w.controllerChange:let u=h.messageData[0];if(o(u))if(this.sendMIDIMessages)this.sendMIDIMessage([w.controllerChange|d%16,u,h.messageData[1]]);else{let y=h.messageData[1];if(u===p.bankSelect){n[d].bank=y;break}this.synth.controllerChange(d,u,y)}else C[d]===void 0&&(C[d]=Array.from(vA)),C[d][u]=h.messageData[1];break;default:this._processEvent(h,g);break}this.eventIndex[g]++,g=this._findFirstEventIndex();let l=this.tracks[g][this.eventIndex[g]];if(l===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(l.ticks-h.ticks)}if(this.sendMIDIMessages){for(let g=0;g>7]),C[g].forEach((h,Q)=>{h!==vA[Q]&&!o(Q)&&this.sendMIDIMessage([w.controllerChange|g%16,Q,h])}),n[g].program>=0&&n[g].actualBank>=0){let h=n[g].actualBank;this.sendMIDIMessage([w.controllerChange|g%16,p.bankSelect,h]),this.sendMIDIMessage([w.programChange|g%16,n[g].program])}}else for(let g=0;g>7,s[g]&127),C[g]!==void 0&&C[g].forEach((h,Q)=>{h!==vA[Q]&&!o(Q)&&this.synth.controllerChange(g,Q,h)}),n[g].program>=0&&n[g].actualBank>=0){let h=n[g].actualBank;this.synth.controllerChange(g,p.bankSelect,h),this.synth.programChange(g,n[g].program)}return!0}function bs(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 Ls(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(kA.timeChange,currentTime-ge(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function Us(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function Ts(t,A){switch(t){default:break;case MA.loadNewSongList:this.loadNewSongList(A);break;case MA.pause:this.pause();break;case MA.play:this.play(A);break;case MA.stop:this.stop();break;case MA.setTime:this.currentTime=A;break;case MA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case MA.setPlaybackRate:this.playbackRate=A;break;case MA.setLoop:this.loop=A;break;case MA.changeSong:A?this.nextSong():this.previousSong();break;case MA.getMIDI:this.post(kA.getMIDI,this.midiData);break;case MA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break}}function Hs(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:mA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function Ys(t){this.post(kA.midiEvent,t)}var CA=class{constructor(A){this.synth=A,this.ignoreEvents=!1,this.sendMIDIMessages=!1,this.loopCount=1/0,this.currentLoopCount=this.loopCount,this.eventIndex=[],this.songIndex=0,this.playedTime=0,this.pausedTime=void 0,this.absoluteStartTime=currentTime,this._playbackRate=1,this.playingNotes=[],this.loop=!0,this.midiData=void 0,this.midiPorts=[],this.midiPortChannelOffset=0,this.midiPortChannelOffsets={},this._skipToFirstNoteOn=!0}set playbackRate(A){let e=this.currentTime;this._playbackRate=A,this.currentTime=e}get currentTime(){return this.pausedTime?this.pausedTime:(currentTime-this.absoluteStartTime)*this._playbackRate}set currentTime(A){if(A>this.duration||A<0){this._skipToFirstNoteOn?this.setTimeTicks(this.midiData.firstNoteOn-1):this.setTimeTicks(0);return}if(this._skipToFirstNoteOn&&AJs?440*Math.pow(2,(t-6900)/1200):kt[~~t-Xe]}var Ft=-1660,wo=1600,wt=new Float32Array((wo-Ft)*100+1);for(let t=0;t.5?1:0,s?e*2-1:e;case lA.concave:return s?(e=e*2-1,e<0?1-Ce[~~(e*-aA)]-1:Ce[~~e*aA]):Ce[~~(e*aA)];case lA.convex:return s?(e=e*2-1,e<0?1-Ee[~~(e*-aA)]-1:Ee[~~(e*aA)]):Ee[~~(e*aA)]}}var Rt=1,Gt=new Float32Array(1e3);for(let t=0;t=t.sample.loopEnd;)e-=o;let g=~~e,h=g+1;for(;h>=t.sample.loopEnd;)h-=o;let Q=e-g,d=n[h],l=n[g];A[C]=l+(d-l)*Q,e+=t.sample.playbackStep*t.currentTuningCalculated}}else{t.sample.end>=n.length&&(t.sample.end=n.length-1);for(let o=0;o=t.sample.end){t.finished=!0;return}let h=e-C,Q=n[g],d=n[C];A[o]=d+(Q-d)*h,e+=t.sample.playbackStep*t.currentTuningCalculated}}t.sample.cursor=e}function Ks(t,A){let e=t.sample.cursor,s=t.sample.loopingMode===1||t.sample.loopingMode===3&&!t.isInRelease,n=t.sample.loopEnd-t.sample.loopStart,o=t.sample.sampleData;if(s)for(let C=0;C=t.sample.loopEnd;)e-=n;let g=~~e+1;for(;g>=t.sample.loopEnd;)g-=n;A[C]=o[g],e+=t.sample.playbackStep*t.currentTuningCalculated}else{t.sample.end>=o.length&&(t.sample.end=o.length-1);for(let C=0;C=t.sample.end){t.finished=!0;return}A[C]=o[g],e+=t.sample.playbackStep*t.currentTuningCalculated}}t.sample.cursor=e}function vs(t,A,e,s,n,o,C,g,h){if(!isNaN(e[0])){if(C>0){let Q=o[0],d=o[1];C=Math.min(C,1e3);let l=C/800,c=t*l,u=A*l;for(let y=0;y0){let Q=g[0],d=g[1];h=Math.min(h,1e3);let l=h/800,c=t*l,u=A*l;for(let y=0;y0)for(let Q=0;Q0)for(let Q=0;Q13499)){(A.filter.cutoffCents!==s||A.filter.reasonanceCb!==A.modulatedGenerators[I.initialFilterQ])&&(A.filter.cutoffCents=s,A.filter.reasonanceCb=A.modulatedGenerators[I.initialFilterQ],t.calculateCoefficients(A));for(let n=0;n.45*sampleRate&&(A.filter.cutoffHz=.45*sampleRate);let e=A.filter.reasonanceCb/10-3.01;A.filter.reasonanceGain=_A(-1*e);let s=1/Math.sqrt(A.filter.reasonanceGain),n=2*Math.PI*A.filter.cutoffHz/sampleRate,o=Math.cos(n),C=Math.sin(n)/(2*A.filter.reasonanceGain),g=(1-o)*s,h=g/2,Q=h,d=1+C,l=-2*o,c=1-C;A.filter.a0=h/d,A.filter.a1=g/d,A.filter.a2=Q/d,A.filter.a3=l/d,A.filter.a4=c/d}};var Ps=.001,we=100,xt=70,NA=class t{constructor(A){this.sampleRate=A}currentSampleTime=0;sampleRate;currentAttenuationDb=we;state=0;releaseStartDb=100;releaseStartTimeSamples=0;currentReleaseGain=1;attackDuration=0;decayDuration=0;releaseDuration=0;attenuation=0;sustainDb=0;delayEnd=0;attackEnd=0;holdEnd=0;decayEnd=0;static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=_A(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=h=>Math.floor(LA(h)*e.sampleRate);e.attenuation=Math.max(0,Math.min(A.modulatedGenerators[I.initialAttenuation],1440))/10,e.sustainDb=Math.min(100,A.volumeEnvelope.attenuation+A.modulatedGenerators[I.sustainVolEnv]/10),e.attackDuration=s(A.modulatedGenerators[I.attackVolEnv]);let n=A.modulatedGenerators[I.decayVolEnv],o=(60-A.targetKey)*A.modulatedGenerators[I.keyNumToVolEnvDecay],C=(e.sustainDb-e.attenuation)/100;e.decayDuration=s(n+o)*C,e.releaseDuration=s(A.modulatedGenerators[I.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[I.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let g=(60-A.targetKey)*A.modulatedGenerators[I.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[I.holdVolEnv]+g)+e.attackEnd,e.decayEnd=e.decayDuration+e.holdEnd,e.state===0&&e.attackEnd===0&&(e.currentAttenuationDb=e.attenuation,e.state=2),A.isInRelease){switch(e.state){case 0:e.releaseStartDb=we;break;case 1:let Q=(1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration)*_A(e.attenuation);e.releaseStartDb=20*Math.log10(Q)*-1;break;case 2:e.releaseStartDb=e.attenuation;break;case 3:e.releaseStartDb=(1-(e.decayEnd-e.releaseStartTimeSamples)/e.decayDuration)*(e.sustainDb-e.attenuation)+e.attenuation;break;case 4:e.releaseStartDb=e.sustainDb;break;default:e.releaseStartDb=e.currentAttenuationDb}e.releaseStartDb=Math.min(e.releaseStartDb,we),e.releaseStartDb>=xt&&(A.finished=!0)}}static getInterpolatedGain(A,e,s){return A.currentAttenuationDb+=(e-A.currentAttenuationDb)*s,_A(A.currentAttenuationDb)}static apply(A,e,s,n){let o=A.volumeEnvelope,C=s/10;if(A.isInRelease){let h=n*10,Q=o.currentSampleTime-o.releaseStartTimeSamples;if(Q>=o.releaseDuration){for(let c=0;c=xt&&(A.finished=!0);return}let g=0;switch(o.state){case 0:for(;o.currentSampleTime=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:let h=o.sustainDb-o.attenuation;for(;o.currentSampleTime=e.length)return}o.state++;case 4:if(o.sustainDb>xt){for(;g=e.length)return}}};var Vs=Math.PI/2,Os=.01;function Zs(t,A,e,s,n,o){if(A.isInRelease||currentTime>=A.releaseStartTime&&(A.isInRelease=!0,NA.startRelease(A),UA.startRelease(A)),A.modulatedGenerators[I.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let C=A.targetKey,g=A.modulatedGenerators[I.fineTune]+t.customControllers[iA.channelTuning]+t.customControllers[iA.channelTransposeFine]+t.customControllers[iA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],h=A.modulatedGenerators[I.coarseTune]+t.customControllers[iA.channelTuningSemitones],Q=this.tunings[t.preset.program]?.[C];Q?.midiNote>=0&&(C=Q.midiNote,g+=Q.centTuning),g+=(C-A.sample.rootKey)*A.modulatedGenerators[I.scaleTuning];let d=A.modulatedGenerators[I.vibLfoToPitch];if(d!==0){let $=A.startTime+LA(A.modulatedGenerators[I.delayVibLFO]),QA=ke(A.modulatedGenerators[I.freqVibLFO]),IA=We($,QA,currentTime);g+=IA*(d*t.customControllers[iA.modulationMultiplier])}let l=A.modulatedGenerators[I.initialFilterFc],c=A.modulatedGenerators[I.modLfoToPitch],u=A.modulatedGenerators[I.modLfoToVolume],y=A.modulatedGenerators[I.modLfoToFilterFc],S=0;if(c+y+u!==0){let $=A.startTime+LA(A.modulatedGenerators[I.delayModLFO]),QA=ke(A.modulatedGenerators[I.freqModLFO]),IA=We($,QA,currentTime);g+=IA*(c*t.customControllers[iA.modulationMultiplier]),S=-IA*u,l+=IA*y}if(t.channelVibrato.depth>0){let $=We(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);$&&(g+=$*t.channelVibrato.depth)}let k=A.modulatedGenerators[I.modEnvToPitch],x=A.modulatedGenerators[I.modEnvToFilterFc],N=UA.getValue(A,currentTime);l+=N*x,g+=N*k;let M=~~(g+h*100);M!==A.currentTuningCents&&(A.currentTuningCents=M,A.currentTuningCalculated=Math.pow(2,M/1200));let W=(Math.max(-500,Math.min(500,A.modulatedGenerators[I.pan]))+500)/1e3,J=new Float32Array(e.length);this.interpolationType===_e.linear?qs(A,J):Ks(A,J),Be.apply(A,J,l),NA.apply(A,J,S,this.volumeEnvelopeSmoothingFactor),A.currentPan+=(W-A.currentPan)*this.panSmoothingFactor;let a=Math.cos(Vs*A.currentPan)*this.panLeft,sA=Math.sin(Vs*A.currentPan)*this.panRight,K=this.oneOutputMode?0:A.modulatedGenerators[I.reverbEffectsSend],z=this.oneOutputMode?0:A.modulatedGenerators[I.chorusEffectsSend];vs(a,sA,J,e,s,n,K,o,z)}function Fo(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 Xs(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Fo(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 Ws(t){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimezs=t);var Ro=function(t){var A,e,s,n,o,C,g,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Q="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=h.indexOf(t.charAt(d++)),o=h.indexOf(t.charAt(d++)),C=h.indexOf(t.charAt(d++)),g=h.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|C>>2,s=(3&C)<<6|g,Q+=String.fromCharCode(A),C!==64&&(Q+=String.fromCharCode(e)),g!==64&&(Q+=String.fromCharCode(s));while(d1&&(a.thisProgram=process.argv[1].replace(/\\/g,"/")),a.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(i){if(!(i instanceof me))throw i}),process.on("unhandledRejection",function(i,E){process.exit(1)}),a.quit=function(i){process.exit(i)},a.inspect=function(){return"[Emscripten Module object]"}):QA?(typeof read<"u"&&(a.read=function(E){return read(E)}),a.readBinary=function(E){var B;return typeof readbuffer=="function"?new Uint8Array(readbuffer(E)):(XA(typeof(B=read(E,"binary"))=="object"),B)},typeof scriptArgs<"u"?a.arguments=scriptArgs:typeof arguments<"u"&&(a.arguments=arguments),typeof quit=="function"&&(a.quit=function(i){quit(i)})):(K||z)&&(K?document.currentScript&&(IA=document.currentScript.src):IA=self.location.href,IA=IA.indexOf("blob:")!==0?IA.split("/").slice(0,-1).join("/")+"/":"",a.read=function(E){var B=new XMLHttpRequest;return B.open("GET",E,!1),B.send(null),B.responseText},z&&(a.readBinary=function(E){var B=new XMLHttpRequest;return B.open("GET",E,!1),B.responseType="arraybuffer",B.send(null),new Uint8Array(B.response)}),a.readAsync=function(E,B,f){var F=new XMLHttpRequest;F.open("GET",E,!0),F.responseType="arraybuffer",F.onload=function(){if(F.status==200||F.status==0&&F.response){B(F.response);return}f()},F.onerror=f,F.send(null)},a.setWindowTitle=function(i){document.title=i});var Jt=a.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),HA=a.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||Jt);for(t in sA)sA.hasOwnProperty(t)&&(a[t]=sA[t]);function xe(i){var E=u;return u=u+i+15&-16,E}function qt(i){var E=h[M>>2],B=E+i+15&-16;return h[M>>2]=B,B>=EA&&!zt()?(h[M>>2]=E,0):E}function Kt(i,E){return E||(E=16),i=Math.ceil(i/E)*E}function Co(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(i[i.length-1]==="*")return 4;if(i[0]!=="i")return 0;var E=parseInt(i.substr(1));return XA(E%8==0),E/8}}function ue(i){ue.shown||(ue.shown={}),ue.shown[i]||(ue.shown[i]=1,HA(i))}sA=void 0;var Eo={"f64-rem":function(i,E){return i%E},debugger:function(){}},st=[];function Lo(i,E){for(var B=0,f=B;f>>0)+4294967296*+(E>>>0):+(i>>>0)+4294967296*+(0|E)}function ot(i,E,B){return B&&B.length?a["dynCall_"+i].apply(null,[E].concat(B)):a["dynCall_"+i].call(null,E)}var Me=0,vt=0;function XA(i,E){i||VA("Assertion failed: "+E)}function Pt(i){var E=a["_"+i];return XA(E,"Cannot call unknown function "+i+", make sure it is exported"),E}var Vt={stackSave:function(){Bt()},stackRestore:function(){Et()},arrayToC:function(i){var E,B,f=He(i.length);return E=i,B=f,n.set(E,B),f},stringToC:function(i){var E=0;if(i!=null&&i!==0){var B=(i.length<<2)+1;E=He(B),Xt(i,E,B)}return E}},Bo={string:Vt.stringToC,array:Vt.arrayToC};function Ot(i,E,B,f,F){var v=Pt(i),X=[],G=0;if(f)for(var BA=0;BA>0]=E;break;case"i16":C[i>>1]=E;break;case"i32":h[i>>2]=E;break;case"i64":tempI64=[E>>>0,+fo(tempDouble=E)>=1?tempDouble>0?(0|po(+ts(tempDouble/4294967296),4294967295))>>>0:~~+mo((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],h[i>>2]=tempI64[0],h[i+4>>2]=tempI64[1];break;case"float":d[i>>2]=E;break;case"double":l[i>>3]=E;break;default:VA("invalid type for setValue: "+B)}}function Yo(i,E,B){switch((E=E||"i8").charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":case"i8":return n[i>>0];case"i16":return C[i>>1];case"i32":case"i64":return h[i>>2];case"float":return d[i>>2];case"double":return l[i>>3];default:VA("invalid type for getValue: "+E)}return null}function Jo(i,E,B,f){typeof i=="number"?(v=!0,X=i):(v=!1,X=i.length);var F=typeof E=="string"?E:null;if(G=B==4?f:[typeof Te=="function"?Te:xe,He,xe,qt][B===void 0?2:B](Math.max(X,F?1:E.length)),v){for(f=G,XA((3&G)==0),BA=G+(-4&X);f>2]=0;for(BA=G+X;f>0]=0;return G}if(F==="i8")return i.subarray||i.slice?o.set(i,G):o.set(new Uint8Array(i),G),G;for(var v,X,G,BA,nA,oA,eA,q=0;q>0],(f!=0||E)&&(X++,!E||X!=E););E||(E=X);var G="";if(v<128){for(;E>0;)F=String.fromCharCode.apply(String,o.subarray(i,i+Math.min(E,1024))),G=G?G+F:F,i+=1024,E-=1024;return G}return B=i,function(nA,oA){for(var eA=oA;nA[eA];)++eA;if(eA-oA>16&&nA.subarray&&Zt)return Zt.decode(nA.subarray(oA,eA));for(var q,fA,FA,RA,GA,$A,xA="";;){if(!(q=nA[oA++]))return xA;if(!(128&q)){xA+=String.fromCharCode(q);continue}if(fA=63&nA[oA++],(224&q)==192){xA+=String.fromCharCode((31&q)<<6|fA);continue}if(FA=63&nA[oA++],(240&q)==224?q=(15&q)<<12|fA<<6|FA:(RA=63&nA[oA++],(248&q)==240?q=(7&q)<<18|fA<<12|FA<<6|RA:(GA=63&nA[oA++],q=(252&q)==248?(3&q)<<24|fA<<18|FA<<12|RA<<6|GA:(1&q)<<30|fA<<24|FA<<18|RA<<12|GA<<6|($A=63&nA[oA++]))),q<65536)xA+=String.fromCharCode(q);else{var pe=q-65536;xA+=String.fromCharCode(55296|pe>>10,56320|1023&pe)}}}(o,B)}function Ko(i){for(var E="";;){var B=n[i++>>0];if(!B)return E;E+=String.fromCharCode(B)}}function vo(i,E){return function(f,F,v){for(var X=0;X>0]=f.charCodeAt(X);v||(n[F>>0]=0)}(i,E,!1)}var Zt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function be(i,E,B,f){if(!(f>0))return 0;for(var F=B,v=B+f-1,X=0;X=55296&&G<=57343&&(G=65536+((1023&G)<<10)|1023&i.charCodeAt(++X)),G<=127){if(B>=v)break;E[B++]=G}else if(G<=2047){if(B+1>=v)break;E[B++]=192|G>>6,E[B++]=128|63&G}else if(G<=65535){if(B+2>=v)break;E[B++]=224|G>>12,E[B++]=128|G>>6&63,E[B++]=128|63&G}else if(G<=2097151){if(B+3>=v)break;E[B++]=240|G>>18,E[B++]=128|G>>12&63,E[B++]=128|G>>6&63,E[B++]=128|63&G}else if(G<=67108863){if(B+4>=v)break;E[B++]=248|G>>24,E[B++]=128|G>>18&63,E[B++]=128|G>>12&63,E[B++]=128|G>>6&63,E[B++]=128|63&G}else{if(B+5>=v)break;E[B++]=252|G>>30,E[B++]=128|G>>24&63,E[B++]=128|G>>18&63,E[B++]=128|G>>12&63,E[B++]=128|G>>6&63,E[B++]=128|63&G}}return E[B]=0,B-F}function Xt(i,E,B){return be(i,o,E,B)}function Le(i){for(var E=0,B=0;B=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&i.charCodeAt(++B)),f<=127?++E:f<=2047?E+=2:f<=65535?E+=3:f<=2097151?E+=4:f<=67108863?E+=5:E+=6}return E}var Wt=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function Po(i){for(var E=i,B=E>>1;C[B];)++B;if((E=B<<1)-i>32&&Wt)return Wt.decode(o.subarray(i,E));for(var f=0,F="";;){var v=C[i+2*f>>1];if(v==0)return F;++f,F+=String.fromCharCode(v)}}function Vo(i,E,B){if(B===void 0&&(B=2147483647),B<2)return 0;for(var f=E,F=(B-=2)<2*i.length?B/2:i.length,v=0;v>1]=X,E+=2}return C[E>>1]=0,E-f}function Oo(i){return 2*i.length}function Zo(i){for(var E=0,B="";;){var f=h[i+4*E>>2];if(f==0)return B;if(++E,f>=65536){var F=f-65536;B+=String.fromCharCode(55296|F>>10,56320|1023&F)}else B+=String.fromCharCode(f)}}function Xo(i,E,B){if(B===void 0&&(B=2147483647),B<4)return 0;for(var f=E,F=f+B-4,v=0;v=55296&&X<=57343&&(X=65536+((1023&X)<<10)|1023&i.charCodeAt(++v)),h[E>>2]=X,(E+=4)+4>F)break}return h[E>>2]=0,E-f}function Wo(i){for(var E=0,B=0;B=55296&&f<=57343&&++B,E+=4}return E}function _o(i){var E=Le(i)+1,B=Te(E);return B&&be(i,n,B,E),B}function zo(i){var E=Le(i)+1,B=He(E);return be(i,n,B,E),B}function jo(i){return i}function $o(){var i,E=function(){var f=Error();if(!f.stack){try{throw Error(0)}catch(F){f=F}if(!f.stack)return"(no stack trace available)"}return f.stack.toString()}();return a.extraStackTrace&&(E+=` -`+a.extraStackTrace()),(i=E).replace(/__Z[\w\d_]+/g,function(B){var f,F=f=B;return B===F?B:B+" ["+F+"]"})}function rt(i,E){return i%E>0&&(i+=E-i%E),i}function _t(i){a.buffer=s=i}function it(){a.HEAP8=n=new Int8Array(s),a.HEAP16=C=new Int16Array(s),a.HEAP32=h=new Int32Array(s),a.HEAPU8=o=new Uint8Array(s),a.HEAPU16=g=new Uint16Array(s),a.HEAPU32=Q=new Uint32Array(s),a.HEAPF32=d=new Float32Array(s),a.HEAPF64=l=new Float64Array(s)}function zt(){var i=a.usingWasm?65536:16777216,E=2147483648-i;if(h[M>>2]>E)return!1;var B=EA;for(EA=Math.max(EA,16777216);EA>2];)EA=EA<=536870912?rt(2*EA,i):Math.min(rt((3*EA+2147483648)/4,i),E);var f=a.reallocBuffer(EA);return f&&f.byteLength==EA?(_t(f),it(),!0):(EA=B,!1)}c=u=S=k=x=N=M=0,y=!1,a.reallocBuffer||(a.reallocBuffer=function(i){try{if(ArrayBuffer.transfer)E=ArrayBuffer.transfer(s,i);else{var E,B=n;E=new ArrayBuffer(i),new Int8Array(E).set(B)}}catch{return!1}return!!So(E)&&E});try{(W=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{W=function(E){return E.byteLength}}var at=a.TOTAL_STACK||5242880,EA=a.TOTAL_MEMORY||16777216;function Qo(){return EA}function de(i){for(;i.length>0;){var E=i.shift();if(typeof E=="function"){E();continue}var B=E.func;typeof B=="number"?E.arg===void 0?a.dynCall_v(B):a.dynCall_vi(B,E.arg):B(E.arg===void 0?null:E.arg)}}EA=0?i:E<=32?2*Math.abs(1<=f&&(E<=32||i>f)&&(i=-2*f+i),i}var fo=Math.abs,mo=Math.ceil,ts=Math.floor,po=Math.min,jA=0,Ct=null,fe=null;function rr(i){return i}a.preloadedImages={},a.preloadedAudios={};var ss="data:application/octet-stream;base64,";function Ue(i){return String.prototype.startsWith?i.startsWith(ss):i.indexOf(ss)===0}(function(){var E="main.wast",B="main.wasm",f="main.temp.asm.js";Ue(E)||(E=TA(E)),Ue(B)||(B=TA(B)),Ue(f)||(f=TA(f));var F={global:null,env:null,asm2wasm:Eo,parent:a},v=null;function X(eA){return eA}function G(){try{if(a.wasmBinary)return new Uint8Array(a.wasmBinary);if(a.readBinary)return a.readBinary(B);throw"both async and sync fetching of the wasm failed"}catch(eA){VA(eA)}}a.asmPreload=a.asm;var BA=a.reallocBuffer,nA=function(eA){eA=rt(eA,a.usingWasm?65536:16777216);var q=a.buffer.byteLength;if(a.usingWasm)try{var fA=a.wasmMemory.grow((eA-q)/65536);return fA!==-1?a.buffer=a.wasmMemory.buffer:null}catch{return null}};a.reallocBuffer=function(eA){return oA==="asmjs"?BA(eA):nA(eA)};var oA="";a.asm=function(eA,q,fA){var FA;if(!(q=FA=q).table){var RA,GA=a.wasmTableSize;GA===void 0&&(GA=1024);var $A=a.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?$A!==void 0?q.table=new WebAssembly.Table({initial:GA,maximum:$A,element:"anyfunc"}):q.table=new WebAssembly.Table({initial:GA,element:"anyfunc"}):q.table=Array(GA),a.wasmTable=q.table}return q.memoryBase||(q.memoryBase=a.STATIC_BASE),q.tableBase||(q.tableBase=0),RA=function(pe,se,Qt){if(typeof WebAssembly!="object")return HA("no native wasm support detected"),!1;if(!(a.wasmMemory instanceof WebAssembly.Memory))return HA("no native wasm Memory in use"),!1;function Ye(YA,JA){if((v=YA.exports).memory){var Se,ct,rs;Se=v.memory,ct=a.buffer,Se.byteLength0?B:Le(i)+1,F=Array(f),v=be(i,F,0,F.length);return E&&(F.length=v),F}function gr(i){for(var E=[],B=0;B255&&(f&=255),E.push(String.fromCharCode(f))}return E.join("")}u+=16,M=xe(4),x=(S=k=Kt(u))+at,N=Kt(x),h[M>>2]=N,y=!0,a.wasmTableSize=4,a.wasmMaxTableSize=4,a.asmGlobalArg={},a.asmLibraryArg={abort:VA,assert:XA,enlargeMemory:zt,getTotalMemory:Qo,abortOnCannotGrowMemory:function(){VA("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+EA+", (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,B,f){var F=Bt();try{return a.dynCall_iii(E,B,f)}catch(v){if(Et(F),typeof v!="number"&&v!=="longjmp")throw v;a.setThrew(1,0)}},___assert_fail:function(E,B,f,F){VA("Assertion failed: "+Ne(E)+", at: "+[B?Ne(B):"unknown filename",f,F?Ne(F):"unknown function"])},___setErrNo:function(E){return a.___errno_location&&(h[a.___errno_location()>>2]=E),E},_abort:function(){a.abort()},_emscripten_memcpy_big:function(E,B,f){return o.set(o.subarray(B,B+f),E),E},_llvm_floor_f64:ts,DYNAMICTOP_PTR:M,tempDoublePtr:DA,ABORT:Me,STACKTOP:k,STACK_MAX:x};var ns=a.asm(a.asmGlobalArg,a.asmLibraryArg,s);a.asm=ns,a.___errno_location=function(){return a.asm.___errno_location.apply(null,arguments)};var So=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};var Te=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)},a._memset=function(){return a.asm._memset.apply(null,arguments)},a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)},a._stb_vorbis_js_channels=function(){return a.asm._stb_vorbis_js_channels.apply(null,arguments)},a._stb_vorbis_js_close=function(){return a.asm._stb_vorbis_js_close.apply(null,arguments)},a._stb_vorbis_js_decode=function(){return a.asm._stb_vorbis_js_decode.apply(null,arguments)},a._stb_vorbis_js_open=function(){return a.asm._stb_vorbis_js_open.apply(null,arguments)},a._stb_vorbis_js_sample_rate=function(){return a.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)},a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)},a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)},a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)},a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};var He=a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)},Et=a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)},Bt=a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};function me(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}function ht(i){i=i||a.arguments,!(jA>0)&&(function(){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)lo(a.preRun.shift());de(jt)}(),!(jA>0)&&(a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),E()},1)):E())));function E(){!a.calledRun&&(a.calledRun=!0,Me||(gt||(gt=!0,de(It)),de($t),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;)uo(a.postRun.shift());de(es)}()))}}function Cr(i,E){(!E||!a.noExitRuntime||i!==0)&&(a.noExitRuntime||(Me=!0,vt=i,k=J,de(As),co=!0,a.onExit&&a.onExit(i)),a.quit(i,new me(i)))}function VA(i){throw a.onAbort&&a.onAbort(i),i!==void 0?(Jt(i),HA(i),i=JSON.stringify(i)):i="",Me=!0,vt=1,"abort("+i+"). Build with -s ASSERTIONS=1 for more info."}if(a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)},a.asm=ns,a.ccall=Ot,a.cwrap=function(E,B,f,F){var v=(f=f||[]).every(function(X){return X==="number"});return B!=="string"&&v&&!F?Pt(E):function(){return Ot(E,B,f,arguments,F)}},me.prototype=Error(),me.prototype.constructor=me,fe=function i(){a.calledRun||ht(),a.calledRun||(fe=i)},a.run=ht,a.abort=VA,a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();a.noExitRuntime=!0,ht(),a.onRuntimeInitialized=()=>{_s=!0,zs()},PA.decode=function(i){return function(B){if(!_s)throw Error("Not initialized");var f={};function F(se){return new Int32Array(a.HEAPU8.buffer,se,1)[0]}function v(se,Qt){var Ye=new ArrayBuffer(Qt*Float32Array.BYTES_PER_ELEMENT),ne=new Float32Array(Ye);return ne.set(new Float32Array(a.HEAPU8.buffer,se,Qt)),ne}f.open=a.cwrap("stb_vorbis_js_open","number",[]),f.close=a.cwrap("stb_vorbis_js_close","void",["number"]),f.channels=a.cwrap("stb_vorbis_js_channels","number",["number"]),f.sampleRate=a.cwrap("stb_vorbis_js_sample_rate","number",["number"]),f.decode=a.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X,G,BA,nA,oA=f.open(),eA=(X=B,G=B.byteLength,BA=a._malloc(G),(nA=new Uint8Array(a.HEAPU8.buffer,BA,G)).set(new Uint8Array(X,0,G)),nA),q=a._malloc(4),fA=a._malloc(4),FA=f.decode(oA,eA.byteOffset,eA.byteLength,q,fA);if(a._free(eA.byteOffset),FA<0)throw f.close(oA),a._free(q),Error("stbvorbis decode failed: "+FA);for(var RA=f.channels(oA),GA=Array(RA),$A=new Int32Array(a.HEAPU32.buffer,F(q),RA),xA=0;xA=0&&(s=this.workletProcessorChannels[e]),t.messageType){case AA.noteOn:this.noteOn(e,A[0],A[1],A[2]);break;case AA.noteOff:this.noteOff(e,A);break;case AA.pitchWheel:this.pitchWheel(e,A[0],A[1]);break;case AA.ccChange:this.controllerChange(e,A[0],A[1],A[2]);break;case AA.customcCcChange:s.customControllers[A[0]]=A[1];break;case AA.killNote:this.killNote(e,A);break;case AA.programChange:this.programChange(e,A[0],A[1]);break;case AA.channelPressure:this.channelPressure(e,A);break;case AA.polyPressure:this.polyPressure(e,A[0],A[1]);break;case AA.ccReset:e===bA?this.resetAllControllers():this.resetControllers(e);break;case AA.systemExclusive:this.systemExclusive(A);break;case AA.setChannelVibrato:if(e===bA)for(let C=0;C{let e=(A.midiControllers[gA+P.pitchWheelRange]>>7)+(A.midiControllers[gA+P.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[gA+P.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:mA.channelProperties,messageData:t})}function Go(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 en(t,A=0){let e=t[0];if(!(this.deviceID!==bA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:b(`%cUnrecognized SysEx: %c${hA(t)}`,r.warn,r.unrecognized);break;case 126:case 127:switch(t[2]){case 4:let s;switch(t[3]){case 1:let n=t[5]<<7|t[4];this.setMIDIVolume(n/16384),m(`%cMaster Volume. Volume: %c${n}`,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 g=(t[5]<<7|t[6])-8192;s=Math.floor(g/81.92),this.setMasterTuning(s),m(`%cMaster Fine Tuning. Cents: %c${s}`,r.info,r.value);break;case 4:s=(t[5]-64)*100,this.setMasterTuning(s),m(`%cMaster Coarse Tuning. Cents: %c${s}`,r.info,r.value);break;default:b(`%cUnrecognized MIDI Device Control Real-time message: %c${hA(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 n=4;t[3]===7&&n++;let o=t[n++],C=t[n++];for(let h=0;h>1&1)===1&&this.setOctaveTuning(15+A,g);for(let h=0;h<7;h++)(t[5]>>h&1)===1&&this.setOctaveTuning(7+h+A,g);for(let h=0;h<7;h++)(t[6]>>h&1)===1&&this.setOctaveTuning(h+A,g);m(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${g.join(" ")}`,r.info,r.value);break;default:b(`%cUnrecognized MIDI Tuning standard message: %c${hA(t)}`,r.warn,r.unrecognized);break}break;default:b(`%cUnrecognized MIDI Realtime/non realtime message: %c${hA(t)}`,r.warn,r.unrecognized)}break;case 65:if(t[2]===66&&t[3]===18){let s=t[7];if(t[6]===127){s===0?(m("%cGS system on",r.info),this.system="gs"):s===127&&(m("%cGS system off, switching to GM2",r.info),this.system="gm2");return}else if(t[4]===64){if((t[5]&16)>0){let n=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t[5]&15]+A;switch(t[6]){default:break;case 21:let o=s>0&&t[5]>>4;this.setDrums(n,o),m(`%cChannel %c${n}%c ${o?"is now a drum channel":"now isn't a drum channel"}%c via: %c${hA(t)}`,r.info,r.value,r.recognized,r.info,r.value);return;case 22:let C=s-64;this.transposeChannel(n,C),m(`%cChannel %c${n}%c pitch shift. Semitones %c${C}%c, with %c${hA(t)}`,r.info,r.recognized,r.info,r.value,r.info,r.value);return;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 g=s-64;m(`%cChannel %c${n}%c tuning. Cents %c${g}%c, with %c${hA(t)}`,r.info,r.recognized,r.info,r.value,r.info,r.value),this.setChannelTuning(n,g)}}else if(t[5]===0&&t[6]===6){m(`%cRoland GS Master Pan set to: %c${s}%c with: %c${hA(t)}`,r.info,r.value,r.info,r.value),this.setMasterPan((s-64)/64);return}else if(t[5]===0&&t[6]===5){let n=s-64;m(`%cRoland GS Master Key-Shift set to: %c${n}%c with: %c${hA(t)}`,r.info,r.value,r.info,r.value),this.setMasterTuning(n*100);return}else if(t[5]===0&&t[6]===4){m(`%cRoland GS Master Volume set to: %c${s}%c with: %c${hA(t)}`,r.info,r.value,r.info,r.value),this.setMIDIVolume(s/127);return}}b(`%cUnrecognized Roland %cGS %cSysEx: %c${hA(t)}`,r.warn,r.recognized,r.warn,r.unrecognized);return}else if(t[2]===22&&t[3]===18&&t[4]===16){this.setMIDIVolume(t[7]/100),m(`%cRoland Master Volume control set to: %c${t[7]}%c via: %c${hA(t)}`,r.info,r.value,r.info,r.value);return}else{b(`%cUnrecognized Roland SysEx: %c${hA(t)}`,r.warn,r.unrecognized);return}case 67:if(t[2]===76)if(t[3]===0&&t[4]===0)switch(t[5]){case 4:let s=t[6];this.setMIDIVolume(s/127),m(`%cXG master volume. Volume: %c${s}`,r.info,r.recognized);break;case 6:let n=t[6]-64;this.transposeAllChannels(n),m(`%cXG master transpose. Volume: %c${n}`,r.info,r.recognized);break;case 126:m("%cXG system on",r.info),this.system="xg";break}else if(t[3]===8){if(this.system!=="xg")return;let s=t[4]+A;if(s>=this.workletProcessorChannels.length)return;let n=t[6];switch(t[5]){case 1:this.controllerChange(s,p.bankSelect,n);break;case 2:this.controllerChange(s,p.lsbForControl0BankSelect,n);break;case 3:this.programChange(s,n);break;case 8:let o=this.workletProcessorChannels[s];if(o.drumChannel)return;let C=n-64;o.channelTransposeKeyShift=C;break;case 11:this.controllerChange(s,p.mainVolume,n);break;case 14:let g=n;g===0&&(g=Math.floor(Math.random()*127)),this.controllerChange(s,p.pan,g);break;case 19:this.controllerChange(s,p.effects1Depth,n);break;case 18:this.controllerChange(s,p.effects3Depth,n);break;default:b(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,r.warn,r.unrecognized)}}else this.system==="xg"&&b(`%cUnrecognized Yamaha XG SysEx: %c${hA(t)}`,r.warn,r.unrecognized);else this.system==="xg"&&b(`%cUnrecognized Yamaha SysEx: %c${hA(t)}`,r.warn,r.unrecognized);break}}function tn(t,A,e){if(A.transformAmount===0)return 0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let h=A.sourceIndex+gA;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[h];break}}let n=dA[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let h=A.secSrcIndex+gA;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[h]}}let C=dA[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],g=n*C*A.transformAmount;return A.transformType===2?Math.abs(g):g}function OA(t,A,e=-1,s=0){let{modulators:n,generators:o,modulatedGenerators:C}=t;if(UA.recalculate(t),e===-1){C.set(o),n.forEach(Q=>{C[Q.modulatorDestination]+=tn(A,Q,t)}),NA.recalculate(t);return}let g=new Set([I.initialAttenuation,I.delayVolEnv,I.attackVolEnv,I.holdVolEnv,I.decayVolEnv,I.sustainVolEnv,I.releaseVolEnv,I.keyNumToVolEnvHold,I.keyNumToVolEnvDecay]),h=new Set;n.forEach(Q=>{if(Q.sourceUsesCC===e&&Q.sourceIndex===s||Q.secSrcUsesCC===e&&Q.secSrcIndex===s){let d=Q.modulatorDestination;h.has(d)||(C[d]=o[d],n.forEach(l=>{l.modulatorDestination===d&&(C[d]+=tn(A,l,t))}),h.add(d))}}),[...h].some(Q=>g.has(Q))&&NA.recalculate(t)}var dA=[];for(let t=0;t<4;t++){dA[t]=[[new Float32Array(aA),new Float32Array(aA)],[new Float32Array(aA),new Float32Array(aA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||C.isMuted)return;let g=A+C.channelTransposeKeyShift;if(A>127||A<0)return;let h=C.preset.program;this.tunings[h]?.[A]?.midiNote>=0&&(g=this.tunings[h]?.[A].midiNote);let Q=this.getWorkletVoices(t,g,e,C,o,s),d=C.voices;Q.forEach(l=>{let c=l.generators[I.exclusiveClass];c!==0&&d.forEach(u=>{u.generators[I.exclusiveClass]===c&&(this.releaseVoice(u),u.modulatedGenerators[I.releaseVolEnv]=-7e3,u.modulatedGenerators[I.releaseModEnv]=-7e3,NA.recalculate(u),UA.recalculate(u))}),OA(l,C.midiControllers),l.currentPan=(Math.max(-500,Math.min(500,l.modulatedGenerators[I.pan]))+500)/1e3}),this.totalVoicesAmount+=Q.length,this.totalVoicesAmount>this.voiceCap&&this.voiceKilling(Q.length),d.push(...Q),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function nn(t,A){if(A>127||A<0){b("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 on(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.midiNote===A&&(e.modulatedGenerators[I.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function rn(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 an(t=!1){m("%cStop all received!",r.info);for(let A=0;AOA(n,this.workletProcessorChannels[t].midiControllers,0,P.pitchWheel)),this.sendChannelProperties()}function cn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[gA+P.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>OA(s,e.midiControllers,0,P.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function ln(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,OA(s,this.workletProcessorChannels[t].midiControllers,0,P.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function un(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){b(`Trying to access channel ${t} which does not exist... ignoring!`);return}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(C=>OA(C,n.midiControllers,1,o))}switch(A){case p.allNotesOff:this.stopAll(t);break;case p.allSoundOff:this.stopAll(t,!0);break;case p.bankSelect:let o=e;if(!s){switch(this.system){case"gm":m(`%cIgnoring the Bank Select (${e}), as the synth is in GM mode.`,r.info);return;case"xg":o===120||o===126||o===127?this.setDrums(t,!0):t%16!==SA&&this.setDrums(t,!1);break;case"gm2":o===120&&(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(C=>{this.releaseVoice(C)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(C=>OA(C,n.midiControllers,1,A)),this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e});break}}function fn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function mn(t){this.masterGain=t*Nt,this.setMasterPan(this.pan)}function pn(t){this.pan=t,t=t/2+.5,this.panLeft=(1-t)*this.currentGain,this.panRight=t*this.currentGain}function Sn(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function yn(t){this.workletProcessorChannels[t].lockVibrato=!0,this.workletProcessorChannels[t].channelVibrato.rate=0,this.workletProcessorChannels[t].channelVibrato.delay=0,this.workletProcessorChannels[t].channelVibrato.depth=0}function Dn(t,A,e,s){this.workletProcessorChannels[t].lockVibrato||(this.workletProcessorChannels[t].channelVibrato.rate=e,this.workletProcessorChannels[t].channelVibrato.delay=s,this.workletProcessorChannels[t].channelVibrato.depth=A)}function kn(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")return;switch(e.NRPCoarse){default:if(A===64)return;b(`%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;b(`%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(e.lockVibrato||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(e.lockVibrato||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(e.lockVibrato||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 C=A;this.controllerChange(t,p.brightness,A),m(`%cFilter cutoff for %c${t}%c is now set to %c${C}`,r.info,r.recognized,r.info,r.value)}break;case 24:if(!e.drumChannel)return;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:if(!e.drumChannel)return;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:b(`%cUnrecognized RPN for %c${t}%c: %c(0x${e.RPValue.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 0:e.midiControllers[gA+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 wn(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[gA+P.pitchWheelRange]|=A;let s=(e.midiControllers[gA+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 g=e.customControllers[iA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,g);break;case 16383:this.resetParameters(t);break}}}function Fn(){m("%cResetting all controllers!",r.info),this.callEvent("allcontrollerreset",void 0);for(let t=0;t{this.workletProcessorChannels[t].lockedControllers[s]&&this.callEvent("controllerchange",{channel:t,controllerNumber:s,controllerValue:this.workletProcessorChannels[t].midiControllers[s]>>7})};if(e(p.mainVolume),e(p.pan),e(p.expressionController),e(p.modulationWheel),e(p.effects3Depth),e(p.effects1Depth),this.workletProcessorChannels[t].lockedControllers[gA+P.pitchWheel]){let s=this.workletProcessorChannels[t].midiControllers[gA+P.pitchWheel],n=s>>7,o=s&127;this.callEvent("pitchwheel",{channel:t,MSB:n,LSB:o})}}this.tunings=[],this.tunings=[];for(let t=0;t<127;t++)this.tunings.push([]);this.setMIDIVolume(1),this.system=Ke}function Rn(t){let A=this.workletProcessorChannels[t],s=A.lockedControllers.reduce((o,C,g)=>(C&&o.push(g),o),[]).map(o=>({ccNum:o,ccVal:A.midiControllers[o]}));A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0),A.midiControllers.set(KA),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(yt),A.customControllers[iA.channelTransposeFine]=n,this.resetParameters(t)}function Gn(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=uA.Idle}function xn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(C=>C.generatorType!==I.sampleID&&C.generatorType!==I.keyRange&&C.generatorType!==I.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:I.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:I.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:I.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new 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),tA(new j("igen",A.length,A))}function Mn(t,A,e,s,n){let o=this.samples.map((Q,d)=>{e&&Q.compressSample(s,n);let l=Q.getRawData();return m(`%cEncoded sample %c${d}. ${Q.sampleName}%c of %c${this.samples.length}`,r.info,r.recognized,r.info,r.recognized),l}),C=this.samples.reduce((Q,d,l)=>Q+o[l].length+46,0),g=new H(C);this.samples.forEach((Q,d)=>{let l=o[d],c,u,y=l.length;Q.isCompressed?(c=g.currentIndex,u=c+l.length):(c=g.currentIndex/2,u=c+l.length/2,y+=46),t.push(c),g.set(l,g.currentIndex),g.currentIndex+=y,A.push(u)});let h=tA(new j("smpl",g.length,g),new H([115,100,116,97]));return tA(new j("LIST",h.length,h))}function Nn(t,A){let s=new H(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{wA(s,n.sampleName,20);let C=t[o];cA(s,C);let g=A[o];cA(s,g);let h=n.sampleLoopStartIndex/2+C,Q=n.sampleLoopEndIndex/2+C;n.isCompressed&&(h-=C,Q-=C),cA(s,h),cA(s,Q),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),tA(new j("shdr",s.length,s))}function bn(){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.modulatorSource),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.modulationSecondarySrc),Y(A,o.transformType),e++}return ae(A,0,10),tA(new j("imod",A.length,A))}function Ln(){let t=this.instruments.reduce((o,C)=>C.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 C of o.instrumentZones)C.zoneID=e,Y(A,s),Y(A,n),s+=C.generators.length,n+=C.modulators.length,e++}return Y(A,s),Y(A,n),tA(new j("ibag",A.length,A))}function Un(){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),tA(new j("inst",A.length,A))}function Tn(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(C=>C.generatorType!==I.instrument&&C.generatorType!==I.keyRange&&C.generatorType!==I.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:I.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:I.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:I.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new 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),tA(new j("pgen",A.length,A))}function Hn(){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.modulatorSource),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.modulationSecondarySrc),Y(A,o.transformType),e++}return ae(A,0,10),tA(new j("pmod",A.length,A))}function Yn(){let t=this.presets.reduce((o,C)=>C.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 C of o.presetZones)C.zoneID=e,Y(A,s),Y(A,n),s+=C.generators.length,n+=C.modulators.length,e++}return Y(A,s),Y(A,n),tA(new j("pbag",A.length,A))}function Jn(){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),tA(new j("phdr",A.length,A))}var xo={compress:!1,compressionQuality:.5,compressionFunction:void 0};function qn(t=xo){if(t.compress&&typeof t.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");pA("%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[W,J]of Object.entries(this.soundFontInfo))if(W==="ifil"||W==="iver"){let a=parseInt(J.split(".")[0]),sA=parseInt(J.split(".")[1]),K=new H(4);Y(K,a),Y(K,sA),A.push(tA(new j(W,4,K)))}else{let a=new H(J.length);wA(a,J),A.push(tA(new j(W,J.length,a)))}let e=ye([new H([73,78,70,79]),...A]),s=tA(new j("LIST",e.length,e));m("%cWriting SDTA...",r.info);let n=[],o=[],C=Mn.call(this,n,o,t?.compress,t?.compressionQuality||.5,t.compressionFunction);m("%cWriting PDTA...",r.info),m("%cWriting SHDR...",r.info);let g=Nn.call(this,n,o);m("%cWriting IGEN...",r.info);let h=xn.call(this);m("%cWriting IMOD...",r.info);let Q=bn.call(this);m("%cWriting IBAG...",r.info);let d=Ln.call(this);m("%cWriting INST...",r.info);let l=Un.call(this),c=Tn.call(this);m("%cWriting PMOD...",r.info);let u=Hn.call(this);m("%cWriting PBAG...",r.info);let y=Yn.call(this);m("%cWriting PHDR...",r.info);let S=Jn.call(this),k=ye([new H([112,100,116,97]),S,y,u,c,l,d,Q,h,g]),x=tA(new j("LIST",k.length,k));m("%cWriting the output file...",r.info);let N=ye([new H([115,102,98,107]),s,C,x]),M=tA(new j("RIFF",N.length,N));return m(`%cSaved succesfully! Final file size: %c${M.length}`,r.info,r.recognized),Z(),M}var te=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],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||(s=this.presets.find(n=>n.program===e&&n.bank!==128),A===128&&(s=this.presets.find(n=>n.bank===128&&n.program===e),s||(s=this.presets.find(n=>n.bank===128))),s&&b(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,r.warn,r.recognized)),s||(b(`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||(b("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(C=>C.bank===o.bank&&C.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}};te.prototype.write=qn;function Kn(t){pA("%cLoading instruments...",r.info);for(let A=0;AA.deleteZone()),this.presetZones.length=0}deleteZone(A){this.presetZones[A].deleteZone(),this.presetZones.splice(A,1)}preload(A,e){for(let s=A;s{o.sample.isSampleLoaded||o.sample.getAudioData()})}preloadSpecific(A,e){this.getSamplesAndGenerators(A,e).forEach(s=>{s.sample.isSampleLoaded||s.sample.getAudioData()})}getSamplesAndGenerators(A,e){let s=this.foundSamplesAndGenerators[A][e];if(s)return s;if(this.presetZones.length<1)return[];function n(c,u,y){return y>=c&&y<=u}function o(c,u){return c.modulatorSource===u.modulatorSource&&c.modulatorDestination===u.modulatorDestination&&c.modulationSecondarySrc===u.modulationSecondarySrc&&c.transformType===u.transformType}function C(c,u){c.push(...u.filter(y=>!c.find(S=>S.generatorType===y.generatorType)))}function g(c,u){c.push(...u.filter(y=>!c.find(S=>o(y,S))))}let h=[],Q=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],d=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(c=>n(c.keyRange.min,c.keyRange.max,A)&&n(c.velRange.min,c.velRange.max,e)&&!c.isGlobal).forEach(c=>{if(c.instrument.instrumentZones.length<1)return;let u=c.generators,y=c.modulators,S=c.instrument.instrumentZones[0].isGlobal?[...c.instrument.instrumentZones[0].generators]:[],k=c.instrument.instrumentZones[0].isGlobal?[...c.instrument.instrumentZones[0].modulators]:[];c.instrument.instrumentZones.filter(N=>n(N.keyRange.min,N.keyRange.max,A)&&n(N.velRange.min,N.velRange.max,e)&&!N.isGlobal).forEach(N=>{let M=[...N.generators],W=[...N.modulators];C(u,Q),C(M,S),g(y,d),g(W,k),g(W,ys);let J=[...W];for(let a=0;ao(sA,z));K!==-1?J[K]=J[K].sumTransform(sA):J.push(sA)}h.push({instrumentGenerators:M,presetGenerators:u,modulators:J,sample:N.sample,sampleID:N.generators.find(a=>a.generatorType===I.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=h,h}};var Fe=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var zA=class extends Fe{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Qe=class extends Fe{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ce=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 ze=class extends he{constructor(A,e){super(),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new ce,this.DLSInstrument.addUseCount();let n=new Qe;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function vn(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 Z(),new Error("No instrument header!");let s=D(e.chunkData,4),n=D(e.chunkData,4),o=D(e.chunkData,4),C=new ze(n,o),g="unnamedPreset",h=yA(A,"INFO");if(h){let u=O(h.chunkData);for(;u.header!=="INAM";)u=O(h.chunkData);g=V(u.chunkData,u.chunkData.length).trim()}C.presetName=g,C.DLSInstrument.instrumentName=g,Ae(`%cParsing %c"${g}"%c...`,r.info,r.recognized,r.info);let Q=yA(A,"lrgn");if(!Q)throw Z(),new Error("No region list!");let d=new zA;d.isGlobal=!0;let l=yA(A,"lart"),c=yA(A,"lar2");this.readLart(l,c,d),C.DLSInstrument.instrumentZones.push(d);for(let u=0;u>10&15;x===lA.linear&&k!==lA.linear&&(x=k);let N=s>>14&1,M=s>>15&1;C===I.initialAttenuation&&(M=!M),l=qA(x,N,M,g.isCC,g.enum)}let c=s>>4&15,u=s>>8&1,y=s>>9&1,S=qA(c,u,y,d.isCC,d.enum);if(h){let k=S;S=l,l=k}return new rA({srcEnum:l,secSrcEnum:S,dest:C,transform:0,amt:n})}function bt(t,A){let e=t.chunkData,s=[],n=[];D(e,4);let o=D(e,4);for(let C=0;C>16;if(g===0&&h===0&&d===0){let u;switch(Q){case R.pan:u=new U(I.pan,c);break;case R.gain:u=new U(I.initialAttenuation,-c*10/.4);break;case R.filterCutoff:u=new U(I.initialFilterFc,c);break;case R.filterQ:u=new U(I.initialFilterQ,c);break;case R.modLfoFreq:u=new U(I.freqModLFO,c);break;case R.modLfoDelay:u=new U(I.delayModLFO,c);break;case R.vibLfoFreq:u=new U(I.freqVibLFO,c);break;case R.vibLfoDelay:u=new U(I.delayVibLFO,c);break;case R.volEnvDelay:u=new U(I.delayVolEnv,c);break;case R.volEnvAttack:u=new U(I.attackVolEnv,c);break;case R.volEnvHold:u=new U(I.holdVolEnv,c);break;case R.volEnvDecay:u=new U(I.decayVolEnv,c);break;case R.volEnvRelease:u=new U(I.releaseVolEnv,c);break;case R.volEnvSustain:let y=(1e3-c)/10;u=new U(I.sustainVolEnv,y*10);break;case R.modEnvDelay:u=new U(I.delayModEnv,c);break;case R.modEnvAttack:u=new U(I.attackModEnv,c);break;case R.modEnvHold:u=new U(I.holdModEnv,c);break;case R.modEnvDecay:u=new U(I.decayModEnv,c);break;case R.modEnvRelease:u=new U(I.releaseModEnv,c);break;case R.modEnvSustain:let S=1e3-c;u=new U(I.sustainModEnv,S);break;case R.reverbSend:u=new U(I.reverbEffectsSend,c);break;case R.chorusSend:u=new U(I.chorusEffectsSend,c);break;case R.pitch:let k=Math.floor(c/100),x=Math.floor(c-k*100);u=new U(I.fineTune,x),s.push(new U(I.coarseTune,k));break}u&&s.push(u)}else{let u=!0;if(h===_.none)if(g===_.modLfo&&Q===R.pitch)s.push(new U(I.modLfoToPitch,c));else if(g===_.modLfo&&Q===R.gain)s.push(new U(I.modLfoToVolume,c));else if(g===_.modLfo&&Q===R.filterCutoff)s.push(new U(I.modLfoToFilterFc,c));else if(g===_.vibratoLfo&&Q===R.pitch)s.push(new U(I.vibLfoToPitch,c));else if(g===_.modEnv&&Q===R.pitch)s.push(new U(I.modEnvToPitch,c));else if(g===_.modEnv&&Q===R.filterCutoff)s.push(new U(I.modEnvToFilterFc,c));else if(g===_.keyNum&&Q===R.volEnvHold){s.push(new U(I.keyNumToVolEnvHold,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.holdVolEnv&&(S.generatorValue+=y)})}else if(g===_.keyNum&&Q===R.volEnvDecay){s.push(new U(I.keyNumToVolEnvDecay,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.decayVolEnv&&(S.generatorValue+=y)})}else if(g===_.keyNum&&Q===R.modEnvHold){s.push(new U(I.keyNumToModEnvHold,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.holdModEnv&&(S.generatorValue+=y)})}else if(g===_.keyNum&&Q===R.modEnvDecay){s.push(new U(I.keyNumToModEnvDecay,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.decayModEnv&&(S.generatorValue+=y)})}else u=!1;else u=!1;if(u===!1){let y=Vn(g,h,Q,d,c);y?(n.push(y),m("%cSucceeded converting to SF2 Modulator!",r.recognized)):b("Failed converting to SF2 Modulator!")}}}return n.find(C=>C.modulatorDestination===I.reverbEffectsSend)===void 0&&n.push(new rA({srcEnum:219,dest:I.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n.find(C=>C.modulatorDestination===I.chorusEffectsSend)===void 0&&n.push(new rA({srcEnum:221,dest:I.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),A&&n.push(new rA({srcEnum:129,dest:I.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new rA({srcEnum:13,dest:I.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:n,generators:s}}function On(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(O(t.chunkData));let e=A.find(a=>a.header==="rgnh"),s=D(e.chunkData,2),n=D(e.chunkData,2),o=D(e.chunkData,2),C=D(e.chunkData,2),g=new je({min:s,max:n},{min:o,max:C});D(e.chunkData,2);let h=D(e.chunkData,2);h!==0&&g.generators.push(new U(I.exclusiveClass,h));let Q=yA(A,"lart"),d=yA(A,"lar2");this.readLart(Q,d,g),g.isGlobal=!1;let l=A.find(a=>a.header==="wsmp");D(l.chunkData,4);let c=D(l.chunkData,2);D(l.chunkData,2);let S=(D(l.chunkData,4)|0)/-655360*10/.4;D(l.chunkData,4);let k=D(l.chunkData,4),x,N={start:0,end:0};if(k===0)x=0;else{D(l.chunkData,4),D(l.chunkData,4)===0?x=1:x=3,N.start=D(l.chunkData,4);let sA=D(l.chunkData,4);N.end=N.start+sA}let M=A.find(a=>a.header==="wlnk");if(M===void 0)return;D(M.chunkData,2),D(M.chunkData,2),D(M.chunkData,4);let W=D(M.chunkData,4),J=this.samples[W];if(J===void 0)throw new Error("Invalid sample ID!");return g.setWavesample(S,x,N,c,J,W),g}var le=class{constructor(A,e,s,n,o,C,g,h){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=C,this.sampleLoopStartIndex=g,this.sampleLoopEndIndex=h,this.isCompressed=(C&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{b(`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 $e=class extends le{constructor(A,e,s,n,o,C,g){super(A,e,s,n,0,1,o*2,(C-1)*2),this.sampleData=g}getAudioData(){return this.sampleData}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 Xn(t){pA("%cLoading Wave samples...",r.recognized);let A=0;for(;t.chunkData.currentIndexK.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");if(D(n.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(D(n.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let g=D(n.chunkData,4);D(n.chunkData,4),D(n.chunkData,2);let h=D(n.chunkData,2),Q=h/8,d=Math.pow(2,Q*8-1),l=Math.pow(2,Q*8),c,u=!1;h===8?(c=255,u=!0):c=d;let y=s.find(K=>K.header==="data");if(!y)throw new Error("No data chunk in the wave chunk!");let S=y.size/Q,k=new Float32Array(S);for(let K=0;K=d&&(z-=l),k[K]=z/c)}let x=60,N=0,M=0,W=k.length-1,J=s.find(K=>K.header==="wsmp");if(J){if(D(J.chunkData,4),x=D(J.chunkData,2),N=Ie(J.chunkData[J.chunkData.currentIndex++],J.chunkData[J.chunkData.currentIndex++]),D(J.chunkData,4),D(J.chunkData,4),D(J.chunkData,4)===1){D(J.chunkData,8),M=D(J.chunkData,4);let z=D(J.chunkData,4);W=M+z}}else b("No wsmp chunk in wave... using sane defaults.");let a=yA(s,"INFO"),sA=`Unnamed ${A}`;if(a){let K=O(a.chunkData);for(;K.header!=="INAM"&&a.chunkData.currentIndex(x.messageStatusByte&240)===w.noteOn);k&&l.push(k.ticks)}this.firstNoteOn=Math.min(...l),m(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,r.info,r.recognized,r.info),f!==null&&u===null?(f=this.firstNoteOn,u=this.lastVoiceEventTick):(f===null&&(f=this.firstNoteOn),(u===null||u===0)&&(u=this.lastVoiceEventTick)),this.loop={start:f,end:u},m(`%cLoop points: start: %c${this.loop.start}%c end: %c${this.loop.end}`,r.info,r.recognized,r.info,r.recognized);let y=0;for(let S of this.midiPorts)if(S!==-1){y=S;break}if(this.midiPorts=this.midiPorts.map(S=>S===-1?y: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),!g)if(this.tracks.length>1){if(this.tracks[0].find(S=>S.messageStatusByte>=w.noteOn&&S.messageStatusBytek.messageStatusByte===w.trackName);S&&(this.rawMidiName=S.messageData,this.midiName=V(S.messageData,S.messageData.length,void 0,!1))}}else{let S=this.tracks[0].find(k=>k.messageStatusByte===w.trackName);S&&(this.rawMidiName=S.messageData,this.midiName=V(S.messageData,S.messageData.length,void 0,!1))}if(this.fileName=t,this.midiName=this.midiName.trim(),this.midiName.length===0){m("%cNo name detected. Using the alt name!",r.info),this.midiName=is(t),this.rawMidiName=new Uint8Array(this.midiName.length);for(let S=0;Sc>u?c:u),s=[];for(let u=0;u{g[y]>=l.length||l[g[y]].ticks0;){let u=h(),c=e.tracks[u];if(g[u]>=c.length){C--;continue}let l=c[g[u]];if(g[u]++,l.messageStatusByte===w.midiPort){Q[u]=l.messageData[0];continue}let y=l.messageStatusByte&240;if(y!==w.noteOn&&y!==w.controllerChange&&y!==w.programChange&&y!==w.systemExclusive)continue;let S=(l.messageStatusByte&15)+e.midiPortChannelOffsets[Q[u]]||0,k=s[S];switch(y){case w.programChange:k.program=l.messageData[0],n(k);break;case w.controllerChange:if(l.messageData[0]!==p.bankSelect||f==="gs"&&k.drums)continue;let x=l.messageData[1],N=Math.max(0,x-e.bankOffset);if(f==="xg"){let J=x===120||x===126||x===127;J!==k.drums?(k.drums=J,k.bank=k.drums?128:N,n(k)):k.bank=k.drums?128:N;continue}s[S].bank=N;break;case w.noteOn:if(l.messageData[1]===0)continue;n(k),o[k.string].add(`${l.messageData[0]}-${l.messageData[1]}`);break;case w.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&&(f="xg");continue}let M=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][l.messageData[5]&15]+e.midiPortChannelOffsets[Q[u]],W=!!(l.messageData[7]>0&&l.messageData[5]>>4);k=s[M],k.drums=W,k.bank=W?128:0,n(k);break}}for(let u of Object.keys(o))o[u].size===0&&(m(`%cDetected change but no keys for %c${u}`,r.info,r.value),delete o[u]);return Z(),o}function ws(e,A){this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(t,A)}),this.duration=this.midiData.duration,this.firstNoteTime=ge(this.midiData.firstNoteOn,this.midiData),m(`%cTotal song time: ${lt(Math.ceil(this.duration)).time}`,r.recognized),this.post(kA.songChange,[new ve(this.midiData),this.songIndex]),this.synth.resetAllControllers(),this.duration<=1&&(b(`%cVery short song: (${lt(Math.round(this.duration)).time}). Disabling loop!`,r.warn),this.loop=!1),this.play(!0)}function Rs(e){this.songs=e.reduce((A,t)=>{if(t.duration)return A.push(t),A;try{A.push(new Ze(t.binary,t.altName||""))}catch(s){return this.post(kA.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 Gs(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function xs(){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 vA=new Int16Array(127);vA[p.mainVolume]=100;vA[p.expressionController]=127;vA[p.pan]=64;vA[p.releaseTime]=64;vA[p.brightness]=64;vA[p.effects1Depth]=40;function Ms(e,A=void 0){if(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),this.synth.resetAllControllers(),this.sendMIDIMessages){this.sendMIDIMessage([w.reset]);for(let C=0;CC===p.dataDecrement||C===p.dataIncrement||C===p.dataEntryMsb||C===p.dataDecrement||C===p.lsbForControl6DataEntry||C===p.RPNLsb||C===p.RPNMsb||C===p.NRPNLsb||C===p.NRPNMsb||C===p.bankSelect||C===p.lsbForControl0BankSelect||C===p.resetAllControllers,g=[];for(let C=0;C=A)break}else if(this.playedTime>=e)break;let Q=De(h.messageStatusByte),f=Q.channel+(this.midiPortChannelOffsets[this.midiPorts[C]]||0);switch(Q.status){case w.noteOn:case w.noteOff:case w.keySignature:break;case w.pitchBend:s[f]=h.messageData[1]<<7|h.messageData[0];break;case w.programChange:let c=n[f];c.program=h.messageData[0],c.actualBank=c.bank;break;case w.controllerChange:let l=h.messageData[0];if(o(l))if(this.sendMIDIMessages)this.sendMIDIMessage([w.controllerChange|f%16,l,h.messageData[1]]);else{let y=h.messageData[1];if(l===p.bankSelect){n[f].bank=y;break}this.synth.controllerChange(f,l,y)}else g[f]===void 0&&(g[f]=Array.from(vA)),g[f][l]=h.messageData[1];break;default:this._processEvent(h,C);break}this.eventIndex[C]++,C=this._findFirstEventIndex();let u=this.tracks[C][this.eventIndex[C]];if(u===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(u.ticks-h.ticks)}if(this.sendMIDIMessages){for(let C=0;C>7]),g[C].forEach((h,Q)=>{h!==vA[Q]&&!o(Q)&&this.sendMIDIMessage([w.controllerChange|C%16,Q,h])}),n[C].program>=0&&n[C].actualBank>=0){let h=n[C].actualBank;this.sendMIDIMessage([w.controllerChange|C%16,p.bankSelect,h]),this.sendMIDIMessage([w.programChange|C%16,n[C].program])}}else for(let C=0;C>7,s[C]&127),g[C]!==void 0&&g[C].forEach((h,Q)=>{h!==vA[Q]&&!o(Q)&&this.synth.controllerChange(C,Q,h)}),n[C].program>=0&&n[C].actualBank>=0){let h=n[C].actualBank;this.synth.controllerChange(C,p.bankSelect,h),this.synth.programChange(C,n[C].program)}return!0}function Ns(e=!1){if(this.midiData!==void 0){if(e){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 bs(e){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(kA.timeChange,currentTime-ge(e,this.midiData));let A=this._playTo(0,e);this._recalculateStartTime(this.playedTime),A&&this.play()}function Ls(e){this.absoluteStartTime=currentTime-e/this._playbackRate}function Us(e,A){switch(e){default:break;case NA.loadNewSongList:this.loadNewSongList(A);break;case NA.pause:this.pause();break;case NA.play:this.play(A);break;case NA.stop:this.stop();break;case NA.setTime:this.currentTime=A;break;case NA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case NA.setPlaybackRate:this.playbackRate=A;break;case NA.setLoop:this.loop=A;break;case NA.changeSong:A?this.nextSong():this.previousSong();break;case NA.getMIDI:this.post(kA.getMIDI,this.midiData);break;case NA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break}}function Ts(e,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:mA.sequencerSpecific,messageData:{messageType:e,messageData:A}})}function Hs(e){this.post(kA.midiEvent,e)}var CA=class{constructor(A){this.synth=A,this.ignoreEvents=!1,this.sendMIDIMessages=!1,this.loopCount=1/0,this.currentLoopCount=this.loopCount,this.eventIndex=[],this.songIndex=0,this.playedTime=0,this.pausedTime=void 0,this.absoluteStartTime=currentTime,this._playbackRate=1,this.playingNotes=[],this.loop=!0,this.midiData=void 0,this.midiPorts=[],this.midiPortChannelOffset=0,this.midiPortChannelOffsets={},this._skipToFirstNoteOn=!0}set playbackRate(A){let t=this.currentTime;this._playbackRate=A,this.currentTime=t}get currentTime(){return this.pausedTime?this.pausedTime:(currentTime-this.absoluteStartTime)*this._playbackRate}set currentTime(A){if(A>this.duration||A<0){this._skipToFirstNoteOn?this.setTimeTicks(this.midiData.firstNoteOn-1):this.setTimeTicks(0);return}if(this._skipToFirstNoteOn&&AYs?440*Math.pow(2,(e-6900)/1200):kt[~~e-Xe]}var Ft=-1660,wo=1600,wt=new Float32Array((wo-Ft)*100+1);for(let e=0;e.5?1:0,s?t*2-1:t;case lA.concave:return s?(t=t*2-1,t<0?1-Ce[~~(t*-aA)]-1:Ce[~~t*aA]):Ce[~~(t*aA)];case lA.convex:return s?(t=t*2-1,t<0?1-Ee[~~(t*-aA)]-1:Ee[~~(t*aA)]):Ee[~~(t*aA)]}}var Rt=1,Gt=new Float32Array(1e3);for(let e=0;e=e.sample.loopEnd;)t-=o;let C=~~t,h=C+1;for(;h>=e.sample.loopEnd;)h-=o;let Q=t-C,f=n[h],u=n[C];A[g]=u+(f-u)*Q,t+=e.sample.playbackStep*e.currentTuningCalculated}}else{e.sample.end>=n.length&&(e.sample.end=n.length-1);for(let o=0;o=e.sample.end){e.finished=!0;return}let h=t-g,Q=n[C],f=n[g];A[o]=f+(Q-f)*h,t+=e.sample.playbackStep*e.currentTuningCalculated}}e.sample.cursor=t}function qs(e,A){let t=e.sample.cursor,s=e.sample.loopingMode===1||e.sample.loopingMode===3&&!e.isInRelease,n=e.sample.loopEnd-e.sample.loopStart,o=e.sample.sampleData;if(s)for(let g=0;g=e.sample.loopEnd;)t-=n;let C=~~t+1;for(;C>=e.sample.loopEnd;)C-=n;A[g]=o[C],t+=e.sample.playbackStep*e.currentTuningCalculated}else{e.sample.end>=o.length&&(e.sample.end=o.length-1);for(let g=0;g=e.sample.end){e.finished=!0;return}A[g]=o[C],t+=e.sample.playbackStep*e.currentTuningCalculated}}e.sample.cursor=t}function Ks(e,A,t,s,n,o,g,C,h){if(!isNaN(t[0])){if(g>0){let Q=o[0],f=o[1];g=Math.min(g,1e3);let u=g/800,c=e*u,l=A*u;for(let y=0;y0){let Q=C[0],f=C[1];h=Math.min(h,1e3);let u=h/800,c=e*u,l=A*u;for(let y=0;y0)for(let Q=0;Q0)for(let Q=0;Q13499)){(A.filter.cutoffCents!==s||A.filter.reasonanceCb!==A.modulatedGenerators[I.initialFilterQ])&&(A.filter.cutoffCents=s,A.filter.reasonanceCb=A.modulatedGenerators[I.initialFilterQ],e.calculateCoefficients(A));for(let n=0;n.45*sampleRate&&(A.filter.cutoffHz=.45*sampleRate);let t=A.filter.reasonanceCb/10-3.01;A.filter.reasonanceGain=PA(-1*t);let s=1/Math.sqrt(A.filter.reasonanceGain),n=2*Math.PI*A.filter.cutoffHz/sampleRate,o=Math.cos(n),g=Math.sin(n)/(2*A.filter.reasonanceGain),C=(1-o)*s,h=C/2,Q=h,f=1+g,u=-2*o,c=1-g;A.filter.a0=h/f,A.filter.a1=C/f,A.filter.a2=Q/f,A.filter.a3=u/f,A.filter.a4=c/f}};var Ps=.001,we=100,vs=96,FA=class e{constructor(A){this.sampleRate=A}currentSampleTime=0;sampleRate;currentAttenuationDb=we;state=0;releaseStartDb=100;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=PA(A.volumeEnvelope.currentAttenuationDb),e.recalculate(A)}static intialize(A){e.recalculate(A,!0),A.volumeEnvelope.attenuation=A.volumeEnvelope.attenuationTarget}static recalculate(A,t=!1){let s=A.volumeEnvelope,n=f=>Math.floor(LA(f)*s.sampleRate);s.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[I.initialAttenuation],1440))/10,s.sustainDbRelative=Math.min(100,A.modulatedGenerators[I.sustainVolEnv]/10),t&&(s.attenuation=s.attenuationTarget);let o=Math.min(100,s.sustainDbRelative+s.attenuation);s.attackDuration=n(A.modulatedGenerators[I.attackVolEnv]);let g=A.modulatedGenerators[I.decayVolEnv],C=(60-A.targetKey)*A.modulatedGenerators[I.keyNumToVolEnvDecay],h=(o-s.attenuation)/100;s.decayDuration=n(g+C)*h,s.releaseDuration=n(A.modulatedGenerators[I.releaseVolEnv]),s.delayEnd=n(A.modulatedGenerators[I.delayVolEnv]),s.attackEnd=s.attackDuration+s.delayEnd;let Q=(60-A.targetKey)*A.modulatedGenerators[I.keyNumToVolEnvHold];if(s.holdEnd=n(A.modulatedGenerators[I.holdVolEnv]+Q)+s.attackEnd,s.decayEnd=s.decayDuration+s.holdEnd,s.state===0&&s.attackEnd===0&&(s.currentAttenuationDb=s.attenuationTarget,s.state=2),A.isInRelease){let f=Math.min(100,s.sustainDbRelative+s.attenuation);switch(s.state){case 0:s.releaseStartDb=we;break;case 1:let c=(1-(s.attackEnd-s.releaseStartTimeSamples)/s.attackDuration)*PA(s.attenuation);s.releaseStartDb=20*Math.log10(c)*-1;break;case 2:s.releaseStartDb=s.attenuation;break;case 3:s.releaseStartDb=(1-(s.decayEnd-s.releaseStartTimeSamples)/s.decayDuration)*(f-s.attenuation)+s.attenuation;break;case 4:s.releaseStartDb=f;break;default:s.releaseStartDb=s.currentAttenuationDb}s.releaseStartDb=Math.min(s.releaseStartDb,we),s.releaseStartDb>=vs&&(A.finished=!0)}}static apply(A,t,s,n){let o=A.volumeEnvelope,g=s/10,C=n;if(A.isInRelease){let Q=n*10,f=o.currentSampleTime-o.releaseStartTimeSamples;if(f>=o.releaseDuration){for(let l=0;l=vs&&(A.finished=!0);return}let h=0;switch(o.state){case 0:for(;o.currentSampleTime=t.length)return;o.state++;case 1:for(;o.currentSampleTime=t.length)return}o.state++;case 2:for(;o.currentSampleTime=t.length)return;o.state++;case 3:for(;o.currentSampleTime=t.length)return}o.state++;case 4:for(;;){o.attenuation+=(o.attenuationTarget-o.attenuation)*C;let Q=Math.min(100,o.sustainDbRelative+o.attenuation);if(t[h]*=PA(Q+g),o.currentAttenuationDb=Q,o.currentSampleTime++,++h>=t.length)return}}}};var Vs=Math.PI/2,Os=.01;function Zs(e,A,t,s,n,o){if(A.isInRelease||currentTime>=A.releaseStartTime&&(A.isInRelease=!0,FA.startRelease(A),UA.startRelease(A)),A.modulatedGenerators[I.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let g=A.targetKey,C=A.modulatedGenerators[I.fineTune]+e.customControllers[iA.channelTuning]+e.customControllers[iA.channelTransposeFine]+e.customControllers[iA.masterTuning]+e.channelOctaveTuning[A.midiNote%12]+e.keyCentTuning[A.midiNote],h=A.modulatedGenerators[I.coarseTune]+e.customControllers[iA.channelTuningSemitones],Q=this.tunings[e.preset.program]?.[g];Q?.midiNote>=0&&(g=Q.midiNote,C+=Q.centTuning),C+=(g-A.sample.rootKey)*A.modulatedGenerators[I.scaleTuning];let f=A.modulatedGenerators[I.vibLfoToPitch];if(f!==0){let $=A.startTime+LA(A.modulatedGenerators[I.delayVibLFO]),QA=ke(A.modulatedGenerators[I.freqVibLFO]),IA=We($,QA,currentTime);C+=IA*(f*e.customControllers[iA.modulationMultiplier])}let u=A.modulatedGenerators[I.initialFilterFc],c=A.modulatedGenerators[I.modLfoToPitch],l=A.modulatedGenerators[I.modLfoToVolume],y=A.modulatedGenerators[I.modLfoToFilterFc],S=0;if(c+y+l!==0){let $=A.startTime+LA(A.modulatedGenerators[I.delayModLFO]),QA=ke(A.modulatedGenerators[I.freqModLFO]),IA=We($,QA,currentTime);C+=IA*(c*e.customControllers[iA.modulationMultiplier]),S=-IA*l,u+=IA*y}if(e.channelVibrato.depth>0){let $=We(A.startTime+e.channelVibrato.delay,e.channelVibrato.rate,currentTime);$&&(C+=$*e.channelVibrato.depth)}let k=A.modulatedGenerators[I.modEnvToPitch],x=A.modulatedGenerators[I.modEnvToFilterFc],N=UA.getValue(A,currentTime);u+=N*x,C+=N*k;let M=~~(C+h*100);M!==A.currentTuningCents&&(A.currentTuningCents=M,A.currentTuningCalculated=Math.pow(2,M/1200));let W=(Math.max(-500,Math.min(500,A.modulatedGenerators[I.pan]))+500)/1e3,J=new Float32Array(t.length);this.interpolationType===_e.linear?Js(A,J):qs(A,J),Be.apply(A,J,u),FA.apply(A,J,S,this.volumeEnvelopeSmoothingFactor),A.currentPan+=(W-A.currentPan)*this.panSmoothingFactor;let a=Math.cos(Vs*A.currentPan)*this.panLeft,sA=Math.sin(Vs*A.currentPan)*this.panRight,K=this.oneOutputMode?0:A.modulatedGenerators[I.reverbEffectsSend],z=this.oneOutputMode?0:A.modulatedGenerators[I.chorusEffectsSend];Ks(a,sA,J,t,s,n,K,o,z)}function Fo(e,A){let t=0;return e.drumChannel&&(t+=5),A.isInRelease&&(t-=5),t+=A.velocity/25,t-=A.volumeEnvelope.state,A.isInRelease&&(t-=5),t-=A.volumeEnvelope.currentAttenuationDb/50,t}function Xs(e){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Fo(s,n);A.push({channel:s,voice:n,priority:o})}A.sort((s,n)=>s.priority-n.priority);let t=A.slice(0,e);for(let{channel:s,voice:n}of t){let o=s.voices.indexOf(n);o>-1&&s.voices.splice(o,1)}}function Ws(e){e.releaseStartTime=currentTime,e.releaseStartTime-e.startTimezs=e);var Ro=function(e){var A,t,s,n,o,g,C,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Q="",f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=h.indexOf(e.charAt(f++)),o=h.indexOf(e.charAt(f++)),g=h.indexOf(e.charAt(f++)),C=h.indexOf(e.charAt(f++)),A=n<<2|o>>4,t=(15&o)<<4|g>>2,s=(3&g)<<6|C,Q+=String.fromCharCode(A),g!==64&&(Q+=String.fromCharCode(t)),C!==64&&(Q+=String.fromCharCode(s));while(f1&&(a.thisProgram=process.argv[1].replace(/\\/g,"/")),a.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(i){if(!(i instanceof me))throw i}),process.on("unhandledRejection",function(i,E){process.exit(1)}),a.quit=function(i){process.exit(i)},a.inspect=function(){return"[Emscripten Module object]"}):QA?(typeof read<"u"&&(a.read=function(E){return read(E)}),a.readBinary=function(E){var B;return typeof readbuffer=="function"?new Uint8Array(readbuffer(E)):(WA(typeof(B=read(E,"binary"))=="object"),B)},typeof scriptArgs<"u"?a.arguments=scriptArgs:typeof arguments<"u"&&(a.arguments=arguments),typeof quit=="function"&&(a.quit=function(i){quit(i)})):(K||z)&&(K?document.currentScript&&(IA=document.currentScript.src):IA=self.location.href,IA=IA.indexOf("blob:")!==0?IA.split("/").slice(0,-1).join("/")+"/":"",a.read=function(E){var B=new XMLHttpRequest;return B.open("GET",E,!1),B.send(null),B.responseText},z&&(a.readBinary=function(E){var B=new XMLHttpRequest;return B.open("GET",E,!1),B.responseType="arraybuffer",B.send(null),new Uint8Array(B.response)}),a.readAsync=function(E,B,d){var F=new XMLHttpRequest;F.open("GET",E,!0),F.responseType="arraybuffer",F.onload=function(){if(F.status==200||F.status==0&&F.response){B(F.response);return}d()},F.onerror=d,F.send(null)},a.setWindowTitle=function(i){document.title=i});var Yt=a.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),HA=a.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||Yt);for(e in sA)sA.hasOwnProperty(e)&&(a[e]=sA[e]);function xe(i){var E=l;return l=l+i+15&-16,E}function Jt(i){var E=h[M>>2],B=E+i+15&-16;return h[M>>2]=B,B>=EA&&!_t()?(h[M>>2]=E,0):E}function qt(i,E){return E||(E=16),i=Math.ceil(i/E)*E}function Co(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(i[i.length-1]==="*")return 4;if(i[0]!=="i")return 0;var E=parseInt(i.substr(1));return WA(E%8==0),E/8}}function ue(i){ue.shown||(ue.shown={}),ue.shown[i]||(ue.shown[i]=1,HA(i))}sA=void 0;var Eo={"f64-rem":function(i,E){return i%E},debugger:function(){}},st=[];function Lo(i,E){for(var B=0,d=B;d>>0)+4294967296*+(E>>>0):+(i>>>0)+4294967296*+(0|E)}function ot(i,E,B){return B&&B.length?a["dynCall_"+i].apply(null,[E].concat(B)):a["dynCall_"+i].call(null,E)}var Me=0,Kt=0;function WA(i,E){i||OA("Assertion failed: "+E)}function vt(i){var E=a["_"+i];return WA(E,"Cannot call unknown function "+i+", make sure it is exported"),E}var Pt={stackSave:function(){Bt()},stackRestore:function(){Et()},arrayToC:function(i){var E,B,d=He(i.length);return E=i,B=d,n.set(E,B),d},stringToC:function(i){var E=0;if(i!=null&&i!==0){var B=(i.length<<2)+1;E=He(B),Zt(i,E,B)}return E}},Bo={string:Pt.stringToC,array:Pt.arrayToC};function Vt(i,E,B,d,F){var v=vt(i),X=[],G=0;if(d)for(var BA=0;BA>0]=E;break;case"i16":g[i>>1]=E;break;case"i32":h[i>>2]=E;break;case"i64":tempI64=[E>>>0,+fo(tempDouble=E)>=1?tempDouble>0?(0|po(+es(tempDouble/4294967296),4294967295))>>>0:~~+mo((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],h[i>>2]=tempI64[0],h[i+4>>2]=tempI64[1];break;case"float":f[i>>2]=E;break;case"double":u[i>>3]=E;break;default:OA("invalid type for setValue: "+B)}}function Yo(i,E,B){switch((E=E||"i8").charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":case"i8":return n[i>>0];case"i16":return g[i>>1];case"i32":case"i64":return h[i>>2];case"float":return f[i>>2];case"double":return u[i>>3];default:OA("invalid type for getValue: "+E)}return null}function Jo(i,E,B,d){typeof i=="number"?(v=!0,X=i):(v=!1,X=i.length);var F=typeof E=="string"?E:null;if(G=B==4?d:[typeof Te=="function"?Te:xe,He,xe,Jt][B===void 0?2:B](Math.max(X,F?1:E.length)),v){for(d=G,WA((3&G)==0),BA=G+(-4&X);d>2]=0;for(BA=G+X;d>0]=0;return G}if(F==="i8")return i.subarray||i.slice?o.set(i,G):o.set(new Uint8Array(i),G),G;for(var v,X,G,BA,nA,oA,eA,q=0;q>0],(d!=0||E)&&(X++,!E||X!=E););E||(E=X);var G="";if(v<128){for(;E>0;)F=String.fromCharCode.apply(String,o.subarray(i,i+Math.min(E,1024))),G=G?G+F:F,i+=1024,E-=1024;return G}return B=i,function(nA,oA){for(var eA=oA;nA[eA];)++eA;if(eA-oA>16&&nA.subarray&&Ot)return Ot.decode(nA.subarray(oA,eA));for(var q,dA,RA,GA,xA,$A,MA="";;){if(!(q=nA[oA++]))return MA;if(!(128&q)){MA+=String.fromCharCode(q);continue}if(dA=63&nA[oA++],(224&q)==192){MA+=String.fromCharCode((31&q)<<6|dA);continue}if(RA=63&nA[oA++],(240&q)==224?q=(15&q)<<12|dA<<6|RA:(GA=63&nA[oA++],(248&q)==240?q=(7&q)<<18|dA<<12|RA<<6|GA:(xA=63&nA[oA++],q=(252&q)==248?(3&q)<<24|dA<<18|RA<<12|GA<<6|xA:(1&q)<<30|dA<<24|RA<<18|GA<<12|xA<<6|($A=63&nA[oA++]))),q<65536)MA+=String.fromCharCode(q);else{var pe=q-65536;MA+=String.fromCharCode(55296|pe>>10,56320|1023&pe)}}}(o,B)}function Ko(i){for(var E="";;){var B=n[i++>>0];if(!B)return E;E+=String.fromCharCode(B)}}function vo(i,E){return function(d,F,v){for(var X=0;X>0]=d.charCodeAt(X);v||(n[F>>0]=0)}(i,E,!1)}var Ot=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function be(i,E,B,d){if(!(d>0))return 0;for(var F=B,v=B+d-1,X=0;X=55296&&G<=57343&&(G=65536+((1023&G)<<10)|1023&i.charCodeAt(++X)),G<=127){if(B>=v)break;E[B++]=G}else if(G<=2047){if(B+1>=v)break;E[B++]=192|G>>6,E[B++]=128|63&G}else if(G<=65535){if(B+2>=v)break;E[B++]=224|G>>12,E[B++]=128|G>>6&63,E[B++]=128|63&G}else if(G<=2097151){if(B+3>=v)break;E[B++]=240|G>>18,E[B++]=128|G>>12&63,E[B++]=128|G>>6&63,E[B++]=128|63&G}else if(G<=67108863){if(B+4>=v)break;E[B++]=248|G>>24,E[B++]=128|G>>18&63,E[B++]=128|G>>12&63,E[B++]=128|G>>6&63,E[B++]=128|63&G}else{if(B+5>=v)break;E[B++]=252|G>>30,E[B++]=128|G>>24&63,E[B++]=128|G>>18&63,E[B++]=128|G>>12&63,E[B++]=128|G>>6&63,E[B++]=128|63&G}}return E[B]=0,B-F}function Zt(i,E,B){return be(i,o,E,B)}function Le(i){for(var E=0,B=0;B=55296&&d<=57343&&(d=65536+((1023&d)<<10)|1023&i.charCodeAt(++B)),d<=127?++E:d<=2047?E+=2:d<=65535?E+=3:d<=2097151?E+=4:d<=67108863?E+=5:E+=6}return E}var Xt=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function Po(i){for(var E=i,B=E>>1;g[B];)++B;if((E=B<<1)-i>32&&Xt)return Xt.decode(o.subarray(i,E));for(var d=0,F="";;){var v=g[i+2*d>>1];if(v==0)return F;++d,F+=String.fromCharCode(v)}}function Vo(i,E,B){if(B===void 0&&(B=2147483647),B<2)return 0;for(var d=E,F=(B-=2)<2*i.length?B/2:i.length,v=0;v>1]=X,E+=2}return g[E>>1]=0,E-d}function Oo(i){return 2*i.length}function Zo(i){for(var E=0,B="";;){var d=h[i+4*E>>2];if(d==0)return B;if(++E,d>=65536){var F=d-65536;B+=String.fromCharCode(55296|F>>10,56320|1023&F)}else B+=String.fromCharCode(d)}}function Xo(i,E,B){if(B===void 0&&(B=2147483647),B<4)return 0;for(var d=E,F=d+B-4,v=0;v=55296&&X<=57343&&(X=65536+((1023&X)<<10)|1023&i.charCodeAt(++v)),h[E>>2]=X,(E+=4)+4>F)break}return h[E>>2]=0,E-d}function Wo(i){for(var E=0,B=0;B=55296&&d<=57343&&++B,E+=4}return E}function _o(i){var E=Le(i)+1,B=Te(E);return B&&be(i,n,B,E),B}function zo(i){var E=Le(i)+1,B=He(E);return be(i,n,B,E),B}function jo(i){return i}function $o(){var i,E=function(){var d=Error();if(!d.stack){try{throw Error(0)}catch(F){d=F}if(!d.stack)return"(no stack trace available)"}return d.stack.toString()}();return a.extraStackTrace&&(E+=` +`+a.extraStackTrace()),(i=E).replace(/__Z[\w\d_]+/g,function(B){var d,F=d=B;return B===F?B:B+" ["+F+"]"})}function rt(i,E){return i%E>0&&(i+=E-i%E),i}function Wt(i){a.buffer=s=i}function it(){a.HEAP8=n=new Int8Array(s),a.HEAP16=g=new Int16Array(s),a.HEAP32=h=new Int32Array(s),a.HEAPU8=o=new Uint8Array(s),a.HEAPU16=C=new Uint16Array(s),a.HEAPU32=Q=new Uint32Array(s),a.HEAPF32=f=new Float32Array(s),a.HEAPF64=u=new Float64Array(s)}function _t(){var i=a.usingWasm?65536:16777216,E=2147483648-i;if(h[M>>2]>E)return!1;var B=EA;for(EA=Math.max(EA,16777216);EA>2];)EA=EA<=536870912?rt(2*EA,i):Math.min(rt((3*EA+2147483648)/4,i),E);var d=a.reallocBuffer(EA);return d&&d.byteLength==EA?(Wt(d),it(),!0):(EA=B,!1)}c=l=S=k=x=N=M=0,y=!1,a.reallocBuffer||(a.reallocBuffer=function(i){try{if(ArrayBuffer.transfer)E=ArrayBuffer.transfer(s,i);else{var E,B=n;E=new ArrayBuffer(i),new Int8Array(E).set(B)}}catch{return!1}return!!So(E)&&E});try{(W=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{W=function(E){return E.byteLength}}var at=a.TOTAL_STACK||5242880,EA=a.TOTAL_MEMORY||16777216;function Qo(){return EA}function fe(i){for(;i.length>0;){var E=i.shift();if(typeof E=="function"){E();continue}var B=E.func;typeof B=="number"?E.arg===void 0?a.dynCall_v(B):a.dynCall_vi(B,E.arg):B(E.arg===void 0?null:E.arg)}}EA=0?i:E<=32?2*Math.abs(1<=d&&(E<=32||i>d)&&(i=-2*d+i),i}var fo=Math.abs,mo=Math.ceil,es=Math.floor,po=Math.min,jA=0,Ct=null,de=null;function rr(i){return i}a.preloadedImages={},a.preloadedAudios={};var ts="data:application/octet-stream;base64,";function Ue(i){return String.prototype.startsWith?i.startsWith(ts):i.indexOf(ts)===0}(function(){var E="main.wast",B="main.wasm",d="main.temp.asm.js";Ue(E)||(E=TA(E)),Ue(B)||(B=TA(B)),Ue(d)||(d=TA(d));var F={global:null,env:null,asm2wasm:Eo,parent:a},v=null;function X(eA){return eA}function G(){try{if(a.wasmBinary)return new Uint8Array(a.wasmBinary);if(a.readBinary)return a.readBinary(B);throw"both async and sync fetching of the wasm failed"}catch(eA){OA(eA)}}a.asmPreload=a.asm;var BA=a.reallocBuffer,nA=function(eA){eA=rt(eA,a.usingWasm?65536:16777216);var q=a.buffer.byteLength;if(a.usingWasm)try{var dA=a.wasmMemory.grow((eA-q)/65536);return dA!==-1?a.buffer=a.wasmMemory.buffer:null}catch{return null}};a.reallocBuffer=function(eA){return oA==="asmjs"?BA(eA):nA(eA)};var oA="";a.asm=function(eA,q,dA){var RA;if(!(q=RA=q).table){var GA,xA=a.wasmTableSize;xA===void 0&&(xA=1024);var $A=a.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?$A!==void 0?q.table=new WebAssembly.Table({initial:xA,maximum:$A,element:"anyfunc"}):q.table=new WebAssembly.Table({initial:xA,element:"anyfunc"}):q.table=Array(xA),a.wasmTable=q.table}return q.memoryBase||(q.memoryBase=a.STATIC_BASE),q.tableBase||(q.tableBase=0),GA=function(pe,se,Qt){if(typeof WebAssembly!="object")return HA("no native wasm support detected"),!1;if(!(a.wasmMemory instanceof WebAssembly.Memory))return HA("no native wasm Memory in use"),!1;function Ye(YA,JA){if((v=YA.exports).memory){var Se,ct,os;Se=v.memory,ct=a.buffer,Se.byteLength0?B:Le(i)+1,F=Array(d),v=be(i,F,0,F.length);return E&&(F.length=v),F}function gr(i){for(var E=[],B=0;B255&&(d&=255),E.push(String.fromCharCode(d))}return E.join("")}l+=16,M=xe(4),x=(S=k=qt(l))+at,N=qt(x),h[M>>2]=N,y=!0,a.wasmTableSize=4,a.wasmMaxTableSize=4,a.asmGlobalArg={},a.asmLibraryArg={abort:OA,assert:WA,enlargeMemory:_t,getTotalMemory:Qo,abortOnCannotGrowMemory:function(){OA("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+EA+", (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,B,d){var F=Bt();try{return a.dynCall_iii(E,B,d)}catch(v){if(Et(F),typeof v!="number"&&v!=="longjmp")throw v;a.setThrew(1,0)}},___assert_fail:function(E,B,d,F){OA("Assertion failed: "+Ne(E)+", at: "+[B?Ne(B):"unknown filename",d,F?Ne(F):"unknown function"])},___setErrNo:function(E){return a.___errno_location&&(h[a.___errno_location()>>2]=E),E},_abort:function(){a.abort()},_emscripten_memcpy_big:function(E,B,d){return o.set(o.subarray(B,B+d),E),E},_llvm_floor_f64:es,DYNAMICTOP_PTR:M,tempDoublePtr:DA,ABORT:Me,STACKTOP:k,STACK_MAX:x};var ss=a.asm(a.asmGlobalArg,a.asmLibraryArg,s);a.asm=ss,a.___errno_location=function(){return a.asm.___errno_location.apply(null,arguments)};var So=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};var Te=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)},a._memset=function(){return a.asm._memset.apply(null,arguments)},a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)},a._stb_vorbis_js_channels=function(){return a.asm._stb_vorbis_js_channels.apply(null,arguments)},a._stb_vorbis_js_close=function(){return a.asm._stb_vorbis_js_close.apply(null,arguments)},a._stb_vorbis_js_decode=function(){return a.asm._stb_vorbis_js_decode.apply(null,arguments)},a._stb_vorbis_js_open=function(){return a.asm._stb_vorbis_js_open.apply(null,arguments)},a._stb_vorbis_js_sample_rate=function(){return a.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)},a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)},a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)},a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)},a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};var He=a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)},Et=a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)},Bt=a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};function me(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}function ht(i){i=i||a.arguments,!(jA>0)&&(function(){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)lo(a.preRun.shift());fe(zt)}(),!(jA>0)&&(a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),E()},1)):E())));function E(){!a.calledRun&&(a.calledRun=!0,Me||(gt||(gt=!0,fe(It)),fe(jt),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;)uo(a.postRun.shift());fe(As)}()))}}function Cr(i,E){(!E||!a.noExitRuntime||i!==0)&&(a.noExitRuntime||(Me=!0,Kt=i,k=J,fe($t),co=!0,a.onExit&&a.onExit(i)),a.quit(i,new me(i)))}function OA(i){throw a.onAbort&&a.onAbort(i),i!==void 0?(Yt(i),HA(i),i=JSON.stringify(i)):i="",Me=!0,Kt=1,"abort("+i+"). Build with -s ASSERTIONS=1 for more info."}if(a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)},a.asm=ss,a.ccall=Vt,a.cwrap=function(E,B,d,F){var v=(d=d||[]).every(function(X){return X==="number"});return B!=="string"&&v&&!F?vt(E):function(){return Vt(E,B,d,arguments,F)}},me.prototype=Error(),me.prototype.constructor=me,de=function i(){a.calledRun||ht(),a.calledRun||(de=i)},a.run=ht,a.abort=OA,a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();a.noExitRuntime=!0,ht(),a.onRuntimeInitialized=()=>{_s=!0,zs()},VA.decode=function(i){return function(B){if(!_s)throw Error("Not initialized");var d={};function F(se){return new Int32Array(a.HEAPU8.buffer,se,1)[0]}function v(se,Qt){var Ye=new ArrayBuffer(Qt*Float32Array.BYTES_PER_ELEMENT),ne=new Float32Array(Ye);return ne.set(new Float32Array(a.HEAPU8.buffer,se,Qt)),ne}d.open=a.cwrap("stb_vorbis_js_open","number",[]),d.close=a.cwrap("stb_vorbis_js_close","void",["number"]),d.channels=a.cwrap("stb_vorbis_js_channels","number",["number"]),d.sampleRate=a.cwrap("stb_vorbis_js_sample_rate","number",["number"]),d.decode=a.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X,G,BA,nA,oA=d.open(),eA=(X=B,G=B.byteLength,BA=a._malloc(G),(nA=new Uint8Array(a.HEAPU8.buffer,BA,G)).set(new Uint8Array(X,0,G)),nA),q=a._malloc(4),dA=a._malloc(4),RA=d.decode(oA,eA.byteOffset,eA.byteLength,q,dA);if(a._free(eA.byteOffset),RA<0)throw d.close(oA),a._free(q),Error("stbvorbis decode failed: "+RA);for(var GA=d.channels(oA),xA=Array(GA),$A=new Int32Array(a.HEAPU32.buffer,F(q),GA),MA=0;MA=0&&(s=this.workletProcessorChannels[t]),e.messageType){case AA.noteOn:this.noteOn(t,A[0],A[1],A[2]);break;case AA.noteOff:this.noteOff(t,A);break;case AA.pitchWheel:this.pitchWheel(t,A[0],A[1]);break;case AA.ccChange:this.controllerChange(t,A[0],A[1],A[2]);break;case AA.customcCcChange:s.customControllers[A[0]]=A[1];break;case AA.killNote:this.killNote(t,A);break;case AA.programChange:this.programChange(t,A[0],A[1]);break;case AA.channelPressure:this.channelPressure(t,A);break;case AA.polyPressure:this.polyPressure(t,A[0],A[1]);break;case AA.ccReset:t===bA?this.resetAllControllers():this.resetControllers(t);break;case AA.systemExclusive:this.systemExclusive(A);break;case AA.setChannelVibrato:if(t===bA)for(let g=0;g{let t=(A.midiControllers[gA+P.pitchWheelRange]>>7)+(A.midiControllers[gA+P.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[gA+P.pitchWheel],pitchBendRangeSemitones:t,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:mA.channelProperties,messageData:e})}function Go(e,A,t){let s=e,n=A<<7|t;return e===127&&A===127&&t===127?{midiNote:-1,centTuning:null}:{midiNote:s,centTuning:n*.0061}}function en(e,A=0){let t=e[0];if(!(this.deviceID!==bA&&e[1]!==127&&this.deviceID!==e[1]))switch(t){default:b(`%cUnrecognized SysEx: %c${hA(e)}`,r.warn,r.unrecognized);break;case 126:case 127:switch(e[2]){case 4:let s;switch(e[3]){case 1:let n=e[5]<<7|e[4];this.setMIDIVolume(n/16384),m(`%cMaster Volume. Volume: %c${n}`,r.info,r.value);break;case 2:let g=((e[5]<<7|e[4])-8192)/8192;this.setMasterPan(g),m(`%cMaster Pan. Pan: %c${g}`,r.info,r.value);break;case 3:let C=(e[5]<<7|e[6])-8192;s=Math.floor(C/81.92),this.setMasterTuning(s),m(`%cMaster Fine Tuning. Cents: %c${s}`,r.info,r.value);break;case 4:s=(e[5]-64)*100,this.setMasterTuning(s),m(`%cMaster Coarse Tuning. Cents: %c${s}`,r.info,r.value);break;default:b(`%cUnrecognized MIDI Device Control Real-time message: %c${hA(e)}`,r.warn,r.unrecognized)}break;case 9:e[3]===1?(m("%cGM system on",r.info),this.system="gm"):e[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(e[3]){case 2:case 7:let n=4;e[3]===7&&n++;let o=e[n++],g=e[n++];for(let h=0;h>1&1)===1&&this.setOctaveTuning(15+A,C);for(let h=0;h<7;h++)(e[5]>>h&1)===1&&this.setOctaveTuning(7+h+A,C);for(let h=0;h<7;h++)(e[6]>>h&1)===1&&this.setOctaveTuning(h+A,C);m(`%cMIDI Octave Scale ${e[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${C.join(" ")}`,r.info,r.value);break;default:b(`%cUnrecognized MIDI Tuning standard message: %c${hA(e)}`,r.warn,r.unrecognized);break}break;default:b(`%cUnrecognized MIDI Realtime/non realtime message: %c${hA(e)}`,r.warn,r.unrecognized)}break;case 65:if(e[2]===66&&e[3]===18){let s=e[7];if(e[6]===127){s===0?(m("%cGS system on",r.info),this.system="gs"):s===127&&(m("%cGS system off, switching to GM2",r.info),this.system="gm2");return}else if(e[4]===64){if((e[5]&16)>0){let n=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][e[5]&15]+A;switch(e[6]){default:break;case 21:let o=s>0&&e[5]>>4;this.setDrums(n,o),m(`%cChannel %c${n}%c ${o?"is now a drum channel":"now isn't a drum channel"}%c via: %c${hA(e)}`,r.info,r.value,r.recognized,r.info,r.value);return;case 22:let g=s-64;this.transposeChannel(n,g),m(`%cChannel %c${n}%c pitch shift. Semitones %c${g}%c, with %c${hA(e)}`,r.info,r.recognized,r.info,r.value,r.info,r.value);return;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 C=s-64;m(`%cChannel %c${n}%c tuning. Cents %c${C}%c, with %c${hA(e)}`,r.info,r.recognized,r.info,r.value,r.info,r.value),this.setChannelTuning(n,C)}}else if(e[5]===0&&e[6]===6){m(`%cRoland GS Master Pan set to: %c${s}%c with: %c${hA(e)}`,r.info,r.value,r.info,r.value),this.setMasterPan((s-64)/64);return}else if(e[5]===0&&e[6]===5){let n=s-64;m(`%cRoland GS Master Key-Shift set to: %c${n}%c with: %c${hA(e)}`,r.info,r.value,r.info,r.value),this.setMasterTuning(n*100);return}else if(e[5]===0&&e[6]===4){m(`%cRoland GS Master Volume set to: %c${s}%c with: %c${hA(e)}`,r.info,r.value,r.info,r.value),this.setMIDIVolume(s/127);return}}b(`%cUnrecognized Roland %cGS %cSysEx: %c${hA(e)}`,r.warn,r.recognized,r.warn,r.unrecognized);return}else if(e[2]===22&&e[3]===18&&e[4]===16){this.setMIDIVolume(e[7]/100),m(`%cRoland Master Volume control set to: %c${e[7]}%c via: %c${hA(e)}`,r.info,r.value,r.info,r.value);return}else{b(`%cUnrecognized Roland SysEx: %c${hA(e)}`,r.warn,r.unrecognized);return}case 67:if(e[2]===76)if(e[3]===0&&e[4]===0)switch(e[5]){case 4:let s=e[6];this.setMIDIVolume(s/127),m(`%cXG master volume. Volume: %c${s}`,r.info,r.recognized);break;case 6:let n=e[6]-64;this.transposeAllChannels(n),m(`%cXG master transpose. Volume: %c${n}`,r.info,r.recognized);break;case 126:m("%cXG system on",r.info),this.system="xg";break}else if(e[3]===8){if(this.system!=="xg")return;let s=e[4]+A;if(s>=this.workletProcessorChannels.length)return;let n=e[6];switch(e[5]){case 1:this.controllerChange(s,p.bankSelect,n);break;case 2:this.controllerChange(s,p.lsbForControl0BankSelect,n);break;case 3:this.programChange(s,n);break;case 8:let o=this.workletProcessorChannels[s];if(o.drumChannel)return;let g=n-64;o.channelTransposeKeyShift=g;break;case 11:this.controllerChange(s,p.mainVolume,n);break;case 14:let C=n;C===0&&(C=Math.floor(Math.random()*127)),this.controllerChange(s,p.pan,C);break;case 19:this.controllerChange(s,p.effects1Depth,n);break;case 18:this.controllerChange(s,p.effects3Depth,n);break;default:b(`%cUnrecognized Yamaha XG Part Setup: %c${e[5].toString(16).toUpperCase()}`,r.warn,r.unrecognized)}}else this.system==="xg"&&b(`%cUnrecognized Yamaha XG SysEx: %c${hA(e)}`,r.warn,r.unrecognized);else this.system==="xg"&&b(`%cUnrecognized Yamaha SysEx: %c${hA(e)}`,r.warn,r.unrecognized);break}}function tn(e,A,t){if(A.transformAmount===0)return 0;let s;if(A.sourceUsesCC)s=e[A.sourceIndex];else{let h=A.sourceIndex+gA;switch(A.sourceIndex){case P.noController:s=16383;break;case P.noteOnKeyNum:s=t.midiNote<<7;break;case P.noteOnVelocity:s=t.velocity<<7;break;case P.polyPressure:s=t.pressure<<7;break;default:s=e[h];break}}let n=fA[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=e[A.secSrcIndex];else{let h=A.secSrcIndex+gA;switch(A.secSrcIndex){case P.noController:o=16383;break;case P.noteOnKeyNum:o=t.midiNote<<7;break;case P.noteOnVelocity:o=t.velocity<<7;break;case P.polyPressure:o=t.pressure<<7;break;default:o=e[h]}}let g=fA[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],C=n*g*A.transformAmount;return A.transformType===2?Math.abs(C):C}function ZA(e,A,t=-1,s=0){let{modulators:n,generators:o,modulatedGenerators:g}=e;if(UA.recalculate(e),t===-1){g.set(o),n.forEach(Q=>{g[Q.modulatorDestination]+=tn(A,Q,e)}),FA.recalculate(e);return}let C=new Set([I.initialAttenuation,I.delayVolEnv,I.attackVolEnv,I.holdVolEnv,I.decayVolEnv,I.sustainVolEnv,I.releaseVolEnv,I.keyNumToVolEnvHold,I.keyNumToVolEnvDecay]),h=new Set;n.forEach(Q=>{if(Q.sourceUsesCC===t&&Q.sourceIndex===s||Q.secSrcUsesCC===t&&Q.secSrcIndex===s){let f=Q.modulatorDestination;h.has(f)||(g[f]=o[f],n.forEach(u=>{u.modulatorDestination===f&&(g[f]+=tn(A,u,e))}),h.add(f))}}),[...h].some(Q=>C.has(Q))&&FA.recalculate(e)}var fA=[];for(let e=0;e<4;e++){fA[e]=[[new Float32Array(aA),new Float32Array(aA)],[new Float32Array(aA),new Float32Array(aA)]];for(let A=0;A200&&t<40||this.highPerformanceMode&&t<10||g.isMuted)return;let C=A+g.channelTransposeKeyShift;if(A>127||A<0)return;let h=g.preset.program;this.tunings[h]?.[A]?.midiNote>=0&&(C=this.tunings[h]?.[A].midiNote);let Q=this.getWorkletVoices(e,C,t,g,o,s),f=g.voices;Q.forEach(u=>{let c=u.generators[I.exclusiveClass];c!==0&&f.forEach(l=>{l.generators[I.exclusiveClass]===c&&(this.releaseVoice(l),l.modulatedGenerators[I.releaseVolEnv]=-7e3,l.modulatedGenerators[I.releaseModEnv]=-7e3,FA.recalculate(l),UA.recalculate(l))}),ZA(u,g.midiControllers),FA.intialize(u),u.currentPan=(Math.max(-500,Math.min(500,u.modulatedGenerators[I.pan]))+500)/1e3}),this.totalVoicesAmount+=Q.length,this.totalVoicesAmount>this.voiceCap&&this.voiceKilling(Q.length),f.push(...Q),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:e,velocity:t}))}function nn(e,A){if(A>127||A<0){b("Received a noteOn for note",A,"Ignoring.");return}let t=A+this.workletProcessorChannels[e].channelTransposeKeyShift,s=this.workletProcessorChannels[e].preset.program;if(this.tunings[s]?.[A]?.midiNote>=0&&(t=this.tunings[s]?.[A].midiNote),this.highPerformanceMode&&!this.workletProcessorChannels[e].drumChannel){this.killNote(e,t);return}this.workletProcessorChannels[e].voices.forEach(o=>{o.midiNote!==t||o.isInRelease===!0||(this.workletProcessorChannels[e].holdPedal?this.workletProcessorChannels[e].sustainedVoices.push(o):this.releaseVoice(o))}),this.callEvent("noteoff",{midiNote:A,channel:e})}function on(e,A){this.workletProcessorChannels[e].voices.forEach(t=>{t.midiNote===A&&(t.modulatedGenerators[I.releaseVolEnv]=-12e3,this.releaseVoice(t))})}function rn(e,A=!1){let t=this.workletProcessorChannels[e].voices;A?(t.length=0,this.workletProcessorChannels[e].sustainedVoices.length=0,this.sendChannelProperties()):(t.forEach(s=>{s.isInRelease||this.releaseVoice(s)}),this.workletProcessorChannels[e].sustainedVoices.forEach(s=>{this.releaseVoice(s)}))}function an(e=!1){m("%cStop all received!",r.info);for(let A=0;AZA(n,this.workletProcessorChannels[e].midiControllers,0,P.pitchWheel)),this.sendChannelProperties()}function cn(e,A){let t=this.workletProcessorChannels[e];t.midiControllers[gA+P.channelPressure]=A<<7,this.workletProcessorChannels[e].voices.forEach(s=>ZA(s,t.midiControllers,0,P.channelPressure)),this.callEvent("channelpressure",{channel:e,pressure:A})}function ln(e,A,t){this.workletProcessorChannels[e].voices.forEach(s=>{s.midiNote===A&&(s.pressure=t,ZA(s,this.workletProcessorChannels[e].midiControllers,0,P.polyPressure))}),this.callEvent("polypressure",{channel:e,midiNote:A,pressure:t})}function un(e,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[e].channelOctaveTuning=A}function fn(e,A,t,s=!1){let n=this.workletProcessorChannels[e];if(n===void 0){b(`Trying to access channel ${e} which does not exist... ignoring!`);return}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|t&127,n.voices.forEach(g=>ZA(g,n.midiControllers,1,o))}switch(A){case p.allNotesOff:this.stopAll(e);break;case p.allSoundOff:this.stopAll(e,!0);break;case p.bankSelect:let o=t;if(!s){switch(this.system){case"gm":m(`%cIgnoring the Bank Select (${t}), as the synth is in GM mode.`,r.info);return;case"xg":o===120||o===126||o===127?this.setDrums(e,!0):e%16!==SA&&this.setDrums(e,!1);break;case"gm2":o===120&&(n.drumChannel=!0,this.callEvent("drumchange",{channel:e,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||t!==127&&(n.midiControllers[p.bankSelect]=t):this.system==="gm2"&&(n.midiControllers[p.bankSelect]=t);break;case p.RPNLsb:n.RPValue=n.RPValue<<7|t,n.dataEntryState=uA.RPFine;break;case p.RPNMsb:n.RPValue=t,n.dataEntryState=uA.RPCoarse;break;case p.NRPNMsb:n.NRPCoarse=t,n.dataEntryState=uA.NRPCoarse;break;case p.NRPNLsb:n.NRPFine=t,n.dataEntryState=uA.NRPFine;break;case p.dataEntryMsb:this.dataEntryCoarse(e,t);break;case p.lsbForControl6DataEntry:this.dataEntryFine(e,t);break;case p.resetAllControllers:this.resetControllers(e);break;case p.sustainPedal:t>=64?n.holdPedal=!0:(n.holdPedal=!1,n.sustainedVoices.forEach(g=>{this.releaseVoice(g)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=t<<7,n.voices.forEach(g=>ZA(g,n.midiControllers,1,A)),this.callEvent("controllerchange",{channel:e,controllerNumber:A,controllerValue:t});break}}function dn(e){this.midiVolume=e,this.setMasterPan(this.pan)}function mn(e){this.masterGain=e*Mt,this.setMasterPan(this.pan)}function pn(e){this.pan=e,e=e/2+.5,this.panLeft=(1-e)*this.currentGain,this.panRight=e*this.currentGain}function Sn(e,A){A&&this.stopAll(e,!0),this.workletProcessorChannels[e].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:e,isMuted:A})}function yn(e){this.workletProcessorChannels[e].lockVibrato=!0,this.workletProcessorChannels[e].channelVibrato.rate=0,this.workletProcessorChannels[e].channelVibrato.delay=0,this.workletProcessorChannels[e].channelVibrato.depth=0}function Dn(e,A,t,s){this.workletProcessorChannels[e].lockVibrato||(this.workletProcessorChannels[e].channelVibrato.rate=t,this.workletProcessorChannels[e].channelVibrato.delay=s,this.workletProcessorChannels[e].channelVibrato.depth=A)}function kn(e,A){let t=this.workletProcessorChannels[e],s=()=>{t.channelVibrato.delay===0&&t.channelVibrato.rate===0&&t.channelVibrato.depth===0&&(t.channelVibrato.depth=50,t.channelVibrato.rate=8,t.channelVibrato.delay=.6)};switch(t.dataEntryState){default:case uA.Idle:break;case uA.NRPFine:if(this.system!=="gs")return;switch(t.NRPCoarse){default:if(A===64)return;b(`%cUnrecognized NRPN for %c${e}%c: %c(0x${t.NRPCoarse.toString(16).toUpperCase()} 0x${t.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(t.NRPFine){default:if(A===64)return;b(`%cUnrecognized NRPN for %c${e}%c: %c(0x${t.NRPCoarse.toString(16)} 0x${t.NRPFine.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 8:if(t.lockVibrato||A===64)return;s(),t.channelVibrato.rate=A/64*8,m(`%cVibrato rate for %c${e}%c is now set to %c${A} = ${t.channelVibrato.rate}%cHz.`,r.info,r.recognized,r.info,r.value,r.info);break;case 9:if(t.lockVibrato||A===64)return;s(),t.channelVibrato.depth=A/2,m(`%cVibrato depth for %c${e}%c is now set to %c${A} = ${t.channelVibrato.depth}%c cents range of detune.`,r.info,r.recognized,r.info,r.value,r.info);break;case 10:if(t.lockVibrato||A===64)return;s(),t.channelVibrato.delay=A/64/3,m(`%cVibrato delay for %c${e}%c is now set to %c${A} = ${t.channelVibrato.delay}%c seconds.`,r.info,r.recognized,r.info,r.value,r.info);break;case 32:let g=A;this.controllerChange(e,p.brightness,A),m(`%cFilter cutoff for %c${e}%c is now set to %c${g}`,r.info,r.recognized,r.info,r.value)}break;case 24:if(!t.drumChannel)return;let n=A-64;t.keyCentTuning[t.NRPFine]=n*100,m(`%cGS drum key tuning. MIDI note: %c${t.NRPFine}%c semitones: %c${n}`,r.info,r.recognized,r.info,r.value);break;case 29:if(!t.drumChannel)return;let o=A;this.controllerChange(e,p.effects1Depth,o),m(`%cGS Drum reverb for %c${e}%c: %c${o}`,r.info,r.recognized,r.info,r.value);break}break;case uA.RPCoarse:case uA.RPFine:switch(t.RPValue){default:b(`%cUnrecognized RPN for %c${e}%c: %c(0x${t.RPValue.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 0:t.midiControllers[gA+P.pitchWheelRange]=A<<7,m(`%cChannel ${e} bend range. Semitones: %c${A}`,r.info,r.value);break;case 2:this.setChannelTuningSemitones(e,A-64);break;case 1:this.setChannelTuning(e,A-64,!1);break;case 5:this.setModulationDepth(e,A*100);break;case 16383:this.resetParameters(e);break}}}function wn(e,A){let t=this.workletProcessorChannels[e];switch(t.dataEntryState){default:break;case uA.RPCoarse:case uA.RPFine:switch(t.RPValue){default:break;case 0:if(A===0)break;t.midiControllers[gA+P.pitchWheelRange]|=A;let s=(t.midiControllers[gA+P.pitchWheelRange]>>7)+A/127;m(`%cChannel ${e} bend range. Semitones: %c${s}`,r.info,r.value);break;case 1:let o=t.customControllers[iA.channelTuning]<<7|A;this.setChannelTuning(e,o*.01220703125);break;case 5:let C=t.customControllers[iA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(e,C);break;case 16383:this.resetParameters(e);break}}}function Fn(){m("%cResetting all controllers!",r.info),this.callEvent("allcontrollerreset",void 0);for(let e=0;e{this.workletProcessorChannels[e].lockedControllers[s]&&this.callEvent("controllerchange",{channel:e,controllerNumber:s,controllerValue:this.workletProcessorChannels[e].midiControllers[s]>>7})};if(t(p.mainVolume),t(p.pan),t(p.expressionController),t(p.modulationWheel),t(p.effects3Depth),t(p.effects1Depth),this.workletProcessorChannels[e].lockedControllers[gA+P.pitchWheel]){let s=this.workletProcessorChannels[e].midiControllers[gA+P.pitchWheel],n=s>>7,o=s&127;this.callEvent("pitchwheel",{channel:e,MSB:n,LSB:o})}}this.tunings=[],this.tunings=[];for(let e=0;e<127;e++)this.tunings.push([]);this.setMIDIVolume(1),this.system=Ke}function Rn(e){let A=this.workletProcessorChannels[e],s=A.lockedControllers.reduce((o,g,C)=>(g&&o.push(C),o),[]).map(o=>({ccNum:o,ccVal:A.midiControllers[o]}));A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0),A.midiControllers.set(KA),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(yt),A.customControllers[iA.channelTransposeFine]=n,this.resetParameters(e)}function Gn(e){let A=this.workletProcessorChannels[e];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=uA.Idle}function xn(){let e=4;for(let s of this.instruments)e+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(g=>g.generatorType!==I.sampleID&&g.generatorType!==I.keyRange&&g.generatorType!==I.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:I.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:I.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:I.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new H(e),t=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=t;for(let o of n.generators)Y(A,o.generatorType),Y(A,o.generatorValue),t++}return cA(A,0),tA(new j("igen",A.length,A))}function Mn(e,A,t,s,n){let o=this.samples.map((Q,f)=>{t&&Q.compressSample(s,n);let u=Q.getRawData();return m(`%cEncoded sample %c${f}. ${Q.sampleName}%c of %c${this.samples.length}`,r.info,r.recognized,r.info,r.recognized),u}),g=this.samples.reduce((Q,f,u)=>Q+o[u].length+46,0),C=new H(g);this.samples.forEach((Q,f)=>{let u=o[f],c,l,y=u.length;Q.isCompressed?(c=C.currentIndex,l=c+u.length):(c=C.currentIndex/2,l=c+u.length/2,y+=46),e.push(c),C.set(u,C.currentIndex),C.currentIndex+=y,A.push(l)});let h=tA(new j("smpl",C.length,C),new H([115,100,116,97]));return tA(new j("LIST",h.length,h))}function Nn(e,A){let s=new H(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{wA(s,n.sampleName,20);let g=e[o];cA(s,g);let C=A[o];cA(s,C);let h=n.sampleLoopStartIndex/2+g,Q=n.sampleLoopEndIndex/2+g;n.isCompressed&&(h-=g,Q-=g),cA(s,h),cA(s,Q),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),tA(new j("shdr",s.length,s))}function bn(){let e=10;for(let s of this.instruments)e+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new H(e),t=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=t;for(let o of n.modulators)Y(A,o.modulatorSource),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.modulationSecondarySrc),Y(A,o.transformType),t++}return ae(A,0,10),tA(new j("imod",A.length,A))}function Ln(){let e=this.instruments.reduce((o,g)=>g.instrumentZones.length*4+o,4),A=new H(e),t=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=t;for(let g of o.instrumentZones)g.zoneID=t,Y(A,s),Y(A,n),s+=g.generators.length,n+=g.modulators.length,t++}return Y(A,s),Y(A,n),tA(new j("ibag",A.length,A))}function Un(){let e=this.instruments.length*22+22,A=new H(e),t=0,s=0;for(let n of this.instruments)wA(A,n.instrumentName,20),Y(A,t),t+=n.instrumentZones.length,n.instrumentID=s,s++;return wA(A,"EOI",20),Y(A,t),tA(new j("inst",A.length,A))}function Tn(){let e=4;for(let s of this.presets)e+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(g=>g.generatorType!==I.instrument&&g.generatorType!==I.keyRange&&g.generatorType!==I.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:I.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:I.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:I.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new H(e),t=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=t;for(let o of n.generators)Y(A,o.generatorType),Y(A,o.generatorValue);t+=n.generators.length}return Y(A,0),Y(A,0),tA(new j("pgen",A.length,A))}function Hn(){let e=10;for(let s of this.presets)e+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new H(e),t=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=t;for(let o of n.modulators)Y(A,o.modulatorSource),Y(A,o.modulatorDestination),Y(A,o.transformAmount),Y(A,o.modulationSecondarySrc),Y(A,o.transformType),t++}return ae(A,0,10),tA(new j("pmod",A.length,A))}function Yn(){let e=this.presets.reduce((o,g)=>g.presetZones.length*4+o,4),A=new H(e),t=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=t;for(let g of o.presetZones)g.zoneID=t,Y(A,s),Y(A,n),s+=g.generators.length,n+=g.modulators.length,t++}return Y(A,s),Y(A,n),tA(new j("pbag",A.length,A))}function Jn(){let e=this.presets.length*38+38,A=new H(e),t=0;for(let s of this.presets)wA(A,s.presetName,20),Y(A,s.program),Y(A,s.bank),Y(A,t),cA(A,s.library),cA(A,s.genre),cA(A,s.morphology),t+=s.presetZones.length;return wA(A,"EOP",20),Y(A,0),Y(A,0),Y(A,t),cA(A,0),cA(A,0),cA(A,0),tA(new j("phdr",A.length,A))}var xo={compress:!1,compressionQuality:.5,compressionFunction:void 0};function qn(e=xo){if(e.compress&&typeof e.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");pA("%cSaving soundfont...",r.info),m(`%cCompression: %c${e?.compress||"false"}%c quality: %c${e?.compressionQuality||"none"}`,r.info,r.recognized,r.info,r.recognized),m("%cWriting INFO...",r.info);let A=[];this.soundFontInfo.ISFT="SpessaSynth",e?.compress&&(this.soundFontInfo.ifil="3.0");for(let[W,J]of Object.entries(this.soundFontInfo))if(W==="ifil"||W==="iver"){let a=parseInt(J.split(".")[0]),sA=parseInt(J.split(".")[1]),K=new H(4);Y(K,a),Y(K,sA),A.push(tA(new j(W,4,K)))}else{let a=new H(J.length);wA(a,J),A.push(tA(new j(W,J.length,a)))}let t=ye([new H([73,78,70,79]),...A]),s=tA(new j("LIST",t.length,t));m("%cWriting SDTA...",r.info);let n=[],o=[],g=Mn.call(this,n,o,e?.compress,e?.compressionQuality||.5,e.compressionFunction);m("%cWriting PDTA...",r.info),m("%cWriting SHDR...",r.info);let C=Nn.call(this,n,o);m("%cWriting IGEN...",r.info);let h=xn.call(this);m("%cWriting IMOD...",r.info);let Q=bn.call(this);m("%cWriting IBAG...",r.info);let f=Ln.call(this);m("%cWriting INST...",r.info);let u=Un.call(this),c=Tn.call(this);m("%cWriting PMOD...",r.info);let l=Hn.call(this);m("%cWriting PBAG...",r.info);let y=Yn.call(this);m("%cWriting PHDR...",r.info);let S=Jn.call(this),k=ye([new H([112,100,116,97]),S,y,l,c,u,f,Q,h,C]),x=tA(new j("LIST",k.length,k));m("%cWriting the output file...",r.info);let N=ye([new H([115,102,98,107]),s,g,x]),M=tA(new j("RIFF",N.length,N));return m(`%cSaved succesfully! Final file size: %c${M.length}`,r.info,r.recognized),Z(),M}var te=class e{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}removeUnusedElements(){this.instruments.forEach(A=>{A.useCount<1&&A.instrumentZones.forEach(t=>{t.isGlobal||t.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,t,s=!1){let n=this.presets.find(o=>o.bank===A&&o.program===t);if(n)return n;if(s!==!1)return A===128?this.presets.find(o=>o.bank===128):this.presets.find(o=>o.program===t)}setSampleIDOffset(A){this.presets.forEach(t=>t.sampleIDOffset=A)}getPreset(A,t){let s=this.presets.find(n=>n.bank===A&&n.program===t);return s||(s=this.presets.find(n=>n.program===t&&n.bank!==128),A===128&&(s=this.presets.find(n=>n.bank===128&&n.program===t),s||(s=this.presets.find(n=>n.bank===128))),s&&b(`%cPreset ${A}.${t} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,r.warn,r.recognized)),s||(b(`Preset ${t} not found. Defaulting to`,this.presets[0].presetName),s=this.presets[0]),s}getPresetByName(A){let t=this.presets.find(s=>s.presetName===A);return t||(b("Preset not found. Defaulting to:",this.presets[0].presetName),t=this.presets[0]),t}static mergeSoundfonts(...A){let t=A.shift(),s=t.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(g=>g.bank===o.bank&&g.program===o.program)===void 0&&s.push(o)});return new e({presets:s,info:t.soundFontInfo})}};te.prototype.write=qn;function Kn(e){pA("%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,t){for(let s=A;s{o.sample.isSampleLoaded||o.sample.getAudioData()})}preloadSpecific(A,t){this.getSamplesAndGenerators(A,t).forEach(s=>{s.sample.isSampleLoaded||s.sample.getAudioData()})}getSamplesAndGenerators(A,t){let s=this.foundSamplesAndGenerators[A][t];if(s)return s;if(this.presetZones.length<1)return[];function n(c,l,y){return y>=c&&y<=l}function o(c,l){return c.modulatorSource===l.modulatorSource&&c.modulatorDestination===l.modulatorDestination&&c.modulationSecondarySrc===l.modulationSecondarySrc&&c.transformType===l.transformType}function g(c,l){c.push(...l.filter(y=>!c.find(S=>S.generatorType===y.generatorType)))}function C(c,l){c.push(...l.filter(y=>!c.find(S=>o(y,S))))}let h=[],Q=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],f=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(c=>n(c.keyRange.min,c.keyRange.max,A)&&n(c.velRange.min,c.velRange.max,t)&&!c.isGlobal).forEach(c=>{if(c.instrument.instrumentZones.length<1)return;let l=c.generators,y=c.modulators,S=c.instrument.instrumentZones[0].isGlobal?[...c.instrument.instrumentZones[0].generators]:[],k=c.instrument.instrumentZones[0].isGlobal?[...c.instrument.instrumentZones[0].modulators]:[];c.instrument.instrumentZones.filter(N=>n(N.keyRange.min,N.keyRange.max,A)&&n(N.velRange.min,N.velRange.max,t)&&!N.isGlobal).forEach(N=>{let M=[...N.generators],W=[...N.modulators];g(l,Q),g(M,S),C(y,f),C(W,k),C(W,Ss);let J=[...W];for(let a=0;ao(sA,z));K!==-1?J[K]=J[K].sumTransform(sA):J.push(sA)}h.push({instrumentGenerators:M,presetGenerators:l,modulators:J,sample:N.sample,sampleID:N.generators.find(a=>a.generatorType===I.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][t]=h,h}};var Fe=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var zA=class extends Fe{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Qe=class extends Fe{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ce=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 ze=class extends he{constructor(A,t){super(),this.program=t&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new ce,this.DLSInstrument.addUseCount();let n=new Qe;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function vn(e){this.verifyHeader(e,"LIST"),this.verifyText(V(e.chunkData,4),"ins ");let A=[];for(;e.chunkData.length>e.chunkData.currentIndex;)A.push(O(e.chunkData));let t=A.find(l=>l.header==="insh");if(!t)throw Z(),new Error("No instrument header!");let s=D(t.chunkData,4),n=D(t.chunkData,4),o=D(t.chunkData,4),g=new ze(n,o),C="unnamedPreset",h=yA(A,"INFO");if(h){let l=O(h.chunkData);for(;l.header!=="INAM";)l=O(h.chunkData);C=V(l.chunkData,l.chunkData.length).trim()}g.presetName=C,g.DLSInstrument.instrumentName=C,Ae(`%cParsing %c"${C}"%c...`,r.info,r.recognized,r.info);let Q=yA(A,"lrgn");if(!Q)throw Z(),new Error("No region list!");let f=new zA;f.isGlobal=!0;let u=yA(A,"lart"),c=yA(A,"lar2");this.readLart(u,c,f),g.DLSInstrument.instrumentZones.push(f);for(let l=0;l>10&15;x===lA.linear&&k!==lA.linear&&(x=k);let N=s>>14&1,M=s>>15&1;g===I.initialAttenuation&&(M=!M),u=qA(x,N,M,C.isCC,C.enum)}let c=s>>4&15,l=s>>8&1,y=s>>9&1,S=qA(c,l,y,f.isCC,f.enum);if(h){let k=S;S=u,u=k}return new rA({srcEnum:u,secSrcEnum:S,dest:g,transform:0,amt:n})}function Nt(e,A){let t=e.chunkData,s=[],n=[];D(t,4);let o=D(t,4);for(let g=0;g>16;if(C===0&&h===0&&f===0){let l;switch(Q){case R.pan:l=new U(I.pan,c);break;case R.gain:l=new U(I.initialAttenuation,-c*10/.4);break;case R.filterCutoff:l=new U(I.initialFilterFc,c);break;case R.filterQ:l=new U(I.initialFilterQ,c);break;case R.modLfoFreq:l=new U(I.freqModLFO,c);break;case R.modLfoDelay:l=new U(I.delayModLFO,c);break;case R.vibLfoFreq:l=new U(I.freqVibLFO,c);break;case R.vibLfoDelay:l=new U(I.delayVibLFO,c);break;case R.volEnvDelay:l=new U(I.delayVolEnv,c);break;case R.volEnvAttack:l=new U(I.attackVolEnv,c);break;case R.volEnvHold:l=new U(I.holdVolEnv,c);break;case R.volEnvDecay:l=new U(I.decayVolEnv,c);break;case R.volEnvRelease:l=new U(I.releaseVolEnv,c);break;case R.volEnvSustain:let y=(1e3-c)/10;l=new U(I.sustainVolEnv,y*10);break;case R.modEnvDelay:l=new U(I.delayModEnv,c);break;case R.modEnvAttack:l=new U(I.attackModEnv,c);break;case R.modEnvHold:l=new U(I.holdModEnv,c);break;case R.modEnvDecay:l=new U(I.decayModEnv,c);break;case R.modEnvRelease:l=new U(I.releaseModEnv,c);break;case R.modEnvSustain:let S=1e3-c;l=new U(I.sustainModEnv,S);break;case R.reverbSend:l=new U(I.reverbEffectsSend,c);break;case R.chorusSend:l=new U(I.chorusEffectsSend,c);break;case R.pitch:let k=Math.floor(c/100),x=Math.floor(c-k*100);l=new U(I.fineTune,x),s.push(new U(I.coarseTune,k));break}l&&s.push(l)}else{let l=!0;if(h===_.none)if(C===_.modLfo&&Q===R.pitch)s.push(new U(I.modLfoToPitch,c));else if(C===_.modLfo&&Q===R.gain)s.push(new U(I.modLfoToVolume,c));else if(C===_.modLfo&&Q===R.filterCutoff)s.push(new U(I.modLfoToFilterFc,c));else if(C===_.vibratoLfo&&Q===R.pitch)s.push(new U(I.vibLfoToPitch,c));else if(C===_.modEnv&&Q===R.pitch)s.push(new U(I.modEnvToPitch,c));else if(C===_.modEnv&&Q===R.filterCutoff)s.push(new U(I.modEnvToFilterFc,c));else if(C===_.keyNum&&Q===R.volEnvHold){s.push(new U(I.keyNumToVolEnvHold,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.holdVolEnv&&(S.generatorValue+=y)})}else if(C===_.keyNum&&Q===R.volEnvDecay){s.push(new U(I.keyNumToVolEnvDecay,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.decayVolEnv&&(S.generatorValue+=y)})}else if(C===_.keyNum&&Q===R.modEnvHold){s.push(new U(I.keyNumToModEnvHold,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.holdModEnv&&(S.generatorValue+=y)})}else if(C===_.keyNum&&Q===R.modEnvDecay){s.push(new U(I.keyNumToModEnvDecay,c/-128));let y=Math.round(60/128*c);s.forEach(S=>{S.generatorType===I.decayModEnv&&(S.generatorValue+=y)})}else l=!1;else l=!1;if(l===!1){let y=Vn(C,h,Q,f,c);y?(n.push(y),m("%cSucceeded converting to SF2 Modulator!",r.recognized)):b("Failed converting to SF2 Modulator!")}}}return n.find(g=>g.modulatorDestination===I.reverbEffectsSend)===void 0&&n.push(new rA({srcEnum:219,dest:I.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n.find(g=>g.modulatorDestination===I.chorusEffectsSend)===void 0&&n.push(new rA({srcEnum:221,dest:I.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),A&&n.push(new rA({srcEnum:129,dest:I.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new rA({srcEnum:13,dest:I.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:n,generators:s}}function On(e,A,t){if(e)for(;e.chunkData.currentIndexe.chunkData.currentIndex;)A.push(O(e.chunkData));let t=A.find(a=>a.header==="rgnh"),s=D(t.chunkData,2),n=D(t.chunkData,2),o=D(t.chunkData,2),g=D(t.chunkData,2),C=new je({min:s,max:n},{min:o,max:g});D(t.chunkData,2);let h=D(t.chunkData,2);h!==0&&C.generators.push(new U(I.exclusiveClass,h));let Q=yA(A,"lart"),f=yA(A,"lar2");this.readLart(Q,f,C),C.isGlobal=!1;let u=A.find(a=>a.header==="wsmp");D(u.chunkData,4);let c=D(u.chunkData,2);D(u.chunkData,2);let S=(D(u.chunkData,4)|0)/-655360*10/.4;D(u.chunkData,4);let k=D(u.chunkData,4),x,N={start:0,end:0};if(k===0)x=0;else{D(u.chunkData,4),D(u.chunkData,4)===0?x=1:x=3,N.start=D(u.chunkData,4);let sA=D(u.chunkData,4);N.end=N.start+sA}let M=A.find(a=>a.header==="wlnk");if(M===void 0)return;D(M.chunkData,2),D(M.chunkData,2),D(M.chunkData,4);let W=D(M.chunkData,4),J=this.samples[W];if(J===void 0)throw new Error("Invalid sample ID!");return C.setWavesample(S,x,N,c,J,W),C}var le=class{constructor(A,t,s,n,o,g,C,h){this.sampleName=A,this.sampleRate=t,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=g,this.sampleLoopStartIndex=C,this.sampleLoopEndIndex=h,this.isCompressed=(g&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}compressSample(A,t){if(!this.isCompressed)try{this.compressedData=t([this.getAudioData()],1,this.sampleRate,A),this.sampleType|=16,this.isCompressed=!0}catch{b(`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 $e=class extends le{constructor(A,t,s,n,o,g,C){super(A,t,s,n,0,1,o*2,(g-1)*2),this.sampleData=C}getAudioData(){return this.sampleData}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 t=0;t>8&255}return A}};function Xn(e){pA("%cLoading Wave samples...",r.recognized);let A=0;for(;e.chunkData.currentIndexK.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");if(D(n.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(D(n.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let C=D(n.chunkData,4);D(n.chunkData,4),D(n.chunkData,2);let h=D(n.chunkData,2),Q=h/8,f=Math.pow(2,Q*8-1),u=Math.pow(2,Q*8),c,l=!1;h===8?(c=255,l=!0):c=f;let y=s.find(K=>K.header==="data");if(!y)throw new Error("No data chunk in the wave chunk!");let S=y.size/Q,k=new Float32Array(S);for(let K=0;K=f&&(z-=u),k[K]=z/c)}let x=60,N=0,M=0,W=k.length-1,J=s.find(K=>K.header==="wsmp");if(J){if(D(J.chunkData,4),x=D(J.chunkData,2),N=Ie(J.chunkData[J.chunkData.currentIndex++],J.chunkData[J.chunkData.currentIndex++]),D(J.chunkData,4),D(J.chunkData,4),D(J.chunkData,4)===1){D(J.chunkData,8),M=D(J.chunkData,4);let z=D(J.chunkData,4);W=M+z}}else b("No wsmp chunk in wave... using sane defaults.");let a=yA(s,"INFO"),sA=`Unnamed ${A}`;if(a){let K=O(a.chunkData);for(;K.header!=="INAM"&&a.chunkData.currentIndexh.header==="colh");if(!o)throw Z(),new Error("No colh chunk!");this.instrumentAmount=D(o.chunkData,4),m(`%cInstruments amount: %c${this.instrumentAmount}`,r.info,r.recognized);let C=yA(s,"wvpl");this.readDLSSamples(C);let g=yA(s,"lins");if(!g)throw Z(),new Error("No lins chunk!");this.readDLSInstrumentList(g),m(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z()}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS soundfont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};ZA.prototype.readDLSInstrumentList=Kn;ZA.prototype.readDLSInstrument=vn;ZA.prototype.readRegion=Zn;ZA.prototype.readLart=On;ZA.prototype.readDLSSamples=Xn;var Lt=class extends le{constructor(A,e,s,n,o,C,g,h,Q,d,l,c,u){super(A,C,g,h,Q,d,n-e,o-e),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=c,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=l,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex,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=PA.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 b("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=bo(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function bo(t,A,e,s){let n=V(A,20),o=D(A,4)*2,C=D(A,4)*2,g=D(A,4)*2,h=D(A,4)*2,Q=D(A,4),d=A[A.currentIndex++];d===255&&(d=60);let l=ps(A[A.currentIndex++]),c=D(A,2),u=D(A,2);return new Lt(n,o,C,g,h,Q,d,l,c,u,e,t,s)}var Ut=class extends ce{constructor(A){super(),this.instrumentName=V(A.chunkData,20).trim(),this.instrumentZoneIndex=D(A.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(A,e){this.instrumentZonesAmount=A;for(let s=this.instrumentZoneIndex;st.chunkData.currentIndex;){let s=new Ut(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 Tt=class extends zA{constructor(A){super(),this.generatorZoneStartIndex=D(A,2),this.modulatorZoneStartIndex=D(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===I.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===I.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===I.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function zn(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Tt(t.chunkData);if(n.length>0){let C=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,g=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(C,g),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 Ht=class extends Qe{constructor(A){super(),this.generatorZoneStartIndex=D(A,2),this.modulatorZoneStartIndex=D(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===I.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===I.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===I.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function jn(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Ht(t.chunkData);if(n.length>0){let C=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,g=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(C,g),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 Yt=class extends he{constructor(A){super(),this.presetName=V(A.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=D(A.chunkData,2),this.bank=D(A.chunkData,2),this.presetZoneStartIndex=D(A.chunkData,2),this.library=D(A.chunkData,4),this.genre=D(A.chunkData,4),this.morphology=D(A.chunkData,4),this.presetZonesAmount=0}getPresetZones(A,e){this.presetZonesAmount=A;for(let s=this.presetZoneStartIndex;st.chunkData.currentIndex;){let s=new Yt(t);if(e.length>0){let n=s.presetZoneStartIndex-e[e.length-1].presetZoneStartIndex;e[e.length-1].getPresetZones(n,A)}e.push(s)}return e.length>1&&e.pop(),e}var At=class extends te{constructor(A,e=!0){if(super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new H(A),Ae("%cParsing SoundFont...",r.info),!this.dataArray)throw Z(),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 Z(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",C=O(this.dataArray);for(this.verifyHeader(C,"list"),V(C.chunkData,4);C.chunkData.length>C.chunkData.currentIndex;){let $=O(C.chunkData),QA;switch($.header.toLowerCase()){case"ifil":case"iver":QA=`${D($.chunkData,2)}.${D($.chunkData,2)}`;break;case"icmt":QA=V($.chunkData,$.chunkData.length,void 0,!1);break;default:QA=V($.chunkData,$.chunkData.length)}m(`%c"${$.header}": %c"${QA}"`,r.info,r.recognized),this.soundFontInfo[$.header]=QA}let g=O(this.dataArray,!1);this.verifyHeader(g,"list"),this.verifyText(V(this.dataArray,4),"sdta"),m("%cVerifying smpl chunk...",r.warn);let h=O(this.dataArray,!1);this.verifyHeader(h,"smpl");let Q;if(o){m("%cSF2Pack detected, attempting to decode the smpl chunk...",r.info);try{Q=PA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+g.size-12)).data[0]}catch($){throw Z(),new Error(`SF2Pack Ogg Vorbis decode error: ${$}`)}m(`%cDecoded the smpl chunk! Length: %c${Q.length}`,r.info,r.value)}else Q=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m(`%cSkipping sample chunk, length: %c${g.size-12}`,r.info,r.value),this.dataArray.currentIndex+=g.size-12,m("%cLoading preset data chunk...",r.warn);let d=O(this.dataArray);this.verifyHeader(d,"list"),V(d.chunkData,4);let l=O(d.chunkData);this.verifyHeader(l,"phdr");let c=O(d.chunkData);this.verifyHeader(c,"pbag");let u=O(d.chunkData);this.verifyHeader(u,"pmod");let y=O(d.chunkData);this.verifyHeader(y,"pgen");let S=O(d.chunkData);this.verifyHeader(S,"inst");let k=O(d.chunkData);this.verifyHeader(k,"ibag");let x=O(d.chunkData);this.verifyHeader(x,"imod");let N=O(d.chunkData);this.verifyHeader(N,"igen");let M=O(d.chunkData);this.verifyHeader(M,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Wn(M,Q,!o));let W=dt(N),J=pt(x),a=zn(k,W,J,this.samples);this.instruments=_n(S,a);let sA=dt(y),K=pt(u),z=jn(c,sA,K,this.instruments);this.presets.push(...$n(l,z)),this.presets.sort(($,QA)=>$.program-QA.program+($.bank-QA.bank)),m(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z(),o&&delete this.dataArray}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid soundFont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};function Re(t){let A=t.slice(8,12),e=new H(A);return V(e,4,void 0,!1).toLowerCase()==="dls "?new ZA(t):new At(t,!1)}function Ao(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){b(`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,C;if(this.overrideSoundfont){let g=n===128?128:n-this.soundfontBankOffset,h=this.overrideSoundfont.getPresetNoFallback(g,A);h?(o=n,C=h,s.presetUsesOverride=!0):(C=this.soundfontManager.getPreset(n,A),o=C.bank,s.presetUsesOverride=!1)}else C=this.soundfontManager.getPreset(n,A),o=C.bank,s.presetUsesOverride=!1;this.setPreset(t,C),this.callEvent("programchange",{channel:t,program:C.program,bank:o,userCalled:e})}function eo(t,A){if(this.overrideSoundfont){let e=t===128?128:t-this.soundfontBankOffset,s=this.overrideSoundfont.getPresetNoFallback(e,A);if(s)return s}return this.soundfontManager.getPreset(t,A)}function to(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 so(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 no(){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 oo(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:mA.ready,messageData:void 0}),this.sendPresetList(),m("%cSpessaSynth is ready!",r.recognized)}function io(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 ao(){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.lockVibrato,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:mA.synthesizerSnapshot,messageData:A})}function Io(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.lockVibrato=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 et=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];for(let n of s.soundfont.presets){let o=`${n.bank+s.bankOffset}-${n.program}`;A[o]=n.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=Re(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){b("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){b(`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:Re(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 tt=class{constructor(A,e,s,n,o,C,g,h){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=C,this.end=g,this.loopingMode=h}sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0},Ge=class t{constructor(A,e,s,n,o,C,g,h,Q){this.sample=e,this.generators=h,this.modulatedGenerators=new Int16Array(h),this.modulators=Q,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=C,this.targetKey=g,this.volumeEnvelope=new NA(A)}sample;filter=new Be;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new UA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;static copy(A,e){let s=A.sample,n=new tt(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.slice())}};function go(t,A,e,s,n,o=!1){let C,g=s.cachedVoices[A][e];return g!==void 0?C=g.map(h=>Ge.copy(h,n)):(C=s.preset.getSamplesAndGenerators(A,e).reduce((Q,d)=>{if(d.sample.sampleData===void 0)return b(`Discarding invalid sample: ${d.sample.sampleName}`),Q;let l=new Int16Array(60);for(let M=0;M<60;M++)l[M]=Ss(M,d.presetGenerators,d.instrumentGenerators);l[I.initialAttenuation]=Math.floor(l[I.initialAttenuation]*.4);let c=d.sample.samplePitch;l[I.overridingRootKey]>-1&&(c=l[I.overridingRootKey]);let u=A;l[I.keyNum]>-1&&(u=l[I.keyNum]);let y=d.sample.sampleLoopStartIndex/2+(l[I.startloopAddrsOffset]+l[I.startloopAddrsCoarseOffset]*32768),S=d.sample.sampleLoopEndIndex/2+(l[I.endloopAddrsOffset]+l[I.endloopAddrsCoarseOffset]*32768),k=l[I.sampleModes],x=d.sample.getAudioData().length;y=Math.min(Math.max(0,y),x),S=Math.min(Math.max(0,S),x),S-y<1&&(k=0);let N=new tt(d.sample.getAudioData(),d.sample.sampleRate/sampleRate*Math.pow(2,d.sample.samplePitchCorrection/1200),l[I.startAddrsOffset]+l[I.startAddrsCoarseOffset]*32768,c,y,S,Math.floor(d.sample.sampleData.length)-1+(l[I.endAddrOffset]+l[I.endAddrsCoarseOffset]*32768),k);return l[I.velocity]>-1&&(e=l[I.velocity]),o&&Qs([{Sample:d.sample.sampleName,Generators:l,Modulators:d.modulators.map(M=>M.debugString()),Velocity:e,TargetKey:u,MidiNote:A,WorkletSample:N}]),Q.push(new Ge(sampleRate,N,A,e,t,n,u,l,d.modulators)),Q},[]),s.cachedVoices[A][e]=C.map(Q=>Ge.copy(Q,n))),C}var Mt=.07,Nt=1,L=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=bA,this.interpolationType=_e.linear,this.processTickCallback=void 0,this.sequencer=new CA(this),this.transposition=0,this.tunings=[];for(let e=0;e<127;e++)this.tunings.push([]);this.soundfontBankOffset=0,this.masterGain=Nt,this.midiVolume=1,this.voiceCap=ls,this.pan=0,this.panLeft=.5*this.currentGain,this.highPerformanceMode=!1,this.overrideSoundfont=void 0,this.panRight=.5*this.currentGain;try{this.soundfontManager=new et(A.processorOptions.soundfont,this.postReady.bind(this))}catch(e){throw this.post({messageType:mA.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]))),PA.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:mA.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 C,g,h,Q,d;if(this.oneOutputMode){let c=e[0];C=o%16*2,g=c[C],h=c[C+1]}else C=o%this._outputsAmount+2,g=e[C][0],h=e[C][1],Q=e[0],d=e[1];let l=n.voices;n.voices=[],l.forEach(c=>{this.renderVoice(n,c,g,h,Q,d),c.finished||n.voices.push(c)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}};L.prototype.renderVoice=Zs;L.prototype.releaseVoice=Ws;L.prototype.voiceKilling=Xs;L.prototype.getWorkletVoices=go;L.prototype.handleMessage=js;L.prototype.sendChannelProperties=An;L.prototype.callEvent=$s;L.prototype.systemExclusive=en;L.prototype.noteOn=sn;L.prototype.noteOff=nn;L.prototype.polyPressure=ln;L.prototype.killNote=on;L.prototype.stopAll=rn;L.prototype.stopAllChannels=an;L.prototype.muteChannel=Sn;L.prototype.setVibrato=Dn;L.prototype.disableAndLockVibrato=yn;L.prototype.dataEntryCoarse=kn;L.prototype.dataEntryFine=wn;L.prototype.createWorkletChannel=Ds;L.prototype.controllerChange=dn;L.prototype.channelPressure=cn;L.prototype.resetAllControllers=Fn;L.prototype.resetControllers=Rn;L.prototype.resetParameters=Gn;L.prototype.setMasterGain=mn;L.prototype.setMasterPan=pn;L.prototype.setMIDIVolume=fn;L.prototype.transposeAllChannels=In;L.prototype.transposeChannel=gn;L.prototype.setChannelTuning=Cn;L.prototype.setChannelTuningSemitones=En;L.prototype.setMasterTuning=Bn;L.prototype.setModulationDepth=hn;L.prototype.pitchWheel=Qn;L.prototype.setOctaveTuning=un;L.prototype.programChange=Ao;L.prototype.getPreset=eo;L.prototype.setPreset=to;L.prototype.setDrums=so;L.prototype.reloadSoundFont=ro;L.prototype.clearSoundFont=oo;L.prototype.setEmbeddedSoundFont=io;L.prototype.sendPresetList=no;L.prototype.sendSynthesizerSnapshot=ao;L.prototype.applySynthesizerSnapshot=Io;registerProcessor(cs,L);m("%cProcessor succesfully registered!",r.recognized); +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[h,Q]of Object.entries(this.soundFontInfo))m(`%c"${h}": %c"${Q}"`,r.info,r.recognized);let o=s.find(h=>h.header==="colh");if(!o)throw Z(),new Error("No colh chunk!");this.instrumentAmount=D(o.chunkData,4),m(`%cInstruments amount: %c${this.instrumentAmount}`,r.info,r.recognized);let g=yA(s,"wvpl");this.readDLSSamples(g);let C=yA(s,"lins");if(!C)throw Z(),new Error("No lins chunk!");this.readDLSInstrumentList(C),m(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z()}verifyHeader(A,t){if(A.header.toLowerCase()!==t.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS chunk header! Expected "${t.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,t){if(A.toLowerCase()!==t.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS soundfont! Expected "${t.toLowerCase()}" got "${A.toLowerCase()}"`)}};XA.prototype.readDLSInstrumentList=Kn;XA.prototype.readDLSInstrument=vn;XA.prototype.readRegion=Zn;XA.prototype.readLart=On;XA.prototype.readDLSSamples=Xn;var bt=class extends le{constructor(A,t,s,n,o,g,C,h,Q,f,u,c,l){super(A,g,C,h,Q,f,n-t,o-t),this.sampleName=A,this.sampleStartIndex=t,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=c,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=u,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 t=A.currentIndex;return A.slice(this.sampleStartIndex/2+t,this.sampleEndIndex/2+t)}else{if(!this.isDataRaw)throw new Error("Writing SF2Pack samples is not supported.");let t=A.currentIndex;return A.slice(t+this.sampleStartIndex,t+this.sampleEndIndex)}}decodeVorbis(){if(this.sampleLength<1)return;let A=this.sampleDataArray,t=A.currentIndex,s=A.slice(this.sampleStartIndex/2+t,this.sampleEndIndex/2+t);this.sampleData=new Float32Array(0);let n=VA.decode(s.buffer);this.sampleData=n.data[0]}getAudioData(){return this.isSampleLoaded?this.sampleData:this.sampleLength<1?new Float32Array(1):this.isCompressed?(this.decodeVorbis(),this.isSampleLoaded=!0,this.sampleData):this.isDataRaw?this.loadUncompressedData():this.getUncompressedReadyData()}loadUncompressedData(){if(this.isCompressed)return b("Trying to load a compressed sample via loadUncompressedData()... aborting!"),new Float32Array(0);let A=new Float32Array(this.sampleLength/2),t=this.sampleDataArray.currentIndex,s=new Int16Array(this.sampleDataArray.slice(t+this.sampleStartIndex,t+this.sampleEndIndex).buffer);for(let n=0;ne.chunkData.currentIndex;){let o=bo(n,e.chunkData,A,t);s.push(o),n++}return s.length>1&&s.pop(),s}function bo(e,A,t,s){let n=V(A,20),o=D(A,4)*2,g=D(A,4)*2,C=D(A,4)*2,h=D(A,4)*2,Q=D(A,4),f=A[A.currentIndex++];f===255&&(f=60);let u=ms(A[A.currentIndex++]),c=D(A,2),l=D(A,2);return new bt(n,o,g,C,h,Q,f,u,c,l,t,e,s)}var Lt=class extends ce{constructor(A){super(),this.instrumentName=V(A.chunkData,20).trim(),this.instrumentZoneIndex=D(A.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(A,t){this.instrumentZonesAmount=A;for(let s=this.instrumentZoneIndex;se.chunkData.currentIndex;){let s=new Lt(e);if(t.length>0){let n=s.instrumentZoneIndex-t[t.length-1].instrumentZoneIndex;t[t.length-1].getInstrumentZones(n,A)}t.push(s)}return t.length>1&&t.pop(),t}var Ut=class extends zA{constructor(A){super(),this.generatorZoneStartIndex=D(A,2),this.modulatorZoneStartIndex=D(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,t){this.modulatorZoneSize=A,this.generatorZoneSize=t}getGenerators(A){for(let t=this.generatorZoneStartIndex;ts.generatorType===I.sampleID);t&&(this.sample=A[t.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(t=>t.generatorType===I.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(t=>t.generatorType===I.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function zn(e,A,t,s){let n=[];for(;e.chunkData.length>e.chunkData.currentIndex;){let o=new Ut(e.chunkData);if(n.length>0){let g=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(g,C),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(t),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 Tt=class extends Qe{constructor(A){super(),this.generatorZoneStartIndex=D(A,2),this.modulatorZoneStartIndex=D(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,t){this.modulatorZoneSize=A,this.generatorZoneSize=t}getGenerators(A){for(let t=this.generatorZoneStartIndex;ts.generatorType===I.instrument);t&&(this.instrument=A[t.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(t=>t.generatorType===I.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(t=>t.generatorType===I.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function jn(e,A,t,s){let n=[];for(;e.chunkData.length>e.chunkData.currentIndex;){let o=new Tt(e.chunkData);if(n.length>0){let g=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(g,C),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(t),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 Ht=class extends he{constructor(A){super(),this.presetName=V(A.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=D(A.chunkData,2),this.bank=D(A.chunkData,2),this.presetZoneStartIndex=D(A.chunkData,2),this.library=D(A.chunkData,4),this.genre=D(A.chunkData,4),this.morphology=D(A.chunkData,4),this.presetZonesAmount=0}getPresetZones(A,t){this.presetZonesAmount=A;for(let s=this.presetZoneStartIndex;se.chunkData.currentIndex;){let s=new Ht(e);if(t.length>0){let n=s.presetZoneStartIndex-t[t.length-1].presetZoneStartIndex;t[t.length-1].getPresetZones(n,A)}t.push(s)}return t.length>1&&t.pop(),t}var At=class extends te{constructor(A,t=!0){if(super(),t&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new H(A),Ae("%cParsing SoundFont...",r.info),!this.dataArray)throw Z(),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 Z(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",g=O(this.dataArray);for(this.verifyHeader(g,"list"),V(g.chunkData,4);g.chunkData.length>g.chunkData.currentIndex;){let $=O(g.chunkData),QA;switch($.header.toLowerCase()){case"ifil":case"iver":QA=`${D($.chunkData,2)}.${D($.chunkData,2)}`;break;case"icmt":QA=V($.chunkData,$.chunkData.length,void 0,!1);break;default:QA=V($.chunkData,$.chunkData.length)}m(`%c"${$.header}": %c"${QA}"`,r.info,r.recognized),this.soundFontInfo[$.header]=QA}let C=O(this.dataArray,!1);this.verifyHeader(C,"list"),this.verifyText(V(this.dataArray,4),"sdta"),m("%cVerifying smpl chunk...",r.warn);let h=O(this.dataArray,!1);this.verifyHeader(h,"smpl");let Q;if(o){m("%cSF2Pack detected, attempting to decode the smpl chunk...",r.info);try{Q=VA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+C.size-12)).data[0]}catch($){throw Z(),new Error(`SF2Pack Ogg Vorbis decode error: ${$}`)}m(`%cDecoded the smpl chunk! Length: %c${Q.length}`,r.info,r.value)}else Q=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 f=O(this.dataArray);this.verifyHeader(f,"list"),V(f.chunkData,4);let u=O(f.chunkData);this.verifyHeader(u,"phdr");let c=O(f.chunkData);this.verifyHeader(c,"pbag");let l=O(f.chunkData);this.verifyHeader(l,"pmod");let y=O(f.chunkData);this.verifyHeader(y,"pgen");let S=O(f.chunkData);this.verifyHeader(S,"inst");let k=O(f.chunkData);this.verifyHeader(k,"ibag");let x=O(f.chunkData);this.verifyHeader(x,"imod");let N=O(f.chunkData);this.verifyHeader(N,"igen");let M=O(f.chunkData);this.verifyHeader(M,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Wn(M,Q,!o));let W=ft(N),J=pt(x),a=zn(k,W,J,this.samples);this.instruments=_n(S,a);let sA=ft(y),K=pt(l),z=jn(c,sA,K,this.instruments);this.presets.push(...$n(u,z)),this.presets.sort(($,QA)=>$.program-QA.program+($.bank-QA.bank)),m(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z(),o&&delete this.dataArray}verifyHeader(A,t){if(A.header.toLowerCase()!==t.toLowerCase())throw Z(),new SyntaxError(`Invalid chunk header! Expected "${t.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,t){if(A.toLowerCase()!==t.toLowerCase())throw Z(),new SyntaxError(`Invalid soundFont! Expected "${t.toLowerCase()}" got "${A.toLowerCase()}"`)}};function Re(e){let A=e.slice(8,12),t=new H(A);return V(t,4,void 0,!1).toLowerCase()==="dls "?new XA(e):new At(e,!1)}function Ao(e,A,t=!1){let s=this.workletProcessorChannels[e];if(s===void 0){b(`Trying to access channel ${e} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=s.drumChannel?128:s.midiControllers[p.bankSelect],o,g;if(this.overrideSoundfont){let C=n===128?128:n-this.soundfontBankOffset,h=this.overrideSoundfont.getPresetNoFallback(C,A);h?(o=n,g=h,s.presetUsesOverride=!0):(g=this.soundfontManager.getPreset(n,A),o=g.bank,s.presetUsesOverride=!1)}else g=this.soundfontManager.getPreset(n,A),o=g.bank,s.presetUsesOverride=!1;this.setPreset(e,g),this.callEvent("programchange",{channel:e,program:g.program,bank:o,userCalled:t})}function eo(e,A){if(this.overrideSoundfont){let t=e===128?128:e-this.soundfontBankOffset,s=this.overrideSoundfont.getPresetNoFallback(t,A);if(s)return s}return this.soundfontManager.getPreset(e,A)}function to(e,A){if(!this.workletProcessorChannels[e].lockPreset){delete this.workletProcessorChannels[e].preset,this.workletProcessorChannels[e].preset=A,this.workletProcessorChannels[e].cachedVoices=[];for(let t=0;t<128;t++)this.workletProcessorChannels[e].cachedVoices.push([])}}function so(e,A){let t=this.workletProcessorChannels[e];t.lockPreset||t.drumChannel!==A&&(A?(t.channelTransposeKeyShift=0,t.drumChannel=!0,this.setPreset(e,this.getPreset(128,t.preset.program))):(t.drumChannel=!1,this.setPreset(e,this.getPreset(t.midiControllers[p.bankSelect],t.preset.program))),t.presetUsesOverride=!1,this.callEvent("drumchange",{channel:e,isDrumChannel:t.drumChannel}),this.sendChannelProperties())}function no(){let e=this.soundfontManager.getPresetList();this.overrideSoundfont!==void 0&&this.overrideSoundfont.presets.forEach(A=>{let t=A.bank===128?128:A.bank+this.soundfontBankOffset,s=e.find(n=>n.bank===t&&n.program===A.program);s!==void 0?s.presetName=A.presetName:e.push({presetName:A.presetName,bank:t,program:A.program})}),this.callEvent("presetlistchange",e)}function oo(e=!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 t=0;t{this.programChange(s,t.preset.program)}),this.post({messageType:mA.ready,messageData:void 0}),this.sendPresetList(),m("%cSpessaSynth is ready!",r.recognized)}function io(e,A){this.soundfontBankOffset=A,this.reloadSoundFont(e,!0),this.overrideSoundfont.samples.forEach(t=>t.getAudioData()),this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers())}function ao(){let A={channelSnapshots:this.workletProcessorChannels.map(t=>({program:t.preset.program,bank:t.preset.bank,lockPreset:t.lockPreset,patchName:t.preset.presetName,midiControllers:t.midiControllers,lockedControllers:t.lockedControllers,customControllers:t.customControllers,channelVibrato:t.channelVibrato,lockVibrato:t.lockVibrato,channelTransposeKeyShift:t.channelTransposeKeyShift,channelOctaveTuning:t.channelOctaveTuning,keyCentTuning:t.keyCentTuning,isMuted:t.isMuted,drumChannel:t.drumChannel})),mainVolume:this.midiVolume,pan:this.pan,transposition:this.transposition,system:this.system,interpolation:this.interpolationType};this.post({messageType:mA.synthesizerSnapshot,messageData:A})}function Io(e){for(this.system=e.system,this.setMasterGain(e.mainVolume),this.setMasterPan(e.pan),this.transposeAllChannels(e.transposition),this.interpolationType=e.interpolation;this.workletProcessorChannels.length{let s=this.workletProcessorChannels[t];this.muteChannel(t,A.isMuted),this.setDrums(t,A.drumChannel),s.midiControllers=A.midiControllers,s.lockedControllers=A.lockedControllers,s.customControllers=A.customControllers,s.channelVibrato=A.channelVibrato,s.lockVibrato=A.lockVibrato,s.channelTransposeKeyShift=A.channelTransposeKeyShift,s.channelOctaveTuning=A.channelOctaveTuning,s.lockPreset=!1,s.midiControllers[p.bankSelect]=A.bank,this.programChange(t,A.program),s.lockPreset=A.lockPreset}),m("%cFinished restoring controllers!",r.info)}var et=class{constructor(A,t){this.ready=t,this.totalSoundfontOffset=0,this.reloadManager(A)}_assingSampleOffsets(){let A=0;this.soundfontList.forEach(t=>{t.soundfont.setSampleIDOffset(A),A+=t.soundfont.samples.length}),this.totalSoundfontOffset=A}generatePresetList(){this._assingSampleOffsets();let A={};for(let t=this.soundfontList.length-1;t>=0;t--){let s=this.soundfontList[t];for(let n of s.soundfont.presets){let o=`${n.bank+s.bankOffset}-${n.program}`;A[o]=n.presetName}}this.presetList=[];for(let[t,s]of Object.entries(A)){let n=t.split("-");this.presetList.push({presetName:s,program:parseInt(n[1]),bank:parseInt(n[0])})}}handleMessage(A,t){switch(A){case ie.addNewSoundFont:this.addNewSoundFont(t[0],t[1],t[2]);break;case ie.reloadSoundFont:this.reloadManager(t);break;case ie.deleteSoundFont:this.deleteSoundFont(t);break;case ie.rearrangeSoundFonts:this.rearrangeSoundFonts(t)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let t=Re(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:t}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){b("1 soundfont left. Aborting!");return}let t=this.soundfontList.findIndex(s=>s.id===A);if(t===-1){b(`No soundfont with id of "${A}" found. Aborting!`);return}delete this.soundfontList[t].soundfont.presets,delete this.soundfontList[t].soundfont.instruments,delete this.soundfontList[t].soundfont.samples,this.soundfontList.splice(t,1),this.generatePresetList()}addNewSoundFont(A,t,s){if(this.soundfontList.find(n=>n.id===t)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this.soundfontList.push({id:t,soundfont:Re(A),bankOffset:s}),this.generatePresetList(),this.ready()}rearrangeSoundFonts(A){this.soundfontList.sort((t,s)=>A.indexOf(t.id)-A.indexOf(s.id)),this.generatePresetList()}getPreset(A,t){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,t);if(n!==void 0)return n}if(A!==128){for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.program===t);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 tt=class{constructor(A,t,s,n,o,g,C,h){this.sampleData=A,this.playbackStep=t,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=g,this.end=C,this.loopingMode=h}sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0},Ge=class e{constructor(A,t,s,n,o,g,C,h,Q){this.sample=t,this.generators=h,this.modulatedGenerators=new Int16Array(h),this.modulators=Q,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=g,this.targetKey=C,this.volumeEnvelope=new FA(A)}sample;filter=new Be;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new UA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;static copy(A,t){let s=A.sample,n=new tt(s.sampleData,s.playbackStep,s.cursor,s.rootKey,s.loopStart,s.loopEnd,s.end,s.loopingMode);return new e(A.volumeEnvelope.sampleRate,n,A.midiNote,A.velocity,A.channelNumber,t,A.targetKey,A.generators,A.modulators.slice())}};function go(e,A,t,s,n,o=!1){let g,C=s.cachedVoices[A][t];return C!==void 0?g=C.map(h=>Ge.copy(h,n)):(g=s.preset.getSamplesAndGenerators(A,t).reduce((Q,f)=>{if(f.sample.sampleData===void 0)return b(`Discarding invalid sample: ${f.sample.sampleName}`),Q;let u=new Int16Array(60);for(let M=0;M<60;M++)u[M]=ps(M,f.presetGenerators,f.instrumentGenerators);u[I.initialAttenuation]=Math.floor(u[I.initialAttenuation]*.4);let c=f.sample.samplePitch;u[I.overridingRootKey]>-1&&(c=u[I.overridingRootKey]);let l=A;u[I.keyNum]>-1&&(l=u[I.keyNum]);let y=f.sample.sampleLoopStartIndex/2+(u[I.startloopAddrsOffset]+u[I.startloopAddrsCoarseOffset]*32768),S=f.sample.sampleLoopEndIndex/2+(u[I.endloopAddrsOffset]+u[I.endloopAddrsCoarseOffset]*32768),k=u[I.sampleModes],x=f.sample.getAudioData().length;y=Math.min(Math.max(0,y),x),S=Math.min(Math.max(0,S),x),S-y<1&&(k=0);let N=new tt(f.sample.getAudioData(),f.sample.sampleRate/sampleRate*Math.pow(2,f.sample.samplePitchCorrection/1200),u[I.startAddrsOffset]+u[I.startAddrsCoarseOffset]*32768,c,y,S,Math.floor(f.sample.sampleData.length)-1+(u[I.endAddrOffset]+u[I.endAddrsCoarseOffset]*32768),k);return u[I.velocity]>-1&&(t=u[I.velocity]),o&&hs([{Sample:f.sample.sampleName,Generators:u,Modulators:f.modulators.map(M=>M.debugString()),Velocity:t,TargetKey:l,MidiNote:A,WorkletSample:N}]),Q.push(new Ge(sampleRate,N,A,t,e,n,l,u,f.modulators)),Q},[]),s.cachedVoices[A][t]=g.map(Q=>Ge.copy(Q,n))),g}var xt=.07,Mt=1,L=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=bA,this.interpolationType=_e.linear,this.processTickCallback=void 0,this.sequencer=new CA(this),this.transposition=0,this.tunings=[];for(let t=0;t<127;t++)this.tunings.push([]);this.soundfontBankOffset=0,this.masterGain=Mt,this.midiVolume=1,this.voiceCap=cs,this.pan=0,this.panLeft=.5*this.currentGain,this.highPerformanceMode=!1,this.overrideSoundfont=void 0,this.panRight=.5*this.currentGain;try{this.soundfontManager=new et(A.processorOptions.soundfont,this.postReady.bind(this))}catch(t){throw this.post({messageType:mA.soundfontError,messageData:t}),t}this.sendPresetList(),this.defaultPreset=this.getPreset(0,0),this.drumPreset=this.getPreset(128,0),this.workletProcessorChannels=[];for(let t=0;tthis.handleMessage(t.data),A.processorOptions.startRenderingData&&(this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers()),m("%cRendering enabled! Starting render.",r.info),A.processorOptions.startRenderingData.parsedMIDI&&(A.processorOptions.startRenderingData?.loopCount!==void 0?(this.sequencer.loopCount=A.processorOptions.startRenderingData?.loopCount,this.sequencer.loop=!0):this.sequencer.loop=!1,this.sequencer.loadNewSongList([A.processorOptions.startRenderingData.parsedMIDI]))),VA.isInitialized.then(()=>{this.postReady(),m("%cSpessaSynth is ready!",r.recognized)})}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:mA.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,t){this.processTickCallback&&this.processTickCallback();let s=0;return this.workletProcessorChannels.forEach((n,o)=>{if(n.voices.length<1||n.isMuted)return;let g,C,h,Q,f;if(this.oneOutputMode){let c=t[0];g=o%16*2,C=c[g],h=c[g+1]}else g=o%this._outputsAmount+2,C=t[g][0],h=t[g][1],Q=t[0],f=t[1];let u=n.voices;n.voices=[],u.forEach(c=>{this.renderVoice(n,c,C,h,Q,f),c.finished||n.voices.push(c)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}};L.prototype.renderVoice=Zs;L.prototype.releaseVoice=Ws;L.prototype.voiceKilling=Xs;L.prototype.getWorkletVoices=go;L.prototype.handleMessage=js;L.prototype.sendChannelProperties=An;L.prototype.callEvent=$s;L.prototype.systemExclusive=en;L.prototype.noteOn=sn;L.prototype.noteOff=nn;L.prototype.polyPressure=ln;L.prototype.killNote=on;L.prototype.stopAll=rn;L.prototype.stopAllChannels=an;L.prototype.muteChannel=Sn;L.prototype.setVibrato=Dn;L.prototype.disableAndLockVibrato=yn;L.prototype.dataEntryCoarse=kn;L.prototype.dataEntryFine=wn;L.prototype.createWorkletChannel=ys;L.prototype.controllerChange=fn;L.prototype.channelPressure=cn;L.prototype.resetAllControllers=Fn;L.prototype.resetControllers=Rn;L.prototype.resetParameters=Gn;L.prototype.setMasterGain=mn;L.prototype.setMasterPan=pn;L.prototype.setMIDIVolume=dn;L.prototype.transposeAllChannels=In;L.prototype.transposeChannel=gn;L.prototype.setChannelTuning=Cn;L.prototype.setChannelTuningSemitones=En;L.prototype.setMasterTuning=Bn;L.prototype.setModulationDepth=hn;L.prototype.pitchWheel=Qn;L.prototype.setOctaveTuning=un;L.prototype.programChange=Ao;L.prototype.getPreset=eo;L.prototype.setPreset=to;L.prototype.setDrums=so;L.prototype.reloadSoundFont=ro;L.prototype.clearSoundFont=oo;L.prototype.setEmbeddedSoundFont=io;L.prototype.sendPresetList=no;L.prototype.sendSynthesizerSnapshot=ao;L.prototype.applySynthesizerSnapshot=Io;registerProcessor(Qs,L);m("%cProcessor succesfully registered!",r.recognized); diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/note_on.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/note_on.js index 97867ed3..2e0c6faa 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/note_on.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/note_on.js @@ -72,6 +72,7 @@ export function noteOn(channel, midiNote, velocity, enableDebugging = false, sen } // compute all modulators computeModulators(voice, channelObject.midiControllers); + WorkletVolumeEnvelope.intialize(voice); // set initial pan to avoid split second changing from middle to the correct value voice.currentPan = ((Math.max(-500, Math.min(500, voice.modulatedGenerators[generatorTypes.pan] )) + 500) / 1000) // 0 to 1 }); diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/volume_envelope.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/volume_envelope.js index 4dd4407e..7f559174 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/volume_envelope.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/volume_envelope.js @@ -9,7 +9,7 @@ import { generatorTypes } from '../../../soundfont/read_sf2/generators.js' export const VOLUME_ENVELOPE_SMOOTHING_FACTOR = 0.001; const DB_SILENCE = 100; -const PERCEIVED_DB_SILENCE = 70; +const PERCEIVED_DB_SILENCE = 96; /** * VOL ENV STATES: @@ -92,10 +92,16 @@ export class WorkletVolumeEnvelope attenuation = 0; /** - * The voice's sustain amount in dB, absolute + * The attenuation target, which the "attenuation" property is linearly interpolated towards * @type {number} */ - sustainDb = 0; + attenuationTarget = 0; + + /** + * The voice's sustain amount in dB, relative to attenuation + * @type {number} + */ + sustainDbRelative = 0; /** * The time in samples to the end of delay stage, relative to start of the envelope @@ -132,11 +138,22 @@ export class WorkletVolumeEnvelope WorkletVolumeEnvelope.recalculate(voice); } + /** + * Initializes a volume envelope + * @param voice {WorkletVoice} + */ + static intialize(voice) + { + WorkletVolumeEnvelope.recalculate(voice, true); + voice.volumeEnvelope.attenuation = voice.volumeEnvelope.attenuationTarget; + } + /** * Recalculates the envelope * @param voice {WorkletVoice} the voice this envelope belongs to + * @param setupInterpolated {boolean} if we should initialize the interpolated values (attenuation and sustain) */ - static recalculate(voice) + static recalculate(voice, setupInterpolated = false) { const env = voice.volumeEnvelope; const timecentsToSamples = tc => @@ -144,8 +161,13 @@ export class WorkletVolumeEnvelope return Math.floor(timecentsToSeconds(tc) * env.sampleRate); } // calculate absolute times (they can change so we have to recalculate every time - env.attenuation = Math.max(0, Math.min(voice.modulatedGenerators[generatorTypes.initialAttenuation], 1440)) / 10; // divide by ten to get decibelts - env.sustainDb = Math.min(100, voice.volumeEnvelope.attenuation + voice.modulatedGenerators[generatorTypes.sustainVolEnv] / 10); + env.attenuationTarget = Math.max(0, Math.min(voice.modulatedGenerators[generatorTypes.initialAttenuation], 1440)) / 10; // divide by ten to get decibels + env.sustainDbRelative = Math.min(100, voice.modulatedGenerators[generatorTypes.sustainVolEnv] / 10); + if(setupInterpolated) + { + env.attenuation = env.attenuationTarget; + } + const sustainDb = Math.min(100, env.sustainDbRelative + env.attenuation); // calculate durations env.attackDuration = timecentsToSamples(voice.modulatedGenerators[generatorTypes.attackVolEnv]); @@ -155,7 +177,7 @@ export class WorkletVolumeEnvelope // (changing from attenuation to sustain instead of -100dB) const fullChange = voice.modulatedGenerators[generatorTypes.decayVolEnv]; const keyNumAddition = (60 - voice.targetKey) * voice.modulatedGenerators[generatorTypes.keyNumToVolEnvDecay]; - const fraction = (env.sustainDb - env.attenuation) / 100; + const fraction = (sustainDb - env.attenuation) / 100; env.decayDuration = timecentsToSamples(fullChange + keyNumAddition) * fraction; env.releaseDuration = timecentsToSamples(voice.modulatedGenerators[generatorTypes.releaseVolEnv]); @@ -175,13 +197,14 @@ export class WorkletVolumeEnvelope // if this is the first recalculation and the voice has no attack or delay time, set current db to peak if(env.state === 0 && env.attackEnd === 0) { - env.currentAttenuationDb = env.attenuation; + env.currentAttenuationDb = env.attenuationTarget; env.state = 2; } // check if voice is in release if(voice.isInRelease) { + const sustainDb = Math.min(100, env.sustainDbRelative + env.attenuation); switch (env.state) { case 0: @@ -206,11 +229,11 @@ export class WorkletVolumeEnvelope break; case 3: - env.releaseStartDb = (1 - (env.decayEnd - env.releaseStartTimeSamples) / env.decayDuration) * (env.sustainDb - env.attenuation) + env.attenuation; + env.releaseStartDb = (1 - (env.decayEnd - env.releaseStartTimeSamples) / env.decayDuration) * (sustainDb - env.attenuation) + env.attenuation; break; case 4: - env.releaseStartDb = env.sustainDb; + env.releaseStartDb = sustainDb; break; default: @@ -224,20 +247,6 @@ export class WorkletVolumeEnvelope } } - /** - * Gets interpolated gain - * @param env {WorkletVolumeEnvelope} - * @param attenuationDb {number} in decibels - * @param smoothingFactor {number} - * @returns {number} the gain value - */ - static getInterpolatedGain(env, attenuationDb, smoothingFactor) - { - // interpolate attenuation to prevent clicking - env.currentAttenuationDb += (attenuationDb - env.currentAttenuationDb) * smoothingFactor; - return decibelAttenuationToGain(env.currentAttenuationDb); - } - /** * Applies volume envelope gain to the given output buffer * @param voice {WorkletVoice} the voice we're working on @@ -249,6 +258,8 @@ export class WorkletVolumeEnvelope { const env = voice.volumeEnvelope; let decibelOffset = centibelOffset / 10; + + const attenuationSmoothing = smoothingFactor; // RELEASE PHASE if(voice.isInRelease) @@ -308,6 +319,9 @@ export class WorkletVolumeEnvelope // attack phase: ramp from 0 to attenuation while(env.currentSampleTime < env.attackEnd) { + // attenuation interpolation + env.attenuation += (env.attenuationTarget - env.attenuation) * attenuationSmoothing; + // Special case: linear gain ramp instead of linear db ramp let linearAttenuation = 1 - (env.attackEnd - env.currentSampleTime) / env.attackDuration; // 0 to 1 audioBuffer[filledBuffer] *= linearAttenuation * decibelAttenuationToGain(env.attenuation + decibelOffset) @@ -328,7 +342,11 @@ export class WorkletVolumeEnvelope // hold/peak phase: stay at attenuation while(env.currentSampleTime < env.holdEnd) { - audioBuffer[filledBuffer] *= WorkletVolumeEnvelope.getInterpolatedGain(env, env.attenuation + decibelOffset, smoothingFactor); + // attenuation interpolation + env.attenuation += (env.attenuationTarget - env.attenuation) * attenuationSmoothing; + + audioBuffer[filledBuffer] *= decibelAttenuationToGain(env.attenuation + decibelOffset); + env.currentAttenuationDb = env.attenuation; env.currentSampleTime++; if(++filledBuffer >= audioBuffer.length) @@ -341,11 +359,14 @@ export class WorkletVolumeEnvelope case 3: // decay phase: linear ramp from attenuation to sustain - const dbDifference = env.sustainDb - env.attenuation; while(env.currentSampleTime < env.decayEnd) { - const newAttenuation = (1 - (env.decayEnd - env.currentSampleTime) / env.decayDuration) * dbDifference + env.attenuation; - audioBuffer[filledBuffer] *= WorkletVolumeEnvelope.getInterpolatedGain(env, newAttenuation + decibelOffset, smoothingFactor); + // attenuation interpolation + env.attenuation += (env.attenuationTarget - env.attenuation) * attenuationSmoothing; + + const sustainDb = Math.min(100, env.sustainDbRelative + env.attenuation); + env.currentAttenuationDb = (1 - (env.decayEnd - env.currentSampleTime) / env.decayDuration) * (sustainDb - env.attenuation) + env.attenuation; + audioBuffer[filledBuffer] *= decibelAttenuationToGain(env.currentAttenuationDb + decibelOffset); env.currentSampleTime++; if(++filledBuffer >= audioBuffer.length) @@ -358,24 +379,20 @@ export class WorkletVolumeEnvelope case 4: // sustain phase: stay at sustain - if(env.sustainDb > PERCEIVED_DB_SILENCE) - { - while(filledBuffer < audioBuffer.length) - { - audioBuffer[filledBuffer++] = 0; - } - return; - } while(true) { - audioBuffer[filledBuffer] *= WorkletVolumeEnvelope.getInterpolatedGain(env, env.sustainDb + decibelOffset, smoothingFactor); + // attenuation interpolation + env.attenuation += (env.attenuationTarget - env.attenuation) * attenuationSmoothing; + const sustainDb = Math.min(100, env.sustainDbRelative + env.attenuation); + + audioBuffer[filledBuffer] *= decibelAttenuationToGain(sustainDb + decibelOffset); + env.currentAttenuationDb = sustainDb; env.currentSampleTime++; if(++filledBuffer >= audioBuffer.length) { return; } } - } } } \ No newline at end of file diff --git a/src/website/demo_main.js b/src/website/demo_main.js index 051aac10..bdf7ce8d 100644 --- a/src/website/demo_main.js +++ b/src/website/demo_main.js @@ -31,6 +31,10 @@ const exportButton = document.getElementById("export_button"); const loading = document.getElementsByClassName("loading")[0]; const loadingMessage = document.getElementById("loading_message"); +// load version +const r = await (await fetch("package.json")).json(); +window.SPESSASYNTH_VERSION = r["version"]; + // IndexedDB stuff const dbName = "spessasynth-db"; const objectStoreName = "soundFontStore"; @@ -68,7 +72,6 @@ async function loadLastSoundFontFromDatabase() console.error("Database error"); console.error(e); resolve(undefined); - return; } request.onsuccess = async () => { diff --git a/src/website/js/renderer/render.js b/src/website/js/renderer/render.js index f2cc145d..12d14536 100644 --- a/src/website/js/renderer/render.js +++ b/src/website/js/renderer/render.js @@ -66,11 +66,14 @@ export function render(auto = true, force = false) // draw note count and fps this.drawingContext.textBaseline = "hanging"; this.drawingContext.textAlign = "end"; - this.drawingContext.font = `${FONT_SIZE}px Verdana`; + this.drawingContext.font = `${FONT_SIZE}px system-ui`; this.drawingContext.fillStyle = "white"; this.drawingContext.strokeStyle = "white"; - this.drawingContext.fillText(`${this.notesOnScreen} notes`, this.canvas.width, FONT_SIZE + 5); - this.drawingContext.fillText(Math.round(fps).toString() + " FPS", this.canvas.width, 5); + this.drawingContext.fillText(`${this.notesOnScreen} notes`, this.canvas.width, FONT_SIZE * 2 + 5); + this.drawingContext.fillText(this.version, this.canvas.width, 5); + this.drawingContext.fillText(Math.round(fps).toString() + " FPS", this.canvas.width, FONT_SIZE + 5); + + if(this.onRender) { this.onRender(); diff --git a/src/website/js/renderer/renderer.js b/src/website/js/renderer/renderer.js index c7e35a41..f2c27ee4 100644 --- a/src/website/js/renderer/renderer.js +++ b/src/website/js/renderer/renderer.js @@ -41,7 +41,7 @@ const DARKER_MULTIPLIER = 0.6; const GRADIENT_DARKEN = 0.5; export const STROKE_THICKNESS = 1; export const NOTE_MARGIN = 1; -export const FONT_SIZE = 16; +export const FONT_SIZE = 12; export const PRESSED_EFFECT_TIME = 0.6; // limits @@ -57,8 +57,9 @@ class Renderer * @param synth {Synthetizer} * @param canvas {HTMLCanvasElement} * @param delayNode {DelayNode} used for correcting time for large fft sizes + * @param version {string} */ - constructor(channelColors, synth, canvas, delayNode) + constructor(channelColors, synth, canvas, delayNode, version = "") { // variables /** @@ -76,6 +77,8 @@ class Renderer max: 127 }; + this.version = "v" + version; + /** * adds this to the synth's visual pitch in position caluclation * @type {number} diff --git a/src/website/local_main.js b/src/website/local_main.js index f6149018..e24d0b8e 100644 --- a/src/website/local_main.js +++ b/src/website/local_main.js @@ -36,6 +36,9 @@ let synthReady = false; */ window.loadedSoundfonts = []; +const r = await (await fetch("/getversion")).text(); +window.SPESSASYNTH_VERSION = r; + /** * @param fileName {string} * @param callback {function(number)} diff --git a/src/website/manager/manager.js b/src/website/manager/manager.js index 502ac79f..7a6b85a2 100644 --- a/src/website/manager/manager.js +++ b/src/website/manager/manager.js @@ -180,7 +180,7 @@ class Manager canvas.width = window.innerWidth * window.devicePixelRatio; canvas.height = window.innerHeight * window.devicePixelRatio; - this.renderer = new Renderer(this.channelColors, this.synth, canvas, this.audioDelay); + this.renderer = new Renderer(this.channelColors, this.synth, canvas, this.audioDelay, window.SPESSASYNTH_VERSION); this.renderer.render(true); let titleSwappedWithSettings = false; diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index 76c9468e..4447cb6b 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,5 +1,5 @@ -var dm=(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 Y3=class extends Uint8Array{constructor(r){super(r),this.currentIndex=0}currentIndex};function yn(A){let r=A.reduce((u,b)=>u+b.length,0),l=new Y3(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 b1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Ii=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var z3={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,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function zQ(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 a6={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 Im=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},Em=class{constructor(r,l=bB){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let u=new ChannelMergerNode(g,{numberOfInputs:2}),b=[],h0=[],_0=l.oscillatorFrequency,Q0=l.defaultDelay;for(let y0=0;y0{let b=await u.arrayBuffer();l.buffer=await A.decodeAudioData(b)})}return l}var p8={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},pC={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},qi=-1,E$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var pD=!0,QD=!0,_B=!0;function J5(...A){pD&&console.info(...A)}function R4(...A){QD&&console.warn(...A)}function lr(...A){_B&&console.group(...A)}function ii(...A){_B&&console.groupCollapsed(...A)}function i4(){_B&&console.groupEnd()}var WQ={chorusEnabled:!0,chorusConfig:bB,reverbEnabled:!0,reverbImpulseResponse:void 0};var QC={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var Cm=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:p8.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(QC.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){R4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){R4(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(QC.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(QC.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(QC.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var yD="spessasynth-worklet-system",RB=450,vi=9,wD=16;var lh=class{constructor(r,l,g=!0,u=void 0,b=WQ){J5("%cInitializing SpessaSynth synthesizer...",b1.info),this.context=r.context;let h0=u?.oneOutput===!0;this.eventHandler=new Im,this._voiceCap=RB,this._outputsAmount=wD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(y0=>this.resolveWhenReady=y0),this.channelProperties=[];for(let y0=0;y0this.handleMessage(y0.data),this.soundfontManager=new Cm(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,b.reverbEnabled&&!h0&&(this.reverbProcessor=ZQ(this.context,b.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),b.chorusEnabled&&!h0&&(this.chorusProcessor=new Em(r,b.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),h0)this.worklet.connect(r,0);else for(let y0=2;y0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(pC.voicesCap,r),this._voiceCap=r}set highPerformanceMode(r){this._highPerformanceMode=r}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(r,l,g,u){this.post({channelNumber:qi,messageType:p8.setLogLevel,messageData:[r,l,g,u]})}_setMasterParam(r,l){this.post({channelNumber:qi,messageType:p8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(pC.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:R4(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:p8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:qi})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:p8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:p8.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;l0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case z3.noteOff:this.noteOff(l.channel,r[1]);break;case z3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case z3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case z3.programChange:this.programChange(l.channel,r[1]);break;case z3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case z3.channelPressure:this.channelPressure(l.channel,r[1]);break;case z3.systemExclusive:this.systemExclusive(new Y3(r.slice(1)));break;case z3.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(wn)b=127;else{let _0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let Q0=u.clientX-_0.left,y0=_0.width;b=Math.floor((y0-Q0)/y0*127)}else{let Q0=u.clientY-_0.top,y0=_0.height;b=Math.floor(Q0/y0*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(h0=>{let _0=document.elementFromPoint(h0.clientX,h0.clientY),Q0=parseInt(_0.id.replace("note",""));b.add(Q0),!(isNaN(Q0)||Q0<0||this.pressedKeys.has(Q0))&&(this.pressedKeys.add(Q0),r(Q0,h0))}),this.pressedKeys.forEach(h0=>{b.has(h0)||A(h0)})};wn||(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 XQ=20,yC=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,a6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,a6.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&&(h0=l(r+1)),h0&&b?g.classList.add("between_sharps"):b?g.classList.add("left_sharp"):h0&&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,h0;for(let _0 of b)if(_0.selectorText==="#keyboard .key"){h0=_0;break}if(h0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let _0=getComputedStyle(this.keyboard),Q0=parseFloat(_0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),y0=this.keyboard.getBoundingClientRect().height,m1=u/Q0,N=y0*m1-y0,V0=(this._keyRange.min+this._keyRange.max)/2,G0=(r.min+r.max)/2;this._keyRange=r;let v1=this.keys.find(Q5=>Q5.classList.contains("sharp_key")).getBoundingClientRect().width,h2=(V0-G0)*v1,k1=parseFloat(_0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${N}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${m1}) translateX(${h2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${k1/m1}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"),h0=g/127,_0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),Q0;if(!b&&this.mode==="light"?Q0=`rgba(${_0.slice(0,3).map(m1=>255-(255-m1)*h0).join(", ")}, ${_0[3]})`:Q0=`rgba(${_0.slice(0,3).map(m1=>m1*h0).join(", ")}, ${_0[3]})`,u.style.background=Q0,this.mode==="dark"){let y0=XQ*h0;u.style.boxShadow=`${Q0} 0px 0px ${y0}px ${y0/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(h0=>h0===this.channelColors[l]);b!==-1&&(u.splice(b,1),g.style.background=u[u.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${XQ}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]=[]})}};yC.prototype._handlePointers=jQ;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 ey(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 xB=!1;function ty(A=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(xB){A&&requestAnimationFrame(this.render.bind(this));return}else xB=!0;else xB=!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||ey(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=`${LB}px Verdana`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,LB+5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,5),this.onRender&&this.onRender(),A&&requestAnimationFrame(this.render.bind(this))}function iy(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-B$*2,h0=this.noteFallingTimeMs/1e3,_0=this.noteAfterTriggerTimeMs/1e3,Q0=this.seq.currentHighResolutionTime,y0=Q0-_0,m1=h0+_0,N=y0+m1,V0=ny/m1,G0=[];this.synth.channelProperties.forEach(h2=>{if(this.showVisualPitch){let k1=h2.pitchBend-8192+this.visualPitchBendOffset;G0.push(h2.pitchBendRangeSemitones*(k1/8192*u))}else G0.push(0)});let v1=[];return this.noteTimes.forEach((h2,k1)=>{if(h2.renderStartIndex>=h2.notes.length||!this.renderChannels[k1])return;let Q5=h2.renderStartIndex,k2=h2.notes,Z2=k2[Q5],a3=-1;for(;Z2.start<=N&&(Q5++,!(this.notesOnScreen>sy));){let Y5=Z2.start+Z2.length;if(Y5>y0&&Z2.length>0){let A0=Z2.length/m1*l-B$*2;if(this.notesOnScreen<1e3||A0>V0){a3===-1&&(a3=Q5-1);let S5=(Z2.start-y0)/m1*l,g3;if(this._notesFall?g3=l-A0-S5+B$:g3=S5+B$,Z2.midiNotethis.keyRange.max){if(Q5>=k2.length)break;Z2=k2[Q5];continue}let J3=Z2.midiNote-this.keyRange.min,s9=u*J3+B$,m6,k9,de,d4;if(this.sideways?(m6=g3,k9=s9,d4=b,de=A0):(k9=g3,m6=s9,de=b,d4=A0),this.notesOnScreen++,A)this.drawingContext.fillStyle=this.plainColors[k1],this.drawingContext.fillRect(m6+m$+B$,k9+m$,de-m$*2,d4-m$*2);else{let z6;if(Z2.start>Q0||Y5=k2.length)break;Z2=k2[Q5]}a3>-1&&(h2.renderStartIndex=a3)}),v1.sort((h2,k1)=>k1.height-h2.height),v1}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),h0=!1;for(let N=g;N0){h0=!0;break}if(!h0){let N=this.canvas.width/4,V0=this.canvas.height/4,G0=N*u,v1=V0*b+V0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(G0,v1),this.drawingContext.lineTo(G0+N,v1),this.drawingContext.stroke();return}let _0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(_0);let Q0=A*u,y0=r*b+r/2,m1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let N=_0.length/4,V0=A/N,G0=Math.floor(N/2),v1=_0.length-G0;for(let k2=v1;k2>=1;k2--)if(_0[k2-1]<0&&_0[k2]>=0){v1=k2;break}let h2=Q0,k1=v1-G0,Q5=v1+G0;for(let k2=k1;k2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function $y(){for(let A=0;A4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function ly(A){A.connectIndividualOutputs(this.channelAnalysers),A.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function cy(){for(let A of this.channelAnalysers)A.disconnect();J5("%cAnalysers disconnected!",b1.recognized)}function gy(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 hy(){this.noteTimes&&this.noteTimes.forEach(A=>A.renderStartIndex=0)}function FB(A,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=A[A.currentIndex++]<>>0}function wC(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 ch=.02;function fy(A){function r(y0){return y0.messageData=new Y3(y0.messageData.buffer),y0.messageData.currentIndex=0,6e7/FB(y0.messageData,3)}let l=[],u=A.tracks.flat();u.sort((y0,m1)=>y0.ticks-m1.ticks);for(let y0=0;y0<16;y0++)l.push({renderStartIndex:0,notes:[]});let b=0,h0=60/(120*A.timeDivision),_0=0,Q0=0;for(;_0>4,N=y0.messageStatusByte&15;if(m1===8){let V0=l[N].notes.findLast(G0=>G0.midiNote===y0.messageData[0]&&G0.length===-1);if(V0){let G0=b-V0.start;V0.length=G0G0.midiNote===y0.messageData[0]&&G0.length===-1);if(V0){let G0=b-V0.start;V0.length=G0=u.length)break;b+=h0*(u[_0].ticks-y0.ticks)}Q0>0&&l.forEach((y0,m1)=>y0.notes.filter(N=>N.length===-1).forEach(N=>{let V0=b-N.start;N.length=V0{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*Bm)),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*Bm*mm)),l.addColorStop(1,C$(r,g=>g*mm)),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*Bm)),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*Bm*mm)),l.addColorStop(1,C$(r,g=>g*mm)),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}};Si.prototype.render=ty;Si.prototype.computeNotePositions=iy;Si.prototype.createChannelAnalysers=ay;Si.prototype.updateFftSize=$y;Si.prototype.connectChannelAnalysers=ly;Si.prototype.disconnectChannelAnalysers=cy;Si.prototype.connectSequencer=gy;Si.prototype.calculateNoteTimes=fy;Si.prototype.resetIndexes=hy;Si.prototype.renderWaveforms=Ay;function r3(A,r){let l=0;for(let g=0;g>>0}function lt(A,r,l){for(let g=0;g>g*8&255}function p9(A,r){A[A.currentIndex++]=r&255,A[A.currentIndex++]=r>>8}function ct(A,r){lt(A,r,4)}function gh(A,r){let l=r<<8|A;return l>32767?l-65536:l}function uy(A){return A>127?A-256:A}function ue(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 h0=0;h0127){if(g){u=!0;continue}else if(_0===0){u=!0;continue}}b+=String.fromCharCode(_0)}}return b}}function Ro(A,r=0){let l=A.length;r>0&&(l=r);let g=new Y3(l);return gt(g,A,r),g}function gt(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,ue(l.chunkData,4)===r))}function pm(A){let r=[A&127];for(A>>=7;A>0;)r.unshift(A&127|128),A>>=7;return r}function Qm(A){let r=[];for(let u of A.tracks){let b=[],h0=0,_0;for(let Q0 of u){let y0=Q0.ticks-h0,m1;Q0.messageStatusByte<=z3.keySignature||Q0.messageStatusByte===z3.sequenceSpecific?m1=[255,Q0.messageStatusByte,...pm(Q0.messageData.length),...Q0.messageData]:Q0.messageStatusByte===z3.systemExclusive?m1=[240,...pm(Q0.messageData.length),...Q0.messageData]:(m1=[],_0!==Q0.messageStatusByte&&(_0=Q0.messageStatusByte,m1.push(Q0.messageStatusByte)),m1.push(...Q0.messageData)),b.push(...pm(y0)),b.push(...m1),h0+=y0}r.push(new Uint8Array(b))}function l(u,b){for(let h0=0;h0A.chunkData.currentIndex;)r.push(new MB(A.chunkData));return r.length>1&&r.pop(),r}var F7={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},vn={linear:0,concave:1,convex:2,switch:3},RD=[];for(let A=0;A<4;A++)RD.push([[],[]]);var a7=class A{constructor(r){r.srcEnum?(this.modulatorSource=r.srcEnum,this.modulatorDestination=r.dest,this.modulationSecondarySrc=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform):(this.modulatorSource=r3(r,2),this.modulatorDestination=r3(r,2),this.transformAmount=gh(r[r.currentIndex++],r[r.currentIndex++]),this.modulationSecondarySrc=r3(r,2),this.transformType=r3(r,2)),this.modulatorDestination>58&&(this.modulatorDestination=_1.INVALID),this.sourcePolarity=this.modulatorSource>>9&1,this.sourceDirection=this.modulatorSource>>8&1,this.sourceUsesCC=this.modulatorSource>>7&1,this.sourceIndex=this.modulatorSource&127,this.sourceCurveType=this.modulatorSource>>10&3,this.secSrcPolarity=this.modulationSecondarySrc>>9&1,this.secSrcDirection=this.modulationSecondarySrc>>8&1,this.secSrcUsesCC=this.modulationSecondarySrc>>7&1,this.secSrcIndex=this.modulationSecondarySrc&127,this.secSrcCurveType=this.modulationSecondarySrc>>10&3}sumTransform(r){return new A({srcEnum:this.modulatorSource,secSrcEnum:this.modulationSecondarySrc,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(u,b){return Object.keys(u).find(h0=>u[h0]===b)}let l=r(vn,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(a6,this.sourceIndex):l+=r(F7,this.sourceIndex);let g=r(vn,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(a6,this.secSrcIndex):g+=r(F7,this.secSrcIndex),`Modulator: +var dm=(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 Y3=class extends Uint8Array{constructor(r){super(r),this.currentIndex=0}currentIndex};function yn(A){let r=A.reduce((u,b)=>u+b.length,0),l=new Y3(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 b1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Ii=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var z3={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,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function zQ(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 a6={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 Im=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},Em=class{constructor(r,l=_B){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let u=new ChannelMergerNode(g,{numberOfInputs:2}),b=[],h0=[],_0=l.oscillatorFrequency,Q0=l.defaultDelay;for(let y0=0;y0{let b=await u.arrayBuffer();l.buffer=await A.decodeAudioData(b)})}return l}var p8={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},pC={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},qi=-1,E$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var pD=!0,QD=!0,RB=!0;function J5(...A){pD&&console.info(...A)}function R4(...A){QD&&console.warn(...A)}function lr(...A){RB&&console.group(...A)}function ii(...A){RB&&console.groupCollapsed(...A)}function i4(){RB&&console.groupEnd()}var WQ={chorusEnabled:!0,chorusConfig:_B,reverbEnabled:!0,reverbImpulseResponse:void 0};var QC={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var Cm=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:p8.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(QC.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){R4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){R4(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(QC.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(QC.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(QC.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var yD="spessasynth-worklet-system",xB=450,vi=9,wD=16;var lh=class{constructor(r,l,g=!0,u=void 0,b=WQ){J5("%cInitializing SpessaSynth synthesizer...",b1.info),this.context=r.context;let h0=u?.oneOutput===!0;this.eventHandler=new Im,this._voiceCap=xB,this._outputsAmount=wD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(y0=>this.resolveWhenReady=y0),this.channelProperties=[];for(let y0=0;y0this.handleMessage(y0.data),this.soundfontManager=new Cm(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,b.reverbEnabled&&!h0&&(this.reverbProcessor=ZQ(this.context,b.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),b.chorusEnabled&&!h0&&(this.chorusProcessor=new Em(r,b.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),h0)this.worklet.connect(r,0);else for(let y0=2;y0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(pC.voicesCap,r),this._voiceCap=r}set highPerformanceMode(r){this._highPerformanceMode=r}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(r,l,g,u){this.post({channelNumber:qi,messageType:p8.setLogLevel,messageData:[r,l,g,u]})}_setMasterParam(r,l){this.post({channelNumber:qi,messageType:p8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(pC.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:R4(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:p8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:qi})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:p8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:p8.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;l0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case z3.noteOff:this.noteOff(l.channel,r[1]);break;case z3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case z3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case z3.programChange:this.programChange(l.channel,r[1]);break;case z3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case z3.channelPressure:this.channelPressure(l.channel,r[1]);break;case z3.systemExclusive:this.systemExclusive(new Y3(r.slice(1)));break;case z3.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(wn)b=127;else{let _0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let Q0=u.clientX-_0.left,y0=_0.width;b=Math.floor((y0-Q0)/y0*127)}else{let Q0=u.clientY-_0.top,y0=_0.height;b=Math.floor(Q0/y0*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(h0=>{let _0=document.elementFromPoint(h0.clientX,h0.clientY),Q0=parseInt(_0.id.replace("note",""));b.add(Q0),!(isNaN(Q0)||Q0<0||this.pressedKeys.has(Q0))&&(this.pressedKeys.add(Q0),r(Q0,h0))}),this.pressedKeys.forEach(h0=>{b.has(h0)||A(h0)})};wn||(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 XQ=20,yC=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,a6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,a6.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&&(h0=l(r+1)),h0&&b?g.classList.add("between_sharps"):b?g.classList.add("left_sharp"):h0&&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,h0;for(let _0 of b)if(_0.selectorText==="#keyboard .key"){h0=_0;break}if(h0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let _0=getComputedStyle(this.keyboard),Q0=parseFloat(_0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),y0=this.keyboard.getBoundingClientRect().height,m1=u/Q0,N=y0*m1-y0,V0=(this._keyRange.min+this._keyRange.max)/2,G0=(r.min+r.max)/2;this._keyRange=r;let v1=this.keys.find(Q5=>Q5.classList.contains("sharp_key")).getBoundingClientRect().width,h2=(V0-G0)*v1,k1=parseFloat(_0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${N}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${m1}) translateX(${h2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${k1/m1}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"),h0=g/127,_0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),Q0;if(!b&&this.mode==="light"?Q0=`rgba(${_0.slice(0,3).map(m1=>255-(255-m1)*h0).join(", ")}, ${_0[3]})`:Q0=`rgba(${_0.slice(0,3).map(m1=>m1*h0).join(", ")}, ${_0[3]})`,u.style.background=Q0,this.mode==="dark"){let y0=XQ*h0;u.style.boxShadow=`${Q0} 0px 0px ${y0}px ${y0/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(h0=>h0===this.channelColors[l]);b!==-1&&(u.splice(b,1),g.style.background=u[u.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${XQ}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]=[]})}};yC.prototype._handlePointers=jQ;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 ey(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 LB=!1;function ty(A=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(LB){A&&requestAnimationFrame(this.render.bind(this));return}else LB=!0;else LB=!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||ey(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=`${mm}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,mm*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,mm+5),this.onRender&&this.onRender(),A&&requestAnimationFrame(this.render.bind(this))}function iy(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-B$*2,h0=this.noteFallingTimeMs/1e3,_0=this.noteAfterTriggerTimeMs/1e3,Q0=this.seq.currentHighResolutionTime,y0=Q0-_0,m1=h0+_0,N=y0+m1,V0=ny/m1,G0=[];this.synth.channelProperties.forEach(h2=>{if(this.showVisualPitch){let k1=h2.pitchBend-8192+this.visualPitchBendOffset;G0.push(h2.pitchBendRangeSemitones*(k1/8192*u))}else G0.push(0)});let v1=[];return this.noteTimes.forEach((h2,k1)=>{if(h2.renderStartIndex>=h2.notes.length||!this.renderChannels[k1])return;let Q5=h2.renderStartIndex,k2=h2.notes,Z2=k2[Q5],a3=-1;for(;Z2.start<=N&&(Q5++,!(this.notesOnScreen>sy));){let Y5=Z2.start+Z2.length;if(Y5>y0&&Z2.length>0){let A0=Z2.length/m1*l-B$*2;if(this.notesOnScreen<1e3||A0>V0){a3===-1&&(a3=Q5-1);let S5=(Z2.start-y0)/m1*l,g3;if(this._notesFall?g3=l-A0-S5+B$:g3=S5+B$,Z2.midiNotethis.keyRange.max){if(Q5>=k2.length)break;Z2=k2[Q5];continue}let J3=Z2.midiNote-this.keyRange.min,s9=u*J3+B$,m6,k9,de,d4;if(this.sideways?(m6=g3,k9=s9,d4=b,de=A0):(k9=g3,m6=s9,de=b,d4=A0),this.notesOnScreen++,A)this.drawingContext.fillStyle=this.plainColors[k1],this.drawingContext.fillRect(m6+m$+B$,k9+m$,de-m$*2,d4-m$*2);else{let z6;if(Z2.start>Q0||Y5=k2.length)break;Z2=k2[Q5]}a3>-1&&(h2.renderStartIndex=a3)}),v1.sort((h2,k1)=>k1.height-h2.height),v1}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),h0=!1;for(let N=g;N0){h0=!0;break}if(!h0){let N=this.canvas.width/4,V0=this.canvas.height/4,G0=N*u,v1=V0*b+V0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(G0,v1),this.drawingContext.lineTo(G0+N,v1),this.drawingContext.stroke();return}let _0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(_0);let Q0=A*u,y0=r*b+r/2,m1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let N=_0.length/4,V0=A/N,G0=Math.floor(N/2),v1=_0.length-G0;for(let k2=v1;k2>=1;k2--)if(_0[k2-1]<0&&_0[k2]>=0){v1=k2;break}let h2=Q0,k1=v1-G0,Q5=v1+G0;for(let k2=k1;k2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function $y(){for(let A=0;A4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function ly(A){A.connectIndividualOutputs(this.channelAnalysers),A.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function cy(){for(let A of this.channelAnalysers)A.disconnect();J5("%cAnalysers disconnected!",b1.recognized)}function gy(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 hy(){this.noteTimes&&this.noteTimes.forEach(A=>A.renderStartIndex=0)}function FB(A,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=A[A.currentIndex++]<>>0}function wC(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 ch=.02;function fy(A){function r(y0){return y0.messageData=new Y3(y0.messageData.buffer),y0.messageData.currentIndex=0,6e7/FB(y0.messageData,3)}let l=[],u=A.tracks.flat();u.sort((y0,m1)=>y0.ticks-m1.ticks);for(let y0=0;y0<16;y0++)l.push({renderStartIndex:0,notes:[]});let b=0,h0=60/(120*A.timeDivision),_0=0,Q0=0;for(;_0>4,N=y0.messageStatusByte&15;if(m1===8){let V0=l[N].notes.findLast(G0=>G0.midiNote===y0.messageData[0]&&G0.length===-1);if(V0){let G0=b-V0.start;V0.length=G0G0.midiNote===y0.messageData[0]&&G0.length===-1);if(V0){let G0=b-V0.start;V0.length=G0=u.length)break;b+=h0*(u[_0].ticks-y0.ticks)}Q0>0&&l.forEach((y0,m1)=>y0.notes.filter(N=>N.length===-1).forEach(N=>{let V0=b-N.start;N.length=V0{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pm)),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*pm*Bm)),l.addColorStop(1,C$(r,g=>g*Bm)),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*pm)),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*pm*Bm)),l.addColorStop(1,C$(r,g=>g*Bm)),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}};Si.prototype.render=ty;Si.prototype.computeNotePositions=iy;Si.prototype.createChannelAnalysers=ay;Si.prototype.updateFftSize=$y;Si.prototype.connectChannelAnalysers=ly;Si.prototype.disconnectChannelAnalysers=cy;Si.prototype.connectSequencer=gy;Si.prototype.calculateNoteTimes=fy;Si.prototype.resetIndexes=hy;Si.prototype.renderWaveforms=Ay;function r3(A,r){let l=0;for(let g=0;g>>0}function lt(A,r,l){for(let g=0;g>g*8&255}function p9(A,r){A[A.currentIndex++]=r&255,A[A.currentIndex++]=r>>8}function ct(A,r){lt(A,r,4)}function gh(A,r){let l=r<<8|A;return l>32767?l-65536:l}function uy(A){return A>127?A-256:A}function ue(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 h0=0;h0127){if(g){u=!0;continue}else if(_0===0){u=!0;continue}}b+=String.fromCharCode(_0)}}return b}}function Ro(A,r=0){let l=A.length;r>0&&(l=r);let g=new Y3(l);return gt(g,A,r),g}function gt(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,ue(l.chunkData,4)===r))}function Qm(A){let r=[A&127];for(A>>=7;A>0;)r.unshift(A&127|128),A>>=7;return r}function ym(A){let r=[];for(let u of A.tracks){let b=[],h0=0,_0;for(let Q0 of u){let y0=Q0.ticks-h0,m1;Q0.messageStatusByte<=z3.keySignature||Q0.messageStatusByte===z3.sequenceSpecific?m1=[255,Q0.messageStatusByte,...Qm(Q0.messageData.length),...Q0.messageData]:Q0.messageStatusByte===z3.systemExclusive?m1=[240,...Qm(Q0.messageData.length),...Q0.messageData]:(m1=[],_0!==Q0.messageStatusByte&&(_0=Q0.messageStatusByte,m1.push(Q0.messageStatusByte)),m1.push(...Q0.messageData)),b.push(...Qm(y0)),b.push(...m1),h0+=y0}r.push(new Uint8Array(b))}function l(u,b){for(let h0=0;h0A.chunkData.currentIndex;)r.push(new MB(A.chunkData));return r.length>1&&r.pop(),r}var F7={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},vn={linear:0,concave:1,convex:2,switch:3},RD=[];for(let A=0;A<4;A++)RD.push([[],[]]);var a7=class A{constructor(r){r.srcEnum?(this.modulatorSource=r.srcEnum,this.modulatorDestination=r.dest,this.modulationSecondarySrc=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform):(this.modulatorSource=r3(r,2),this.modulatorDestination=r3(r,2),this.transformAmount=gh(r[r.currentIndex++],r[r.currentIndex++]),this.modulationSecondarySrc=r3(r,2),this.transformType=r3(r,2)),this.modulatorDestination>58&&(this.modulatorDestination=_1.INVALID),this.sourcePolarity=this.modulatorSource>>9&1,this.sourceDirection=this.modulatorSource>>8&1,this.sourceUsesCC=this.modulatorSource>>7&1,this.sourceIndex=this.modulatorSource&127,this.sourceCurveType=this.modulatorSource>>10&3,this.secSrcPolarity=this.modulationSecondarySrc>>9&1,this.secSrcDirection=this.modulationSecondarySrc>>8&1,this.secSrcUsesCC=this.modulationSecondarySrc>>7&1,this.secSrcIndex=this.modulationSecondarySrc&127,this.secSrcCurveType=this.modulationSecondarySrc>>10&3}sumTransform(r){return new A({srcEnum:this.modulatorSource,secSrcEnum:this.modulationSecondarySrc,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(u,b){return Object.keys(u).find(h0=>u[h0]===b)}let l=r(vn,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(a6,this.sourceIndex):l+=r(F7,this.sourceIndex);let g=r(vn,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(a6,this.secSrcIndex):g+=r(F7,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${g} Destination: ${r(_1,this.modulatorDestination)} @@ -7,7 +7,7 @@ var dm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( Transform type: ${this.transformType} -`}};function kn(A,r,l,g,u){return A<<10|r<<9|l<<8|g<<7|u}var NB=960,GB=vn.concave,dy=[new a7({srcEnum:kn(GB,0,1,0,F7.noteOnVelocity),dest:_1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(GB,0,1,1,a6.mainVolume),dest:_1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:526,dest:_1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new a7({srcEnum:650,dest:_1.pan,amt:1e3,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(GB,0,1,1,a6.expressionController),dest:_1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,0,F7.polyPressure),dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,1,a6.effects2Depth),dest:_1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.releaseTime),dest:_1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.brightness),dest:_1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0})];function UB(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new a7(A.chunkData));return r}var p$=128,xD=147,xo=new Int16Array(xD).fill(0);xo[a6.mainVolume]=12800;xo[a6.expressionController]=16256;xo[a6.pan]=8192;xo[a6.releaseTime]=8192;xo[a6.brightness]=8192;xo[a6.effects1Depth]=5120;xo[p$+F7.pitchWheel]=8192;xo[p$+F7.pitchWheelRange]=256;var ym={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},LD=Object.keys(ym).length,FD=new Float32Array(LD);FD[ym.modulationMultiplier]=1;function OB(A){return new Ii(A,z3.systemExclusive,new Y3([65,16,66,18,64,0,127,0,65,247]))}function Iy(A,r,l,g){return new Ii(g,z3.controllerChange|A%16,new Y3([r,l]))}function MD(A,r){let l=16|[1,2,3,4,5,6,7,8,0,9,10,11,12,13,14,15][A%16],g=[65,16,66,18,64,l,21,1],b=128-(64+l+21+1)%128;return new Ii(r,z3.systemExclusive,new Y3([...g,b,247]))}function TD(A,r=[],l=[],g=[],u=[]){ii("%cApplying changes to the MIDI file...",b1.info);let b=(V0,G0)=>{A.tracks.forEach((v1,h2)=>{if(A.midiPorts[h2]===G0)for(let k1=v1.length-1;k1>=0;k1--)v1[k1].messageStatusByte>=128&&v1[k1].messageStatusByte<240&&(v1[k1].messageStatusByte&15)===V0&&v1.splice(k1,1)})};g.forEach(V0=>{let G0=V0%16,v1=V0-G0,h2=A.midiPortChannelOffsets.findIndex(k1=>k1===v1);b(G0,h2),J5(`%cRemoving channel %c${V0}%c!`,b1.info,b1.recognized,b1.info)});let h0=!1,_0="gs",Q0=[],y0=[];A.tracks.forEach((V0,G0)=>{V0.forEach(v1=>{let h2=v1.messageStatusByte&240;h2===z3.controllerChange?Q0.push({track:G0,message:v1,channel:v1.messageStatusByte&15}):h2===z3.programChange?y0.push({track:G0,message:v1,channel:v1.messageStatusByte&15}):v1.messageStatusByte===z3.systemExclusive&&(v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[5]===126&&v1.messageData[6]===0?(J5("%cXG system on detected",b1.info),_0="xg",h0=!0):v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[3]===8&&v1.messageData[5]===3&&y0.push({track:G0,message:v1,channel:v1.messageData[4]}))})});let m1=(V0,G0,v1)=>A.tracks.reduce((h2,k1,Q5)=>{if(A.usedChannelsOnTrack[Q5].has(V0)&&A.midiPorts[Q5]===G0){let k2;v1?k2=k1.findIndex(Z2=>(Z2.messageStatusByte&240)===z3.noteOn):k2=k1.findIndex(Z2=>Z2.messageStatusByte>128&&Z2.messageStatusByte<240&&(Z2.messageStatusByte&15)===V0&&!(Z2.messageStatusByte&z3.controllerChange===240&&(Z2.messageData[0]===a6.resetAllControllers||Z2.messageData[0]===a6.allNotesOff||Z2.messageData[0]===a6.allSoundOff))),k2!==-1&&h2.push({index:k2,track:Q5})}return h2},[]),N=(V0,G0,v1)=>{let h2=Q0.filter(k1=>k1.channel===V0&&k1.message.messageData[0]===v1&&A.midiPorts[k1.track]===G0);for(let k1=0;k1{let G0=V0.channel,v1=G0%16,h2=G0-v1,k1=A.midiPortChannelOffsets.findIndex(A0=>A0===h2),Q5=V0.controllerValue,k2=V0.controllerNumber;N(v1,k1,k2),J5(`%cNo controller %c${k2}%c on channel %c${G0}%c found. Adding it!`,b1.info,b1.unrecognized,b1.info,b1.value,b1.info);let Z2=m1(v1,k1,!0);if(Z2.length===0){R4("Program change but no notes... ignoring!");return}let a3=Z2.reduce((A0,S5)=>A.tracks[S5.track][S5.index].ticks{let G0=V0.channel%16,v1=V0.channel-G0,h2=A.midiPortChannelOffsets.findIndex(J3=>J3===v1),k1=V0.isDrum?0:V0.bank,Q5=V0.program,k2=y0.filter(J3=>A.midiPorts[J3.track]===h2&&J3.channel===G0);if(N(G0,h2,a6.bankSelect),N(G0,h2,a6.lsbForControl0BankSelect),(V0.isDrum||k1>0)&&!h0&&(A.tracks.forEach(J3=>{for(let s9=0;s90);if(Z2.length===0){R4("Program change but no notes... ignoring!");return}let a3=Z2.reduce((J3,s9)=>A.tracks[s9.track][s9.index].ticks{if(A.midiPorts[k2]!==v1||!A.usedChannelsOnTrack[k2].has(G0))return;let Z2=z3.noteOn|G0,a3=z3.noteOff|G0,Y5=z3.polyPressure|G0;Q5.forEach(A0=>{A0.messageStatusByte!==Z2&&A0.messageStatusByte!==a3&&A0.messageStatusByte!==Y5||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+h2)))})}),k1!==0){let Q5=A.tracks.find((m6,k9)=>A.usedChannelsOnTrack[k9].has(V0.channel));if(Q5===void 0){R4(`Channel ${V0.channel} unused but transpose requested???`);continue}let k2=z3.noteOn|V0.channel%16,Z2=Q5.findIndex(m6=>m6.messageStatusByte===k2);if(Z2===-1){R4(`No notes on channel ${V0.channel} but transpose requested???`);continue}let a3=Q5[Z2].ticks,Y5=k1*64+64,A0=z3.controllerChange|V0.channel%16,S5=new Ii(a3,A0,new Y3([a6.RPNMsb,0])),g3=new Ii(a3,A0,new Y3([a6.RPNLsb,1])),J3=new Ii(a3,A0,new Y3([a6.dataEntryMsb,Y5])),s9=new Ii(a3,A0,new Y3([a6.lsbForControl6DataEntry,0]));Q5.splice(Z2,0,s9),Q5.splice(Z2,0,J3),Q5.splice(Z2,0,g3),Q5.splice(Z2,0,S5)}}i4()}function hh(A,r){let l=[],g=[],u=[],b=[];r.channelSnapshots.forEach((h0,_0)=>{if(h0.isMuted){g.push(_0);return}let Q0=h0.channelTransposeKeyShift+h0.customControllers[ym.channelTransposeFine]/100;Q0!==0&&l.push({channel:_0,keyShift:Q0}),h0.lockPreset&&u.push({channel:_0,program:h0.program,bank:h0.bank,isDrum:h0.drumChannel}),h0.lockedControllers.forEach((y0,m1)=>{if(!y0||m1>127||m1===a6.bankSelect)return;let N=h0.midiControllers[m1]>>7;b.push({channel:_0,controllerNumber:m1,controllerValue:N})})}),TD(A,u,b,g,l)}var M7={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"},Lo="utf-8",ND="Created using SpessaSynth";function Ey(A,r,l,g=0,u="Shift_JIS",b={},h0=!0){if(lr("%cWriting the RMIDI File...",b1.info),J5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${u}`,b1.info,b1.value,b1.info,b1.value),J5("metadata",b),J5("Initial bank offset",r.bankOffset),h0){let Q5=function(){let Y5=0,A0=1/0;return r.tracks.forEach((S5,g3)=>{h2[g3]>=S5.length||S5[h2[g3]].ticksA0>Y5?A0:Y5),a3=[];for(let Y5=0;Y50;){let Y5=Q5(),A0=r.tracks[Y5];if(h2[Y5]>=A0.length){k1--;continue}let S5=A0[h2[Y5]];h2[Y5]++;let g3=r.midiPortChannelOffsets[k2[Y5]];if(S5.messageStatusByte===z3.midiPort){k2[Y5]=S5.messageData[0];continue}let J3=S5.messageStatusByte&240;if(J3!==z3.controllerChange&&J3!==z3.programChange&&J3!==z3.systemExclusive)continue;if(J3===z3.systemExclusive){if(S5.messageData[0]!==65||S5.messageData[2]!==66||S5.messageData[3]!==18||S5.messageData[4]!==64||!(S5.messageData[5]&16)||S5.messageData[6]!==21){S5.messageData[0]===67&&S5.messageData[2]===76&&S5.messageData[5]===126&&S5.messageData[6]===0?G0="xg":S5.messageData[0]===65&&S5.messageData[2]===66&&S5.messageData[6]===127?G0="gs":S5.messageData[0]===126&&S5.messageData[2]===9&&(G0="gm",v1.push({tNum:Y5,e:S5}));continue}let k9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][S5.messageData[5]&15]+g3;a3[k9].drums=!!(S5.messageData[7]>0&&S5.messageData[5]>>4);continue}let s9=(S5.messageStatusByte&15)+g3,m6=a3[s9];if(J3===z3.programChange){m6.drums?l.presets.findIndex(d4=>d4.program===S5.messageData[0]&&d4.bank===128)===-1&&(S5.messageData[0]=l.presets.find(d4=>d4.bank===128)?.program||0):l.presets.findIndex(d4=>d4.program===S5.messageData[0]&&d4.bank!==128)===-1&&(S5.messageData[0]=l.presets.find(d4=>d4.bank!==128)?.program||0),m6.program=S5.messageData[0];let k9=Math.max(0,m6.lastBank?.messageData[1]-r.bankOffset),de=m6.drums?128:k9;if(m6.lastBank===void 0)continue;if(G0==="xg"&&m6.drums&&(a3[s9].lastBank.messageData[1]=127),l.presets.findIndex(d4=>d4.bank===de&&d4.program===S5.messageData[0])===-1){let d4=l.presets.find(z6=>z6.program===S5.messageData[0])?.bank+g||g;m6.lastBank.messageData[1]=d4,J5(`%cNo preset %c${de}:${S5.messageData[0]}%c. Changing bank to ${d4}.`,b1.info,b1.recognized,b1.info)}else{let z6=(de===128?G0==="xg"?127:0:k9)+g;m6.lastBank.messageData[1]=z6,J5(`%cPreset %c${de}:${S5.messageData[0]}%c exists. Changing bank to ${z6}.`,b1.info,b1.recognized,b1.info)}continue}S5.messageData[0]===a6.bankSelect&&(m6.hasBankSelect=!0,G0==="xg"&&(m6.drums=S5.messageData[1]===120||S5.messageData[1]===126||S5.messageData[1]===127),m6.lastBank=S5)}if(a3.forEach((Y5,A0)=>{if(Y5.hasBankSelect===!0)return;let S5=A0%16,g3=z3.programChange|S5,J3=Math.floor(A0/16)*16,s9=r.midiPortChannelOffsets.indexOf(J3),m6=r.tracks.find((z6,ze)=>r.midiPorts[ze]===s9&&r.usedChannelsOnTrack[ze].has(S5));if(m6===void 0)return;let k9=m6.findIndex(z6=>z6.messageStatusByte===g3);if(k9===-1){let z6=m6.findIndex(Yi=>Yi.messageStatusByte>128&&Yi.messageStatusByte<240&&(Yi.messageStatusByte&15)===S5);if(z6===-1)return;let ze=m6[z6].ticks,Nr=l.getPreset(0,0).program;m6.splice(z6,0,new Ii(ze,z3.programChange|S5,new Y3([Nr]))),k9=z6}J5(`%cAdding bank select for %c${A0}`,b1.info,b1.recognized);let de=m6[k9].ticks,d4=l.getPreset(0,Y5.program)?.bank+g||g;m6.splice(k9,0,new Ii(de,z3.controllerChange|S5,new Y3([a6.bankSelect,d4])))}),G0!=="gs"&&G0!=="xg"){for(let A0 of v1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let Y5=0;r.tracks[0][0].messageStatusByte===z3.trackName&&Y5++,r.tracks[0].splice(Y5,0,OB(0))}}let _0=new Y3(Qm(r).buffer),Q0=[Ro("INFO")],y0=new TextEncoder;if(Q0.push(Ve(M7.software,y0.encode("SpessaSynth"),!0)),b.name!==void 0?(Q0.push(Ve(M7.name,y0.encode(b.name),!0)),u=Lo):Q0.push(Ve(M7.name,r.rawMidiName,!0)),b.creationDate!==void 0)u=Lo,Q0.push(Ve(M7.creationDate,y0.encode(b.creationDate),!0));else{let G0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});Q0.push(Ve(M7.creationDate,Ro(G0),!0))}if(b.comment!==void 0&&(u=Lo,Q0.push(Ve(M7.comment,y0.encode(b.comment)))),b.engineer!==void 0&&Q0.push(Ve(M7.engineer,y0.encode(b.engineer),!0)),b.album!==void 0&&(u=Lo,Q0.push(Ve(M7.album,y0.encode(b.album),!0))),b.artist!==void 0&&(u=Lo,Q0.push(Ve(M7.artist,y0.encode(b.artist),!0))),b.genre!==void 0&&(u=Lo,Q0.push(Ve(M7.genre,y0.encode(b.genre),!0))),b.picture!==void 0&&Q0.push(Ve(M7.picture,new Uint8Array(b.picture))),b.copyright!==void 0)u=Lo,Q0.push(Ve(M7.copyright,y0.encode(b.copyright),!0));else{let G0=r.copyright.length>0?r.copyright:ND;Q0.push(Ve(M7.copyright,Ro(G0)))}let m1=new Y3(2);lt(m1,g,2),Q0.push(Ve(M7.bankOffset,m1)),b.midiEncoding!==void 0&&(Q0.push(Ve(M7.midiEncoding,y0.encode(b.midiEncoding))),u=Lo),Q0.push(Ve(M7.encoding,Ro(u)));let N=yn(Q0),V0=yn([Ro("RMID"),Ve("data",_0),Ve("LIST",N),A]);return J5("%cFinished!",b1.info),i4(),Ve("RIFF",V0)}function kC(A,r){let l=0;for(;A>0;){let g=r.tempoChanges.find(b=>b.ticks=128){this.MIDIout.send(g);return}break;case Fo.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(_0=>_0[1](u)),this.unpause();break;case Fo.textEvent:let b=l;this.onTextEvent&&this.onTextEvent(b[0],b[1]);break;case Fo.timeChange:let h0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(_0=>_0[1](h0)),this.unpause(),this._recalculateStartTime(h0);break;case Fo.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(_0=>_0[1]());break;case Fo.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case Fo.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(r){this._sendMessage(bi.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(bi.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=Cy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(bi.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(bi.changeSong,!0)}previousSong(){this._sendMessage(bi.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,h0=.01*this._playbackRate,_0=b-u;return this.highResTimeOffset+=_0*h0,u=this.highResTimeOffset+g,u}set currentTime(r){this.unpause(),this._sendMessage(bi.setTime,r)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(bi.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){R4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(bi.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(bi.play,r)}stop(){this._sendMessage(bi.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};var vC=["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 my(A){return` +`}};function kn(A,r,l,g,u){return A<<10|r<<9|l<<8|g<<7|u}var NB=960,GB=vn.concave,dy=[new a7({srcEnum:kn(GB,0,1,0,F7.noteOnVelocity),dest:_1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(GB,0,1,1,a6.mainVolume),dest:_1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:526,dest:_1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new a7({srcEnum:650,dest:_1.pan,amt:1e3,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(GB,0,1,1,a6.expressionController),dest:_1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,0,F7.polyPressure),dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,1,a6.effects2Depth),dest:_1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.releaseTime),dest:_1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.brightness),dest:_1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0})];function UB(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new a7(A.chunkData));return r}var p$=128,xD=147,xo=new Int16Array(xD).fill(0);xo[a6.mainVolume]=12800;xo[a6.expressionController]=16256;xo[a6.pan]=8192;xo[a6.releaseTime]=8192;xo[a6.brightness]=8192;xo[a6.effects1Depth]=5120;xo[p$+F7.pitchWheel]=8192;xo[p$+F7.pitchWheelRange]=256;var wm={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},LD=Object.keys(wm).length,FD=new Float32Array(LD);FD[wm.modulationMultiplier]=1;function OB(A){return new Ii(A,z3.systemExclusive,new Y3([65,16,66,18,64,0,127,0,65,247]))}function Iy(A,r,l,g){return new Ii(g,z3.controllerChange|A%16,new Y3([r,l]))}function MD(A,r){let l=16|[1,2,3,4,5,6,7,8,0,9,10,11,12,13,14,15][A%16],g=[65,16,66,18,64,l,21,1],b=128-(64+l+21+1)%128;return new Ii(r,z3.systemExclusive,new Y3([...g,b,247]))}function TD(A,r=[],l=[],g=[],u=[]){ii("%cApplying changes to the MIDI file...",b1.info);let b=(V0,G0)=>{A.tracks.forEach((v1,h2)=>{if(A.midiPorts[h2]===G0)for(let k1=v1.length-1;k1>=0;k1--)v1[k1].messageStatusByte>=128&&v1[k1].messageStatusByte<240&&(v1[k1].messageStatusByte&15)===V0&&v1.splice(k1,1)})};g.forEach(V0=>{let G0=V0%16,v1=V0-G0,h2=A.midiPortChannelOffsets.findIndex(k1=>k1===v1);b(G0,h2),J5(`%cRemoving channel %c${V0}%c!`,b1.info,b1.recognized,b1.info)});let h0=!1,_0="gs",Q0=[],y0=[];A.tracks.forEach((V0,G0)=>{V0.forEach(v1=>{let h2=v1.messageStatusByte&240;h2===z3.controllerChange?Q0.push({track:G0,message:v1,channel:v1.messageStatusByte&15}):h2===z3.programChange?y0.push({track:G0,message:v1,channel:v1.messageStatusByte&15}):v1.messageStatusByte===z3.systemExclusive&&(v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[5]===126&&v1.messageData[6]===0?(J5("%cXG system on detected",b1.info),_0="xg",h0=!0):v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[3]===8&&v1.messageData[5]===3&&y0.push({track:G0,message:v1,channel:v1.messageData[4]}))})});let m1=(V0,G0,v1)=>A.tracks.reduce((h2,k1,Q5)=>{if(A.usedChannelsOnTrack[Q5].has(V0)&&A.midiPorts[Q5]===G0){let k2;v1?k2=k1.findIndex(Z2=>(Z2.messageStatusByte&240)===z3.noteOn):k2=k1.findIndex(Z2=>Z2.messageStatusByte>128&&Z2.messageStatusByte<240&&(Z2.messageStatusByte&15)===V0&&!(Z2.messageStatusByte&z3.controllerChange===240&&(Z2.messageData[0]===a6.resetAllControllers||Z2.messageData[0]===a6.allNotesOff||Z2.messageData[0]===a6.allSoundOff))),k2!==-1&&h2.push({index:k2,track:Q5})}return h2},[]),N=(V0,G0,v1)=>{let h2=Q0.filter(k1=>k1.channel===V0&&k1.message.messageData[0]===v1&&A.midiPorts[k1.track]===G0);for(let k1=0;k1{let G0=V0.channel,v1=G0%16,h2=G0-v1,k1=A.midiPortChannelOffsets.findIndex(A0=>A0===h2),Q5=V0.controllerValue,k2=V0.controllerNumber;N(v1,k1,k2),J5(`%cNo controller %c${k2}%c on channel %c${G0}%c found. Adding it!`,b1.info,b1.unrecognized,b1.info,b1.value,b1.info);let Z2=m1(v1,k1,!0);if(Z2.length===0){R4("Program change but no notes... ignoring!");return}let a3=Z2.reduce((A0,S5)=>A.tracks[S5.track][S5.index].ticks{let G0=V0.channel%16,v1=V0.channel-G0,h2=A.midiPortChannelOffsets.findIndex(J3=>J3===v1),k1=V0.isDrum?0:V0.bank,Q5=V0.program,k2=y0.filter(J3=>A.midiPorts[J3.track]===h2&&J3.channel===G0);if(N(G0,h2,a6.bankSelect),N(G0,h2,a6.lsbForControl0BankSelect),(V0.isDrum||k1>0)&&!h0&&(A.tracks.forEach(J3=>{for(let s9=0;s90);if(Z2.length===0){R4("Program change but no notes... ignoring!");return}let a3=Z2.reduce((J3,s9)=>A.tracks[s9.track][s9.index].ticks{if(A.midiPorts[k2]!==v1||!A.usedChannelsOnTrack[k2].has(G0))return;let Z2=z3.noteOn|G0,a3=z3.noteOff|G0,Y5=z3.polyPressure|G0;Q5.forEach(A0=>{A0.messageStatusByte!==Z2&&A0.messageStatusByte!==a3&&A0.messageStatusByte!==Y5||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+h2)))})}),k1!==0){let Q5=A.tracks.find((m6,k9)=>A.usedChannelsOnTrack[k9].has(V0.channel));if(Q5===void 0){R4(`Channel ${V0.channel} unused but transpose requested???`);continue}let k2=z3.noteOn|V0.channel%16,Z2=Q5.findIndex(m6=>m6.messageStatusByte===k2);if(Z2===-1){R4(`No notes on channel ${V0.channel} but transpose requested???`);continue}let a3=Q5[Z2].ticks,Y5=k1*64+64,A0=z3.controllerChange|V0.channel%16,S5=new Ii(a3,A0,new Y3([a6.RPNMsb,0])),g3=new Ii(a3,A0,new Y3([a6.RPNLsb,1])),J3=new Ii(a3,A0,new Y3([a6.dataEntryMsb,Y5])),s9=new Ii(a3,A0,new Y3([a6.lsbForControl6DataEntry,0]));Q5.splice(Z2,0,s9),Q5.splice(Z2,0,J3),Q5.splice(Z2,0,g3),Q5.splice(Z2,0,S5)}}i4()}function hh(A,r){let l=[],g=[],u=[],b=[];r.channelSnapshots.forEach((h0,_0)=>{if(h0.isMuted){g.push(_0);return}let Q0=h0.channelTransposeKeyShift+h0.customControllers[wm.channelTransposeFine]/100;Q0!==0&&l.push({channel:_0,keyShift:Q0}),h0.lockPreset&&u.push({channel:_0,program:h0.program,bank:h0.bank,isDrum:h0.drumChannel}),h0.lockedControllers.forEach((y0,m1)=>{if(!y0||m1>127||m1===a6.bankSelect)return;let N=h0.midiControllers[m1]>>7;b.push({channel:_0,controllerNumber:m1,controllerValue:N})})}),TD(A,u,b,g,l)}var M7={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"},Lo="utf-8",ND="Created using SpessaSynth";function Ey(A,r,l,g=0,u="Shift_JIS",b={},h0=!0){if(lr("%cWriting the RMIDI File...",b1.info),J5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${u}`,b1.info,b1.value,b1.info,b1.value),J5("metadata",b),J5("Initial bank offset",r.bankOffset),h0){let Q5=function(){let Y5=0,A0=1/0;return r.tracks.forEach((S5,g3)=>{h2[g3]>=S5.length||S5[h2[g3]].ticksA0>Y5?A0:Y5),a3=[];for(let Y5=0;Y50;){let Y5=Q5(),A0=r.tracks[Y5];if(h2[Y5]>=A0.length){k1--;continue}let S5=A0[h2[Y5]];h2[Y5]++;let g3=r.midiPortChannelOffsets[k2[Y5]];if(S5.messageStatusByte===z3.midiPort){k2[Y5]=S5.messageData[0];continue}let J3=S5.messageStatusByte&240;if(J3!==z3.controllerChange&&J3!==z3.programChange&&J3!==z3.systemExclusive)continue;if(J3===z3.systemExclusive){if(S5.messageData[0]!==65||S5.messageData[2]!==66||S5.messageData[3]!==18||S5.messageData[4]!==64||!(S5.messageData[5]&16)||S5.messageData[6]!==21){S5.messageData[0]===67&&S5.messageData[2]===76&&S5.messageData[5]===126&&S5.messageData[6]===0?G0="xg":S5.messageData[0]===65&&S5.messageData[2]===66&&S5.messageData[6]===127?G0="gs":S5.messageData[0]===126&&S5.messageData[2]===9&&(G0="gm",v1.push({tNum:Y5,e:S5}));continue}let k9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][S5.messageData[5]&15]+g3;a3[k9].drums=!!(S5.messageData[7]>0&&S5.messageData[5]>>4);continue}let s9=(S5.messageStatusByte&15)+g3,m6=a3[s9];if(J3===z3.programChange){m6.drums?l.presets.findIndex(d4=>d4.program===S5.messageData[0]&&d4.bank===128)===-1&&(S5.messageData[0]=l.presets.find(d4=>d4.bank===128)?.program||0):l.presets.findIndex(d4=>d4.program===S5.messageData[0]&&d4.bank!==128)===-1&&(S5.messageData[0]=l.presets.find(d4=>d4.bank!==128)?.program||0),m6.program=S5.messageData[0];let k9=Math.max(0,m6.lastBank?.messageData[1]-r.bankOffset),de=m6.drums?128:k9;if(m6.lastBank===void 0)continue;if(G0==="xg"&&m6.drums&&(a3[s9].lastBank.messageData[1]=127),l.presets.findIndex(d4=>d4.bank===de&&d4.program===S5.messageData[0])===-1){let d4=l.presets.find(z6=>z6.program===S5.messageData[0])?.bank+g||g;m6.lastBank.messageData[1]=d4,J5(`%cNo preset %c${de}:${S5.messageData[0]}%c. Changing bank to ${d4}.`,b1.info,b1.recognized,b1.info)}else{let z6=(de===128?G0==="xg"?127:0:k9)+g;m6.lastBank.messageData[1]=z6,J5(`%cPreset %c${de}:${S5.messageData[0]}%c exists. Changing bank to ${z6}.`,b1.info,b1.recognized,b1.info)}continue}S5.messageData[0]===a6.bankSelect&&(m6.hasBankSelect=!0,G0==="xg"&&(m6.drums=S5.messageData[1]===120||S5.messageData[1]===126||S5.messageData[1]===127),m6.lastBank=S5)}if(a3.forEach((Y5,A0)=>{if(Y5.hasBankSelect===!0)return;let S5=A0%16,g3=z3.programChange|S5,J3=Math.floor(A0/16)*16,s9=r.midiPortChannelOffsets.indexOf(J3),m6=r.tracks.find((z6,ze)=>r.midiPorts[ze]===s9&&r.usedChannelsOnTrack[ze].has(S5));if(m6===void 0)return;let k9=m6.findIndex(z6=>z6.messageStatusByte===g3);if(k9===-1){let z6=m6.findIndex(Yi=>Yi.messageStatusByte>128&&Yi.messageStatusByte<240&&(Yi.messageStatusByte&15)===S5);if(z6===-1)return;let ze=m6[z6].ticks,Nr=l.getPreset(0,0).program;m6.splice(z6,0,new Ii(ze,z3.programChange|S5,new Y3([Nr]))),k9=z6}J5(`%cAdding bank select for %c${A0}`,b1.info,b1.recognized);let de=m6[k9].ticks,d4=l.getPreset(0,Y5.program)?.bank+g||g;m6.splice(k9,0,new Ii(de,z3.controllerChange|S5,new Y3([a6.bankSelect,d4])))}),G0!=="gs"&&G0!=="xg"){for(let A0 of v1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let Y5=0;r.tracks[0][0].messageStatusByte===z3.trackName&&Y5++,r.tracks[0].splice(Y5,0,OB(0))}}let _0=new Y3(ym(r).buffer),Q0=[Ro("INFO")],y0=new TextEncoder;if(Q0.push(Ve(M7.software,y0.encode("SpessaSynth"),!0)),b.name!==void 0?(Q0.push(Ve(M7.name,y0.encode(b.name),!0)),u=Lo):Q0.push(Ve(M7.name,r.rawMidiName,!0)),b.creationDate!==void 0)u=Lo,Q0.push(Ve(M7.creationDate,y0.encode(b.creationDate),!0));else{let G0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});Q0.push(Ve(M7.creationDate,Ro(G0),!0))}if(b.comment!==void 0&&(u=Lo,Q0.push(Ve(M7.comment,y0.encode(b.comment)))),b.engineer!==void 0&&Q0.push(Ve(M7.engineer,y0.encode(b.engineer),!0)),b.album!==void 0&&(u=Lo,Q0.push(Ve(M7.album,y0.encode(b.album),!0))),b.artist!==void 0&&(u=Lo,Q0.push(Ve(M7.artist,y0.encode(b.artist),!0))),b.genre!==void 0&&(u=Lo,Q0.push(Ve(M7.genre,y0.encode(b.genre),!0))),b.picture!==void 0&&Q0.push(Ve(M7.picture,new Uint8Array(b.picture))),b.copyright!==void 0)u=Lo,Q0.push(Ve(M7.copyright,y0.encode(b.copyright),!0));else{let G0=r.copyright.length>0?r.copyright:ND;Q0.push(Ve(M7.copyright,Ro(G0)))}let m1=new Y3(2);lt(m1,g,2),Q0.push(Ve(M7.bankOffset,m1)),b.midiEncoding!==void 0&&(Q0.push(Ve(M7.midiEncoding,y0.encode(b.midiEncoding))),u=Lo),Q0.push(Ve(M7.encoding,Ro(u)));let N=yn(Q0),V0=yn([Ro("RMID"),Ve("data",_0),Ve("LIST",N),A]);return J5("%cFinished!",b1.info),i4(),Ve("RIFF",V0)}function kC(A,r){let l=0;for(;A>0;){let g=r.tempoChanges.find(b=>b.ticks=128){this.MIDIout.send(g);return}break;case Fo.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(_0=>_0[1](u)),this.unpause();break;case Fo.textEvent:let b=l;this.onTextEvent&&this.onTextEvent(b[0],b[1]);break;case Fo.timeChange:let h0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(_0=>_0[1](h0)),this.unpause(),this._recalculateStartTime(h0);break;case Fo.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(_0=>_0[1]());break;case Fo.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case Fo.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(r){this._sendMessage(bi.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(bi.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=Cy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(bi.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(bi.changeSong,!0)}previousSong(){this._sendMessage(bi.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,h0=.01*this._playbackRate,_0=b-u;return this.highResTimeOffset+=_0*h0,u=this.highResTimeOffset+g,u}set currentTime(r){this.unpause(),this._sendMessage(bi.setTime,r)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(bi.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){R4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(bi.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(bi.play,r)}stop(){this._sendMessage(bi.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};var vC=["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 my(A){return` `}function Q$(A){return` @@ -34,7 +34,7 @@ var dm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( -`}function km(A){return` +`}function vm(A){return` `}function wy(A){return` @@ -42,7 +42,7 @@ var dm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( `}function ky(A){return` -`}function vm(A){return` +`}function Sm(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 Sm(A){return` + `}function Dm(A){return` @@ -73,7 +73,7 @@ var dm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( `}function HB(A){return` -`}function fh(A,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=A,l.innerHTML=r,l}var et={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ry(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",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 xy(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 UD=parseFloat(getComputedStyle(document.body).fontSize);function Ly(){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");vC.forEach(m1=>{let N=document.createElement("option");N.innerText=m1,N.value=m1,g.appendChild(N)}),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 h0=document.createElement("span");h0.classList.add("lyrics_text_gray"),u.appendChild(h0);let _0=document.createElement("details"),Q0=document.createElement("summary");this.locale.bindObjectProperty(Q0,"textContent","locale.sequencerController.lyrics.otherText.title"),_0.appendChild(Q0);let y0=document.createElement("div");y0.innerText="",_0.appendChild(y0),A.appendChild(_0),this.lyricsElement.text={highlight:b,gray:h0,main:u,other:y0},this.lyricsElement.mainDiv=A,this.lyricsElement.selector=g,this.controls.appendChild(A),this.requiresTextUpdate=!0}function Fy(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-UD*5)}function My(){let A="";for(let r of this.rawOtherTextEvents)A+=`
${Object.keys(z3).find(l=>z3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=A}var Mr=32,Ty="#ccc",Ny="#555",OD="#333",PD="#ddd",HD="Shift_JIS",Ls=class{constructor(r,l,g){this.iconColor=Ty,this.iconDisabledColor=Ny,this.controls=r,this.encoding=HD,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=OD,this.iconDisabledColor=PD):(this.mode="dark",this.iconColor=Ty,this.iconDisabledColor=Ny),!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$(Mr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=my(Mr),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(vC[g]),this.encodingSelector.value=vC[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 z3.text:case z3.copyright:case z3.cuePoint:case z3.trackName:case z3.instrumentName:case z3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case z3.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?.[M7.encoding]!==void 0,l.isEmbedded){let g=(_0,Q0,y0,m1="")=>this.seq.midiData.RMIDInfo?.[_0]===void 0?Q0:m1+y0.decode(this.seq.midiData.RMIDInfo?.[_0]).replace(/\0$/,""),u=new TextDecoder,b=g(M7.midiEncoding,this.encoding,u),h0=g(M7.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(h0),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=N=>{N.preventDefault();let V0=r.getBoundingClientRect(),G0=N.clientX-V0.left,v1=V0.width;this.seq.currentTime=G0/v1*this.seq.duration,g.innerHTML=Q$(Mr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=fh("Play/Pause",Q$(Mr));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=fh("Previous song",yy(Mr));this.locale.bindObjectProperty(b,"title","locale.sequencerController.previousSong"),b.onclick=()=>this.switchToPreviousSong();let h0=fh("Next song",Qy(Mr));this.locale.bindObjectProperty(h0,"title","locale.sequencerController.nextSong"),h0.onclick=()=>this.switchToNextSong();let _0=fh("Loop this",By(Mr));this.locale.bindObjectProperty(_0,"title","locale.sequencerController.loopThis");let Q0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),_0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};_0.onclick=Q0,this.loopButton=_0;let y0=fh("Show lyrics",py(Mr));this.locale.bindObjectProperty(y0,"title","locale.sequencerController.lyrics.show"),y0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let m1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),y0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};y0.onclick=m1,document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case et.playPause:N.preventDefault(),u();break;case et.toggleLoop:N.preventDefault(),Q0();break;case et.toggleLyrics:N.preventDefault(),m1();break;default:break}}),l.appendChild(b),l.appendChild(_0),l.appendChild(g),l.appendChild(y0),l.appendChild(h0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case et.seekBackwards:N.preventDefault(),this.seq.currentTime-=5,g.innerHTML=Q$(Mr);break;case et.seekForwards:N.preventDefault(),this.seq.currentTime+=5,g.innerHTML=Q$(Mr);break;case et.previousSong:this.switchToPreviousSong();break;case et.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(N.key))){N.preventDefault();let V0=parseInt(N.key);0<=V0&&V0<=9&&(this.seq.currentTime=this.seq.duration*(V0/10),g.innerHTML=Q$(Mr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=I$(this.seq.currentTime),l=I$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ls.prototype.createNavigatorHandler=Ry;Ls.prototype.updateTitleAndMediaStatus=xy;Ls.prototype.createLyrics=Ly;Ls.prototype.setLyricsText=Fy;Ls.prototype.updateOtherTextEvents=My;function Gy(){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.preset.hide()})}function Uy(){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.preset.show()})}function Oy(){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.preset.toggleMode(),A.presetReset.classList.toggle("voice_reset_light"),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,h0=100,_0=!1,Q0=void 0,y0=void 0,m1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=b,this.max=h0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=y0,this.unlockCallback=m1,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,_0){if(Q0===void 0)throw new Error("No editable function given!");this.div.onmousedown=N=>{N.preventDefault(),N.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=N=>{if(!this.isActive)return;let V0=N.currentTarget.getBoundingClientRect(),G0=V0.left,v1=V0.width,h2=N.clientX-G0,k1=Math.max(0,Math.min(1,h2/v1));Q0(k1*(h0-b)+b)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=N=>{this.div.onmousemove(N),this.isActive=!1},this.text.oncontextmenu=N=>{N.preventDefault()},this.div.onclick=N=>{N.preventDefault(),this.isActive=!0,this.div.onmousemove(N),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 Py=["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","Helicopter","Applause","Gunshot"];var Dm=class{constructor(r,l,g,u,b=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r,this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainDiv=document.createElement("select"),this.mainDiv.classList.add("voice_selector"),this.mainDiv.classList.add("controller_element"),l.bindObjectProperty(this.mainDiv,"title",g,u),this.reload(),this.mainDiv.onchange=()=>{b(this.mainDiv.value),this.mainDiv.blur()}}toggleMode(){this.mainDiv.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r,!this.isShown){this.isReloaded=!1;return}this.mainDiv.innerHTML="";let l=-20,g=!1,u="";for(let b of r){let h0=b.program;h0!==l&&(l=h0,r.filter(_0=>_0.program===l).length>1?(g=!0,u+=``):(g=!1,u+="")),g||b.bank!==0&&b.bank!==128?u+=``:u+=``}this.mainDiv.innerHTML=u,this.isReloaded=!0}set(r){this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainDiv.value=r)}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainDiv.value=this.value}hide(){this.isShown=!1}};var Sn=32;function Hy(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],ke+"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],ke+"channelController.pitchBendMeter",this.locale,[A+1],-8192,8192,!0,k2=>{let Z2=g.isLocked;Z2&&this.synth.lockController(A,p$+F7.pitchWheel,!1),k2=Math.round(k2)+8192;let a3=k2>>7,Y5=k2&127;this.synth.pitchWheel(A,a3,Y5),Z2&&this.synth.lockController(A,p$+F7.pitchWheel,!0)},()=>this.synth.lockController(A,p$+F7.pitchWheel,!0),()=>this.synth.lockController(A,p$+F7.pitchWheel,!1));g.update(0),r.appendChild(g.div);let u=(k2,Z2,a3)=>{a3.isLocked?(this.synth.lockController(A,k2,!1),this.synth.controllerChange(A,k2,Z2),this.synth.lockController(A,k2,!0)):this.synth.controllerChange(A,k2,Z2)},b=(k2,Z2,a3)=>{let Y5=new cr(this.channelColors[A%this.channelColors.length],ke+Z2,this.locale,[A+1],0,127,!0,A0=>u(k2,Math.round(A0),Y5),()=>this.synth.lockController(A,k2,!0),()=>this.synth.lockController(A,k2,!1));return Y5.update(a3),Y5},h0=b(a6.pan,"channelController.panMeter",64);r.appendChild(h0.div);let _0=b(a6.expressionController,"channelController.expressionMeter",127);r.appendChild(_0.div);let Q0=b(a6.mainVolume,"channelController.volumeMeter",100);r.appendChild(Q0.div);let y0=b(a6.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(y0.div);let m1=b(a6.effects3Depth,"channelController.chorusMeter",0);r.appendChild(m1.div);let N=b(a6.effects1Depth,"channelController.reverbMeter",40);r.appendChild(N.div);let V0=new cr(this.channelColors[A%this.channelColors.length],ke+"channelController.transposeMeter",this.locale,[A+1],-36,36,!0,k2=>{k2=Math.round(k2),this.synth.transposeChannel(A,k2,!0),V0.update(k2)});V0.update(0),r.appendChild(V0.div);let G0=document.createElement("div"),v1=new Dm([],this.locale,ke+"channelController.presetSelector.description",[A+1],async k2=>{let Z2=k2.split(":");this.synth.lockController(A,qi,!1),this.synth.controllerChange(A,a6.bankSelect,parseInt(Z2[0]),!0),this.synth.programChange(A,parseInt(Z2[1]),!0),v1.mainDiv.classList.add("locked_selector"),this.synth.lockController(A,qi,!0)});r.appendChild(v1.mainDiv),G0.innerHTML=by(Sn),this.locale.bindObjectProperty(G0,"title",ke+"channelController.presetReset.description",[A+1]),G0.classList.add("controller_element"),G0.classList.add("voice_reset"),G0.onclick=()=>{this.synth.lockController(A,qi,!1),v1.mainDiv.classList.remove("locked_selector")},r.appendChild(G0);let h2=document.createElement("div");h2.innerHTML=km(Sn),this.locale.bindObjectProperty(h2,"title",ke+"channelController.soloButton.description",[A+1]),h2.classList.add("controller_element"),h2.classList.add("mute_button"),h2.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 k2=0;k2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let k2=0;k2{if(k1.hasAttribute("is_muted")){k1.removeAttribute("is_muted");let k2=this.soloChannels.size===0||this.soloChannels.has(A);this.synth.muteChannel(A,!k2),k1.innerHTML=PB(Sn)}else this.synth.muteChannel(A,!0),k1.setAttribute("is_muted","true"),k1.innerHTML=ky(Sn)},r.appendChild(k1);let Q5=document.createElement("div");return Q5.innerHTML=A===vi?vm(Sn):Sm(Sn),this.locale.bindObjectProperty(Q5,"title",ke+"channelController.drumToggleButton.description",[A+1]),Q5.classList.add("controller_element"),Q5.classList.add("mute_button"),Q5.onclick=()=>{this.synth.setDrums(A,!this.synth.channelProperties[A].isDrum)},r.appendChild(Q5),{controller:r,voiceMeter:l,pitchWheel:g,pan:h0,expression:_0,volume:Q0,mod:y0,chorus:m1,reverb:N,preset:v1,presetReset:G0,drumsToggle:Q5,soloButton:h2,muteButton:k1,transpose:V0}}function qy(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(y0)/100),this.volumeController.update(y0)}),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("",ke+"mainPanMeter",this.locale,[],-1,1,!0,y0=>{this.synth.setMasterPan(y0),this.panController.update(y0)}),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("",ke+"mainTransposeMeter",this.locale,[],-12,12,!0,y0=>{this.synth.transpose(Math.round(y0*2)/2),this.transposeController.update(Math.round(y0*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",ke+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",ke+"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",ke+"systemReset.title"),this.locale.bindObjectProperty(l,"title",ke+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>this.synth.resetControllers();let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",ke+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",ke+"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",ke+"disableCustomVibrato.title"),this.locale.bindObjectProperty(u,"title",ke+"disableCustomVibrato.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{this.synth.lockAndResetChannelVibrato(),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",ke+"helpButton.title"),this.locale.bindObjectProperty(b,"title",ke+"helpButton.description");let h0=document.createElement("select");h0.classList.add("main_controller_element"),h0.classList.add("synthui_button"),this.locale.bindObjectProperty(h0,"title",ke+"interpolation.description");{let y0=document.createElement("option");y0.value="0",y0.selected=!0,this.locale.bindObjectProperty(y0,"textContent",ke+"interpolation.linear"),h0.appendChild(y0);let m1=document.createElement("option");m1.value="1",this.locale.bindObjectProperty(m1,"textContent",ke+"interpolation.nearestNeighbor"),h0.appendChild(m1),h0.onchange=()=>{this.synth.setInterpolationType(parseInt(h0.value))}}let _0=document.createElement("div");_0.classList.add("synthui_controller"),this.uiDiv.appendChild(_0);let Q0=document.createElement("button");this.locale.bindObjectProperty(Q0,"textContent",ke+"toggleButton.title"),this.locale.bindObjectProperty(Q0,"title",ke+"toggleButton.description"),Q0.classList.add("synthui_button"),Q0.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(h0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,u,Q0,b,h0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(Q0),_0.appendChild(A),this.mainControllerDiv=_0,this.mainControllerDiv.onclick=y0=>y0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}_0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Jy(){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(40)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,u=r.controllerValue;switch(l){default:break;case a6.expressionController:this.controllers[g].expression.update(u);break;case a6.mainVolume:this.controllers[g].volume.update(u);break;case a6.pan:this.controllers[g].pan.update(u);break;case a6.modulationWheel:this.controllers[g].mod.update(u);break;case a6.effects3Depth:this.controllers[g].chorus.update(u);break;case a6.effects1Depth:this.controllers[g].reverb.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?vm(32):Sm(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 ke="locale.synthesizerController.",Tr=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 et.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case et.settingsShow:this.isShown=!0,this.toggleVisibility();break;case et.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case et.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.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}`)})})}};Tr.prototype.hideControllers=Gy;Tr.prototype.showControllers=Uy;Tr.prototype.toggleDarkMode=Oy;Tr.prototype.createChannelController=Hy;Tr.prototype.createChannelControllers=qy;Tr.prototype.createMainSynthController=Yy;Tr.prototype.setEventListeners=Jy;var DC=null,bm=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=DC,this.selectedOutput=DC,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,J5("%cMIDI handler created!",b1.recognized),!0}catch(r){return R4("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return R4("Web MIDI Api not supported!",b1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),J5(`%cPlaying MIDI to %c${r.name}`,b1.info,b1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=DC,r.connectMidiOutput(void 0),J5("%cDisconnected from MIDI out.",b1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},J5(`%cListening for messages on %c${r.name}`,b1.info,b1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=DC,r.onmidimessage=void 0,J5(`%cDisconnected from %c${r.name}`,b1.info,b1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=DC;for(let r of this.inputs)r[1].onmidimessage=void 0}};var _m=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)}),J5("%cWeb MIDI Link handler created!",b1.recognized)}};var Mo="midi range";function Ky(A,r,l){let g=0,u=this.htmlControls.keyboard,b=()=>{let h0=document.createElement("option");h0.value=g.toString(),this.locale.bindObjectProperty(h0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),h0.style.background=r.channelColors[g%r.channelColors.length],h0.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(h0),g++};for(let h0=0;h0{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===Mo?(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===Mo?(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=h0=>{h0.addOnSongChangeEvent(_0=>{this.autoKeyRange&&(A.keyRange=_0.keyRange,l.keyRange=_0.keyRange),_0.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",h0=>{h0.userCalled&&(A.selectChannel(h0.channel),u.channelSelector.value=h0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",h0=>{if(h0.isMuted&&h0.channel===A.channel){let _0=0;for(;r.synth.channelProperties[_0].isMuted;)_0++;_0{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 Vy=` +`}function fh(A,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=A,l.innerHTML=r,l}var et={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ry(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",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 xy(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 UD=parseFloat(getComputedStyle(document.body).fontSize);function Ly(){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");vC.forEach(m1=>{let N=document.createElement("option");N.innerText=m1,N.value=m1,g.appendChild(N)}),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 h0=document.createElement("span");h0.classList.add("lyrics_text_gray"),u.appendChild(h0);let _0=document.createElement("details"),Q0=document.createElement("summary");this.locale.bindObjectProperty(Q0,"textContent","locale.sequencerController.lyrics.otherText.title"),_0.appendChild(Q0);let y0=document.createElement("div");y0.innerText="",_0.appendChild(y0),A.appendChild(_0),this.lyricsElement.text={highlight:b,gray:h0,main:u,other:y0},this.lyricsElement.mainDiv=A,this.lyricsElement.selector=g,this.controls.appendChild(A),this.requiresTextUpdate=!0}function Fy(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-UD*5)}function My(){let A="";for(let r of this.rawOtherTextEvents)A+=`
${Object.keys(z3).find(l=>z3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=A}var Mr=32,Ty="#ccc",Ny="#555",OD="#333",PD="#ddd",HD="Shift_JIS",Ls=class{constructor(r,l,g){this.iconColor=Ty,this.iconDisabledColor=Ny,this.controls=r,this.encoding=HD,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=OD,this.iconDisabledColor=PD):(this.mode="dark",this.iconColor=Ty,this.iconDisabledColor=Ny),!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$(Mr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=my(Mr),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(vC[g]),this.encodingSelector.value=vC[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 z3.text:case z3.copyright:case z3.cuePoint:case z3.trackName:case z3.instrumentName:case z3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case z3.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?.[M7.encoding]!==void 0,l.isEmbedded){let g=(_0,Q0,y0,m1="")=>this.seq.midiData.RMIDInfo?.[_0]===void 0?Q0:m1+y0.decode(this.seq.midiData.RMIDInfo?.[_0]).replace(/\0$/,""),u=new TextDecoder,b=g(M7.midiEncoding,this.encoding,u),h0=g(M7.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(h0),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=N=>{N.preventDefault();let V0=r.getBoundingClientRect(),G0=N.clientX-V0.left,v1=V0.width;this.seq.currentTime=G0/v1*this.seq.duration,g.innerHTML=Q$(Mr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=fh("Play/Pause",Q$(Mr));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=fh("Previous song",yy(Mr));this.locale.bindObjectProperty(b,"title","locale.sequencerController.previousSong"),b.onclick=()=>this.switchToPreviousSong();let h0=fh("Next song",Qy(Mr));this.locale.bindObjectProperty(h0,"title","locale.sequencerController.nextSong"),h0.onclick=()=>this.switchToNextSong();let _0=fh("Loop this",By(Mr));this.locale.bindObjectProperty(_0,"title","locale.sequencerController.loopThis");let Q0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),_0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};_0.onclick=Q0,this.loopButton=_0;let y0=fh("Show lyrics",py(Mr));this.locale.bindObjectProperty(y0,"title","locale.sequencerController.lyrics.show"),y0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let m1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),y0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};y0.onclick=m1,document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case et.playPause:N.preventDefault(),u();break;case et.toggleLoop:N.preventDefault(),Q0();break;case et.toggleLyrics:N.preventDefault(),m1();break;default:break}}),l.appendChild(b),l.appendChild(_0),l.appendChild(g),l.appendChild(y0),l.appendChild(h0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case et.seekBackwards:N.preventDefault(),this.seq.currentTime-=5,g.innerHTML=Q$(Mr);break;case et.seekForwards:N.preventDefault(),this.seq.currentTime+=5,g.innerHTML=Q$(Mr);break;case et.previousSong:this.switchToPreviousSong();break;case et.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(N.key))){N.preventDefault();let V0=parseInt(N.key);0<=V0&&V0<=9&&(this.seq.currentTime=this.seq.duration*(V0/10),g.innerHTML=Q$(Mr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=I$(this.seq.currentTime),l=I$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ls.prototype.createNavigatorHandler=Ry;Ls.prototype.updateTitleAndMediaStatus=xy;Ls.prototype.createLyrics=Ly;Ls.prototype.setLyricsText=Fy;Ls.prototype.updateOtherTextEvents=My;function Gy(){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.preset.hide()})}function Uy(){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.preset.show()})}function Oy(){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.preset.toggleMode(),A.presetReset.classList.toggle("voice_reset_light"),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,h0=100,_0=!1,Q0=void 0,y0=void 0,m1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=b,this.max=h0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=y0,this.unlockCallback=m1,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,_0){if(Q0===void 0)throw new Error("No editable function given!");this.div.onmousedown=N=>{N.preventDefault(),N.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=N=>{if(!this.isActive)return;let V0=N.currentTarget.getBoundingClientRect(),G0=V0.left,v1=V0.width,h2=N.clientX-G0,k1=Math.max(0,Math.min(1,h2/v1));Q0(k1*(h0-b)+b)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=N=>{this.div.onmousemove(N),this.isActive=!1},this.text.oncontextmenu=N=>{N.preventDefault()},this.div.onclick=N=>{N.preventDefault(),this.isActive=!0,this.div.onmousemove(N),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 Py=["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","Helicopter","Applause","Gunshot"];var bm=class{constructor(r,l,g,u,b=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r,this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainDiv=document.createElement("select"),this.mainDiv.classList.add("voice_selector"),this.mainDiv.classList.add("controller_element"),l.bindObjectProperty(this.mainDiv,"title",g,u),this.reload(),this.mainDiv.onchange=()=>{b(this.mainDiv.value),this.mainDiv.blur()}}toggleMode(){this.mainDiv.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r,!this.isShown){this.isReloaded=!1;return}this.mainDiv.innerHTML="";let l=-20,g=!1,u="";for(let b of r){let h0=b.program;h0!==l&&(l=h0,r.filter(_0=>_0.program===l).length>1?(g=!0,u+=``):(g=!1,u+="")),g||b.bank!==0&&b.bank!==128?u+=``:u+=``}this.mainDiv.innerHTML=u,this.isReloaded=!0}set(r){this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainDiv.value=r)}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainDiv.value=this.value}hide(){this.isShown=!1}};var Sn=32;function Hy(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],ke+"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],ke+"channelController.pitchBendMeter",this.locale,[A+1],-8192,8192,!0,k2=>{let Z2=g.isLocked;Z2&&this.synth.lockController(A,p$+F7.pitchWheel,!1),k2=Math.round(k2)+8192;let a3=k2>>7,Y5=k2&127;this.synth.pitchWheel(A,a3,Y5),Z2&&this.synth.lockController(A,p$+F7.pitchWheel,!0)},()=>this.synth.lockController(A,p$+F7.pitchWheel,!0),()=>this.synth.lockController(A,p$+F7.pitchWheel,!1));g.update(0),r.appendChild(g.div);let u=(k2,Z2,a3)=>{a3.isLocked?(this.synth.lockController(A,k2,!1),this.synth.controllerChange(A,k2,Z2),this.synth.lockController(A,k2,!0)):this.synth.controllerChange(A,k2,Z2)},b=(k2,Z2,a3)=>{let Y5=new cr(this.channelColors[A%this.channelColors.length],ke+Z2,this.locale,[A+1],0,127,!0,A0=>u(k2,Math.round(A0),Y5),()=>this.synth.lockController(A,k2,!0),()=>this.synth.lockController(A,k2,!1));return Y5.update(a3),Y5},h0=b(a6.pan,"channelController.panMeter",64);r.appendChild(h0.div);let _0=b(a6.expressionController,"channelController.expressionMeter",127);r.appendChild(_0.div);let Q0=b(a6.mainVolume,"channelController.volumeMeter",100);r.appendChild(Q0.div);let y0=b(a6.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(y0.div);let m1=b(a6.effects3Depth,"channelController.chorusMeter",0);r.appendChild(m1.div);let N=b(a6.effects1Depth,"channelController.reverbMeter",40);r.appendChild(N.div);let V0=new cr(this.channelColors[A%this.channelColors.length],ke+"channelController.transposeMeter",this.locale,[A+1],-36,36,!0,k2=>{k2=Math.round(k2),this.synth.transposeChannel(A,k2,!0),V0.update(k2)});V0.update(0),r.appendChild(V0.div);let G0=document.createElement("div"),v1=new bm([],this.locale,ke+"channelController.presetSelector.description",[A+1],async k2=>{let Z2=k2.split(":");this.synth.lockController(A,qi,!1),this.synth.controllerChange(A,a6.bankSelect,parseInt(Z2[0]),!0),this.synth.programChange(A,parseInt(Z2[1]),!0),v1.mainDiv.classList.add("locked_selector"),this.synth.lockController(A,qi,!0)});r.appendChild(v1.mainDiv),G0.innerHTML=by(Sn),this.locale.bindObjectProperty(G0,"title",ke+"channelController.presetReset.description",[A+1]),G0.classList.add("controller_element"),G0.classList.add("voice_reset"),G0.onclick=()=>{this.synth.lockController(A,qi,!1),v1.mainDiv.classList.remove("locked_selector")},r.appendChild(G0);let h2=document.createElement("div");h2.innerHTML=vm(Sn),this.locale.bindObjectProperty(h2,"title",ke+"channelController.soloButton.description",[A+1]),h2.classList.add("controller_element"),h2.classList.add("mute_button"),h2.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 k2=0;k2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let k2=0;k2{if(k1.hasAttribute("is_muted")){k1.removeAttribute("is_muted");let k2=this.soloChannels.size===0||this.soloChannels.has(A);this.synth.muteChannel(A,!k2),k1.innerHTML=PB(Sn)}else this.synth.muteChannel(A,!0),k1.setAttribute("is_muted","true"),k1.innerHTML=ky(Sn)},r.appendChild(k1);let Q5=document.createElement("div");return Q5.innerHTML=A===vi?Sm(Sn):Dm(Sn),this.locale.bindObjectProperty(Q5,"title",ke+"channelController.drumToggleButton.description",[A+1]),Q5.classList.add("controller_element"),Q5.classList.add("mute_button"),Q5.onclick=()=>{this.synth.setDrums(A,!this.synth.channelProperties[A].isDrum)},r.appendChild(Q5),{controller:r,voiceMeter:l,pitchWheel:g,pan:h0,expression:_0,volume:Q0,mod:y0,chorus:m1,reverb:N,preset:v1,presetReset:G0,drumsToggle:Q5,soloButton:h2,muteButton:k1,transpose:V0}}function qy(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(y0)/100),this.volumeController.update(y0)}),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("",ke+"mainPanMeter",this.locale,[],-1,1,!0,y0=>{this.synth.setMasterPan(y0),this.panController.update(y0)}),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("",ke+"mainTransposeMeter",this.locale,[],-12,12,!0,y0=>{this.synth.transpose(Math.round(y0*2)/2),this.transposeController.update(Math.round(y0*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",ke+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",ke+"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",ke+"systemReset.title"),this.locale.bindObjectProperty(l,"title",ke+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>this.synth.resetControllers();let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",ke+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",ke+"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",ke+"disableCustomVibrato.title"),this.locale.bindObjectProperty(u,"title",ke+"disableCustomVibrato.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{this.synth.lockAndResetChannelVibrato(),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",ke+"helpButton.title"),this.locale.bindObjectProperty(b,"title",ke+"helpButton.description");let h0=document.createElement("select");h0.classList.add("main_controller_element"),h0.classList.add("synthui_button"),this.locale.bindObjectProperty(h0,"title",ke+"interpolation.description");{let y0=document.createElement("option");y0.value="0",y0.selected=!0,this.locale.bindObjectProperty(y0,"textContent",ke+"interpolation.linear"),h0.appendChild(y0);let m1=document.createElement("option");m1.value="1",this.locale.bindObjectProperty(m1,"textContent",ke+"interpolation.nearestNeighbor"),h0.appendChild(m1),h0.onchange=()=>{this.synth.setInterpolationType(parseInt(h0.value))}}let _0=document.createElement("div");_0.classList.add("synthui_controller"),this.uiDiv.appendChild(_0);let Q0=document.createElement("button");this.locale.bindObjectProperty(Q0,"textContent",ke+"toggleButton.title"),this.locale.bindObjectProperty(Q0,"title",ke+"toggleButton.description"),Q0.classList.add("synthui_button"),Q0.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(h0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,u,Q0,b,h0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(Q0),_0.appendChild(A),this.mainControllerDiv=_0,this.mainControllerDiv.onclick=y0=>y0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}_0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Jy(){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(40)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,u=r.controllerValue;switch(l){default:break;case a6.expressionController:this.controllers[g].expression.update(u);break;case a6.mainVolume:this.controllers[g].volume.update(u);break;case a6.pan:this.controllers[g].pan.update(u);break;case a6.modulationWheel:this.controllers[g].mod.update(u);break;case a6.effects3Depth:this.controllers[g].chorus.update(u);break;case a6.effects1Depth:this.controllers[g].reverb.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?Sm(32):Dm(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 ke="locale.synthesizerController.",Tr=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 et.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case et.settingsShow:this.isShown=!0,this.toggleVisibility();break;case et.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case et.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.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}`)})})}};Tr.prototype.hideControllers=Gy;Tr.prototype.showControllers=Uy;Tr.prototype.toggleDarkMode=Oy;Tr.prototype.createChannelController=Hy;Tr.prototype.createChannelControllers=qy;Tr.prototype.createMainSynthController=Yy;Tr.prototype.setEventListeners=Jy;var DC=null,_m=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=DC,this.selectedOutput=DC,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,J5("%cMIDI handler created!",b1.recognized),!0}catch(r){return R4("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return R4("Web MIDI Api not supported!",b1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),J5(`%cPlaying MIDI to %c${r.name}`,b1.info,b1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=DC,r.connectMidiOutput(void 0),J5("%cDisconnected from MIDI out.",b1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},J5(`%cListening for messages on %c${r.name}`,b1.info,b1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=DC,r.onmidimessage=void 0,J5(`%cDisconnected from %c${r.name}`,b1.info,b1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=DC;for(let r of this.inputs)r[1].onmidimessage=void 0}};var Rm=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)}),J5("%cWeb MIDI Link handler created!",b1.recognized)}};var Mo="midi range";function Ky(A,r,l){let g=0,u=this.htmlControls.keyboard,b=()=>{let h0=document.createElement("option");h0.value=g.toString(),this.locale.bindObjectProperty(h0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),h0.style.background=r.channelColors[g%r.channelColors.length],h0.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(h0),g++};for(let h0=0;h0{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===Mo?(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===Mo?(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=h0=>{h0.addOnSongChangeEvent(_0=>{this.autoKeyRange&&(A.keyRange=_0.keyRange,l.keyRange=_0.keyRange),_0.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",h0=>{h0.userCalled&&(A.selectChannel(h0.channel),u.channelSelector.value=h0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",h0=>{if(h0.isMuted&&h0.channel===A.channel){let _0=0;for(;r.synth.channelProperties[_0].isMuted;)_0++;_0{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 Vy=`

@@ -203,15 +203,15 @@ var dm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>(
-`;function Dn(A){return A.parentElement.nextElementSibling}function zy(A){let r=A.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(qB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function qB(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"),h0=A.getAttribute("units"),_0=A.getAttribute("input_id"),Q0=document.createElement("input");Q0.classList.add("settings_slider"),Q0.type="range",Q0.id=_0,Q0.min=g,Q0.max=u,Q0.value=b;let y0;r&&(y0=document.createElement("span"),y0.textContent=b+h0);let m1=document.createElement("div");m1.classList.add("settings_visual_wrapper");let N=document.createElement("div");N.classList.add("settings_slider_progress"),m1.appendChild(N);let V0=document.createElement("div");return V0.classList.add("settings_slider_thumb"),m1.appendChild(V0),m1.appendChild(Q0),Q0.addEventListener("input",()=>{let G0=parseInt(m1.style.getPropertyValue("--visual-width").replace("%","")),v1=Math.round((Q0.value-Q0.min)/(Q0.max-Q0.min)*100);Math.abs((G0-v1)/100)>.05?m1.classList.add("settings_slider_transition"):m1.classList.remove("settings_slider_transition"),m1.style.setProperty("--visual-width",`${v1}%`)}),m1.style.setProperty("--visual-width",`${(Q0.value-Q0.min)/(Q0.max-Q0.min)*100}%`),l.appendChild(m1),r&&l.appendChild(y0),l}async function Zy(){let A=await window.savedSettings;if(!A.interface)return;J5("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 h0=this.htmlControls.keyboard,_0=this.midiKeyboard,Q0=A.keyboard;_0.setKeyRange(Q0.keyRange,!1),Q0.autoRange?(h0.sizeSelector.value=Mo,this.autoKeyRange=!0):(this.autoKeyRange=!1,h0.sizeSelector.value=Object.keys(this.keyboardSizes).find(y0=>this.keyboardSizes[y0].min===Q0.keyRange.min&&this.keyboardSizes[y0].max===Q0.keyRange.max)),Q0.mode==="dark"&&(_0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),Q0.show===!1&&(_0.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 Wy(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function jy(){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===Mo,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 Xy(){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 ew(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 Rm={start:"#101010",end:"#212121"},xm={start:"#bbb",end:"#f0f0f0"},tw="#eee",iw="#333",Lm={start:"#222",end:"#333"},Fm={start:"#ccc",end:"#fff"},bn=.2;function rw(){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(iw,tw,bn,r,"--font-color"),_n(Fm.start,Lm.start,bn,r,"--top-buttons-color-start"),_n(Fm.end,Lm.end,bn,r,"--top-buttons-color-end"),_n(xm.start,Rm.start,bn,r,"--top-color-start"),_n(xm.end,Rm.end,bn,r,"--top-color-end")):(_n(tw,iw,bn,r,"--font-color"),_n(Lm.start,Fm.start,bn,r,"--top-buttons-color-start"),_n(Lm.end,Fm.end,bn,r,"--top-buttons-color-end"),_n(Rm.start,xm.start,bn,r,"--top-color-start"),_n(Rm.end,xm.end,bn,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var uh={};function _n(A,r,l,g,u){uh[u]&&(clearInterval(uh[u]),uh[u]=void 0);function b(N){N.length===4&&(N=`#${N[1]}${N[1]}${N[2]}${N[2]}${N[3]}${N[3]}`);let V0=parseInt(N.slice(1),16);return{r:V0>>16&255,g:V0>>8&255,b:V0&255}}function h0(N,V0,G0){return N+(V0-N)*G0}let _0=b(A),Q0=b(r),y0=performance.now()/1e3;function m1(){let V0=performance.now()/1e3-y0,G0=Math.min(V0/l,1),v1=Math.round(h0(_0.r,Q0.r,G0)),h2=Math.round(h0(_0.g,Q0.g,G0)),k1=Math.round(h0(_0.b,Q0.b,G0));g.style.setProperty(u,`rgb(${v1}, ${h2}, ${k1})`),G0>=1&&(clearInterval(uh[u]),uh[u]=void 0)}uh[u]=setInterval(m1,1e3/60)}function nw(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 To(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 sw(A,r){switch(A.type){case"button":let l=document.createElement("button");return To(l,A,r),y$(A,[l]),l;case"text":let g=document.createElement("p");return To(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");To(b,A,r),b.addEventListener("keydown",Q5=>Q5.stopPropagation());let h0=document.createElement("label");return To(h0,A,r),y$(A,[b,h0]),u.append(h0),u.appendChild(b),u;case"file":let _0=document.createElement("label");_0.classList.add("notification_input_wrapper");let Q0=document.createElement("input");Q0.type="file";let y0=document.createElement("label");y0.classList.add("notification_file_button"),To(y0,A,r);let m1=document.createElement("label");return To(m1,A,r),y$(A,[y0,Q0,m1]),y0.appendChild(Q0),_0.append(m1),_0.appendChild(y0),_0;case"progress":let N=document.createElement("div");N.classList.add("notification_progress_background");let V0=document.createElement("div");return V0.classList.add("notification_progress"),y$(A,[V0,N]),N.appendChild(V0),N;case"toggle":return qD(A,r);case"range":let G0=document.createElement("input");G0.type="range";let v1=document.createElement("label");y$(A,[G0,v1]),To(v1,A,r);let h2=qB(G0,!1),k1=document.createElement("div");return k1.classList.add("notification_slider_wrapper"),k1.appendChild(v1),k1.appendChild(h2),k1}}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 qD(A,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");To(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 h0=document.createElement("div");return h0.classList.add("notification_switch_slider"),b.appendChild(h0),l.appendChild(g),l.appendChild(b),l}var YD=13,JD=0,Mm={};function C7(A,r,l=YD,g=!0,u=void 0,b=void 0){let h0=document.createElement("div"),_0=JD++;h0.classList.add("notification"),h0.innerHTML=` +`;function Dn(A){return A.parentElement.nextElementSibling}function zy(A){let r=A.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(qB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function qB(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"),h0=A.getAttribute("units"),_0=A.getAttribute("input_id"),Q0=document.createElement("input");Q0.classList.add("settings_slider"),Q0.type="range",Q0.id=_0,Q0.min=g,Q0.max=u,Q0.value=b;let y0;r&&(y0=document.createElement("span"),y0.textContent=b+h0);let m1=document.createElement("div");m1.classList.add("settings_visual_wrapper");let N=document.createElement("div");N.classList.add("settings_slider_progress"),m1.appendChild(N);let V0=document.createElement("div");return V0.classList.add("settings_slider_thumb"),m1.appendChild(V0),m1.appendChild(Q0),Q0.addEventListener("input",()=>{let G0=parseInt(m1.style.getPropertyValue("--visual-width").replace("%","")),v1=Math.round((Q0.value-Q0.min)/(Q0.max-Q0.min)*100);Math.abs((G0-v1)/100)>.05?m1.classList.add("settings_slider_transition"):m1.classList.remove("settings_slider_transition"),m1.style.setProperty("--visual-width",`${v1}%`)}),m1.style.setProperty("--visual-width",`${(Q0.value-Q0.min)/(Q0.max-Q0.min)*100}%`),l.appendChild(m1),r&&l.appendChild(y0),l}async function Zy(){let A=await window.savedSettings;if(!A.interface)return;J5("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 h0=this.htmlControls.keyboard,_0=this.midiKeyboard,Q0=A.keyboard;_0.setKeyRange(Q0.keyRange,!1),Q0.autoRange?(h0.sizeSelector.value=Mo,this.autoKeyRange=!0):(this.autoKeyRange=!1,h0.sizeSelector.value=Object.keys(this.keyboardSizes).find(y0=>this.keyboardSizes[y0].min===Q0.keyRange.min&&this.keyboardSizes[y0].max===Q0.keyRange.max)),Q0.mode==="dark"&&(_0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),Q0.show===!1&&(_0.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 Wy(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function jy(){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===Mo,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 Xy(){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 ew(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 xm={start:"#101010",end:"#212121"},Lm={start:"#bbb",end:"#f0f0f0"},tw="#eee",iw="#333",Fm={start:"#222",end:"#333"},Mm={start:"#ccc",end:"#fff"},bn=.2;function rw(){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(iw,tw,bn,r,"--font-color"),_n(Mm.start,Fm.start,bn,r,"--top-buttons-color-start"),_n(Mm.end,Fm.end,bn,r,"--top-buttons-color-end"),_n(Lm.start,xm.start,bn,r,"--top-color-start"),_n(Lm.end,xm.end,bn,r,"--top-color-end")):(_n(tw,iw,bn,r,"--font-color"),_n(Fm.start,Mm.start,bn,r,"--top-buttons-color-start"),_n(Fm.end,Mm.end,bn,r,"--top-buttons-color-end"),_n(xm.start,Lm.start,bn,r,"--top-color-start"),_n(xm.end,Lm.end,bn,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var uh={};function _n(A,r,l,g,u){uh[u]&&(clearInterval(uh[u]),uh[u]=void 0);function b(N){N.length===4&&(N=`#${N[1]}${N[1]}${N[2]}${N[2]}${N[3]}${N[3]}`);let V0=parseInt(N.slice(1),16);return{r:V0>>16&255,g:V0>>8&255,b:V0&255}}function h0(N,V0,G0){return N+(V0-N)*G0}let _0=b(A),Q0=b(r),y0=performance.now()/1e3;function m1(){let V0=performance.now()/1e3-y0,G0=Math.min(V0/l,1),v1=Math.round(h0(_0.r,Q0.r,G0)),h2=Math.round(h0(_0.g,Q0.g,G0)),k1=Math.round(h0(_0.b,Q0.b,G0));g.style.setProperty(u,`rgb(${v1}, ${h2}, ${k1})`),G0>=1&&(clearInterval(uh[u]),uh[u]=void 0)}uh[u]=setInterval(m1,1e3/60)}function nw(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 To(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 sw(A,r){switch(A.type){case"button":let l=document.createElement("button");return To(l,A,r),y$(A,[l]),l;case"text":let g=document.createElement("p");return To(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");To(b,A,r),b.addEventListener("keydown",Q5=>Q5.stopPropagation());let h0=document.createElement("label");return To(h0,A,r),y$(A,[b,h0]),u.append(h0),u.appendChild(b),u;case"file":let _0=document.createElement("label");_0.classList.add("notification_input_wrapper");let Q0=document.createElement("input");Q0.type="file";let y0=document.createElement("label");y0.classList.add("notification_file_button"),To(y0,A,r);let m1=document.createElement("label");return To(m1,A,r),y$(A,[y0,Q0,m1]),y0.appendChild(Q0),_0.append(m1),_0.appendChild(y0),_0;case"progress":let N=document.createElement("div");N.classList.add("notification_progress_background");let V0=document.createElement("div");return V0.classList.add("notification_progress"),y$(A,[V0,N]),N.appendChild(V0),N;case"toggle":return qD(A,r);case"range":let G0=document.createElement("input");G0.type="range";let v1=document.createElement("label");y$(A,[G0,v1]),To(v1,A,r);let h2=qB(G0,!1),k1=document.createElement("div");return k1.classList.add("notification_slider_wrapper"),k1.appendChild(v1),k1.appendChild(h2),k1}}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 qD(A,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");To(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 h0=document.createElement("div");return h0.classList.add("notification_switch_slider"),b.appendChild(h0),l.appendChild(g),l.appendChild(b),l}var YD=13,JD=0,Tm={};function C7(A,r,l=YD,g=!0,u=void 0,b=void 0){let h0=document.createElement("div"),_0=JD++;h0.classList.add("notification"),h0.innerHTML=`

${A}

\xD7 -
`;let Q0=document.createElement("div");if(Q0.classList.add("notification_content"),b)for(let[m1,N]of Object.entries(b))Q0.style[m1]=N;h0.appendChild(Q0);for(let m1 of r){let N=sw(m1,u);m1.onClick&&(N.onclick=()=>m1.onClick({div:h0,id:_0},N)),Q0.appendChild(N)}g?h0.getElementsByClassName("close_btn")[0].onclick=()=>{P7(_0)}:h0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{h0.classList.add("drop")},75);let y0=setTimeout(()=>{P7(_0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(h0),Mm[_0]={div:h0,timeout:y0},{div:h0,id:_0}}function P7(A){let r=Mm[A].div;clearTimeout(Mm[A].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),Mm[A]=void 0}function Aw(A,r,l){A.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(A,l.synth),this._createMidiOutputHandler(A,r)):(wn||C7(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function ow(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 $w={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 lw={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 cw={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 gw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:$w,keyboardSettings:lw,midiSettings:cw,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 hw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var fw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using"},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 uw={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"},channelController:fw};var dw={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 Iw={button:{title:"Save",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 Ew={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:Iw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",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:hw,settings:gw,synthesizerController:uw,sequencerController:dw};var Cw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var mw={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 Bw={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 pw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Cw,keyboardSettings:mw,midiSettings:Bw,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 Qw={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 yw={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)"},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}"},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 ww={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"},channelController:yw};var kw={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 vw={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 Sw={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:vw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",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:Qw,settings:pw,synthesizerController:ww,sequencerController:kw};var Dw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var bw={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 _w={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Rw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Dw,keyboardSettings:bw,midiSettings:_w,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 xw={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 Lw={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"},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"},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 Fw={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:Lw};var Mw={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 Tw={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 Nw={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:Tw,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",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 Q0=document.createElement("div");if(Q0.classList.add("notification_content"),b)for(let[m1,N]of Object.entries(b))Q0.style[m1]=N;h0.appendChild(Q0);for(let m1 of r){let N=sw(m1,u);m1.onClick&&(N.onclick=()=>m1.onClick({div:h0,id:_0},N)),Q0.appendChild(N)}g?h0.getElementsByClassName("close_btn")[0].onclick=()=>{P7(_0)}:h0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{h0.classList.add("drop")},75);let y0=setTimeout(()=>{P7(_0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(h0),Tm[_0]={div:h0,timeout:y0},{div:h0,id:_0}}function P7(A){let r=Tm[A].div;clearTimeout(Tm[A].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),Tm[A]=void 0}function Aw(A,r,l){A.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(A,l.synth),this._createMidiOutputHandler(A,r)):(wn||C7(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function ow(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 $w={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 lw={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 cw={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 gw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:$w,keyboardSettings:lw,midiSettings:cw,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 hw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var fw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using"},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 uw={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"},channelController:fw};var dw={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 Iw={button:{title:"Save",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 Ew={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:Iw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",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:hw,settings:gw,synthesizerController:uw,sequencerController:dw};var Cw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var mw={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 Bw={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 pw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Cw,keyboardSettings:mw,midiSettings:Bw,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 Qw={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 yw={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)"},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}"},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 ww={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"},channelController:yw};var kw={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 vw={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 Sw={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:vw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",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:Qw,settings:pw,synthesizerController:ww,sequencerController:kw};var Dw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var bw={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 _w={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Rw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Dw,keyboardSettings:bw,midiSettings:_w,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 xw={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 Lw={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"},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"},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 Fw={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:Lw};var Mw={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 Tw={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 Nw={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:Tw,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",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:xw,settings:Rw,synthesizerController:Fw,sequencerController:Mw};var YB="en",w$={en:Ew,pl:Sw,ja:Nw};var KD=.2,Ei=class{constructor(r,l,g,u,b,h0,_0,Q0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=b,this.midiDeviceHandler=h0,this.synthui=l,this.sequi=g,this.locale=Q0,this.musicMode=_0,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 y0=document.createElement("div");y0.style.position="relative",y0.classList.add("seamless_button"),y0.classList.add("settings_button"),r.appendChild(y0);let m1=document.createElement("div");m1.classList.add("seamless_button"),this.locale.bindObjectProperty(m1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(m1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(m1);let N=document.createElement("div");N.classList.add("seamless_button"),this.locale.bindObjectProperty(N,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(N,"title","locale.hideTopBar.description"),r.appendChild(N);let V0=document.getElementsByClassName("show_top_button")[0];V0.innerHTML=Dy(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),y0.appendChild(G0);let v1=document.createElement("div");v1.innerHTML=vy(24),v1.classList.add("gear"),y0.appendChild(v1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,y0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),m1.onclick=this.toggleMusicPlayerMode.bind(this),N.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=Vy,zy(this.mainDiv);for(let k1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(k1,"textContent",k1.getAttribute("translate-path"));for(let k1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Q5=k1.getAttribute("translate-path-title");this.locale.bindObjectProperty(k1,"textContent",Q5+".title"),this.locale.bindObjectProperty(k1,"title",Q5+".description")}this.getHtmlControls(),document.addEventListener("keydown",k1=>{switch(k1.key.toLowerCase()){case et.settingsShow:this.setVisibility(!this.visible);break;case et.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,b,h0,g,l)}):this.createHandlers(u,b,h0,g,l),this.topPartVisible=!0;let h2=!1;window.addEventListener("resize",()=>{let k1=window.screen.height,Q5=window.screen.width,k2=window.outerHeight,Z2=window.outerWidth,a3;a3=Q5===Z2&&k1===k2,a3!==h2&&(h2=a3,a3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;async toggleMusicPlayerMode(){if(this.musicMode.visible===!1){try{await document.body.requestFullscreen()}catch{}await new Promise(r=>setTimeout(r,500))}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"},KD*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")}}}};Ei.prototype._toggleDarkMode=rw;Ei.prototype._createInterfaceSettingsHandler=Xy;Ei.prototype._changeLayout=ew;Ei.prototype._createRendererHandler=nw;Ei.prototype._createMidiSettingsHandler=Aw;Ei.prototype._createMidiInputHandler=ow;Ei.prototype._createMidiOutputHandler=aw;Ei.prototype._createKeyboardHandler=Ky;Ei.prototype._loadSettings=Zy;Ei.prototype._serializeSettings=jy;Ei.prototype._saveSettings=Wy;var Gw=.5,Tm=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:xw,settings:Rw,synthesizerController:Fw,sequencerController:Mw};var YB="en",w$={en:Ew,pl:Sw,ja:Nw};var KD=.2,Ei=class{constructor(r,l,g,u,b,h0,_0,Q0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=b,this.midiDeviceHandler=h0,this.synthui=l,this.sequi=g,this.locale=Q0,this.musicMode=_0,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 y0=document.createElement("div");y0.style.position="relative",y0.classList.add("seamless_button"),y0.classList.add("settings_button"),r.appendChild(y0);let m1=document.createElement("div");m1.classList.add("seamless_button"),this.locale.bindObjectProperty(m1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(m1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(m1);let N=document.createElement("div");N.classList.add("seamless_button"),this.locale.bindObjectProperty(N,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(N,"title","locale.hideTopBar.description"),r.appendChild(N);let V0=document.getElementsByClassName("show_top_button")[0];V0.innerHTML=Dy(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),y0.appendChild(G0);let v1=document.createElement("div");v1.innerHTML=vy(24),v1.classList.add("gear"),y0.appendChild(v1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,y0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),m1.onclick=this.toggleMusicPlayerMode.bind(this),N.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=Vy,zy(this.mainDiv);for(let k1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(k1,"textContent",k1.getAttribute("translate-path"));for(let k1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Q5=k1.getAttribute("translate-path-title");this.locale.bindObjectProperty(k1,"textContent",Q5+".title"),this.locale.bindObjectProperty(k1,"title",Q5+".description")}this.getHtmlControls(),document.addEventListener("keydown",k1=>{switch(k1.key.toLowerCase()){case et.settingsShow:this.setVisibility(!this.visible);break;case et.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,b,h0,g,l)}):this.createHandlers(u,b,h0,g,l),this.topPartVisible=!0;let h2=!1;window.addEventListener("resize",()=>{let k1=window.screen.height,Q5=window.screen.width,k2=window.outerHeight,Z2=window.outerWidth,a3;a3=Q5===Z2&&k1===k2,a3!==h2&&(h2=a3,a3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;async toggleMusicPlayerMode(){if(this.musicMode.visible===!1){try{await document.body.requestFullscreen()}catch{}await new Promise(r=>setTimeout(r,500))}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"},KD*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")}}}};Ei.prototype._toggleDarkMode=rw;Ei.prototype._createInterfaceSettingsHandler=Xy;Ei.prototype._changeLayout=ew;Ei.prototype._createRendererHandler=nw;Ei.prototype._createMidiSettingsHandler=Aw;Ei.prototype._createMidiInputHandler=ow;Ei.prototype._createMidiOutputHandler=aw;Ei.prototype._createKeyboardHandler=Ky;Ei.prototype._loadSettings=Zy;Ei.prototype._serializeSettings=jy;Ei.prototype._saveSettings=Wy;var Gw=.5,Nm=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=`
@@ -256,19 +256,19 @@ var dm=(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,v1,h2=!0)=>{let k1=document.getElementById(G0);if(v1.length>0)if(k1.parentElement.classList.remove("hidden"),k1.innerHTML="",v1.length>30&&h2){k1.classList.add("marquee");let Q5=document.createElement("span");Q5.textContent=v1,k1.appendChild(Q5)}else k1.textContent=v1;else k1.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,v1,h2,k1="")=>this.seq.midiData.RMIDInfo?.[G0]===void 0?v1:k1+h2.decode(this.seq.midiData.RMIDInfo?.[G0]).replace(/\0$/,""),h0=b("IENC","ascii",new TextDecoder),_0=new TextDecoder(h0);u("player_info_album",b("IPRD","",_0)),u("player_info_artist",b("IART","",_0)),u("player_info_genre",b("IGNR","",_0)),u("player_info_creation",b("ICRD","",_0)+b("ICRT","",_0,` -`)),u("player_info_comment",b("ICMT","",_0));let Q0=this.mainDiv.getElementsByTagName("svg")[0],y0=this.mainDiv.getElementsByTagName("img")[0],m1=document.getElementById("player_info_background_image");if(!l.isEmbedded){Q0.style.display="",y0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){Q0.style.display="",y0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}Q0.style.display="none",y0.style.display="";let N=new Blob([l.RMIDInfo.IPIC.buffer]),V0=URL.createObjectURL(N);y0.src=V0,m1.style.setProperty("--bg-image",`url('${V0}')`)},"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=""},Gw*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=""},Gw*1e3)}}};var Nm=class{constructor(r){this.locale=w$[r]||w$[YB],this.fallbackLocale=w$[YB],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 JB(A,r=!0,l=0,g={},u=void 0){let b=A.getChannelData(l),h0=A.getChannelData(l+1),_0=b.length,Q0=2,y0=new Y3(0),m1=Object.keys(g).length>0;if(m1){let A0=new TextEncoder,S5=[Ro("INFO"),Ve("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&S5.push(Ve("IART",A0.encode(g.artist),!0)),g.album&&S5.push(Ve("IPRD",A0.encode(g.album),!0)),g.genre&&S5.push(Ve("IGNR",A0.encode(g.genre),!0)),g.title&&S5.push(Ve("INAM",A0.encode(g.title),!0)),y0=Ve("LIST",yn(S5))}let N=new Y3(0),V0=u?.end!==void 0&&u?.start!==void 0;if(V0){let A0=Math.floor(u.start*A.sampleRate),S5=Math.floor(u.end*A.sampleRate),g3=new Y3(24);lt(g3,0,4),lt(g3,0,4),gt(g3,"data"),lt(g3,0,4),lt(g3,0,4),lt(g3,A0,4);let J3=new Y3(24);lt(J3,1,4),lt(J3,0,4),gt(J3,"data"),lt(J3,0,4),lt(J3,0,4),lt(J3,S5,4);let s9=yn([new Y3([2,0,0,0]),g3,J3]);N=Ve("cue ",s9)}let G0=44,v1=_0*2*Q0,h2=G0+v1+y0.length+N.length-8,k1=new Uint8Array(G0);k1.set([82,73,70,70],0),k1.set(new Uint8Array([h2&255,h2>>8&255,h2>>16&255,h2>>24&255]),4),k1.set([87,65,86,69],8),k1.set([102,109,116,32],12),k1.set([16,0,0,0],16),k1.set([1,0],20),k1.set([2,0],22);let Q5=A.sampleRate;k1.set(new Uint8Array([Q5&255,Q5>>8&255,Q5>>16&255,Q5>>24&255]),24);let k2=Q5*2*Q0;k1.set(new Uint8Array([k2&255,k2>>8&255,k2>>16&255,k2>>24&255]),28),k1.set([4,0],32),k1.set([16,0],34),k1.set([100,97,116,97],36),k1.set(new Uint8Array([v1&255,v1>>8&255,v1>>16&255,v1>>24&255]),40);let Z2=new Uint8Array(h2+8),a3=G0;Z2.set(k1,0);let Y5=32767;if(r){let A0=b.map((S5,g3)=>Math.max(Math.abs(S5),Math.abs(h0[g3]))).reduce((S5,g3)=>Math.max(S5,g3));Y5=A0>0?32767/A0:1}for(let A0=0;A0<_0;A0++){let S5=Math.min(32767,Math.max(-37268,b[A0]*Y5)),g3=Math.min(32767,Math.max(-37268,h0[A0]*Y5));Z2[a3++]=S5&255,Z2[a3++]=S5>>8&255,Z2[a3++]=g3&255,Z2[a3++]=g3>>8&255}return m1&&(Z2.set(y0,a3),a3+=y0.length),V0&&Z2.set(N,a3),new Blob([Z2.buffer],{type:"audio/wav"})}var Gm="synthetizer/worklet_processor.min.js";var Uw=1e3;async function Ow(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"),h0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),_0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),Q0=C7(b,[{type:"text",textContent:_0},{type:"progress"}],9999999,!1),y0=await this.seq.getMIDI(),m1=kC(y0.loop.start,y0),N=kC(y0.loop.end,y0),V0=N-m1,G0=y0.duration+r+V0*u,v1=this.context.sampleRate,h2=v1*G0,k1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:v1,length:h2});await k1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+Gm,import.meta.url));let Q5=await this.synth.getSynthesizerSnapshot(),k2=this.soundFont,Z2;try{Z2=new lh(k1.destination,k2,!1,{parsedMIDI:y0,snapshot:Q5,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(k9){throw C7(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),k9}let a3=Q0.div.getElementsByTagName("p")[0],Y5=Q0.div.getElementsByClassName("notification_progress")[0],A0=Uw/1e3,S5=Z2.currentTime,g3=G0,J3=.1,s9=setInterval(()=>{let k9=Z2.currentTime-S5;S5=Z2.currentTime;let de=Z2.currentTime/G0;Y5.style.width=`${de*100}%`;let d4=k9/A0,z6=(1-de)/d4*G0;z6!==1/0&&(g3=J3*z6+(1-J3)*g3,a3.innerText=`${h0} ${I$(g3).time}`)},Uw),m6=await k1.startRendering();if(Y5.style.width="100%",clearInterval(s9),a3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(k9=>setTimeout(k9,75)),l){let k9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",de=[],d4=new Set;for(let ze of y0.usedChannelsOnTrack)ze.forEach(Nr=>d4.add(Nr));for(let ze=0;ze<16;ze++){let Nr=!0;for(let Yi=ze;Yi{let Ms=Oo.textContent;Oo.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Km=>setTimeout(Km,75));let RC=JB(m6,!1,ze*2),b$=`${ze+1} - ${Q5.channelSnapshots[ze].patchName}.wav`;this.saveBlob(RC,b$),Oo.classList.add("green_button"),Oo.textContent=Ms}})}let z6=C7(this.localeManager.getLocaleString(k9+"title"),de,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});z6.div.style.width="30rem"}else{let k9=kC(y0.firstNoteOn,y0),de=m1-k9,d4=N-k9,z6;u===0&&(z6={start:de,end:d4});let ze=JB(m6,A,0,g,z6);this.saveBlob(ze,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}P7(Q0.id),this.isExporting=!1}async function Pw(){if(this.isExporting)return;let A="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(y0,m1,N)=>this.seq.midiData.RMIDInfo?.[y0]===void 0?m1:N.decode(this.seq.midiData.RMIDInfo?.[y0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),u=new TextDecoder(g),b=l("IPRD","",u),h0=l("IART","",u),_0=l("IGNR","",u),Q0=[{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:h0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:_0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:y0=>{P7(y0.id);let m1=y0.div.querySelector("input[normalize-volume-toggle]").checked,N=y0.div.querySelector("input[additional-time]").value,V0=y0.div.querySelector("input[loop-count]").value,G0=y0.div.querySelector("input[separate-channels-toggle]").checked,v1=y0.div.querySelector("input[name='artist']").value,h2=y0.div.querySelector("input[name='album']").value,k1=y0.div.querySelector("input[name='song_title']").value,Q5=y0.div.querySelector("input[name='genre']").value,k2={artist:v1.length>0?v1:void 0,album:h2.length>0?h2:void 0,title:k1.length>0?k1:void 0,genre:Q5.length>0?Q5:void 0};this._doExportAudioData(m1,parseInt(N),G0,k2,parseInt(V0))}}];C7(this.localeManager.getLocaleString(A+"title"),Q0,9999999,!0,this.localeManager)}async function Hw(){let A=await this.seq.getMIDI();hh(A,await this.synth.getSynthesizerSnapshot());let r=Qm(A),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function qw(A,r){ii("%cSearching for all used programs and keys...",b1.info);let l=16+A.midiPortChannelOffsets.reduce((N,V0)=>V0>N?V0:N),g=[];for(let N=0;N{h0[v1]>=G0.length||G0[h0[v1]].ticks0;){let N=Q0(),V0=A.tracks[N];if(h0[N]>=V0.length){_0--;continue}let G0=V0[h0[N]];if(h0[N]++,G0.messageStatusByte===z3.midiPort){y0[N]=G0.messageData[0];continue}let v1=G0.messageStatusByte&240;if(v1!==z3.noteOn&&v1!==z3.controllerChange&&v1!==z3.programChange&&v1!==z3.systemExclusive)continue;let h2=(G0.messageStatusByte&15)+A.midiPortChannelOffsets[y0[N]]||0,k1=g[h2];switch(v1){case z3.programChange:k1.program=G0.messageData[0],u(k1);break;case z3.controllerChange:if(G0.messageData[0]!==a6.bankSelect||m1==="gs"&&k1.drums)continue;let Q5=G0.messageData[1],k2=Math.max(0,Q5-A.bankOffset);if(m1==="xg"){let Y5=Q5===120||Q5===126||Q5===127;Y5!==k1.drums?(k1.drums=Y5,k1.bank=k1.drums?128:k2,u(k1)):k1.bank=k1.drums?128:k2;continue}g[h2].bank=k2;break;case z3.noteOn:if(G0.messageData[1]===0)continue;u(k1),b[k1.string].add(`${G0.messageData[0]}-${G0.messageData[1]}`);break;case z3.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&&(m1="xg");continue}let Z2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][G0.messageData[5]&15]+A.midiPortChannelOffsets[y0[N]],a3=!!(G0.messageData[7]>0&&G0.messageData[5]>>4);k1=g[Z2],k1.drums=a3,k1.bank=a3?128:0,u(k1);break}}for(let N of Object.keys(b))b[N].size===0&&(J5(`%cDetected change but no keys for %c${N}`,b1.info,b1.value),delete b[N]);return i4(),b}function Um(A,r){function l(u,b){let h0=0;for(let _0=0;_0=y0.min&&V0.key<=y0.max&&V0.velocity>=m1.min&&V0.velocity<=m1.max){N=!0;break}N||(J5(`%c${Q0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${Q0.useCount-1}`,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized),u.safeDeleteZone(_0)&&(h0++,_0--,J5(`%c${Q0.sample.sampleName} %cdeleted`,b1.recognized,b1.info)),Q0.sample.useCount<1&&A.deleteSample(Q0.sample))}return h0}lr("%cTrimming soundfont...",b1.info);let g=qw(r,A);ii("%cModifying soundfont...",b1.info),J5("Detected keys for midi:",g);for(let u=0;u{let N=m1.split("-");return{key:parseInt(N[0]),velocity:parseInt(N[1])}});ii(`%cTrimming %c${b.presetName}`,b1.info,b1.recognized),J5(`Keys for ${b.presetName}:`,Q0);let y0=0;for(let m1=0;m1=V0.min&&h2.key<=V0.max&&h2.velocity>=G0.min&&h2.velocity<=G0.max){v1=!0;let k1=l(N.instrument,Q0);J5(`%cTrimmed off %c${k1}%c zones from %c${N.instrument.instrumentName}`,b1.info,b1.recognized,b1.info,b1.recognized);break}v1||(y0++,b.deleteZone(m1),N.instrument.useCount<1&&A.deleteInstrument(N.instrument),m1--)}J5(`%cTrimmed off %c${y0}%c zones from %c${b.presetName}`,b1.info,b1.recognized,b1.info,b1.recognized),i4()}}A.removeUnusedElements(),A.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" +`)),u("player_info_comment",b("ICMT","",_0));let Q0=this.mainDiv.getElementsByTagName("svg")[0],y0=this.mainDiv.getElementsByTagName("img")[0],m1=document.getElementById("player_info_background_image");if(!l.isEmbedded){Q0.style.display="",y0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){Q0.style.display="",y0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}Q0.style.display="none",y0.style.display="";let N=new Blob([l.RMIDInfo.IPIC.buffer]),V0=URL.createObjectURL(N);y0.src=V0,m1.style.setProperty("--bg-image",`url('${V0}')`)},"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=""},Gw*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=""},Gw*1e3)}}};var Gm=class{constructor(r){this.locale=w$[r]||w$[YB],this.fallbackLocale=w$[YB],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 JB(A,r=!0,l=0,g={},u=void 0){let b=A.getChannelData(l),h0=A.getChannelData(l+1),_0=b.length,Q0=2,y0=new Y3(0),m1=Object.keys(g).length>0;if(m1){let A0=new TextEncoder,S5=[Ro("INFO"),Ve("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&S5.push(Ve("IART",A0.encode(g.artist),!0)),g.album&&S5.push(Ve("IPRD",A0.encode(g.album),!0)),g.genre&&S5.push(Ve("IGNR",A0.encode(g.genre),!0)),g.title&&S5.push(Ve("INAM",A0.encode(g.title),!0)),y0=Ve("LIST",yn(S5))}let N=new Y3(0),V0=u?.end!==void 0&&u?.start!==void 0;if(V0){let A0=Math.floor(u.start*A.sampleRate),S5=Math.floor(u.end*A.sampleRate),g3=new Y3(24);lt(g3,0,4),lt(g3,0,4),gt(g3,"data"),lt(g3,0,4),lt(g3,0,4),lt(g3,A0,4);let J3=new Y3(24);lt(J3,1,4),lt(J3,0,4),gt(J3,"data"),lt(J3,0,4),lt(J3,0,4),lt(J3,S5,4);let s9=yn([new Y3([2,0,0,0]),g3,J3]);N=Ve("cue ",s9)}let G0=44,v1=_0*2*Q0,h2=G0+v1+y0.length+N.length-8,k1=new Uint8Array(G0);k1.set([82,73,70,70],0),k1.set(new Uint8Array([h2&255,h2>>8&255,h2>>16&255,h2>>24&255]),4),k1.set([87,65,86,69],8),k1.set([102,109,116,32],12),k1.set([16,0,0,0],16),k1.set([1,0],20),k1.set([2,0],22);let Q5=A.sampleRate;k1.set(new Uint8Array([Q5&255,Q5>>8&255,Q5>>16&255,Q5>>24&255]),24);let k2=Q5*2*Q0;k1.set(new Uint8Array([k2&255,k2>>8&255,k2>>16&255,k2>>24&255]),28),k1.set([4,0],32),k1.set([16,0],34),k1.set([100,97,116,97],36),k1.set(new Uint8Array([v1&255,v1>>8&255,v1>>16&255,v1>>24&255]),40);let Z2=new Uint8Array(h2+8),a3=G0;Z2.set(k1,0);let Y5=32767;if(r){let A0=b.map((S5,g3)=>Math.max(Math.abs(S5),Math.abs(h0[g3]))).reduce((S5,g3)=>Math.max(S5,g3));Y5=A0>0?32767/A0:1}for(let A0=0;A0<_0;A0++){let S5=Math.min(32767,Math.max(-37268,b[A0]*Y5)),g3=Math.min(32767,Math.max(-37268,h0[A0]*Y5));Z2[a3++]=S5&255,Z2[a3++]=S5>>8&255,Z2[a3++]=g3&255,Z2[a3++]=g3>>8&255}return m1&&(Z2.set(y0,a3),a3+=y0.length),V0&&Z2.set(N,a3),new Blob([Z2.buffer],{type:"audio/wav"})}var Um="synthetizer/worklet_processor.min.js";var Uw=1e3;async function Ow(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"),h0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),_0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),Q0=C7(b,[{type:"text",textContent:_0},{type:"progress"}],9999999,!1),y0=await this.seq.getMIDI(),m1=kC(y0.loop.start,y0),N=kC(y0.loop.end,y0),V0=N-m1,G0=y0.duration+r+V0*u,v1=this.context.sampleRate,h2=v1*G0,k1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:v1,length:h2});await k1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+Um,import.meta.url));let Q5=await this.synth.getSynthesizerSnapshot(),k2=this.soundFont,Z2;try{Z2=new lh(k1.destination,k2,!1,{parsedMIDI:y0,snapshot:Q5,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(k9){throw C7(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),k9}let a3=Q0.div.getElementsByTagName("p")[0],Y5=Q0.div.getElementsByClassName("notification_progress")[0],A0=Uw/1e3,S5=Z2.currentTime,g3=G0,J3=.1,s9=setInterval(()=>{let k9=Z2.currentTime-S5;S5=Z2.currentTime;let de=Z2.currentTime/G0;Y5.style.width=`${de*100}%`;let d4=k9/A0,z6=(1-de)/d4*G0;z6!==1/0&&(g3=J3*z6+(1-J3)*g3,a3.innerText=`${h0} ${I$(g3).time}`)},Uw),m6=await k1.startRendering();if(Y5.style.width="100%",clearInterval(s9),a3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(k9=>setTimeout(k9,75)),l){let k9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",de=[],d4=new Set;for(let ze of y0.usedChannelsOnTrack)ze.forEach(Nr=>d4.add(Nr));for(let ze=0;ze<16;ze++){let Nr=!0;for(let Yi=ze;Yi{let Ms=Oo.textContent;Oo.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Vm=>setTimeout(Vm,75));let RC=JB(m6,!1,ze*2),b$=`${ze+1} - ${Q5.channelSnapshots[ze].patchName}.wav`;this.saveBlob(RC,b$),Oo.classList.add("green_button"),Oo.textContent=Ms}})}let z6=C7(this.localeManager.getLocaleString(k9+"title"),de,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});z6.div.style.width="30rem"}else{let k9=kC(y0.firstNoteOn,y0),de=m1-k9,d4=N-k9,z6;u===0&&(z6={start:de,end:d4});let ze=JB(m6,A,0,g,z6);this.saveBlob(ze,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}P7(Q0.id),this.isExporting=!1}async function Pw(){if(this.isExporting)return;let A="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(y0,m1,N)=>this.seq.midiData.RMIDInfo?.[y0]===void 0?m1:N.decode(this.seq.midiData.RMIDInfo?.[y0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),u=new TextDecoder(g),b=l("IPRD","",u),h0=l("IART","",u),_0=l("IGNR","",u),Q0=[{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:h0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:_0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:y0=>{P7(y0.id);let m1=y0.div.querySelector("input[normalize-volume-toggle]").checked,N=y0.div.querySelector("input[additional-time]").value,V0=y0.div.querySelector("input[loop-count]").value,G0=y0.div.querySelector("input[separate-channels-toggle]").checked,v1=y0.div.querySelector("input[name='artist']").value,h2=y0.div.querySelector("input[name='album']").value,k1=y0.div.querySelector("input[name='song_title']").value,Q5=y0.div.querySelector("input[name='genre']").value,k2={artist:v1.length>0?v1:void 0,album:h2.length>0?h2:void 0,title:k1.length>0?k1:void 0,genre:Q5.length>0?Q5:void 0};this._doExportAudioData(m1,parseInt(N),G0,k2,parseInt(V0))}}];C7(this.localeManager.getLocaleString(A+"title"),Q0,9999999,!0,this.localeManager)}async function Hw(){let A=await this.seq.getMIDI();hh(A,await this.synth.getSynthesizerSnapshot());let r=ym(A),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function qw(A,r){ii("%cSearching for all used programs and keys...",b1.info);let l=16+A.midiPortChannelOffsets.reduce((N,V0)=>V0>N?V0:N),g=[];for(let N=0;N{h0[v1]>=G0.length||G0[h0[v1]].ticks0;){let N=Q0(),V0=A.tracks[N];if(h0[N]>=V0.length){_0--;continue}let G0=V0[h0[N]];if(h0[N]++,G0.messageStatusByte===z3.midiPort){y0[N]=G0.messageData[0];continue}let v1=G0.messageStatusByte&240;if(v1!==z3.noteOn&&v1!==z3.controllerChange&&v1!==z3.programChange&&v1!==z3.systemExclusive)continue;let h2=(G0.messageStatusByte&15)+A.midiPortChannelOffsets[y0[N]]||0,k1=g[h2];switch(v1){case z3.programChange:k1.program=G0.messageData[0],u(k1);break;case z3.controllerChange:if(G0.messageData[0]!==a6.bankSelect||m1==="gs"&&k1.drums)continue;let Q5=G0.messageData[1],k2=Math.max(0,Q5-A.bankOffset);if(m1==="xg"){let Y5=Q5===120||Q5===126||Q5===127;Y5!==k1.drums?(k1.drums=Y5,k1.bank=k1.drums?128:k2,u(k1)):k1.bank=k1.drums?128:k2;continue}g[h2].bank=k2;break;case z3.noteOn:if(G0.messageData[1]===0)continue;u(k1),b[k1.string].add(`${G0.messageData[0]}-${G0.messageData[1]}`);break;case z3.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&&(m1="xg");continue}let Z2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][G0.messageData[5]&15]+A.midiPortChannelOffsets[y0[N]],a3=!!(G0.messageData[7]>0&&G0.messageData[5]>>4);k1=g[Z2],k1.drums=a3,k1.bank=a3?128:0,u(k1);break}}for(let N of Object.keys(b))b[N].size===0&&(J5(`%cDetected change but no keys for %c${N}`,b1.info,b1.value),delete b[N]);return i4(),b}function Om(A,r){function l(u,b){let h0=0;for(let _0=0;_0=y0.min&&V0.key<=y0.max&&V0.velocity>=m1.min&&V0.velocity<=m1.max){N=!0;break}N||(J5(`%c${Q0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${Q0.useCount-1}`,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized),u.safeDeleteZone(_0)&&(h0++,_0--,J5(`%c${Q0.sample.sampleName} %cdeleted`,b1.recognized,b1.info)),Q0.sample.useCount<1&&A.deleteSample(Q0.sample))}return h0}lr("%cTrimming soundfont...",b1.info);let g=qw(r,A);ii("%cModifying soundfont...",b1.info),J5("Detected keys for midi:",g);for(let u=0;u{let N=m1.split("-");return{key:parseInt(N[0]),velocity:parseInt(N[1])}});ii(`%cTrimming %c${b.presetName}`,b1.info,b1.recognized),J5(`Keys for ${b.presetName}:`,Q0);let y0=0;for(let m1=0;m1=V0.min&&h2.key<=V0.max&&h2.velocity>=G0.min&&h2.velocity<=G0.max){v1=!0;let k1=l(N.instrument,Q0);J5(`%cTrimmed off %c${k1}%c zones from %c${N.instrument.instrumentName}`,b1.info,b1.recognized,b1.info,b1.recognized);break}v1||(y0++,b.deleteZone(m1),N.instrument.useCount<1&&A.deleteInstrument(N.instrument),m1--)}J5(`%cTrimmed off %c${y0}%c zones from %c${b.presetName}`,b1.info,b1.recognized,b1.info,b1.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,J5("%cSoundfont modified!",b1.recognized),i4(),i4()}function Yw(){let A=4;for(let g of this.instruments)A+=g.instrumentZones.reduce((u,b)=>(b.generators=b.generators.filter(h0=>h0.generatorType!==_1.sampleID&&h0.generatorType!==_1.keyRange&&h0.generatorType!==_1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:_1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:_1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:_1.sampleID,generatorValue:this.samples.indexOf(b.sample)}),b.generators.length*4+u),0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.generatorZoneStartIndex=l;for(let b of u.generators)p9(r,b.generatorType),p9(r,b.generatorValue),l++}return ct(r,0),$8(new we("igen",r.length,r))}function Jw(A,r,l,g,u){let b=this.samples.map((y0,m1)=>{l&&y0.compressSample(g,u);let N=y0.getRawData();return J5(`%cEncoded sample %c${m1}. ${y0.sampleName}%c of %c${this.samples.length}`,b1.info,b1.recognized,b1.info,b1.recognized),N}),h0=this.samples.reduce((y0,m1,N)=>y0+b[N].length+46,0),_0=new Y3(h0);this.samples.forEach((y0,m1)=>{let N=b[m1],V0,G0,v1=N.length;y0.isCompressed?(V0=_0.currentIndex,G0=V0+N.length):(V0=_0.currentIndex/2,G0=V0+N.length/2,v1+=46),A.push(V0),_0.set(N,_0.currentIndex),_0.currentIndex+=v1,r.push(G0)});let Q0=$8(new we("smpl",_0.length,_0),new Y3([115,100,116,97]));return $8(new we("LIST",Q0.length,Q0))}function Kw(A,r){let g=new Y3(46*(this.samples.length+1));return this.samples.forEach((u,b)=>{gt(g,u.sampleName,20);let h0=A[b];ct(g,h0);let _0=r[b];ct(g,_0);let Q0=u.sampleLoopStartIndex/2+h0,y0=u.sampleLoopEndIndex/2+h0;u.isCompressed&&(Q0-=h0,y0-=h0),ct(g,Q0),ct(g,y0),ct(g,u.sampleRate),g[g.currentIndex++]=u.samplePitch,g[g.currentIndex++]=u.samplePitchCorrection,p9(g,u.sampleLink),p9(g,u.sampleType)}),gt(g,"EOS",46),$8(new we("shdr",g.length,g))}function Vw(){let A=10;for(let g of this.instruments)A+=g.instrumentZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)p9(r,b.modulatorSource),p9(r,b.modulatorDestination),p9(r,b.transformAmount),p9(r,b.modulationSecondarySrc),p9(r,b.transformType),l++}return lt(r,0,10),$8(new we("imod",r.length,r))}function zw(){let A=this.instruments.reduce((b,h0)=>h0.instrumentZones.length*4+b,4),r=new Y3(A),l=0,g=0,u=0;for(let b of this.instruments){b.instrumentZoneIndex=l;for(let h0 of b.instrumentZones)h0.zoneID=l,p9(r,g),p9(r,u),g+=h0.generators.length,u+=h0.modulators.length,l++}return p9(r,g),p9(r,u),$8(new we("ibag",r.length,r))}function Zw(){let A=this.instruments.length*22+22,r=new Y3(A),l=0,g=0;for(let u of this.instruments)gt(r,u.instrumentName,20),p9(r,l),l+=u.instrumentZones.length,u.instrumentID=g,g++;return gt(r,"EOI",20),p9(r,l),$8(new we("inst",r.length,r))}function Ww(){let A=4;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>(b.generators=b.generators.filter(h0=>h0.generatorType!==_1.instrument&&h0.generatorType!==_1.keyRange&&h0.generatorType!==_1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:_1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:_1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:_1.instrument,generatorValue:this.instruments.indexOf(b.instrument)}),b.generators.length*4+u),0);let r=new Y3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.generatorZoneStartIndex=l;for(let b of u.generators)p9(r,b.generatorType),p9(r,b.generatorValue);l+=u.generators.length}return p9(r,0),p9(r,0),$8(new we("pgen",r.length,r))}function jw(){let A=10;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new Y3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)p9(r,b.modulatorSource),p9(r,b.modulatorDestination),p9(r,b.transformAmount),p9(r,b.modulationSecondarySrc),p9(r,b.transformType),l++}return lt(r,0,10),$8(new we("pmod",r.length,r))}function Xw(){let A=this.presets.reduce((b,h0)=>h0.presetZones.length*4+b,4),r=new Y3(A),l=0,g=0,u=0;for(let b of this.presets){b.presetZoneStartIndex=l;for(let h0 of b.presetZones)h0.zoneID=l,p9(r,g),p9(r,u),g+=h0.generators.length,u+=h0.modulators.length,l++}return p9(r,g),p9(r,u),$8(new we("pbag",r.length,r))}function ek(){let A=this.presets.length*38+38,r=new Y3(A),l=0;for(let g of this.presets)gt(r,g.presetName,20),p9(r,g.program),p9(r,g.bank),p9(r,l),ct(r,g.library),ct(r,g.genre),ct(r,g.morphology),l+=g.presetZones.length;return gt(r,"EOP",20),p9(r,0),p9(r,0),p9(r,l),ct(r,0),ct(r,0),ct(r,0),$8(new we("phdr",r.length,r))}var VD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function tk(A=VD){if(A.compress&&typeof A.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ii("%cSaving soundfont...",b1.info),J5(`%cCompression: %c${A?.compress||"false"}%c quality: %c${A?.compressionQuality||"none"}`,b1.info,b1.recognized,b1.info,b1.recognized),J5("%cWriting INFO...",b1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",A?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a3,Y5]of Object.entries(this.soundFontInfo))if(a3==="ifil"||a3==="iver"){let A0=parseInt(Y5.split(".")[0]),S5=parseInt(Y5.split(".")[1]),g3=new Y3(4);p9(g3,A0),p9(g3,S5),r.push($8(new we(a3,4,g3)))}else{let A0=new Y3(Y5.length);gt(A0,Y5),r.push($8(new we(a3,Y5.length,A0)))}let l=yn([new Y3([73,78,70,79]),...r]),g=$8(new we("LIST",l.length,l));J5("%cWriting SDTA...",b1.info);let u=[],b=[],h0=Jw.call(this,u,b,A?.compress,A?.compressionQuality||.5,A.compressionFunction);J5("%cWriting PDTA...",b1.info),J5("%cWriting SHDR...",b1.info);let _0=Kw.call(this,u,b);J5("%cWriting IGEN...",b1.info);let Q0=Yw.call(this);J5("%cWriting IMOD...",b1.info);let y0=Vw.call(this);J5("%cWriting IBAG...",b1.info);let m1=zw.call(this);J5("%cWriting INST...",b1.info);let N=Zw.call(this),V0=Ww.call(this);J5("%cWriting PMOD...",b1.info);let G0=jw.call(this);J5("%cWriting PBAG...",b1.info);let v1=Xw.call(this);J5("%cWriting PHDR...",b1.info);let h2=ek.call(this),k1=yn([new Y3([112,100,116,97]),h2,v1,G0,V0,N,m1,y0,Q0,_0]),Q5=$8(new we("LIST",k1.length,k1));J5("%cWriting the output file...",b1.info);let k2=yn([new Y3([115,102,98,107]),g,h0,Q5]),Z2=$8(new we("RIFF",k2.length,k2));return J5(`%cSaved succesfully! Final file size: %c${Z2.length}`,b1.info,b1.recognized),i4(),Z2}var k$=class A{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],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||(g=this.presets.find(u=>u.program===l&&u.bank!==128),r===128&&(g=this.presets.find(u=>u.bank===128&&u.program===l),g||(g=this.presets.find(u=>u.bank===128))),g&&R4(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,b1.warn,b1.recognized)),g||(R4(`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||(R4("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(h0=>h0.bank===b.bank&&h0.program===b.program)===void 0&&g.push(b)});return new A({presets:g,info:l.soundFontInfo})}};k$.prototype.write=tk;function ik(A){ii("%cLoading instruments...",b1.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(V0,G0,v1){return v1>=V0&&v1<=G0}function b(V0,G0){return V0.modulatorSource===G0.modulatorSource&&V0.modulatorDestination===G0.modulatorDestination&&V0.modulationSecondarySrc===G0.modulationSecondarySrc&&V0.transformType===G0.transformType}function h0(V0,G0){V0.push(...G0.filter(v1=>!V0.find(h2=>h2.generatorType===v1.generatorType)))}function _0(V0,G0){V0.push(...G0.filter(v1=>!V0.find(h2=>b(v1,h2))))}let Q0=[],y0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],m1=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(V0=>u(V0.keyRange.min,V0.keyRange.max,r)&&u(V0.velRange.min,V0.velRange.max,l)&&!V0.isGlobal).forEach(V0=>{if(V0.instrument.instrumentZones.length<1)return;let G0=V0.generators,v1=V0.modulators,h2=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].generators]:[],k1=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].modulators]:[];V0.instrument.instrumentZones.filter(k2=>u(k2.keyRange.min,k2.keyRange.max,r)&&u(k2.velRange.min,k2.velRange.max,l)&&!k2.isGlobal).forEach(k2=>{let Z2=[...k2.generators],a3=[...k2.modulators];h0(G0,y0),h0(Z2,h2),_0(v1,m1),_0(a3,k1),_0(a3,dy);let Y5=[...a3];for(let A0=0;A0b(S5,J3));g3!==-1?Y5[g3]=Y5[g3].sumTransform(S5):Y5.push(S5)}Q0.push({instrumentGenerators:Z2,presetGenerators:G0,modulators:Y5,sample:k2.sample,sampleID:k2.generators.find(A0=>A0.generatorType===_1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=Q0,Q0}};var bC=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var No=class extends bC{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ih=class extends bC{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var Eh=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 Om=class extends dh{constructor(r,l){super(),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new Eh,this.DLSInstrument.addUseCount();let u=new Ih;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function rk(A){this.verifyHeader(A,"LIST"),this.verifyText(ue(A.chunkData,4),"ins ");let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(G0=>G0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=r3(l.chunkData,4),u=r3(l.chunkData,4),b=r3(l.chunkData,4),h0=new Om(u,b),_0="unnamedPreset",Q0=Di(r,"INFO");if(Q0){let G0=u4(Q0.chunkData);for(;G0.header!=="INAM";)G0=u4(Q0.chunkData);_0=ue(G0.chunkData,G0.chunkData.length).trim()}h0.presetName=_0,h0.DLSInstrument.instrumentName=_0,lr(`%cParsing %c"${_0}"%c...`,b1.info,b1.recognized,b1.info);let y0=Di(r,"lrgn");if(!y0)throw i4(),new Error("No region list!");let m1=new No;m1.isGlobal=!0;let N=Di(r,"lart"),V0=Di(r,"lar2");this.readLart(N,V0,m1),h0.DLSInstrument.instrumentZones.push(m1);for(let G0=0;G0>10&15;Q5===vn.linear&&k1!==vn.linear&&(Q5=k1);let k2=g>>14&1,Z2=g>>15&1;h0===_1.initialAttenuation&&(Z2=!Z2),N=kn(Q5,k2,Z2,_0.isCC,_0.enum)}let V0=g>>4&15,G0=g>>8&1,v1=g>>9&1,h2=kn(V0,G0,v1,m1.isCC,m1.enum);if(Q0){let k1=h2;h2=N,N=k1}return new a7({srcEnum:N,secSrcEnum:h2,dest:h0,transform:0,amt:u})}function KB(A,r){let l=A.chunkData,g=[],u=[];r3(l,4);let b=r3(l,4);for(let h0=0;h0>16;if(_0===0&&Q0===0&&m1===0){let G0;switch(y0){case E6.pan:G0=new n9(_1.pan,V0);break;case E6.gain:G0=new n9(_1.initialAttenuation,-V0*10/.4);break;case E6.filterCutoff:G0=new n9(_1.initialFilterFc,V0);break;case E6.filterQ:G0=new n9(_1.initialFilterQ,V0);break;case E6.modLfoFreq:G0=new n9(_1.freqModLFO,V0);break;case E6.modLfoDelay:G0=new n9(_1.delayModLFO,V0);break;case E6.vibLfoFreq:G0=new n9(_1.freqVibLFO,V0);break;case E6.vibLfoDelay:G0=new n9(_1.delayVibLFO,V0);break;case E6.volEnvDelay:G0=new n9(_1.delayVolEnv,V0);break;case E6.volEnvAttack:G0=new n9(_1.attackVolEnv,V0);break;case E6.volEnvHold:G0=new n9(_1.holdVolEnv,V0);break;case E6.volEnvDecay:G0=new n9(_1.decayVolEnv,V0);break;case E6.volEnvRelease:G0=new n9(_1.releaseVolEnv,V0);break;case E6.volEnvSustain:let v1=(1e3-V0)/10;G0=new n9(_1.sustainVolEnv,v1*10);break;case E6.modEnvDelay:G0=new n9(_1.delayModEnv,V0);break;case E6.modEnvAttack:G0=new n9(_1.attackModEnv,V0);break;case E6.modEnvHold:G0=new n9(_1.holdModEnv,V0);break;case E6.modEnvDecay:G0=new n9(_1.decayModEnv,V0);break;case E6.modEnvRelease:G0=new n9(_1.releaseModEnv,V0);break;case E6.modEnvSustain:let h2=1e3-V0;G0=new n9(_1.sustainModEnv,h2);break;case E6.reverbSend:G0=new n9(_1.reverbEffectsSend,V0);break;case E6.chorusSend:G0=new n9(_1.chorusEffectsSend,V0);break;case E6.pitch:let k1=Math.floor(V0/100),Q5=Math.floor(V0-k1*100);G0=new n9(_1.fineTune,Q5),g.push(new n9(_1.coarseTune,k1));break}G0&&g.push(G0)}else{let G0=!0;if(Q0===w4.none)if(_0===w4.modLfo&&y0===E6.pitch)g.push(new n9(_1.modLfoToPitch,V0));else if(_0===w4.modLfo&&y0===E6.gain)g.push(new n9(_1.modLfoToVolume,V0));else if(_0===w4.modLfo&&y0===E6.filterCutoff)g.push(new n9(_1.modLfoToFilterFc,V0));else if(_0===w4.vibratoLfo&&y0===E6.pitch)g.push(new n9(_1.vibLfoToPitch,V0));else if(_0===w4.modEnv&&y0===E6.pitch)g.push(new n9(_1.modEnvToPitch,V0));else if(_0===w4.modEnv&&y0===E6.filterCutoff)g.push(new n9(_1.modEnvToFilterFc,V0));else if(_0===w4.keyNum&&y0===E6.volEnvHold){g.push(new n9(_1.keyNumToVolEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&y0===E6.volEnvDecay){g.push(new n9(_1.keyNumToVolEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&y0===E6.modEnvHold){g.push(new n9(_1.keyNumToModEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdModEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&y0===E6.modEnvDecay){g.push(new n9(_1.keyNumToModEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayModEnv&&(h2.generatorValue+=v1)})}else G0=!1;else G0=!1;if(G0===!1){let v1=sk(_0,Q0,y0,m1,V0);v1?(u.push(v1),J5("%cSucceeded converting to SF2 Modulator!",b1.recognized)):R4("Failed converting to SF2 Modulator!")}}}return u.find(h0=>h0.modulatorDestination===_1.reverbEffectsSend)===void 0&&u.push(new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(h0=>h0.modulatorDestination===_1.chorusEffectsSend)===void 0&&u.push(new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&u.push(new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:g}}function Ak(A,r,l){if(A)for(;A.chunkData.currentIndexA.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(A0=>A0.header==="rgnh"),g=r3(l.chunkData,2),u=r3(l.chunkData,2),b=r3(l.chunkData,2),h0=r3(l.chunkData,2),_0=new Pm({min:g,max:u},{min:b,max:h0});r3(l.chunkData,2);let Q0=r3(l.chunkData,2);Q0!==0&&_0.generators.push(new n9(_1.exclusiveClass,Q0));let y0=Di(r,"lart"),m1=Di(r,"lar2");this.readLart(y0,m1,_0),_0.isGlobal=!1;let N=r.find(A0=>A0.header==="wsmp");r3(N.chunkData,4);let V0=r3(N.chunkData,2);r3(N.chunkData,2);let h2=(r3(N.chunkData,4)|0)/-655360*10/.4;r3(N.chunkData,4);let k1=r3(N.chunkData,4),Q5,k2={start:0,end:0};if(k1===0)Q5=0;else{r3(N.chunkData,4),r3(N.chunkData,4)===0?Q5=1:Q5=3,k2.start=r3(N.chunkData,4);let S5=r3(N.chunkData,4);k2.end=k2.start+S5}let Z2=r.find(A0=>A0.header==="wlnk");if(Z2===void 0)return;r3(Z2.chunkData,2),r3(Z2.chunkData,2),r3(Z2.chunkData,4);let a3=r3(Z2.chunkData,4),Y5=this.samples[a3];if(Y5===void 0)throw new Error("Invalid sample ID!");return _0.setWavesample(h2,Q5,k2,V0,Y5,a3),_0}var Ch=class{constructor(r,l,g,u,b,h0,_0,Q0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=u,this.sampleLink=b,this.sampleType=h0,this.sampleLoopStartIndex=_0,this.sampleLoopEndIndex=Q0,this.isCompressed=(h0&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{R4(`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 Hm=class extends Ch{constructor(r,l,g,u,b,h0,_0){super(r,l,g,u,0,1,b*2,(h0-1)*2),this.sampleData=_0}getAudioData(){return this.sampleData}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){ii("%cLoading Wave samples...",b1.recognized);let r=0;for(;A.chunkData.currentIndexg3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");if(r3(u.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(r3(u.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let _0=r3(u.chunkData,4);r3(u.chunkData,4),r3(u.chunkData,2);let Q0=r3(u.chunkData,2),y0=Q0/8,m1=Math.pow(2,y0*8-1),N=Math.pow(2,y0*8),V0,G0=!1;Q0===8?(V0=255,G0=!0):V0=m1;let v1=g.find(g3=>g3.header==="data");if(!v1)throw new Error("No data chunk in the wave chunk!");let h2=v1.size/y0,k1=new Float32Array(h2);for(let g3=0;g3=m1&&(J3-=N),k1[g3]=J3/V0)}let Q5=60,k2=0,Z2=0,a3=k1.length-1,Y5=g.find(g3=>g3.header==="wsmp");if(Y5){if(r3(Y5.chunkData,4),Q5=r3(Y5.chunkData,2),k2=gh(Y5.chunkData[Y5.chunkData.currentIndex++],Y5.chunkData[Y5.chunkData.currentIndex++]),r3(Y5.chunkData,4),r3(Y5.chunkData,4),r3(Y5.chunkData,4)===1){r3(Y5.chunkData,8),Z2=r3(Y5.chunkData,4);let J3=r3(Y5.chunkData,4);a3=Z2+J3}}else R4("No wsmp chunk in wave... using sane defaults.");let A0=Di(g,"INFO"),S5=`Unnamed ${r}`;if(A0){let g3=u4(A0.chunkData);for(;g3.header!=="INAM"&&A0.chunkData.currentIndex(b.generators=b.generators.filter(h0=>h0.generatorType!==_1.sampleID&&h0.generatorType!==_1.keyRange&&h0.generatorType!==_1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:_1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:_1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:_1.sampleID,generatorValue:this.samples.indexOf(b.sample)}),b.generators.length*4+u),0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.generatorZoneStartIndex=l;for(let b of u.generators)p9(r,b.generatorType),p9(r,b.generatorValue),l++}return ct(r,0),$8(new we("igen",r.length,r))}function Jw(A,r,l,g,u){let b=this.samples.map((y0,m1)=>{l&&y0.compressSample(g,u);let N=y0.getRawData();return J5(`%cEncoded sample %c${m1}. ${y0.sampleName}%c of %c${this.samples.length}`,b1.info,b1.recognized,b1.info,b1.recognized),N}),h0=this.samples.reduce((y0,m1,N)=>y0+b[N].length+46,0),_0=new Y3(h0);this.samples.forEach((y0,m1)=>{let N=b[m1],V0,G0,v1=N.length;y0.isCompressed?(V0=_0.currentIndex,G0=V0+N.length):(V0=_0.currentIndex/2,G0=V0+N.length/2,v1+=46),A.push(V0),_0.set(N,_0.currentIndex),_0.currentIndex+=v1,r.push(G0)});let Q0=$8(new we("smpl",_0.length,_0),new Y3([115,100,116,97]));return $8(new we("LIST",Q0.length,Q0))}function Kw(A,r){let g=new Y3(46*(this.samples.length+1));return this.samples.forEach((u,b)=>{gt(g,u.sampleName,20);let h0=A[b];ct(g,h0);let _0=r[b];ct(g,_0);let Q0=u.sampleLoopStartIndex/2+h0,y0=u.sampleLoopEndIndex/2+h0;u.isCompressed&&(Q0-=h0,y0-=h0),ct(g,Q0),ct(g,y0),ct(g,u.sampleRate),g[g.currentIndex++]=u.samplePitch,g[g.currentIndex++]=u.samplePitchCorrection,p9(g,u.sampleLink),p9(g,u.sampleType)}),gt(g,"EOS",46),$8(new we("shdr",g.length,g))}function Vw(){let A=10;for(let g of this.instruments)A+=g.instrumentZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let u of g.instrumentZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)p9(r,b.modulatorSource),p9(r,b.modulatorDestination),p9(r,b.transformAmount),p9(r,b.modulationSecondarySrc),p9(r,b.transformType),l++}return lt(r,0,10),$8(new we("imod",r.length,r))}function zw(){let A=this.instruments.reduce((b,h0)=>h0.instrumentZones.length*4+b,4),r=new Y3(A),l=0,g=0,u=0;for(let b of this.instruments){b.instrumentZoneIndex=l;for(let h0 of b.instrumentZones)h0.zoneID=l,p9(r,g),p9(r,u),g+=h0.generators.length,u+=h0.modulators.length,l++}return p9(r,g),p9(r,u),$8(new we("ibag",r.length,r))}function Zw(){let A=this.instruments.length*22+22,r=new Y3(A),l=0,g=0;for(let u of this.instruments)gt(r,u.instrumentName,20),p9(r,l),l+=u.instrumentZones.length,u.instrumentID=g,g++;return gt(r,"EOI",20),p9(r,l),$8(new we("inst",r.length,r))}function Ww(){let A=4;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>(b.generators=b.generators.filter(h0=>h0.generatorType!==_1.instrument&&h0.generatorType!==_1.keyRange&&h0.generatorType!==_1.velRange),(b.velRange.max!==127||b.velRange.min!==0)&&b.generators.unshift({generatorType:_1.velRange,generatorValue:b.velRange.max<<8|b.velRange.min}),(b.keyRange.max!==127||b.keyRange.min!==0)&&b.generators.unshift({generatorType:_1.keyRange,generatorValue:b.keyRange.max<<8|b.keyRange.min}),b.isGlobal||b.generators.push({generatorType:_1.instrument,generatorValue:this.instruments.indexOf(b.instrument)}),b.generators.length*4+u),0);let r=new Y3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.generatorZoneStartIndex=l;for(let b of u.generators)p9(r,b.generatorType),p9(r,b.generatorValue);l+=u.generators.length}return p9(r,0),p9(r,0),$8(new we("pgen",r.length,r))}function jw(){let A=10;for(let g of this.presets)A+=g.presetZones.reduce((u,b)=>b.modulators.length*10+u,0);let r=new Y3(A),l=0;for(let g of this.presets)for(let u of g.presetZones){u.modulatorZoneStartIndex=l;for(let b of u.modulators)p9(r,b.modulatorSource),p9(r,b.modulatorDestination),p9(r,b.transformAmount),p9(r,b.modulationSecondarySrc),p9(r,b.transformType),l++}return lt(r,0,10),$8(new we("pmod",r.length,r))}function Xw(){let A=this.presets.reduce((b,h0)=>h0.presetZones.length*4+b,4),r=new Y3(A),l=0,g=0,u=0;for(let b of this.presets){b.presetZoneStartIndex=l;for(let h0 of b.presetZones)h0.zoneID=l,p9(r,g),p9(r,u),g+=h0.generators.length,u+=h0.modulators.length,l++}return p9(r,g),p9(r,u),$8(new we("pbag",r.length,r))}function ek(){let A=this.presets.length*38+38,r=new Y3(A),l=0;for(let g of this.presets)gt(r,g.presetName,20),p9(r,g.program),p9(r,g.bank),p9(r,l),ct(r,g.library),ct(r,g.genre),ct(r,g.morphology),l+=g.presetZones.length;return gt(r,"EOP",20),p9(r,0),p9(r,0),p9(r,l),ct(r,0),ct(r,0),ct(r,0),$8(new we("phdr",r.length,r))}var VD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function tk(A=VD){if(A.compress&&typeof A.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ii("%cSaving soundfont...",b1.info),J5(`%cCompression: %c${A?.compress||"false"}%c quality: %c${A?.compressionQuality||"none"}`,b1.info,b1.recognized,b1.info,b1.recognized),J5("%cWriting INFO...",b1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",A?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a3,Y5]of Object.entries(this.soundFontInfo))if(a3==="ifil"||a3==="iver"){let A0=parseInt(Y5.split(".")[0]),S5=parseInt(Y5.split(".")[1]),g3=new Y3(4);p9(g3,A0),p9(g3,S5),r.push($8(new we(a3,4,g3)))}else{let A0=new Y3(Y5.length);gt(A0,Y5),r.push($8(new we(a3,Y5.length,A0)))}let l=yn([new Y3([73,78,70,79]),...r]),g=$8(new we("LIST",l.length,l));J5("%cWriting SDTA...",b1.info);let u=[],b=[],h0=Jw.call(this,u,b,A?.compress,A?.compressionQuality||.5,A.compressionFunction);J5("%cWriting PDTA...",b1.info),J5("%cWriting SHDR...",b1.info);let _0=Kw.call(this,u,b);J5("%cWriting IGEN...",b1.info);let Q0=Yw.call(this);J5("%cWriting IMOD...",b1.info);let y0=Vw.call(this);J5("%cWriting IBAG...",b1.info);let m1=zw.call(this);J5("%cWriting INST...",b1.info);let N=Zw.call(this),V0=Ww.call(this);J5("%cWriting PMOD...",b1.info);let G0=jw.call(this);J5("%cWriting PBAG...",b1.info);let v1=Xw.call(this);J5("%cWriting PHDR...",b1.info);let h2=ek.call(this),k1=yn([new Y3([112,100,116,97]),h2,v1,G0,V0,N,m1,y0,Q0,_0]),Q5=$8(new we("LIST",k1.length,k1));J5("%cWriting the output file...",b1.info);let k2=yn([new Y3([115,102,98,107]),g,h0,Q5]),Z2=$8(new we("RIFF",k2.length,k2));return J5(`%cSaved succesfully! Final file size: %c${Z2.length}`,b1.info,b1.recognized),i4(),Z2}var k$=class A{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],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||(g=this.presets.find(u=>u.program===l&&u.bank!==128),r===128&&(g=this.presets.find(u=>u.bank===128&&u.program===l),g||(g=this.presets.find(u=>u.bank===128))),g&&R4(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,b1.warn,b1.recognized)),g||(R4(`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||(R4("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(h0=>h0.bank===b.bank&&h0.program===b.program)===void 0&&g.push(b)});return new A({presets:g,info:l.soundFontInfo})}};k$.prototype.write=tk;function ik(A){ii("%cLoading instruments...",b1.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(V0,G0,v1){return v1>=V0&&v1<=G0}function b(V0,G0){return V0.modulatorSource===G0.modulatorSource&&V0.modulatorDestination===G0.modulatorDestination&&V0.modulationSecondarySrc===G0.modulationSecondarySrc&&V0.transformType===G0.transformType}function h0(V0,G0){V0.push(...G0.filter(v1=>!V0.find(h2=>h2.generatorType===v1.generatorType)))}function _0(V0,G0){V0.push(...G0.filter(v1=>!V0.find(h2=>b(v1,h2))))}let Q0=[],y0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],m1=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(V0=>u(V0.keyRange.min,V0.keyRange.max,r)&&u(V0.velRange.min,V0.velRange.max,l)&&!V0.isGlobal).forEach(V0=>{if(V0.instrument.instrumentZones.length<1)return;let G0=V0.generators,v1=V0.modulators,h2=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].generators]:[],k1=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].modulators]:[];V0.instrument.instrumentZones.filter(k2=>u(k2.keyRange.min,k2.keyRange.max,r)&&u(k2.velRange.min,k2.velRange.max,l)&&!k2.isGlobal).forEach(k2=>{let Z2=[...k2.generators],a3=[...k2.modulators];h0(G0,y0),h0(Z2,h2),_0(v1,m1),_0(a3,k1),_0(a3,dy);let Y5=[...a3];for(let A0=0;A0b(S5,J3));g3!==-1?Y5[g3]=Y5[g3].sumTransform(S5):Y5.push(S5)}Q0.push({instrumentGenerators:Z2,presetGenerators:G0,modulators:Y5,sample:k2.sample,sampleID:k2.generators.find(A0=>A0.generatorType===_1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=Q0,Q0}};var bC=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var No=class extends bC{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ih=class extends bC{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var Eh=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 Pm=class extends dh{constructor(r,l){super(),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new Eh,this.DLSInstrument.addUseCount();let u=new Ih;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function rk(A){this.verifyHeader(A,"LIST"),this.verifyText(ue(A.chunkData,4),"ins ");let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(G0=>G0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=r3(l.chunkData,4),u=r3(l.chunkData,4),b=r3(l.chunkData,4),h0=new Pm(u,b),_0="unnamedPreset",Q0=Di(r,"INFO");if(Q0){let G0=u4(Q0.chunkData);for(;G0.header!=="INAM";)G0=u4(Q0.chunkData);_0=ue(G0.chunkData,G0.chunkData.length).trim()}h0.presetName=_0,h0.DLSInstrument.instrumentName=_0,lr(`%cParsing %c"${_0}"%c...`,b1.info,b1.recognized,b1.info);let y0=Di(r,"lrgn");if(!y0)throw i4(),new Error("No region list!");let m1=new No;m1.isGlobal=!0;let N=Di(r,"lart"),V0=Di(r,"lar2");this.readLart(N,V0,m1),h0.DLSInstrument.instrumentZones.push(m1);for(let G0=0;G0>10&15;Q5===vn.linear&&k1!==vn.linear&&(Q5=k1);let k2=g>>14&1,Z2=g>>15&1;h0===_1.initialAttenuation&&(Z2=!Z2),N=kn(Q5,k2,Z2,_0.isCC,_0.enum)}let V0=g>>4&15,G0=g>>8&1,v1=g>>9&1,h2=kn(V0,G0,v1,m1.isCC,m1.enum);if(Q0){let k1=h2;h2=N,N=k1}return new a7({srcEnum:N,secSrcEnum:h2,dest:h0,transform:0,amt:u})}function KB(A,r){let l=A.chunkData,g=[],u=[];r3(l,4);let b=r3(l,4);for(let h0=0;h0>16;if(_0===0&&Q0===0&&m1===0){let G0;switch(y0){case E6.pan:G0=new n9(_1.pan,V0);break;case E6.gain:G0=new n9(_1.initialAttenuation,-V0*10/.4);break;case E6.filterCutoff:G0=new n9(_1.initialFilterFc,V0);break;case E6.filterQ:G0=new n9(_1.initialFilterQ,V0);break;case E6.modLfoFreq:G0=new n9(_1.freqModLFO,V0);break;case E6.modLfoDelay:G0=new n9(_1.delayModLFO,V0);break;case E6.vibLfoFreq:G0=new n9(_1.freqVibLFO,V0);break;case E6.vibLfoDelay:G0=new n9(_1.delayVibLFO,V0);break;case E6.volEnvDelay:G0=new n9(_1.delayVolEnv,V0);break;case E6.volEnvAttack:G0=new n9(_1.attackVolEnv,V0);break;case E6.volEnvHold:G0=new n9(_1.holdVolEnv,V0);break;case E6.volEnvDecay:G0=new n9(_1.decayVolEnv,V0);break;case E6.volEnvRelease:G0=new n9(_1.releaseVolEnv,V0);break;case E6.volEnvSustain:let v1=(1e3-V0)/10;G0=new n9(_1.sustainVolEnv,v1*10);break;case E6.modEnvDelay:G0=new n9(_1.delayModEnv,V0);break;case E6.modEnvAttack:G0=new n9(_1.attackModEnv,V0);break;case E6.modEnvHold:G0=new n9(_1.holdModEnv,V0);break;case E6.modEnvDecay:G0=new n9(_1.decayModEnv,V0);break;case E6.modEnvRelease:G0=new n9(_1.releaseModEnv,V0);break;case E6.modEnvSustain:let h2=1e3-V0;G0=new n9(_1.sustainModEnv,h2);break;case E6.reverbSend:G0=new n9(_1.reverbEffectsSend,V0);break;case E6.chorusSend:G0=new n9(_1.chorusEffectsSend,V0);break;case E6.pitch:let k1=Math.floor(V0/100),Q5=Math.floor(V0-k1*100);G0=new n9(_1.fineTune,Q5),g.push(new n9(_1.coarseTune,k1));break}G0&&g.push(G0)}else{let G0=!0;if(Q0===w4.none)if(_0===w4.modLfo&&y0===E6.pitch)g.push(new n9(_1.modLfoToPitch,V0));else if(_0===w4.modLfo&&y0===E6.gain)g.push(new n9(_1.modLfoToVolume,V0));else if(_0===w4.modLfo&&y0===E6.filterCutoff)g.push(new n9(_1.modLfoToFilterFc,V0));else if(_0===w4.vibratoLfo&&y0===E6.pitch)g.push(new n9(_1.vibLfoToPitch,V0));else if(_0===w4.modEnv&&y0===E6.pitch)g.push(new n9(_1.modEnvToPitch,V0));else if(_0===w4.modEnv&&y0===E6.filterCutoff)g.push(new n9(_1.modEnvToFilterFc,V0));else if(_0===w4.keyNum&&y0===E6.volEnvHold){g.push(new n9(_1.keyNumToVolEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&y0===E6.volEnvDecay){g.push(new n9(_1.keyNumToVolEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&y0===E6.modEnvHold){g.push(new n9(_1.keyNumToModEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdModEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&y0===E6.modEnvDecay){g.push(new n9(_1.keyNumToModEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayModEnv&&(h2.generatorValue+=v1)})}else G0=!1;else G0=!1;if(G0===!1){let v1=sk(_0,Q0,y0,m1,V0);v1?(u.push(v1),J5("%cSucceeded converting to SF2 Modulator!",b1.recognized)):R4("Failed converting to SF2 Modulator!")}}}return u.find(h0=>h0.modulatorDestination===_1.reverbEffectsSend)===void 0&&u.push(new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(h0=>h0.modulatorDestination===_1.chorusEffectsSend)===void 0&&u.push(new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&u.push(new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:g}}function Ak(A,r,l){if(A)for(;A.chunkData.currentIndexA.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(A0=>A0.header==="rgnh"),g=r3(l.chunkData,2),u=r3(l.chunkData,2),b=r3(l.chunkData,2),h0=r3(l.chunkData,2),_0=new Hm({min:g,max:u},{min:b,max:h0});r3(l.chunkData,2);let Q0=r3(l.chunkData,2);Q0!==0&&_0.generators.push(new n9(_1.exclusiveClass,Q0));let y0=Di(r,"lart"),m1=Di(r,"lar2");this.readLart(y0,m1,_0),_0.isGlobal=!1;let N=r.find(A0=>A0.header==="wsmp");r3(N.chunkData,4);let V0=r3(N.chunkData,2);r3(N.chunkData,2);let h2=(r3(N.chunkData,4)|0)/-655360*10/.4;r3(N.chunkData,4);let k1=r3(N.chunkData,4),Q5,k2={start:0,end:0};if(k1===0)Q5=0;else{r3(N.chunkData,4),r3(N.chunkData,4)===0?Q5=1:Q5=3,k2.start=r3(N.chunkData,4);let S5=r3(N.chunkData,4);k2.end=k2.start+S5}let Z2=r.find(A0=>A0.header==="wlnk");if(Z2===void 0)return;r3(Z2.chunkData,2),r3(Z2.chunkData,2),r3(Z2.chunkData,4);let a3=r3(Z2.chunkData,4),Y5=this.samples[a3];if(Y5===void 0)throw new Error("Invalid sample ID!");return _0.setWavesample(h2,Q5,k2,V0,Y5,a3),_0}var Ch=class{constructor(r,l,g,u,b,h0,_0,Q0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=u,this.sampleLink=b,this.sampleType=h0,this.sampleLoopStartIndex=_0,this.sampleLoopEndIndex=Q0,this.isCompressed=(h0&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{R4(`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 qm=class extends Ch{constructor(r,l,g,u,b,h0,_0){super(r,l,g,u,0,1,b*2,(h0-1)*2),this.sampleData=_0}getAudioData(){return this.sampleData}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){ii("%cLoading Wave samples...",b1.recognized);let r=0;for(;A.chunkData.currentIndexg3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");if(r3(u.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(r3(u.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let _0=r3(u.chunkData,4);r3(u.chunkData,4),r3(u.chunkData,2);let Q0=r3(u.chunkData,2),y0=Q0/8,m1=Math.pow(2,y0*8-1),N=Math.pow(2,y0*8),V0,G0=!1;Q0===8?(V0=255,G0=!0):V0=m1;let v1=g.find(g3=>g3.header==="data");if(!v1)throw new Error("No data chunk in the wave chunk!");let h2=v1.size/y0,k1=new Float32Array(h2);for(let g3=0;g3=m1&&(J3-=N),k1[g3]=J3/V0)}let Q5=60,k2=0,Z2=0,a3=k1.length-1,Y5=g.find(g3=>g3.header==="wsmp");if(Y5){if(r3(Y5.chunkData,4),Q5=r3(Y5.chunkData,2),k2=gh(Y5.chunkData[Y5.chunkData.currentIndex++],Y5.chunkData[Y5.chunkData.currentIndex++]),r3(Y5.chunkData,4),r3(Y5.chunkData,4),r3(Y5.chunkData,4)===1){r3(Y5.chunkData,8),Z2=r3(Y5.chunkData,4);let J3=r3(Y5.chunkData,4);a3=Z2+J3}}else R4("No wsmp chunk in wave... using sane defaults.");let A0=Di(g,"INFO"),S5=`Unnamed ${r}`;if(A0){let g3=u4(A0.chunkData);for(;g3.header!=="INAM"&&A0.chunkData.currentIndexQ0.header==="colh");if(!b)throw i4(),new Error("No colh chunk!");this.instrumentAmount=r3(b.chunkData,4),J5(`%cInstruments amount: %c${this.instrumentAmount}`,b1.info,b1.recognized);let h0=Di(g,"wvpl");this.readDLSSamples(h0);let _0=Di(g,"lins");if(!_0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(_0),J5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=ik;Fs.prototype.readDLSInstrument=rk;Fs.prototype.readRegion=ok;Fs.prototype.readLart=Ak;Fs.prototype.readDLSSamples=ak;var Go=Go!==void 0?Go:{},$k=!1,lk;Go.isInitialized=new Promise(A=>lk=A);var WD=function(A){var r,l,g,u,b,h0,_0,Q0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",y0="",m1=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=Q0.indexOf(A.charAt(m1++)),b=Q0.indexOf(A.charAt(m1++)),h0=Q0.indexOf(A.charAt(m1++)),_0=Q0.indexOf(A.charAt(m1++)),r=u<<2|b>>4,l=(15&b)<<4|h0>>2,g=(3&h0)<<6|_0,y0+=String.fromCharCode(r),h0!==64&&(y0+=String.fromCharCode(l)),_0!==64&&(y0+=String.fromCharCode(g));while(m11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof q$))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]"}):m6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(gr(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)})):(g3||J3)&&(g3?document.currentScript&&(k9=document.currentScript.src):k9=self.location.href,k9=k9.indexOf("blob:")!==0?k9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},J3&&(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,D2){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}D2()},Z3.onerror=D2,Z3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var d4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),z6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||d4);for(A in S5)S5.hasOwnProperty(A)&&(A0[A]=S5[A]);function ze(R0){var X0=G0;return G0=G0+R0+15&-16,X0}function Nr(R0){var X0=Q0[Z2>>2],C1=X0+R0+15&-16;return Q0[Z2>>2]=C1,C1>=_9&&!Gr()?(Q0[Z2>>2]=X0,0):X0}function Yi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function Oo(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 Ms(R0){Ms.shown||(Ms.shown={}),Ms.shown[R0]||(Ms.shown[R0]=1,z6(R0))}S5=void 0;var RC={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},b$=[];function Km(R0,X0){for(var C1=0,D2=C1;D2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function _$(R0,X0,C1){return C1&&C1.length?A0["dynCall_"+R0].apply(null,[X0].concat(C1)):A0["dynCall_"+R0].call(null,X0)}var Po=0,Bh=0;function gr(R0,X0){R0||Ji("Assertion failed: "+X0)}function Ho(R0){var X0=A0["_"+R0];return gr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var xC={stackSave:function(){PC()},stackRestore:function(){H$()},arrayToC:function(R0){var X0,C1,D2=qo(R0.length);return X0=R0,C1=D2,u.set(X0,C1),D2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=qo(C1),FC(R0,X0,C1)}return X0}},Ts={string:xC.stringToC,array:xC.arrayToC};function ph(R0,X0,C1,D2,Z3){var c9=Ho(R0),J9=[],g6=0;if(D2)for(var m7=0;m7>0]=X0;break;case"i16":h0[R0>>1]=X0;break;case"i32":Q0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+wh(tempDouble=X0)>=1?tempDouble>0?(0|vh(+kh(tempDouble/4294967296),4294967295))>>>0:~~+O$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],Q0[R0>>2]=tempI64[0],Q0[R0+4>>2]=tempI64[1];break;case"float":m1[R0>>2]=X0;break;case"double":N[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 h0[R0>>1];case"i32":case"i64":return Q0[R0>>2];case"float":return m1[R0>>2];case"double":return N[R0>>3];default:Ji("invalid type for getValue: "+X0)}return null}function rp(R0,X0,C1,D2){typeof R0=="number"?(c9=!0,J9=R0):(c9=!1,J9=R0.length);var Z3=typeof X0=="string"?X0:null;if(g6=C1==4?D2:[typeof Hs=="function"?Hs:ze,qo,ze,Nr][C1===void 0?2:C1](Math.max(J9,Z3?1:X0.length)),c9){for(D2=g6,gr((3&g6)==0),m7=g6+(-4&J9);D2>2]=0;for(m7=g6+J9;D2>0]=0;return g6}if(Z3==="i8")return R0.subarray||R0.slice?b.set(R0,g6):b.set(new Uint8Array(R0),g6),g6;for(var c9,J9,g6,m7,Me,Ze,ve,g9=0;g9>0],(D2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var g6="";if(c9<128){for(;X0>0;)Z3=String.fromCharCode.apply(String,b.subarray(R0,R0+Math.min(X0,1024))),g6=g6?g6+Z3:Z3,R0+=1024,X0-=1024;return g6}return C1=R0,function(Me,Ze){for(var ve=Ze;Me[ve];)++ve;if(ve-Ze>16&&Me.subarray&&LC)return LC.decode(Me.subarray(Ze,ve));for(var g9,Ft,Li,B7,Mt,Fi,Mi="";;){if(!(g9=Me[Ze++]))return Mi;if(!(128&g9)){Mi+=String.fromCharCode(g9);continue}if(Ft=63&Me[Ze++],(224&g9)==192){Mi+=String.fromCharCode((31&g9)<<6|Ft);continue}if(Li=63&Me[Ze++],(240&g9)==224?g9=(15&g9)<<12|Ft<<6|Li:(B7=63&Me[Ze++],(248&g9)==240?g9=(7&g9)<<18|Ft<<12|Li<<6|B7:(Mt=63&Me[Ze++],g9=(252&g9)==248?(3&g9)<<24|Ft<<18|Li<<12|B7<<6|Mt:(1&g9)<<30|Ft<<24|Li<<18|B7<<12|Mt<<6|(Fi=63&Me[Ze++]))),g9<65536)Mi+=String.fromCharCode(g9);else{var Fn=g9-65536;Mi+=String.fromCharCode(55296|Fn>>10,56320|1023&Fn)}}}(b,C1)}function np(R0){for(var X0="";;){var C1=u[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ns(R0,X0){return function(D2,Z3,c9){for(var J9=0;J9>0]=D2.charCodeAt(J9);c9||(u[Z3>>0]=0)}(R0,X0,!1)}var LC=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function xn(R0,X0,C1,D2){if(!(D2>0))return 0;for(var Z3=C1,c9=C1+D2-1,J9=0;J9=55296&&g6<=57343&&(g6=65536+((1023&g6)<<10)|1023&R0.charCodeAt(++J9)),g6<=127){if(C1>=c9)break;X0[C1++]=g6}else if(g6<=2047){if(C1+1>=c9)break;X0[C1++]=192|g6>>6,X0[C1++]=128|63&g6}else if(g6<=65535){if(C1+2>=c9)break;X0[C1++]=224|g6>>12,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=2097151){if(C1+3>=c9)break;X0[C1++]=240|g6>>18,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=67108863){if(C1+4>=c9)break;X0[C1++]=248|g6>>24,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else{if(C1+5>=c9)break;X0[C1++]=252|g6>>30,X0[C1++]=128|g6>>24&63,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}}return X0[C1]=0,C1-Z3}function FC(R0,X0,C1){return xn(R0,b,X0,C1)}function Gs(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&(D2=65536+((1023&D2)<<10)|1023&R0.charCodeAt(++C1)),D2<=127?++X0:D2<=2047?X0+=2:D2<=65535?X0+=3:D2<=2097151?X0+=4:D2<=67108863?X0+=5:X0+=6}return X0}var MC=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function sp(R0){for(var X0=R0,C1=X0>>1;h0[C1];)++C1;if((X0=C1<<1)-R0>32&&MC)return MC.decode(b.subarray(R0,X0));for(var D2=0,Z3="";;){var c9=h0[R0+2*D2>>1];if(c9==0)return Z3;++D2,Z3+=String.fromCharCode(c9)}}function Ap(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var D2=X0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,c9=0;c9>1]=J9,X0+=2}return h0[X0>>1]=0,X0-D2}function op(R0){return 2*R0.length}function ap(R0){for(var X0=0,C1="";;){var D2=Q0[R0+4*X0>>2];if(D2==0)return C1;if(++X0,D2>=65536){var Z3=D2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(D2)}}function $p(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var D2=X0,Z3=D2+C1-4,c9=0;c9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++c9)),Q0[X0>>2]=J9,(X0+=4)+4>Z3)break}return Q0[X0>>2]=0,X0-D2}function lp(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&++C1,X0+=4}return X0}function cp(R0){var X0=Gs(R0)+1,C1=Hs(X0);return C1&&xn(R0,u,C1,X0),C1}function gp(R0){var X0=Gs(R0)+1,C1=qo(X0);return xn(R0,u,C1,X0),C1}function TC(R0){return R0}function zm(){var R0,X0=function(){var D2=Error();if(!D2.stack){try{throw Error(0)}catch(Z3){D2=Z3}if(!D2.stack)return"(no stack trace available)"}return D2.stack.toString()}();return A0.extraStackTrace&&(X0+=` -`+A0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var D2,Z3=D2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function Qh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function NC(R0){A0.buffer=g=R0}function Y9(){A0.HEAP8=u=new Int8Array(g),A0.HEAP16=h0=new Int16Array(g),A0.HEAP32=Q0=new Int32Array(g),A0.HEAPU8=b=new Uint8Array(g),A0.HEAPU16=_0=new Uint16Array(g),A0.HEAPU32=y0=new Uint32Array(g),A0.HEAPF32=m1=new Float32Array(g),A0.HEAPF64=N=new Float64Array(g)}function Gr(){var R0=A0.usingWasm?65536:16777216,X0=2147483648-R0;if(Q0[Z2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Qh(2*_9,R0):Math.min(Qh((3*_9+2147483648)/4,R0),X0);var D2=A0.reallocBuffer(_9);return D2&&D2.byteLength==_9?(NC(D2),Y9(),!0):(_9=C1,!1)}V0=G0=h2=k1=Q5=k2=Z2=0,v1=!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!!jm(X0)&&X0});try{(a3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a3=function(X0){return X0.byteLength}}var L$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function F$(){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<=D2&&(X0<=32||R0>D2)&&(R0=-2*D2+R0),R0}var wh=Math.abs,O$=Math.ceil,kh=Math.floor,vh=Math.min,Ln=0,Sh=null,Ps=null;function hp(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var OC="data:application/octet-stream;base64,";function P$(R0){return String.prototype.startsWith?R0.startsWith(OC):R0.indexOf(OC)===0}(function(){var X0="main.wast",C1="main.wasm",D2="main.temp.asm.js";P$(X0)||(X0=de(X0)),P$(C1)||(C1=de(C1)),P$(D2)||(D2=de(D2));var Z3={global:null,env:null,asm2wasm:RC,parent:A0},c9=null;function J9(ve){return ve}function g6(){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(ve){Ji(ve)}}A0.asmPreload=A0.asm;var m7=A0.reallocBuffer,Me=function(ve){ve=Qh(ve,A0.usingWasm?65536:16777216);var g9=A0.buffer.byteLength;if(A0.usingWasm)try{var Ft=A0.wasmMemory.grow((ve-g9)/65536);return Ft!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(ve){return Ze==="asmjs"?m7(ve):Me(ve)};var Ze="";A0.asm=function(ve,g9,Ft){var Li;if(!(g9=Li=g9).table){var B7,Mt=A0.wasmTableSize;Mt===void 0&&(Mt=1024);var Fi=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Fi!==void 0?g9.table=new WebAssembly.Table({initial:Mt,maximum:Fi,element:"anyfunc"}):g9.table=new WebAssembly.Table({initial:Mt,element:"anyfunc"}):g9.table=Array(Mt),A0.wasmTable=g9.table}return g9.memoryBase||(g9.memoryBase=A0.STATIC_BASE),g9.tableBase||(g9.tableBase=0),B7=function(Fn,hr,HC){if(typeof WebAssembly!="object")return z6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return z6("no native wasm Memory in use"),!1;function Dh(fr,Ki){if((c9=fr.exports).memory){var Yo,qs,Ys;Yo=c9.memory,qs=A0.buffer,Yo.byteLength0?C1:Gs(R0)+1,Z3=Array(D2),c9=xn(R0,Z3,0,Z3.length);return X0&&(Z3.length=c9),Z3}function Wm(R0){for(var X0=[],C1=0;C1255&&(D2&=255),X0.push(String.fromCharCode(D2))}return X0.join("")}G0+=16,Z2=ze(4),Q5=(h2=k1=Yi(G0))+L$,k2=Yi(Q5),Q0[Z2>>2]=k2,v1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Ji,assert:gr,enlargeMemory:Gr,getTotalMemory:F$,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,D2){var Z3=PC();try{return A0.dynCall_iii(X0,C1,D2)}catch(c9){if(H$(Z3),typeof c9!="number"&&c9!=="longjmp")throw c9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,D2,Z3){Ji("Assertion failed: "+x$(X0)+", at: "+[C1?x$(C1):"unknown filename",D2,Z3?x$(Z3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(Q0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,D2){return b.set(b.subarray(C1,C1+D2),X0),X0},_llvm_floor_f64:kh,DYNAMICTOP_PTR:Z2,tempDoublePtr:Lt,ABORT:Po,STACKTOP:k1,STACK_MAX:Q5};var Pr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Pr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var jm=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 qo=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},H$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},PC=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function q$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function Y$(R0){R0=R0||A0.arguments,!(Ln>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)Zm(A0.preRun.shift());Us(Ur)}(),!(Ln>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),X0()},1)):X0())));function X0(){!A0.calledRun&&(A0.calledRun=!0,Po||(N$||(N$=!0,Us(M$)),Us(yh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)xi(A0.postRun.shift());Us(T$)}()))}}function Xm(R0,X0){(!X0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Po=!0,Bh=R0,k1=Y5,Us(Ci),Ri=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new q$(R0)))}function Ji(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(d4(R0),z6(R0),R0=JSON.stringify(R0)):R0="",Po=!0,Bh=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=Pr,A0.ccall=ph,A0.cwrap=function(X0,C1,D2,Z3){var c9=(D2=D2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&c9&&!Z3?Ho(X0):function(){return ph(X0,C1,D2,arguments,Z3)}},q$.prototype=Error(),q$.prototype.constructor=q$,Ps=function R0(){A0.calledRun||Y$(),A0.calledRun||(Ps=R0)},A0.run=Y$,A0.abort=Ji,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,Y$(),A0.onRuntimeInitialized=()=>{$k=!0,lk()},Go.decode=function(R0){return function(C1){if(!$k)throw Error("Not initialized");var D2={};function Z3(hr){return new Int32Array(A0.HEAPU8.buffer,hr,1)[0]}function c9(hr,HC){var Dh=new ArrayBuffer(HC*Float32Array.BYTES_PER_ELEMENT),Q8=new Float32Array(Dh);return Q8.set(new Float32Array(A0.HEAPU8.buffer,hr,HC)),Q8}D2.open=A0.cwrap("stb_vorbis_js_open","number",[]),D2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),D2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),D2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),D2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,g6,m7,Me,Ze=D2.open(),ve=(J9=C1,g6=C1.byteLength,m7=A0._malloc(g6),(Me=new Uint8Array(A0.HEAPU8.buffer,m7,g6)).set(new Uint8Array(J9,0,g6)),Me),g9=A0._malloc(4),Ft=A0._malloc(4),Li=D2.decode(Ze,ve.byteOffset,ve.byteLength,g9,Ft);if(A0._free(ve.byteOffset),Li<0)throw D2.close(Ze),A0._free(g9),Error("stbvorbis decode failed: "+Li);for(var B7=D2.channels(Ze),Mt=Array(B7),Fi=new Int32Array(A0.HEAPU32.buffer,Z3(g9),B7),Mi=0;MiA.chunkData.currentIndex;){let b=jD(u,A.chunkData,r,l);g.push(b),u++}return g.length>1&&g.pop(),g}function jD(A,r,l,g){let u=ue(r,20),b=r3(r,4)*2,h0=r3(r,4)*2,_0=r3(r,4)*2,Q0=r3(r,4)*2,y0=r3(r,4),m1=r[r.currentIndex++];m1===255&&(m1=60);let N=uy(r[r.currentIndex++]),V0=r3(r,2),G0=r3(r,2);return new VB(u,b,h0,_0,Q0,y0,m1,N,V0,G0,l,A,g)}var zB=class extends Eh{constructor(r){super(),this.instrumentName=ue(r.chunkData,20).trim(),this.instrumentZoneIndex=r3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;gA.chunkData.currentIndex;){let g=new zB(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 ZB=class extends No{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function hk(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new ZB(A.chunkData);if(u.length>0){let h0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,_0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(h0,_0),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 WB=class extends Ih{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function fk(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new WB(A.chunkData);if(u.length>0){let h0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,_0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(h0,_0),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 jB=class extends dh{constructor(r){super(),this.presetName=ue(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=r3(r.chunkData,2),this.bank=r3(r.chunkData,2),this.presetZoneStartIndex=r3(r.chunkData,2),this.library=r3(r.chunkData,4),this.genre=r3(r.chunkData,4),this.morphology=r3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;gA.chunkData.currentIndex;){let g=new jB(A);if(l.length>0){let u=g.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(u,r)}l.push(g)}return l.length>1&&l.pop(),l}var qm=class extends k${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new Y3(r),lr("%cParsing SoundFont...",b1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=u4(this.dataArray,!1);this.verifyHeader(g,"riff");let u=ue(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",h0=u4(this.dataArray);for(this.verifyHeader(h0,"list"),ue(h0.chunkData,4);h0.chunkData.length>h0.chunkData.currentIndex;){let s9=u4(h0.chunkData),m6;switch(s9.header.toLowerCase()){case"ifil":case"iver":m6=`${r3(s9.chunkData,2)}.${r3(s9.chunkData,2)}`;break;case"icmt":m6=ue(s9.chunkData,s9.chunkData.length,void 0,!1);break;default:m6=ue(s9.chunkData,s9.chunkData.length)}J5(`%c"${s9.header}": %c"${m6}"`,b1.info,b1.recognized),this.soundFontInfo[s9.header]=m6}let _0=u4(this.dataArray,!1);this.verifyHeader(_0,"list"),this.verifyText(ue(this.dataArray,4),"sdta"),J5("%cVerifying smpl chunk...",b1.warn);let Q0=u4(this.dataArray,!1);this.verifyHeader(Q0,"smpl");let y0;if(b){J5("%cSF2Pack detected, attempting to decode the smpl chunk...",b1.info);try{y0=Go.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+_0.size-12)).data[0]}catch(s9){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${s9}`)}J5(`%cDecoded the smpl chunk! Length: %c${y0.length}`,b1.info,b1.value)}else y0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;J5(`%cSkipping sample chunk, length: %c${_0.size-12}`,b1.info,b1.value),this.dataArray.currentIndex+=_0.size-12,J5("%cLoading preset data chunk...",b1.warn);let m1=u4(this.dataArray);this.verifyHeader(m1,"list"),ue(m1.chunkData,4);let N=u4(m1.chunkData);this.verifyHeader(N,"phdr");let V0=u4(m1.chunkData);this.verifyHeader(V0,"pbag");let G0=u4(m1.chunkData);this.verifyHeader(G0,"pmod");let v1=u4(m1.chunkData);this.verifyHeader(v1,"pgen");let h2=u4(m1.chunkData);this.verifyHeader(h2,"inst");let k1=u4(m1.chunkData);this.verifyHeader(k1,"ibag");let Q5=u4(m1.chunkData);this.verifyHeader(Q5,"imod");let k2=u4(m1.chunkData);this.verifyHeader(k2,"igen");let Z2=u4(m1.chunkData);this.verifyHeader(Z2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...ck(Z2,y0,!b));let a3=TB(k2),Y5=UB(Q5),A0=hk(k1,a3,Y5,this.samples);this.instruments=gk(h2,A0);let S5=TB(v1),g3=UB(G0),J3=fk(V0,S5,g3,this.instruments);this.presets.push(...uk(N,J3)),this.presets.sort((s9,m6)=>s9.program-m6.program+(s9.bank-m6.bank)),J5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.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 mh(A){let r=A.slice(8,12),l=new Y3(r);return ue(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(A):new qm(A,!1)}async function dk(){let A="locale.exportAudio.formats.formats.soundfont.options.";C7(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;P7(r.id),lr("%cExporting minified soundfont...",b1.info);let b=await this.seq.getMIDI(),h0=mh(b.embeddedSoundFont||this.soundFont);hh(b,await this.synth.getSynthesizerSnapshot()),l&&Um(h0,b);let _0=h0.write({compress:g,compressionQuality:u,compressionFunction:this.compressionFunc}),Q0=new Blob([_0.buffer],{type:"audio/soundfont"}),y0=h0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(Q0,`${h0.soundFontInfo.INAM||"unnamed"}.${y0}`),i4()}}],99999999,!0,this.localeManager)}async function Ik(){let A="locale.exportAudio.formats.";C7(this.localeManager.getLocaleString(A+"title"),[{type:"button",translatePathTitle:A+"formats.wav.button",onClick:r=>{P7(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:A+"formats.midi.button",onClick:r=>{P7(r.id),this.exportMidi()}},{type:"button",translatePathTitle:A+"formats.soundfont.button",onClick:r=>{P7(r.id);try{this._exportSoundfont()}catch{C7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:A+"formats.rmidi.button",onClick:r=>{P7(r.id);try{this._exportRMIDI()}catch{C7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Ek(){let A=(N,V0,G0)=>this.seq.midiData.RMIDInfo?.[N]===void 0?V0:G0.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),r=A("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=A("IPRD","",l),u=A("IART","",l),b=A("IGNR","",l),h0=A("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),_0="locale.exportAudio.formats.formats.rmidi.options.",Q0="locale.exportAudio.formats.metadata.",m1=C7(this.localeManager.getLocaleString(_0+"title"),[{type:"toggle",translatePathTitle:_0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:_0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:Q0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:Q0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:Q0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:Q0+"genre",attributes:{value:b,name:"genre",type:"text"}},{type:"input",translatePathTitle:Q0+"comment",attributes:{value:h0,name:"comment",type:"text"}},{type:"file",translatePathTitle:Q0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:_0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:_0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(_0+"confirm"),onClick:async N=>{let V0=N.div.querySelector("input[compress-toggle='1']").checked,G0=parseInt(N.div.querySelector("input[type='range']").value)/10,v1=N.div.querySelector("input[name='album']").value,h2=N.div.querySelector("input[name='artist']").value,k1=N.div.querySelector("input[name='song_title']").value,Q5=N.div.querySelector("input[name='comment']").value,k2=N.div.querySelector("input[name='genre']").value,Z2=parseInt(N.div.querySelector("input[name='bank_offset']").value),a3=N.div.querySelector("input[name='adjust']").checked,Y5=N.div.querySelector("input[type='file']")?.files[0];P7(N.id),ii("%cExporting RMIDI...",b1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",S5=C7(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(z6=>setTimeout(z6,500));let g3=S5.div.getElementsByClassName("export_rmidi_message")[0],J3=await this.seq.getMIDI(),s9=mh(J3.embeddedSoundFont||this.soundFont);g3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(z6=>setTimeout(z6,75)),hh(J3,await this.synth.getSynthesizerSnapshot()),g3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(z6=>setTimeout(z6,75)),Um(s9,J3);let m6=s9.write({compress:V0,compressionQuality:G0,compressionFunction:this.compressionFunc});g3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(z6=>setTimeout(z6,75));let k9;Y5?.type.split("/")[0]==="image"?k9=await Y5.arrayBuffer():J3.RMIDInfo?.IPIC!==void 0&&(k9=J3.RMIDInfo.IPIC.buffer);let de=Ey(m6,J3,s9,Z2,this.seqUI.encoding,{name:k1,comment:Q5,engineer:s9.soundFontInfo.IENG,picture:k9,album:v1.length>0?v1:void 0,artist:h2.length>0?h2:void 0,genre:k2.length>0?k2:void 0,midiEncoding:this.seqUI.encoding},a3),d4=new Blob([de.buffer],{type:"audio/rmid"});this.saveBlob(d4,`${k1||"unnamed_song"}.rmi`),g3.textContent=this.localeManager.getLocaleString(A0+"done"),P7(S5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");m1.oninput=()=>{m1.files[0]&&(m1.parentElement.firstChild.textContent=m1.files[0].name)}}var Ym={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 dm=="function"&&!g,b=typeof importScripts=="function",h0=!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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=ik;Fs.prototype.readDLSInstrument=rk;Fs.prototype.readRegion=ok;Fs.prototype.readLart=Ak;Fs.prototype.readDLSSamples=ak;var Go=Go!==void 0?Go:{},$k=!1,lk;Go.isInitialized=new Promise(A=>lk=A);var WD=function(A){var r,l,g,u,b,h0,_0,Q0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",y0="",m1=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=Q0.indexOf(A.charAt(m1++)),b=Q0.indexOf(A.charAt(m1++)),h0=Q0.indexOf(A.charAt(m1++)),_0=Q0.indexOf(A.charAt(m1++)),r=u<<2|b>>4,l=(15&b)<<4|h0>>2,g=(3&h0)<<6|_0,y0+=String.fromCharCode(r),h0!==64&&(y0+=String.fromCharCode(l)),_0!==64&&(y0+=String.fromCharCode(g));while(m11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof q$))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]"}):m6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(gr(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)})):(g3||J3)&&(g3?document.currentScript&&(k9=document.currentScript.src):k9=self.location.href,k9=k9.indexOf("blob:")!==0?k9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},J3&&(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,D2){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}D2()},Z3.onerror=D2,Z3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var d4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),z6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||d4);for(A in S5)S5.hasOwnProperty(A)&&(A0[A]=S5[A]);function ze(R0){var X0=G0;return G0=G0+R0+15&-16,X0}function Nr(R0){var X0=Q0[Z2>>2],C1=X0+R0+15&-16;return Q0[Z2>>2]=C1,C1>=_9&&!Gr()?(Q0[Z2>>2]=X0,0):X0}function Yi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function Oo(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 Ms(R0){Ms.shown||(Ms.shown={}),Ms.shown[R0]||(Ms.shown[R0]=1,z6(R0))}S5=void 0;var RC={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},b$=[];function Vm(R0,X0){for(var C1=0,D2=C1;D2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function _$(R0,X0,C1){return C1&&C1.length?A0["dynCall_"+R0].apply(null,[X0].concat(C1)):A0["dynCall_"+R0].call(null,X0)}var Po=0,Bh=0;function gr(R0,X0){R0||Ji("Assertion failed: "+X0)}function Ho(R0){var X0=A0["_"+R0];return gr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var xC={stackSave:function(){PC()},stackRestore:function(){H$()},arrayToC:function(R0){var X0,C1,D2=qo(R0.length);return X0=R0,C1=D2,u.set(X0,C1),D2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=qo(C1),FC(R0,X0,C1)}return X0}},Ts={string:xC.stringToC,array:xC.arrayToC};function ph(R0,X0,C1,D2,Z3){var c9=Ho(R0),J9=[],g6=0;if(D2)for(var m7=0;m7>0]=X0;break;case"i16":h0[R0>>1]=X0;break;case"i32":Q0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+wh(tempDouble=X0)>=1?tempDouble>0?(0|vh(+kh(tempDouble/4294967296),4294967295))>>>0:~~+O$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],Q0[R0>>2]=tempI64[0],Q0[R0+4>>2]=tempI64[1];break;case"float":m1[R0>>2]=X0;break;case"double":N[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 h0[R0>>1];case"i32":case"i64":return Q0[R0>>2];case"float":return m1[R0>>2];case"double":return N[R0>>3];default:Ji("invalid type for getValue: "+X0)}return null}function rp(R0,X0,C1,D2){typeof R0=="number"?(c9=!0,J9=R0):(c9=!1,J9=R0.length);var Z3=typeof X0=="string"?X0:null;if(g6=C1==4?D2:[typeof Hs=="function"?Hs:ze,qo,ze,Nr][C1===void 0?2:C1](Math.max(J9,Z3?1:X0.length)),c9){for(D2=g6,gr((3&g6)==0),m7=g6+(-4&J9);D2>2]=0;for(m7=g6+J9;D2>0]=0;return g6}if(Z3==="i8")return R0.subarray||R0.slice?b.set(R0,g6):b.set(new Uint8Array(R0),g6),g6;for(var c9,J9,g6,m7,Me,Ze,ve,g9=0;g9>0],(D2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var g6="";if(c9<128){for(;X0>0;)Z3=String.fromCharCode.apply(String,b.subarray(R0,R0+Math.min(X0,1024))),g6=g6?g6+Z3:Z3,R0+=1024,X0-=1024;return g6}return C1=R0,function(Me,Ze){for(var ve=Ze;Me[ve];)++ve;if(ve-Ze>16&&Me.subarray&&LC)return LC.decode(Me.subarray(Ze,ve));for(var g9,Ft,Li,B7,Mt,Fi,Mi="";;){if(!(g9=Me[Ze++]))return Mi;if(!(128&g9)){Mi+=String.fromCharCode(g9);continue}if(Ft=63&Me[Ze++],(224&g9)==192){Mi+=String.fromCharCode((31&g9)<<6|Ft);continue}if(Li=63&Me[Ze++],(240&g9)==224?g9=(15&g9)<<12|Ft<<6|Li:(B7=63&Me[Ze++],(248&g9)==240?g9=(7&g9)<<18|Ft<<12|Li<<6|B7:(Mt=63&Me[Ze++],g9=(252&g9)==248?(3&g9)<<24|Ft<<18|Li<<12|B7<<6|Mt:(1&g9)<<30|Ft<<24|Li<<18|B7<<12|Mt<<6|(Fi=63&Me[Ze++]))),g9<65536)Mi+=String.fromCharCode(g9);else{var Fn=g9-65536;Mi+=String.fromCharCode(55296|Fn>>10,56320|1023&Fn)}}}(b,C1)}function np(R0){for(var X0="";;){var C1=u[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ns(R0,X0){return function(D2,Z3,c9){for(var J9=0;J9>0]=D2.charCodeAt(J9);c9||(u[Z3>>0]=0)}(R0,X0,!1)}var LC=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function xn(R0,X0,C1,D2){if(!(D2>0))return 0;for(var Z3=C1,c9=C1+D2-1,J9=0;J9=55296&&g6<=57343&&(g6=65536+((1023&g6)<<10)|1023&R0.charCodeAt(++J9)),g6<=127){if(C1>=c9)break;X0[C1++]=g6}else if(g6<=2047){if(C1+1>=c9)break;X0[C1++]=192|g6>>6,X0[C1++]=128|63&g6}else if(g6<=65535){if(C1+2>=c9)break;X0[C1++]=224|g6>>12,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=2097151){if(C1+3>=c9)break;X0[C1++]=240|g6>>18,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=67108863){if(C1+4>=c9)break;X0[C1++]=248|g6>>24,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else{if(C1+5>=c9)break;X0[C1++]=252|g6>>30,X0[C1++]=128|g6>>24&63,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}}return X0[C1]=0,C1-Z3}function FC(R0,X0,C1){return xn(R0,b,X0,C1)}function Gs(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&(D2=65536+((1023&D2)<<10)|1023&R0.charCodeAt(++C1)),D2<=127?++X0:D2<=2047?X0+=2:D2<=65535?X0+=3:D2<=2097151?X0+=4:D2<=67108863?X0+=5:X0+=6}return X0}var MC=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function sp(R0){for(var X0=R0,C1=X0>>1;h0[C1];)++C1;if((X0=C1<<1)-R0>32&&MC)return MC.decode(b.subarray(R0,X0));for(var D2=0,Z3="";;){var c9=h0[R0+2*D2>>1];if(c9==0)return Z3;++D2,Z3+=String.fromCharCode(c9)}}function Ap(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var D2=X0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,c9=0;c9>1]=J9,X0+=2}return h0[X0>>1]=0,X0-D2}function op(R0){return 2*R0.length}function ap(R0){for(var X0=0,C1="";;){var D2=Q0[R0+4*X0>>2];if(D2==0)return C1;if(++X0,D2>=65536){var Z3=D2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(D2)}}function $p(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var D2=X0,Z3=D2+C1-4,c9=0;c9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++c9)),Q0[X0>>2]=J9,(X0+=4)+4>Z3)break}return Q0[X0>>2]=0,X0-D2}function lp(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&++C1,X0+=4}return X0}function cp(R0){var X0=Gs(R0)+1,C1=Hs(X0);return C1&&xn(R0,u,C1,X0),C1}function gp(R0){var X0=Gs(R0)+1,C1=qo(X0);return xn(R0,u,C1,X0),C1}function TC(R0){return R0}function Zm(){var R0,X0=function(){var D2=Error();if(!D2.stack){try{throw Error(0)}catch(Z3){D2=Z3}if(!D2.stack)return"(no stack trace available)"}return D2.stack.toString()}();return A0.extraStackTrace&&(X0+=` +`+A0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var D2,Z3=D2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function Qh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function NC(R0){A0.buffer=g=R0}function Y9(){A0.HEAP8=u=new Int8Array(g),A0.HEAP16=h0=new Int16Array(g),A0.HEAP32=Q0=new Int32Array(g),A0.HEAPU8=b=new Uint8Array(g),A0.HEAPU16=_0=new Uint16Array(g),A0.HEAPU32=y0=new Uint32Array(g),A0.HEAPF32=m1=new Float32Array(g),A0.HEAPF64=N=new Float64Array(g)}function Gr(){var R0=A0.usingWasm?65536:16777216,X0=2147483648-R0;if(Q0[Z2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Qh(2*_9,R0):Math.min(Qh((3*_9+2147483648)/4,R0),X0);var D2=A0.reallocBuffer(_9);return D2&&D2.byteLength==_9?(NC(D2),Y9(),!0):(_9=C1,!1)}V0=G0=h2=k1=Q5=k2=Z2=0,v1=!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!!Xm(X0)&&X0});try{(a3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a3=function(X0){return X0.byteLength}}var L$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function F$(){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<=D2&&(X0<=32||R0>D2)&&(R0=-2*D2+R0),R0}var wh=Math.abs,O$=Math.ceil,kh=Math.floor,vh=Math.min,Ln=0,Sh=null,Ps=null;function hp(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var OC="data:application/octet-stream;base64,";function P$(R0){return String.prototype.startsWith?R0.startsWith(OC):R0.indexOf(OC)===0}(function(){var X0="main.wast",C1="main.wasm",D2="main.temp.asm.js";P$(X0)||(X0=de(X0)),P$(C1)||(C1=de(C1)),P$(D2)||(D2=de(D2));var Z3={global:null,env:null,asm2wasm:RC,parent:A0},c9=null;function J9(ve){return ve}function g6(){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(ve){Ji(ve)}}A0.asmPreload=A0.asm;var m7=A0.reallocBuffer,Me=function(ve){ve=Qh(ve,A0.usingWasm?65536:16777216);var g9=A0.buffer.byteLength;if(A0.usingWasm)try{var Ft=A0.wasmMemory.grow((ve-g9)/65536);return Ft!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(ve){return Ze==="asmjs"?m7(ve):Me(ve)};var Ze="";A0.asm=function(ve,g9,Ft){var Li;if(!(g9=Li=g9).table){var B7,Mt=A0.wasmTableSize;Mt===void 0&&(Mt=1024);var Fi=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Fi!==void 0?g9.table=new WebAssembly.Table({initial:Mt,maximum:Fi,element:"anyfunc"}):g9.table=new WebAssembly.Table({initial:Mt,element:"anyfunc"}):g9.table=Array(Mt),A0.wasmTable=g9.table}return g9.memoryBase||(g9.memoryBase=A0.STATIC_BASE),g9.tableBase||(g9.tableBase=0),B7=function(Fn,hr,HC){if(typeof WebAssembly!="object")return z6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return z6("no native wasm Memory in use"),!1;function Dh(fr,Ki){if((c9=fr.exports).memory){var Yo,qs,Ys;Yo=c9.memory,qs=A0.buffer,Yo.byteLength0?C1:Gs(R0)+1,Z3=Array(D2),c9=xn(R0,Z3,0,Z3.length);return X0&&(Z3.length=c9),Z3}function jm(R0){for(var X0=[],C1=0;C1255&&(D2&=255),X0.push(String.fromCharCode(D2))}return X0.join("")}G0+=16,Z2=ze(4),Q5=(h2=k1=Yi(G0))+L$,k2=Yi(Q5),Q0[Z2>>2]=k2,v1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Ji,assert:gr,enlargeMemory:Gr,getTotalMemory:F$,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,D2){var Z3=PC();try{return A0.dynCall_iii(X0,C1,D2)}catch(c9){if(H$(Z3),typeof c9!="number"&&c9!=="longjmp")throw c9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,D2,Z3){Ji("Assertion failed: "+x$(X0)+", at: "+[C1?x$(C1):"unknown filename",D2,Z3?x$(Z3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(Q0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,D2){return b.set(b.subarray(C1,C1+D2),X0),X0},_llvm_floor_f64:kh,DYNAMICTOP_PTR:Z2,tempDoublePtr:Lt,ABORT:Po,STACKTOP:k1,STACK_MAX:Q5};var Pr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Pr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var Xm=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 qo=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},H$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},PC=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function q$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function Y$(R0){R0=R0||A0.arguments,!(Ln>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)Wm(A0.preRun.shift());Us(Ur)}(),!(Ln>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),X0()},1)):X0())));function X0(){!A0.calledRun&&(A0.calledRun=!0,Po||(N$||(N$=!0,Us(M$)),Us(yh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)xi(A0.postRun.shift());Us(T$)}()))}}function eB(R0,X0){(!X0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Po=!0,Bh=R0,k1=Y5,Us(Ci),Ri=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new q$(R0)))}function Ji(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(d4(R0),z6(R0),R0=JSON.stringify(R0)):R0="",Po=!0,Bh=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=Pr,A0.ccall=ph,A0.cwrap=function(X0,C1,D2,Z3){var c9=(D2=D2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&c9&&!Z3?Ho(X0):function(){return ph(X0,C1,D2,arguments,Z3)}},q$.prototype=Error(),q$.prototype.constructor=q$,Ps=function R0(){A0.calledRun||Y$(),A0.calledRun||(Ps=R0)},A0.run=Y$,A0.abort=Ji,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,Y$(),A0.onRuntimeInitialized=()=>{$k=!0,lk()},Go.decode=function(R0){return function(C1){if(!$k)throw Error("Not initialized");var D2={};function Z3(hr){return new Int32Array(A0.HEAPU8.buffer,hr,1)[0]}function c9(hr,HC){var Dh=new ArrayBuffer(HC*Float32Array.BYTES_PER_ELEMENT),Q8=new Float32Array(Dh);return Q8.set(new Float32Array(A0.HEAPU8.buffer,hr,HC)),Q8}D2.open=A0.cwrap("stb_vorbis_js_open","number",[]),D2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),D2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),D2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),D2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,g6,m7,Me,Ze=D2.open(),ve=(J9=C1,g6=C1.byteLength,m7=A0._malloc(g6),(Me=new Uint8Array(A0.HEAPU8.buffer,m7,g6)).set(new Uint8Array(J9,0,g6)),Me),g9=A0._malloc(4),Ft=A0._malloc(4),Li=D2.decode(Ze,ve.byteOffset,ve.byteLength,g9,Ft);if(A0._free(ve.byteOffset),Li<0)throw D2.close(Ze),A0._free(g9),Error("stbvorbis decode failed: "+Li);for(var B7=D2.channels(Ze),Mt=Array(B7),Fi=new Int32Array(A0.HEAPU32.buffer,Z3(g9),B7),Mi=0;MiA.chunkData.currentIndex;){let b=jD(u,A.chunkData,r,l);g.push(b),u++}return g.length>1&&g.pop(),g}function jD(A,r,l,g){let u=ue(r,20),b=r3(r,4)*2,h0=r3(r,4)*2,_0=r3(r,4)*2,Q0=r3(r,4)*2,y0=r3(r,4),m1=r[r.currentIndex++];m1===255&&(m1=60);let N=uy(r[r.currentIndex++]),V0=r3(r,2),G0=r3(r,2);return new VB(u,b,h0,_0,Q0,y0,m1,N,V0,G0,l,A,g)}var zB=class extends Eh{constructor(r){super(),this.instrumentName=ue(r.chunkData,20).trim(),this.instrumentZoneIndex=r3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;gA.chunkData.currentIndex;){let g=new zB(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 ZB=class extends No{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function hk(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new ZB(A.chunkData);if(u.length>0){let h0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,_0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(h0,_0),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 WB=class extends Ih{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function fk(A,r,l,g){let u=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let b=new WB(A.chunkData);if(u.length>0){let h0=b.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,_0=b.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(h0,_0),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 jB=class extends dh{constructor(r){super(),this.presetName=ue(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=r3(r.chunkData,2),this.bank=r3(r.chunkData,2),this.presetZoneStartIndex=r3(r.chunkData,2),this.library=r3(r.chunkData,4),this.genre=r3(r.chunkData,4),this.morphology=r3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;gA.chunkData.currentIndex;){let g=new jB(A);if(l.length>0){let u=g.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(u,r)}l.push(g)}return l.length>1&&l.pop(),l}var Ym=class extends k${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new Y3(r),lr("%cParsing SoundFont...",b1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=u4(this.dataArray,!1);this.verifyHeader(g,"riff");let u=ue(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",h0=u4(this.dataArray);for(this.verifyHeader(h0,"list"),ue(h0.chunkData,4);h0.chunkData.length>h0.chunkData.currentIndex;){let s9=u4(h0.chunkData),m6;switch(s9.header.toLowerCase()){case"ifil":case"iver":m6=`${r3(s9.chunkData,2)}.${r3(s9.chunkData,2)}`;break;case"icmt":m6=ue(s9.chunkData,s9.chunkData.length,void 0,!1);break;default:m6=ue(s9.chunkData,s9.chunkData.length)}J5(`%c"${s9.header}": %c"${m6}"`,b1.info,b1.recognized),this.soundFontInfo[s9.header]=m6}let _0=u4(this.dataArray,!1);this.verifyHeader(_0,"list"),this.verifyText(ue(this.dataArray,4),"sdta"),J5("%cVerifying smpl chunk...",b1.warn);let Q0=u4(this.dataArray,!1);this.verifyHeader(Q0,"smpl");let y0;if(b){J5("%cSF2Pack detected, attempting to decode the smpl chunk...",b1.info);try{y0=Go.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+_0.size-12)).data[0]}catch(s9){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${s9}`)}J5(`%cDecoded the smpl chunk! Length: %c${y0.length}`,b1.info,b1.value)}else y0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;J5(`%cSkipping sample chunk, length: %c${_0.size-12}`,b1.info,b1.value),this.dataArray.currentIndex+=_0.size-12,J5("%cLoading preset data chunk...",b1.warn);let m1=u4(this.dataArray);this.verifyHeader(m1,"list"),ue(m1.chunkData,4);let N=u4(m1.chunkData);this.verifyHeader(N,"phdr");let V0=u4(m1.chunkData);this.verifyHeader(V0,"pbag");let G0=u4(m1.chunkData);this.verifyHeader(G0,"pmod");let v1=u4(m1.chunkData);this.verifyHeader(v1,"pgen");let h2=u4(m1.chunkData);this.verifyHeader(h2,"inst");let k1=u4(m1.chunkData);this.verifyHeader(k1,"ibag");let Q5=u4(m1.chunkData);this.verifyHeader(Q5,"imod");let k2=u4(m1.chunkData);this.verifyHeader(k2,"igen");let Z2=u4(m1.chunkData);this.verifyHeader(Z2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...ck(Z2,y0,!b));let a3=TB(k2),Y5=UB(Q5),A0=hk(k1,a3,Y5,this.samples);this.instruments=gk(h2,A0);let S5=TB(v1),g3=UB(G0),J3=fk(V0,S5,g3,this.instruments);this.presets.push(...uk(N,J3)),this.presets.sort((s9,m6)=>s9.program-m6.program+(s9.bank-m6.bank)),J5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.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 mh(A){let r=A.slice(8,12),l=new Y3(r);return ue(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(A):new Ym(A,!1)}async function dk(){let A="locale.exportAudio.formats.formats.soundfont.options.";C7(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;P7(r.id),lr("%cExporting minified soundfont...",b1.info);let b=await this.seq.getMIDI(),h0=mh(b.embeddedSoundFont||this.soundFont);hh(b,await this.synth.getSynthesizerSnapshot()),l&&Om(h0,b);let _0=h0.write({compress:g,compressionQuality:u,compressionFunction:this.compressionFunc}),Q0=new Blob([_0.buffer],{type:"audio/soundfont"}),y0=h0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(Q0,`${h0.soundFontInfo.INAM||"unnamed"}.${y0}`),i4()}}],99999999,!0,this.localeManager)}async function Ik(){let A="locale.exportAudio.formats.";C7(this.localeManager.getLocaleString(A+"title"),[{type:"button",translatePathTitle:A+"formats.wav.button",onClick:r=>{P7(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:A+"formats.midi.button",onClick:r=>{P7(r.id),this.exportMidi()}},{type:"button",translatePathTitle:A+"formats.soundfont.button",onClick:r=>{P7(r.id);try{this._exportSoundfont()}catch{C7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:A+"formats.rmidi.button",onClick:r=>{P7(r.id);try{this._exportRMIDI()}catch{C7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Ek(){let A=(N,V0,G0)=>this.seq.midiData.RMIDInfo?.[N]===void 0?V0:G0.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),r=A("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=A("IPRD","",l),u=A("IART","",l),b=A("IGNR","",l),h0=A("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),_0="locale.exportAudio.formats.formats.rmidi.options.",Q0="locale.exportAudio.formats.metadata.",m1=C7(this.localeManager.getLocaleString(_0+"title"),[{type:"toggle",translatePathTitle:_0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:_0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:Q0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:Q0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:Q0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:Q0+"genre",attributes:{value:b,name:"genre",type:"text"}},{type:"input",translatePathTitle:Q0+"comment",attributes:{value:h0,name:"comment",type:"text"}},{type:"file",translatePathTitle:Q0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:_0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:_0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(_0+"confirm"),onClick:async N=>{let V0=N.div.querySelector("input[compress-toggle='1']").checked,G0=parseInt(N.div.querySelector("input[type='range']").value)/10,v1=N.div.querySelector("input[name='album']").value,h2=N.div.querySelector("input[name='artist']").value,k1=N.div.querySelector("input[name='song_title']").value,Q5=N.div.querySelector("input[name='comment']").value,k2=N.div.querySelector("input[name='genre']").value,Z2=parseInt(N.div.querySelector("input[name='bank_offset']").value),a3=N.div.querySelector("input[name='adjust']").checked,Y5=N.div.querySelector("input[type='file']")?.files[0];P7(N.id),ii("%cExporting RMIDI...",b1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",S5=C7(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(z6=>setTimeout(z6,500));let g3=S5.div.getElementsByClassName("export_rmidi_message")[0],J3=await this.seq.getMIDI(),s9=mh(J3.embeddedSoundFont||this.soundFont);g3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(z6=>setTimeout(z6,75)),hh(J3,await this.synth.getSynthesizerSnapshot()),g3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(z6=>setTimeout(z6,75)),Om(s9,J3);let m6=s9.write({compress:V0,compressionQuality:G0,compressionFunction:this.compressionFunc});g3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(z6=>setTimeout(z6,75));let k9;Y5?.type.split("/")[0]==="image"?k9=await Y5.arrayBuffer():J3.RMIDInfo?.IPIC!==void 0&&(k9=J3.RMIDInfo.IPIC.buffer);let de=Ey(m6,J3,s9,Z2,this.seqUI.encoding,{name:k1,comment:Q5,engineer:s9.soundFontInfo.IENG,picture:k9,album:v1.length>0?v1:void 0,artist:h2.length>0?h2:void 0,genre:k2.length>0?k2:void 0,midiEncoding:this.seqUI.encoding},a3),d4=new Blob([de.buffer],{type:"audio/rmid"});this.saveBlob(d4,`${k1||"unnamed_song"}.rmi`),g3.textContent=this.localeManager.getLocaleString(A0+"done"),P7(S5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");m1.oninput=()=>{m1.files[0]&&(m1.parentElement.firstChild.textContent=m1.files[0].name)}}var Jm={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 dm=="function"&&!g,b=typeof importScripts=="function",h0=!g&&!u&&!b;if(u){A.print||(A.print=function($){process.stdout.write($+` `)}),A.printErr||(A.printErr=function($){process.stderr.write($+` -`)});var _0=void 0,Q0=void 0;A.read=function($,h){$=Q0.normalize($);var d=_0.readFileSync($);return!d&&$!=Q0.resolve($)&&($=path.join(__dirname,"..","src",$),d=_0.readFileSync($)),d&&!h&&(d=d.toString()),d},A.readBinary=function($){return A.read($,!0)},A.load=function($){m1(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(h0)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 y0=!1;A.print||(A.print=y0&&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 m1(i){eval.call(null,i)}!A.load&&A.read&&(A.load=function($){m1(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 N={setTempRet0:function(i){z6=i},getTempRet0:function(){return z6},stackSave:function(){return Ci},stackRestore:function(i){Ci=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 N.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(N.getNativeTypeSize(i),N.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?N.getNativeFieldSize(i):0),N.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;$=Os){var h=Zm();if(!h)return Ri=$,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=N;var V0=0,G0=!1,v1=0,h2=0,k1,Q5,k2,Z2,a3,Y5,A0,S5,g3,J3,s9,m6,k9,de,d4,z6,ze,Nr,Yi,Oo,Ms,RC,b$,Km,Qk;function K4(i,$){i||Js("Assertion failed: "+$)}var yk=this;function Vm(i){var $=A["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var _$,Po;(function(){var i={stackSave:function(){N.stackSave()},stackRestore:function(){N.stackRestore()},arrayToC:function(W0){var t1=N.stackAlloc(W0.length);return qo(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=N.stackAlloc((W0.length<<2)+1),Hs(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};Po=function(t1,b2,s,o1,m){var y5=Vm(t1),p2=[],T5=0;if(o1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Gr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":de=[$>>>0,(m6=$,+Y$(m6)>=1?m6>0?(Ft(+Me(m6/4294967296),4294967295)|0)>>>0:~~+m7((m6-+(~~m6>>>0))/4294967296)>>>0:0)],_9[i>>2]=de[0],_9[i+4>>2]=de[1];break;case"float":K$[i>>2]=$;break;case"double":F$[i>>3]=$;break;default:Js("invalid type for setValue: "+h)}}A.setValue=Bh;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 Gr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return K$[i>>2];case"double":return F$[i>>3];default:Js("invalid type for setValue: "+$)}return null}A.getValue=gr;var Ho=0,xC=1,Ts=2,ph=3,M3=4;A.ALLOC_NORMAL=Ho,A.ALLOC_STACK=xC,A.ALLOC_STATIC=Ts,A.ALLOC_DYNAMIC=ph,A.ALLOC_NONE=M3;function E3(i,$,h,d){var O,e;typeof i=="number"?(O=!0,e=i):(O=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==M3?t1=d:t1=[bh,N.stackAlloc,N.staticAlloc,N.dynamicAlloc][h===void 0?Ts:h](Math.max(e,W0?1:$.length)),O){var d=t1,b2;for(K4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?mi.set(i,t1):mi.set(new Uint8Array(i),t1),t1;for(var s=0,o1,m,y5;s>0],h|=d,!(d==0&&!$||(O++,$&&O==$)););$||($=O);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,mi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return A.UTF8ToString(i)}A.Pointer_stringify=R$;function x$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}A.AsciiToString=x$;function np(i,$){return H$(i,$,!1)}A.stringToAscii=np;function Ns(i,$){for(var h,d,O,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(O=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|O:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|O<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|O<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|O<<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)}}}A.UTF8ArrayToString=Ns;function LC(i){return Ns(mi,i)}A.UTF8ToString=LC;function xn(i,$,h,d){if(!(d>0))return 0;for(var O=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-O}A.stringToUTF8Array=xn;function FC(i,$,h){return xn(i,mi,$,h)}A.stringToUTF8=FC;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 $}A.lengthBytesUTF8=Gs;function MC(i){for(var $=0,h="";;){var d=Gr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}A.UTF16ToString=MC;function sp(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,O=h>1]=W0,$+=2}return Gr[$>>1]=0,$-d}A.stringToUTF16=sp;function Ap(i){return i.length*2}A.lengthBytesUTF16=Ap;function op(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var O=d-65536;h+=String.fromCharCode(55296|O>>10,56320|O&1023)}else h+=String.fromCharCode(d)}}A.UTF32ToString=op;function ap(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,O=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>O)break}return _9[$>>2]=0,$-d}A.stringToUTF32=ap;function $p(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}A.lengthBytesUTF32=$p;function lp(i){var $=!!A.___cxa_demangle;if($)try{var h=bh(i.length);Hs(i.substr(1),h);var d=bh(4),O=A.___cxa_demangle(h,0,0,d);if(gr(d,"i32")===0&&O)return R$(O)}catch{}finally{h&&tB(h),d&&tB(d),O&&tB(O)}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&&A.print(p2),A.print(i);for(var T5="",R9=0;R9"}else P9=V9;e:for(;e0;){var ur=i[e++];if(ur in W0)I4.push(W0[ur]);else switch(ur){case"P":I4.push(m(!0,1,!0)[0]+"*");break;case"R":I4.push(m(!0,1,!0)[0]+"&");break;case"L":{e++;var z$=i.indexOf("E",e),c8=z$-e;I4.push(i.substr(e,c8)),e+=c8+2;break}case"A":{var c8=parseInt(i.substr(e));if(e+=c8.toString().length,i[e]!=="_")throw"?";e++,I4.push(m(!0,1,!0)[0]+" ["+c8+"]");break}case"E":break e;default:P9+="?"+ur;break e}}return!R9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(P9&&I4.push(P9+"?"),I4):P9+y8()}var y5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=R$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}y5=m()}catch{y5+="?"}return y5.indexOf("?")>=0&&!$&&N.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),y5}function cp(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=lp($);return $===h?$:$+" ["+h+"]"})}function gp(){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 TC(){return cp(gp())}A.stackTrace=TC;var zm=4096;function Qh(i){return i%4096>0&&(i+=4096-i%4096),i}var NC,Y9,mi,Gr,L$,_9,J$,K$,F$,Us=0,Ur=0,M$=!1,yh=0,Ci=0,T$=0,N$=0,Ri=0;function Zm(){Js("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Os+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var GC=A.TOTAL_STACK||5242880,Os=A.TOTAL_MEMORY||16777216,Or=64*1024;Or0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?N.dynCall("v",h):N.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var UC=[],U$=[],wh=[],O$=[],kh=[],vh=!1,Ln=!1;function Sh(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)Lt(A.preRun.shift());G$(UC)}function Ps(){vh||(vh=!0,G$(U$))}function hp(){G$(wh)}function OC(){G$(O$),Ln=!0}function P$(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)Wm(A.postRun.shift());G$(kh)}function Lt(i){UC.unshift(i)}A.addOnPreRun=A.addOnPreRun=Lt;function fp(i){U$.unshift(i)}A.addOnInit=A.addOnInit=fp;function up(i){wh.unshift(i)}A.addOnPreMain=A.addOnPreMain=up;function dp(i){O$.unshift(i)}A.addOnExit=A.addOnExit=dp;function Wm(i){kh.unshift(i)}A.addOnPostRun=A.addOnPostRun=Wm;function Pr(i,$,h){var d=h>0?h:Gs(i)+1,O=new Array(d),e=xn(i,O,0,O.length);return $&&(O.length=e),O}A.intArrayFromString=Pr;function jm(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}A.intArrayToString=jm;function Hs(i,$,h){for(var d=Pr(i,h),O=0;O>0]=e,O=O+1}}A.writeStringToMemory=Hs;function qo(i,$){for(var h=0;h>0]=i[h]}A.writeArrayToMemory=qo;function H$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}A.writeAsciiToMemory=H$;function PC(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function q$(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,O=$&65535,e=h>>>16,W0=h&65535;return O*W0+(d*W0+O*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var Y$=Math.abs,Xm=Math.cos,Ji=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,D2=Math.atan,Z3=Math.atan2,c9=Math.exp,J9=Math.log,g6=Math.sqrt,m7=Math.ceil,Me=Math.floor,Ze=Math.pow,ve=Math.imul,g9=Math.fround,Ft=Math.min,Li=Math.clz32,B7=0,Mt=null,Fi=null;function Mi(i){return i}function Fn(i){B7++,A.monitorRunDependencies&&A.monitorRunDependencies(B7)}A.addRunDependency=Fn;function hr(i){if(B7--,A.monitorRunDependencies&&A.monitorRunDependencies(B7),B7==0&&(Mt!==null&&(clearInterval(Mt),Mt=null),Fi)){var $=Fi;Fi=null,$()}}A.removeRunDependency=hr,A.preloadedImages={},A.preloadedAudios={};var HC=null,Dh=[];Us=8,Ur=Us+553552,U$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+41032),E3([1],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+72464),E3([1],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+551416);var Q8=N.alignMemory(E3(12,"i8",Ts),8);K4(Q8%8==0);function eB(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3]}function fr(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3],Y9[Q8+4]=Y9[i+4],Y9[Q8+5]=Y9[i+5],Y9[Q8+6]=Y9[i+6],Y9[Q8+7]=Y9[i+7]}var Ki=Xm,Yo=Y$,qs=0;function Ys(i){return _9[qs>>2]=i,i}var F2={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 Ip(i){switch(i){case 30:return zm;case 85:return Or/zm;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(F2.EINVAL),-1}A._memset=sv;var Ep=!0;A._strlen=tv,A._strcat=iv,A._bitshift64Shl=$v;function wk(){A.abort()}A._i64Add=rv;var kk=Me,vk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Mn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Mn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Mn.stream_ops)},stream_ops:{open:function(i){var $=Mn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(F2.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,O){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(F2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,O).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var _0=void 0,Q0=void 0;A.read=function($,h){$=Q0.normalize($);var d=_0.readFileSync($);return!d&&$!=Q0.resolve($)&&($=path.join(__dirname,"..","src",$),d=_0.readFileSync($)),d&&!h&&(d=d.toString()),d},A.readBinary=function($){return A.read($,!0)},A.load=function($){m1(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(h0)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 y0=!1;A.print||(A.print=y0&&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 m1(i){eval.call(null,i)}!A.load&&A.read&&(A.load=function($){m1(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 N={setTempRet0:function(i){z6=i},getTempRet0:function(){return z6},stackSave:function(){return Ci},stackRestore:function(i){Ci=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 N.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(N.getNativeTypeSize(i),N.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?N.getNativeFieldSize(i):0),N.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;$=Os){var h=Wm();if(!h)return Ri=$,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=N;var V0=0,G0=!1,v1=0,h2=0,k1,Q5,k2,Z2,a3,Y5,A0,S5,g3,J3,s9,m6,k9,de,d4,z6,ze,Nr,Yi,Oo,Ms,RC,b$,Vm,Qk;function K4(i,$){i||Js("Assertion failed: "+$)}var yk=this;function zm(i){var $=A["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var _$,Po;(function(){var i={stackSave:function(){N.stackSave()},stackRestore:function(){N.stackRestore()},arrayToC:function(W0){var t1=N.stackAlloc(W0.length);return qo(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=N.stackAlloc((W0.length<<2)+1),Hs(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};Po=function(t1,b2,s,o1,m){var y5=zm(t1),p2=[],T5=0;if(o1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Gr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":de=[$>>>0,(m6=$,+Y$(m6)>=1?m6>0?(Ft(+Me(m6/4294967296),4294967295)|0)>>>0:~~+m7((m6-+(~~m6>>>0))/4294967296)>>>0:0)],_9[i>>2]=de[0],_9[i+4>>2]=de[1];break;case"float":K$[i>>2]=$;break;case"double":F$[i>>3]=$;break;default:Js("invalid type for setValue: "+h)}}A.setValue=Bh;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 Gr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return K$[i>>2];case"double":return F$[i>>3];default:Js("invalid type for setValue: "+$)}return null}A.getValue=gr;var Ho=0,xC=1,Ts=2,ph=3,M3=4;A.ALLOC_NORMAL=Ho,A.ALLOC_STACK=xC,A.ALLOC_STATIC=Ts,A.ALLOC_DYNAMIC=ph,A.ALLOC_NONE=M3;function E3(i,$,h,d){var O,e;typeof i=="number"?(O=!0,e=i):(O=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==M3?t1=d:t1=[bh,N.stackAlloc,N.staticAlloc,N.dynamicAlloc][h===void 0?Ts:h](Math.max(e,W0?1:$.length)),O){var d=t1,b2;for(K4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?mi.set(i,t1):mi.set(new Uint8Array(i),t1),t1;for(var s=0,o1,m,y5;s>0],h|=d,!(d==0&&!$||(O++,$&&O==$)););$||($=O);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,mi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return A.UTF8ToString(i)}A.Pointer_stringify=R$;function x$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}A.AsciiToString=x$;function np(i,$){return H$(i,$,!1)}A.stringToAscii=np;function Ns(i,$){for(var h,d,O,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(O=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|O:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|O<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|O<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|O<<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)}}}A.UTF8ArrayToString=Ns;function LC(i){return Ns(mi,i)}A.UTF8ToString=LC;function xn(i,$,h,d){if(!(d>0))return 0;for(var O=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-O}A.stringToUTF8Array=xn;function FC(i,$,h){return xn(i,mi,$,h)}A.stringToUTF8=FC;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 $}A.lengthBytesUTF8=Gs;function MC(i){for(var $=0,h="";;){var d=Gr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}A.UTF16ToString=MC;function sp(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,O=h>1]=W0,$+=2}return Gr[$>>1]=0,$-d}A.stringToUTF16=sp;function Ap(i){return i.length*2}A.lengthBytesUTF16=Ap;function op(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var O=d-65536;h+=String.fromCharCode(55296|O>>10,56320|O&1023)}else h+=String.fromCharCode(d)}}A.UTF32ToString=op;function ap(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,O=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>O)break}return _9[$>>2]=0,$-d}A.stringToUTF32=ap;function $p(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}A.lengthBytesUTF32=$p;function lp(i){var $=!!A.___cxa_demangle;if($)try{var h=bh(i.length);Hs(i.substr(1),h);var d=bh(4),O=A.___cxa_demangle(h,0,0,d);if(gr(d,"i32")===0&&O)return R$(O)}catch{}finally{h&&iB(h),d&&iB(d),O&&iB(O)}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&&A.print(p2),A.print(i);for(var T5="",R9=0;R9"}else P9=V9;e:for(;e0;){var ur=i[e++];if(ur in W0)I4.push(W0[ur]);else switch(ur){case"P":I4.push(m(!0,1,!0)[0]+"*");break;case"R":I4.push(m(!0,1,!0)[0]+"&");break;case"L":{e++;var z$=i.indexOf("E",e),c8=z$-e;I4.push(i.substr(e,c8)),e+=c8+2;break}case"A":{var c8=parseInt(i.substr(e));if(e+=c8.toString().length,i[e]!=="_")throw"?";e++,I4.push(m(!0,1,!0)[0]+" ["+c8+"]");break}case"E":break e;default:P9+="?"+ur;break e}}return!R9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(P9&&I4.push(P9+"?"),I4):P9+y8()}var y5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=R$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}y5=m()}catch{y5+="?"}return y5.indexOf("?")>=0&&!$&&N.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),y5}function cp(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=lp($);return $===h?$:$+" ["+h+"]"})}function gp(){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 TC(){return cp(gp())}A.stackTrace=TC;var Zm=4096;function Qh(i){return i%4096>0&&(i+=4096-i%4096),i}var NC,Y9,mi,Gr,L$,_9,J$,K$,F$,Us=0,Ur=0,M$=!1,yh=0,Ci=0,T$=0,N$=0,Ri=0;function Wm(){Js("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Os+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var GC=A.TOTAL_STACK||5242880,Os=A.TOTAL_MEMORY||16777216,Or=64*1024;Or0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?N.dynCall("v",h):N.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var UC=[],U$=[],wh=[],O$=[],kh=[],vh=!1,Ln=!1;function Sh(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)Lt(A.preRun.shift());G$(UC)}function Ps(){vh||(vh=!0,G$(U$))}function hp(){G$(wh)}function OC(){G$(O$),Ln=!0}function P$(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)jm(A.postRun.shift());G$(kh)}function Lt(i){UC.unshift(i)}A.addOnPreRun=A.addOnPreRun=Lt;function fp(i){U$.unshift(i)}A.addOnInit=A.addOnInit=fp;function up(i){wh.unshift(i)}A.addOnPreMain=A.addOnPreMain=up;function dp(i){O$.unshift(i)}A.addOnExit=A.addOnExit=dp;function jm(i){kh.unshift(i)}A.addOnPostRun=A.addOnPostRun=jm;function Pr(i,$,h){var d=h>0?h:Gs(i)+1,O=new Array(d),e=xn(i,O,0,O.length);return $&&(O.length=e),O}A.intArrayFromString=Pr;function Xm(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}A.intArrayToString=Xm;function Hs(i,$,h){for(var d=Pr(i,h),O=0;O>0]=e,O=O+1}}A.writeStringToMemory=Hs;function qo(i,$){for(var h=0;h>0]=i[h]}A.writeArrayToMemory=qo;function H$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}A.writeAsciiToMemory=H$;function PC(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function q$(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,O=$&65535,e=h>>>16,W0=h&65535;return O*W0+(d*W0+O*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var Y$=Math.abs,eB=Math.cos,Ji=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,D2=Math.atan,Z3=Math.atan2,c9=Math.exp,J9=Math.log,g6=Math.sqrt,m7=Math.ceil,Me=Math.floor,Ze=Math.pow,ve=Math.imul,g9=Math.fround,Ft=Math.min,Li=Math.clz32,B7=0,Mt=null,Fi=null;function Mi(i){return i}function Fn(i){B7++,A.monitorRunDependencies&&A.monitorRunDependencies(B7)}A.addRunDependency=Fn;function hr(i){if(B7--,A.monitorRunDependencies&&A.monitorRunDependencies(B7),B7==0&&(Mt!==null&&(clearInterval(Mt),Mt=null),Fi)){var $=Fi;Fi=null,$()}}A.removeRunDependency=hr,A.preloadedImages={},A.preloadedAudios={};var HC=null,Dh=[];Us=8,Ur=Us+553552,U$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+41032),E3([1],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+72464),E3([1],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+551416);var Q8=N.alignMemory(E3(12,"i8",Ts),8);K4(Q8%8==0);function tB(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3]}function fr(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3],Y9[Q8+4]=Y9[i+4],Y9[Q8+5]=Y9[i+5],Y9[Q8+6]=Y9[i+6],Y9[Q8+7]=Y9[i+7]}var Ki=eB,Yo=Y$,qs=0;function Ys(i){return _9[qs>>2]=i,i}var F2={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 Ip(i){switch(i){case 30:return Zm;case 85:return Or/Zm;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(F2.EINVAL),-1}A._memset=sv;var Ep=!0;A._strlen=tv,A._strcat=iv,A._bitshift64Shl=$v;function wk(){A.abort()}A._i64Add=rv;var kk=Me,vk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Mn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Mn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Mn.stream_ops)},stream_ops:{open:function(i){var $=Mn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(F2.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,O){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(F2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,O).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=Pr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(A.print(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.print(Ns(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(A.printErr(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.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(F2.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 O=k.createNode(i,$,h,d);return k.isDir(O.mode)?(O.node_ops=v9.ops_table.dir.node,O.stream_ops=v9.ops_table.dir.stream,O.contents={}):k.isFile(O.mode)?(O.node_ops=v9.ops_table.file.node,O.stream_ops=v9.ops_table.file.stream,O.usedBytes=0,O.contents=null):k.isLink(O.mode)?(O.node_ops=v9.ops_table.link.node,O.stream_ops=v9.ops_table.link.stream):k.isChrdev(O.mode)&&(O.node_ops=v9.ops_table.chrdev.node,O.stream_ops=v9.ops_table.chrdev.stream),O.timestamp=Date.now(),i&&(i.contents[$]=O),O},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(O.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[F2.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 O in d.contents)throw new k.ErrnoError(F2.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(F2.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(F2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,O){var e=i.node.contents;if(O>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-O,d);if(K4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(O,O+W0),h);else for(var t1=0;t10||O+dT5.timestamp)&&(O.push(y5),d++)});var e=[];if(Object.keys($.entries).forEach(function(y5){var p2=$.entries[y5],T5=i.entries[y5];T5||(e.push(y5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([p7.DB_STORE_NAME],"readwrite"),o1=s.objectStore(p7.DB_STORE_NAME);function m(y5){if(y5)return m.errored?void 0:(m.errored=!0,h(y5));if(++t1>=d)return h(null)}s.onerror=function(y5){m(this.error),y5.preventDefault()},O.sort().forEach(function(y5){$.type==="local"?p7.loadRemoteEntry(o1,y5,function(p2,T5){if(p2)return m(p2);p7.storeLocalEntry(y5,T5,m)}):p7.loadLocalEntry(y5,function(p2,T5){if(p2)return m(p2);p7.storeRemoteEntry(o1,y5,T5,m)})}),e.sort().reverse().forEach(function(y5){$.type==="local"?p7.removeLocalEntry(y5,m):p7.removeRemoteEntry(o1,y5,m)})}},l8={isWindows:!1,staticInit:function(){l8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(u),l8.createNode(null,"/",l8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(F2.EINVAL);var O=k.createNode(i,$,h);return O.node_ops=l8.node_ops,O.stream_ops=l8.stream_ops,O},getMode:function(i){var $;try{$=Q7.lstatSync(i),l8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(F2[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(),l9.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 l8.flagsToPermissionStringMap?l8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=l8.realPath(i),h;try{h=Q7.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(F2[d.code]):d}return l8.isWindows&&!h.blksize&&(h.blksize=4096),l8.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=l8.realPath(i);try{if($.mode!==void 0&&(Q7.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Q7.utimesSync(h,d,d)}$.size!==void 0&&Q7.truncateSync(h,$.size)}catch(O){throw O.code?new k.ErrnoError(F2[O.code]):O}},lookup:function(i,$){var h=l9.join2(l8.realPath(i),$),d=l8.getMode(h);return l8.createNode(i,$,d)},mknod:function(i,$,h,d){var O=l8.createNode(i,$,h,d),e=l8.realPath(O);try{k.isDir(O.mode)?Q7.mkdirSync(e,O.mode):Q7.writeFileSync(e,"",{mode:O.mode})}catch(W0){throw W0.code?new k.ErrnoError(F2[W0.code]):W0}return O},rename:function(i,$,h){var d=l8.realPath(i),O=l9.join2(l8.realPath($),h);try{Q7.renameSync(d,O)}catch(e){throw e.code?new k.ErrnoError(F2[e.code]):e}},unlink:function(i,$){var h=l9.join2(l8.realPath(i),$);try{Q7.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(F2[d.code]):d}},rmdir:function(i,$){var h=l9.join2(l8.realPath(i),$);try{Q7.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(F2[d.code]):d}},readdir:function(i){var $=l8.realPath(i);try{return Q7.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(F2[h.code]):h}},symlink:function(i,$,h){var d=l9.join2(l8.realPath(i),$);try{Q7.symlinkSync(h,d)}catch(O){throw O.code?new k.ErrnoError(F2[O.code]):O}},readlink:function(i){var $=l8.realPath(i);try{return $=Q7.readlinkSync($),$=Bp.relative(Bp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(F2[h.code]):h}}},stream_ops:{open:function(i){var $=l8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Q7.openSync($,l8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(F2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Q7.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(F2[$.code]):$}},read:function(i,$,h,d,O){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Q7.readSync(i.nfd,e,0,d,O)}catch(b2){throw new k.ErrnoError(F2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(F2.ELOOP);for(var O=l9.normalizeArray(i.split("/").filter(function(y5){return!!y5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(F2.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,$),O=k.nameTable[d];O;O=O.name_next){var e=O.name;if(O.parent.id===i.id&&e===$)return O}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,o1){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=o1},k.FSNode.prototype={};var O=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&O)===O},set:function(t1){t1?this.mode|=O:this.mode&=~O}},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)?F2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:F2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return F2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var O=k.nodePermissions(i,"wx");if(O)return O;if(h){if(!k.isDir(d.mode))return F2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return F2.EBUSY}else if(k.isDir(d.mode))return F2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?F2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?F2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):F2.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(F2.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 O in i)d[O]=i[O];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(F2.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 O(e){if(e)return O.errored?void 0:(O.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return O(null);e.type.syncfs(e,i,O)})},mount:function(i,$,h){var d=h==="/",O=!h,e;if(d&&k.root)throw new k.ErrnoError(F2.EBUSY);if(!d&&!O){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(F2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(F2.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(F2.EINVAL);var h=$.node,d=h.mounted,O=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;O.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);K4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),O=d.node,e=l9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(F2.EINVAL);var W0=k.mayCreate(O,e);if(W0)throw new k.ErrnoError(W0);if(!O.node_ops.mknod)throw new k.ErrnoError(F2.EPERM);return O.node_ops.mknod(O,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(!l9.resolve(i))throw new k.ErrnoError(F2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(F2.ENOENT);var O=l9.basename($),e=k.mayCreate(d,O);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(F2.EPERM);return d.node_ops.symlink(d,O,i)},rename:function(i,$){var h=l9.dirname(i),d=l9.dirname($),O=l9.basename(i),e=l9.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(F2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(F2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(F2.EXDEV);var s=k.lookupNode(t1,O),o1=l9.relative(i,d);if(o1.charAt(0)!==".")throw new k.ErrnoError(F2.EINVAL);if(o1=l9.relative($,h),o1.charAt(0)!==".")throw new k.ErrnoError(F2.ENOTEMPTY);var m;try{m=k.lookupNode(b2,e)}catch{}if(s!==m){var y5=k.isDir(s.mode),p2=k.mayDelete(t1,O,y5);if(p2)throw new k.ErrnoError(p2);if(p2=m?k.mayDelete(b2,e,y5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(F2.EPERM);if(k.isMountpoint(s)||m&&k.isMountpoint(m))throw new k.ErrnoError(F2.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=l9.basename(i),O=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(F2.EPERM);if(k.isMountpoint(O))throw new k.ErrnoError(F2.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(O);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(F2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=l9.basename(i),O=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===F2.EISDIR&&(e=F2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(F2.EPERM);if(k.isMountpoint(O))throw new k.ErrnoError(F2.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(O);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(F2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(F2.EINVAL);return l9.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(F2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(F2.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 O=k.lookupPath(i,{follow:!h});d=O.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(F2.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(F2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var O;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});O=e.node}else O=i;if(!O.node_ops.setattr)throw new k.ErrnoError(F2.EPERM);O.node_ops.setattr(O,{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(F2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(F2.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(F2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(F2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(F2.EINVAL);var O=k.nodePermissions(h,"w");if(O)throw new k.ErrnoError(O);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(F2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(F2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),O=d.node;O.node_ops.setattr(O,{timestamp:Math.max($,h)})},open:function(i,$,h,d,O){if(i==="")throw new k.ErrnoError(F2.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=l9.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(F2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(F2.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,O);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(m){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+m.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(F2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,O){if(d<0||O<0)throw new k.ErrnoError(F2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(F2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(F2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(F2.EINVAL);var e=!0;if(typeof O>"u")O=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(F2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,O);return e||(i.position+=W0),W0},write:function(i,$,h,d,O,e){if(d<0||O<0)throw new k.ErrnoError(F2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(F2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(F2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(F2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof O>"u")O=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(F2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,O,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(F2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(F2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(F2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(F2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,O,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(F2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(F2.ENODEV);return i.stream_ops.mmap(i,$,h,d,O,e,W0)},msync:function(i,$,h,d,O){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,O)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(F2.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),O=k.stat(i),e=O.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 O=new Uint8Array(Gs($)+1),e=xn($,O,0,O.length);k.write(d,O,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(F2.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,O,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Mn.register(k.makedev(5,0),Mn.default_tty_ops),Mn.register(k.makedev(6,0),Mn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else 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[Sk>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Dk>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[bk>>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 O in F2)if(F2[O]===d){this.code=O;break}},this.setErrno($),this.message=vk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[F2.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||y5<0)){var p2=y5%this.chunkSize,T5=y5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(y5){this.getter=y5},e.prototype.cacheLength=function(){var y5=new XMLHttpRequest;if(y5.open("HEAD",h,!1),y5.send(null),!(y5.status>=200&&y5.status<300||y5.status===304))throw new Error("Couldn't load "+h+". Status: "+y5.status);var p2=Number(y5.getResponseHeader("Content-length")),T5,R9=(T5=y5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",P9=1024*1024;R9||(P9=p2);var I4=function(V9,c8){if(V9>c8)throw new Error("invalid range ("+V9+", "+c8+") or no bytes requested!");if(c8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var V4=new XMLHttpRequest;if(V4.open("GET",h,!1),p2!==P9&&V4.setRequestHeader("Range","bytes="+V9+"-"+c8),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||[]):Pr(V4.responseText||"",!0)},y8=this;y8.setDataGetter(function(V9){var c8=V9*P9,V4=(V9+1)*P9-1;if(V4=Math.min(V4,p2-1),typeof y8.chunks[V9]>"u"&&(y8.chunks[V9]=I4(c8,V4)),typeof y8.chunks[V9]>"u")throw new Error("doXHR failed!");return y8.chunks[V9]}),this._length=p2,this._chunkSize=P9,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 b2=k.createFile(i,$,t1,d,O);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={},o1=Object.keys(b2.stream_ops);return o1.forEach(function(m){var y5=b2.stream_ops[m];s[m]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(F2.EIO);return y5.apply(null,arguments)}}),s.read=function(y5,p2,T5,R9,P9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(F2.EIO);var I4=y5.node.contents;if(P9>=I4.length)return 0;var y8=Math.min(I4.length-P9,R9);if(K4(y8>=0),I4.slice)for(var V9=0;V9=0;d--){var O=i[d];O==="."?i.splice(d,1):O===".."?(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=l9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=l9.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 l9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return l9.normalize(i.join("/"))},join2:function(i,$){return l9.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=l9.normalizeArray(i.split("/").filter(function(O){return!!O}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=l9.resolve(i).substr(1),$=l9.resolve($).substr(1);function h(s){for(var o1=0;o1=0&&s[m]==="";m--);return o1>m?[]:s.slice(o1,m-o1+1)}for(var d=h(i.split("/")),O=h($.split("/")),e=Math.min(d.length,O.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,o1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=o1:(o1=o1+.5,J1.mainLoop.remainingBlockers=(8*s+o1)/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"&&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"?N.dynCall("vi",i,[d]):N.dynCall("v",i)}),!(e0?qC(0,1e3/$):qC(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,Cp(h,0,!1,J1.mainLoop.arg,!0),qC(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,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){N.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 m=J1.URLObject.createObjectURL(s),y5=new Image;y5.onload=function(){K4(y5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=y5.width,T5.height=y5.height;var R9=T5.getContext("2d");R9.drawImage(y5,0,0),A.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(m),t1&&t1(e)},y5.onerror=function(T5){console.log("Image "+m+" could not be decoded"),b2&&b2()},y5.src=m},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,b2){var s=!1;function o1(R9){s||(s=!0,A.preloadedAudios[W0]=R9,t1&&t1(e))}function m(){s||(s=!0,A.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var y5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return m()}var p2=J1.URLObject.createObjectURL(y5),T5=new Audio;T5.addEventListener("canplaythrough",function(){o1(T5)},!1),T5.onerror=function(P9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(y8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c8="=",V4="",Ti=0,Ni=0,ur=0;ur=6;){var z$=Ti>>Ni-6&63;Ni-=6,V4+=V9[z$]}return Ni==2?(V4+=V9[(Ti&3)<<4],V4+=c8+c8):Ni==4&&(V4+=V9[(Ti&15)<<2],V4+=c8),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 m()},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(O){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),O.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&A.ctx&&i==A.canvas)return A.ctx;var O,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&&(O=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else O=i.getContext("2d");return O?(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=O,$&&GL.makeContextCurrent(e),A.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),O):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 O(){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",O,!1),document.addEventListener("mozfullscreenchange",O,!1),document.addEventListener("webkitfullscreenchange",O,!1),document.addEventListener("MSFullscreenChange",O,!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,O=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-(O+$.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 o1=J1.touches[W0.identifier];o1||(o1=s),J1.lastTouches[W0.identifier]=o1,J1.touches[W0.identifier]=s}return}var m=i.pageX-(O+$.left),y5=i.pageY-(e+$.top);m=m*(h/$.width),y5=y5*(d/$.height),J1.mouseMovementX=m-J1.mouseX,J1.mouseMovementY=y5-J1.mouseY,J1.mouseX=m,J1.mouseY=y5}},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(O){K4(O,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(O)),d||hr("al "+i)},function(O){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Fn("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=J$[SDL.screen+N.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+N.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=J$[SDL.screen+N.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+N.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,O=h;if(A.forcedAspectRatio&&A.forcedAspectRatio>0&&(d/O>2]=$),$}function Yk(){A.printErr("missing function: floor0_exportbundle"),Js(-1)}if(qs=N.staticAlloc(4),_9[qs>>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,O){return J1.createContext($,h,d,O)},k.staticInit(),U$.unshift(function(){!A.noFSInit&&!k.init.initialized&&k.init()}),wh.push(function(){k.ignorePermissions=!1}),O$.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,U$.unshift(function(){Mn.init()}),O$.push(function(){Mn.shutdown()}),u)var Q7=void 0,Bp=void 0;yh=Ci=N.alignMemory(Ur),M$=!0,T$=yh+GC,N$=Ri=N.alignMemory(T$),K4(N$>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 Lb(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 wv(t){t=t|0,H6=t}function kv(){return H6|0}function nB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0;E=m,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 vv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0;R=m,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,C=I&f,p=C&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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;P0=m,f=o>>>0>32;do if(!f){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,n0=t0+-4|0,p0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,p0)T=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,C=Ui(z0,I)|0,p=(C|0)==0,p))break;e[O0>>2]=C,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,S=e[t>>2]|0,w=C+S|0,e[a>>2]=w,T=w}y=8+(o<<2)|0,D=e[y>>2]|0,Q=D&n,x=t+4|0,R=e[x>>2]|0,L=R+o|0,F=Q<>0]|0,G=M&255,P=G|F,z=P&255,d[T>>0]=z,Y=(L|0)>7;do if(Y&&(J=e[x>>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,a0=(L|0)>15,a0&&(Z=e[x>>2]|0,V=16-Z|0,o0=Q>>>V,i0=o0&255,r0=e[a>>2]|0,K=r0+2|0,d[K>>0]=i0,c0=(L|0)>23,c0&&(s0=e[x>>2]|0,l0=24-s0|0,j=Q>>>l0,$0=j&255,g0=e[a>>2]|0,u0=g0+3|0,d[u0>>0]=$0,I0=(L|0)>31,I0))))if(w0=e[x>>2]|0,f0=(w0|0)==0,f0){b0=e[a>>2]|0,m0=b0+4|0,d[m0>>0]=0;break}else{E0=32-w0|0,C0=Q>>>E0,d0=C0&255,v0=e[a>>2]|0,K0=v0+4|0,d[K0>>0]=d0;break}while(!1);F0=(L|0)/8&-1,T0=e[t>>2]|0,U0=T0+F0|0,e[t>>2]=U0,B0=e[a>>2]|0,q0=B0+F0|0,e[a>>2]=q0,x0=L&7,e[x>>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 sB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;f=m,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 ht(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0;if(v0=m,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,g0=V+n|0,p0=e[t>>2]|0,I0=t+16|0,w0=e[I0>>2]|0,f0=w0+-4|0,f=(p0|0)<(f0|0),!f){if(E=g0+7|0,I=E>>3,C=w0-I|0,p=(p0|0)>(C|0),p)return o=-1,o|0;if(B=(g0|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,_=(g0|0)>8,_?(x=S+1|0,R=d[x>>0]|0,L=R&255,F=8-V|0,M=L<16,G?(P=S+2|0,Y=d[P>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=S+3|0,U=d[X>>0]|0,a0=U&255,Z=24-V|0,o0=a0<>0]|0,s0=c0&255,l0=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,x=(S|0)>(_|0),x){B=t+12|0,e[B>>2]=0,e[t>>2]=y,R=1,e[o>>2]=R;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,C=S+c|0,e[t>>2]=C,p=v&7,R=p,e[o>>2]=R;return}}function Z4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;D0=m,C=n>>>0>32;do if(C)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,m0=c;else{if(p=8+(n<<2)|0,L=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,f0=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=f0+7|0,S=v>>3,w=T0-S|0,y=(L0|0)>(w|0),y){f=t,E=e0,m0=T0;break}if(D=(f0|0)==0,D)return o=0,o|0}return Q=t+12|0,_=e[Q>>2]|0,x=d[_>>0]|0,R=x&255,F=R>>>K,M=(f0|0)>8,M?(T=_+1|0,G=d[T>>0]|0,P=G&255,z=8-K|0,Y=P<16,J?(W=_+2|0,H=d[W>>0]|0,X=H&255,U=16-K|0,a0=X<24,V?(o0=_+3|0,n0=d[o0>>0]|0,i0=n0&255,r0=24-K|0,c0=i0<>0]|0,u0=g0&255,p0=32-K|0,I0=u0<>2]=d0,v0=L0+C0|0,e[t>>2]=v0,K0=f0&7,e[e0>>2]=K0,o=E0,o|0}while(!1);return b0=t+12|0,e[b0>>2]=0,e[f>>2]=m0,e[E>>2]=1,o=-1,o|0}function y7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0;return C=m,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 zp(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+8|0,o=e[n>>2]|0,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0;if(M=m,c=(t|0)==0,c)return o=-1,o|0;se(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,x=(w|0)==0;do if(x)I=y;else{if(R=(y|0)==0,E=(Q|0)==0,L=E|R,L){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 C=(I|0)==0,C||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),se(t|0,0,360)|0,o=-1,o|0}function Dv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0;return v=m,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,C=e[I>>2]|0,p=(C|0)==0,p||I2(C),se(t|0,0,360)|0),0}function bv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0;if(T0=m,n=(t|0)==0,!n){if(o=e[t>>2]|0,w=o+22|0,d[w>>0]=0,G=e[t>>2]|0,a0=G+23|0,d[a0>>0]=0,j=e[t>>2]|0,w0=j+24|0,d[w0>>0]=0,f0=e[t>>2]|0,E0=f0+25|0,d[E0>>0]=0,C0=t+4|0,a=e[C0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,v0=0,m0=0;;)if(v=v0<<8,S=v0>>>24,y=f+m0|0,D=d[y>>0]|0,Q=D&255,_=Q^S,x=144+(_<<2)|0,R=e[x>>2]|0,L=R^v,F=m0+1|0,M=(F|0)<(a|0),M)v0=L,m0=F;else{d0=L;break}else d0=0;if(E=t+12|0,I=e[E>>2]|0,C=(I|0)>0,C)for(p=t+8|0,B=e[p>>2]|0,b0=d0,L0=0;;)if(T=b0<<8,P=b0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^P,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^T,X=L0+1|0,U=(X|0)<(I|0),U)b0=H,L0=X;else{K0=H;break}else K0=d0;Z=K0&255,V=e[t>>2]|0,o0=V+22|0,d[o0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,K=r0+23|0,d[K>>0]=i0,c0=K0>>>16,s0=c0&255,l0=e[t>>2]|0,$0=l0+24|0,d[$0>>0]=s0,g0=K0>>>24,u0=g0&255,p0=e[t>>2]|0,I0=p0+25|0,d[I0>>0]=u0}}function _v(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0;if(d2=m,j=(t|0)==0,j||(v0=e[t>>2]|0,D0=(v0|0)==0,D0))return I=-1,I|0;if(S0=(n|0)==0,S0)return I=0,I|0;Z0=(o|0)>0;e:do if(Z0){for(u2=0,y2=0;;){if(y1=(n+(y2<<3)|0)+4|0,P1=e[y1>>2]|0,s2=(P1|0)<0,y=2147483647-P1|0,P=(u2|0)>(y|0),M2=s2|P,M2){I=-1;break}if(Z=P1+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,c0=t+12|0,s0=e[c0>>2]|0,l0=(s0|0)==0,w=t+8|0,l0||($0=e[w>>2]|0,g0=$0-s0|0,e[w>>2]=g0,u0=($0|0)==(s0|0),u0||(p0=v0+s0|0,Wo(v0|0,p0|0,g0|0)|0),e[c0>>2]=0),I0=t+4|0,w0=e[I0>>2]|0,f0=w0-n2|0,E0=e[w>>2]|0,C0=(f0|0)>(E0|0);do if(!C0){if(d0=2147483647-n2|0,K0=(w0|0)>(d0|0),K0)return b0=e[t>>2]|0,m0=(b0|0)==0,m0||I2(b0),L0=t+16|0,F0=e[L0>>2]|0,T0=(F0|0)==0,T0||I2(F0),U0=t+20|0,B0=e[U0>>2]|0,q0=(B0|0)==0,q0||I2(B0),se(t|0,0,360)|0,I=-1,I|0;if(x0=w0+n2|0,M0=(x0|0)<2147482623,J0=x0+1024|0,E=M0?J0:x0,Y0=e[t>>2]|0,O0=Ui(Y0,E)|0,z0=(O0|0)==0,!z0){e[I0>>2]=E,e[t>>2]=O0;break}return N0=e[t>>2]|0,P0=(N0|0)==0,P0||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),se(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Rv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(Z0)for(p=e[w>>2]|0,p1=p,S2=0;I1=e[t>>2]|0,B1=I1+p1|0,Q1=n+(S2<<3)|0,R1=e[Q1>>2]|0,x1=(n+(S2<<3)|0)+4|0,S1=e[x1>>2]|0,n4(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,w1=S2+1|0,e2=(w1|0)==(o|0),!e2;)p1=G1,S2=w1;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(d1=t+352|0,h1=t+20|0,E1=e[h1>>2]|0,u1=(r0|0)>1,m2=0;U1=a1+m2|0,Z1=A1+(U1<<2)|0,e[Z1>>2]=255,N1=d1,D1=N1,K1=e[D1>>2]|0,H1=N1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=E1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=K1,O1=r2+4|0,l2=O1,e[l2>>2]=Y1,z1=m2+1|0,f2=(z1|0)<(r0|0),f2;)m2=z1;_2=u1?r0:1,B=d1,a2=E1,w2=_2}else C=t+20|0,v=e[C>>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,g2=a2+(A2<<3)|0,t2=g2,$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,x=A1+(a1<<2)|0,R=e[x>>2]|0,L=R|256,e[x>>2]=L,F=a1+K|0,e[s1>>2]=F,M=t+344|0,T=M,G=T,z=e[G>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=zs(z|0,J|0,1,0)|0,e0=H6,H=M,X=H,e[X>>2]=W,U=H+4|0,a0=U,e[a0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(o0=t+328|0,e[o0>>2]=1,I=0,I|0)}function zC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0;return x=m,m=m+16|0,Q=x,o=e[n>>2]|0,e[Q>>2]=o,a=n+4|0,C=e[a>>2]|0,p=Q+4|0,e[p>>2]=C,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=_v(t,Q,1,v,D,E)|0,m=x,I|0}function Zp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0;return c=m,o=jp(t,n,1,4096)|0,o|0}function Wp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0;return x=m,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(o=0,o|0):(C=t+328|0,p=e[C>>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=jp(t,n,D,4096)|0,o=y,o|0)}function Rv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;return $0=m,c=t+24|0,f=e[c>>2]|0,Q=f-n|0,Y=t+28|0,o0=e[Y>>2]|0,r0=(Q|0)>(o0|0),r0?(a=0,a|0):(K=2147483647-n|0,c0=(f|0)>(K|0),c0?(s0=e[t>>2]|0,l0=(s0|0)==0,l0||I2(s0),E=t+16|0,I=e[E>>2]|0,C=(I|0)==0,C||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),se(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,x=o<<2,R=Ui(_,x)|0,L=(R|0)==0,L?(F=e[t>>2]|0,M=(F|0)==0,M||I2(F),T=e[D>>2]|0,G=(T|0)==0,G||I2(T),P=t+20|0,z=e[P>>2]|0,t0=(z|0)==0,t0||I2(z),se(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=R,J=t+20|0,W=e[J>>2]|0,e0=o<<3,H=Ui(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,a0=(U|0)==0,a0||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),se(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=H,e[c>>2]=o,a=0,a|0))))}function jp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0;if(w5=m,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,V2=(q2|0)==0;e:do if(V2)for(I0=t+16|0,$3=0;;){if(F0=($3|0)<(c|0),!F0){I=o,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,q5=$3,P5=14;break e}if(z0=e[I0>>2]|0,H0=z0+($3<<2)|0,e1=e[H0>>2]|0,S0=e1&255,i1=(S0|0)==255,$1=$3+1|0,i1)$3=$1;else{I=o,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,q5=$1,P5=14;break}}else if(x=(c|0)>0,x){for(J=t+16|0,i0=t+20|0,C5=0,v5=-1,c5=-1,o5=-1,z2=-1,c2=-1,B5=-1,e5=-1,n5=-1,j5=0,R3=0,m3=0;;){if(f1=(C5|0)>(a|0),g1=(j5|0)>3,T3=f1&g1,T3){E=1,G5=v5,_5=c5,H2=o5,d5=z2,A5=c2,l5=B5,m5=e5,M1=n5,l3=m3;break}if(l1=e[J>>2]|0,s1=l1+(m3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,A1=n1+C5|0,Z0=(n1|0)==255,Z0?(g5=v5,Y2=c5,h5=o5,t5=z2,R5=c2,W2=B5,a5=e5,L2=n5,t6=0,N3=R3):(d1=e[i0>>2]|0,E1=d1+(m3<<3)|0,u1=E1,I1=u1,B1=e[I1>>2]|0,p1=u1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,y1=B1&255,S1=Zs(B1|0,R1|0,8)|0,F1=H6,G1=S1&255,w1=Zs(B1|0,R1|0,16)|0,U1=H6,Z1=w1&255,N1=Zs(B1|0,R1|0,24)|0,D1=H6,K1=N1&255,P1=R1&255,H1=Zs(B1|0,R1|0,40)|0,Y1=H6,j1=H1&255,r2=Zs(B1|0,R1|0,48)|0,W1=H6,O1=r2&255,l2=Zs(B1|0,R1|0,56)|0,z1=H6,f2=l2&255,g5=y1,Y2=Z1,h5=K1,t5=P1,R5=j1,W2=O1,a5=f2,L2=G1,t6=x1,N3=x1),s2=m3+1|0,E2=(s2|0)<(c|0),E2)C5=A1,v5=g5,c5=Y2,o5=h5,z2=t5,c2=R5,B5=W2,e5=a5,n5=L2,j5=t6,R3=N3,m3=s2;else{E=o,G5=g5,_5=Y2,H2=h5,d5=t5,A5=R5,l5=W2,m5=a5,M1=L2,l3=s2;break}}V1=(l3|0)==255,V1?(n3=G5,C3=_5,F5=H2,V5=d5,w3=A5,f3=l5,B3=m5,K3=M1,U5=255):(I=E,p5=G5,H5=_5,X5=H2,I5=d5,u3=A5,h3=l5,K5=m5,e3=M1,q5=l3,P5=14)}else I=o,p5=-1,H5=-1,X5=-1,I5=-1,u3=-1,h3=-1,K5=-1,e3=-1,q5=0,P5=14;while(!1);if((P5|0)==14){if(g2=(I|0)==0,g2)return f=0,f|0;n3=p5,C3=H5,F5=X5,V5=I5,w3=u3,f3=h3,B3=K5,K3=e3,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,C=V2?y2:u2,o3=C&255,d[$2>>0]=o3,S2=t+328|0,w2=e[S2>>2]|0,m2=(w2|0)!=0,M2=(_|0)==(U5|0),Z5=m2&M2,Z5&&(p=V2?y2:u2,_2=p|4,N2=_2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,J2=t+47|0,d[J2>>0]=K3,G2=t+48|0,d[G2>>0]=C3,T2=t+49|0,d[T2>>0]=F5,O2=t+50|0,d[O2>>0]=V5,K2=t+51|0,d[K2>>0]=w3,s5=t+52|0,d[s5>>0]=f3,P2=t+53|0,d[P2>>0]=B3,T1=t+336|0,j2=e[T1>>2]|0,x5=j2&255,X2=t+54|0,d[X2>>0]=x5,D5=j2>>>8,f5=D5&255,k5=t+55|0,d[k5>>0]=f5,O5=j2>>>16,$5=O5&255,v2=t+56|0,d[v2>>0]=$5,E5=j2>>>24,r5=E5&255,x2=t+57|0,d[x2>>0]=r5,R2=t+340|0,B2=e[R2>>2]|0,R=(B2|0)==-1,R?(e[R2>>2]=0,F=0):F=B2,L=F+1|0,e[R2>>2]=L,M=F&255,T=t+58|0,d[T>>0]=M,G=F>>>8,P=G&255,z=t+59|0,d[z>>0]=P,Y=F>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=F>>>24,H=e0&255,X=t+61|0,d[X>>0]=H,U=t+62|0,a0=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]=a0,V=(U5|0)>0,V){if(o0=e[o2>>2]|0,n0=o0&255,r0=t+67|0,d[r0>>0]=n0,K=o0&255,b5=(U5|0)==1,b5)B=K;else for(s0=1,w0=K;;)if(S=e[i2>>2]|0,c0=S+(s0<<2)|0,l0=e[c0>>2]|0,j=l0&255,$0=s0+27|0,g0=(t+40|0)+$0|0,d[g0>>0]=j,u0=l0&255,p0=u0+w0|0,f0=s0+1|0,u5=(f0|0)==(U5|0),u5){B=p0;break}else s0=f0,w0=p0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,m0=w,B0=y,x0=D,L5=B}else m0=L1,B0=_,x0=o2,L5=0;return e[n>>2]=a2,E0=U5+27|0,C0=t+324|0,e[C0>>2]=E0,d0=n+4|0,e[d0>>2]=E0,v0=t+12|0,K0=e[v0>>2]|0,b0=m0+K0|0,L0=n+8|0,e[L0>>2]=b0,T0=n+12|0,e[T0>>2]=L5,U0=B0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,D0=U0<<2,Wo(x0|0,q0|0,D0|0)|0,M0=t+20|0,J0=e[M0>>2]|0,Y0=J0+(U5<<3)|0,O0=e[Q>>2]|0,N0=O0<<3,Wo(J0|0,Y0|0,N0|0)|0,P0=e[v0>>2]|0,r1=P0+L5|0,e[v0>>2]=r1,bv(n),f=1,f|0}function xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0;return H0=m,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,ht(V),g0=c+16|0,b0=e[g0>>2]|0,ht(b0),J0=c+20|0,N0=e[J0>>2]|0,ht(N0),P0=c+24|0,f=e[P0>>2]|0,ht(f),E=c+28|0,I=e[E>>2]|0,ht(I),C=c+32|0,p=e[C>>2]|0,ht(p),B=c+36|0,v=e[B>>2]|0,ht(v),S=c+40|0,w=e[S>>2]|0,ht(w),y=c+44|0,Q=e[y>>2]|0,ht(Q),_=c+48|0,x=e[_>>2]|0,ht(x),R=c+52|0,L=e[R>>2]|0,ht(L),F=c+56|0,M=e[F>>2]|0,ht(M),T=c+60|0,G=e[T>>2]|0,ht(G),P=c+64|0,Y=e[P>>2]|0,ht(Y),t0=c+68|0,J=e[t0>>2]|0,ht(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=bQ[H&1](t)|0,U=(X|0)==0,U?(a0=(n|0)==0,a0?(o=0,o|0):(Z=xh(t)|0,o0=(Z|0)==0,o0?(n0=t+4|0,i0=zp(n0)|0,e[n>>2]=i0,r0=y7(n0)|0,K=n+4|0,e[K>>2]=r0,c0=n+8|0,e[c0>>2]=0,s0=t+44|0,l0=e[s0>>2]|0,j=n+12|0,e[j>>2]=l0,$0=t+48|0,u0=$0,p0=u0,I0=e[p0>>2]|0,w0=u0+4|0,f0=w0,E0=e[f0>>2]|0,C0=n+16|0,d0=C0,v0=d0,e[v0>>2]=I0,K0=d0+4|0,m0=K0,e[m0>>2]=E0,L0=t+56|0,F0=L0,T0=F0,U0=e[T0>>2]|0,B0=F0+4|0,q0=B0,x0=e[q0>>2]|0,D0=n+24|0,M0=D0,Y0=M0,e[Y0>>2]=U0,O0=M0+4|0,z0=O0,e[z0>>2]=x0,o=0,o|0):(o=-131,o|0))):(o=X,o|0)}function Lv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0;I0=m,o=t+28|0,a=e[o>>2]|0,u0=n,w0=u0+48|0;do e[u0>>2]=0,u0=u0+4|0;while((u0|0)<(w0|0));y=a+3372|0,P=e[y>>2]|0,Z=(P|0)>0,Z&&(s0=t+8|0,l0=e[s0>>2]|0,j=e[a>>2]|0,$0=j>>1,g0=a+4|0,c=e[g0>>2]|0,f=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=f,e[n>>2]=1,I=a+3360|0,C=e[I>>2]|0,p=+(C|0),B=+($0|0),v=p*B,S=+(l0|0),w=v/S,D=+Gi(w),Q=~~D,_=n+12|0,e[_>>2]=Q,x=a+3364|0,R=e[x>>2]|0,L=+(R|0),F=L*B,M=F/S,T=+Gi(M),G=~~T,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=+Gi(e0),X=~~H,U=n+20|0,e[U>>2]=X,a0=n+32|0,o1[a0>>3]=7,V=+(P|0),o0=a+3376|0,n0=+o1[o0>>3],i0=V*n0,r0=~~i0,K=n+8|0,e[K>>2]=r0,c0=n+4|0,e[c0>>2]=r0)}function Fv(t){t=t|0;var n=0,o=0,a=0,c=0;a=m,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function xh(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,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,C=(I|0)!=0,n=C&1,n|0}function Mv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0;if(S6=m,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,c2=e[_5>>2]|0,L2=v2+4|0,F5=e[L2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=c2+112|0,M=+o1[v>>3],X=+Gi(M),s0=~~X,C0=(B+12|0)+(s0<<2)|0,q0=e[C0>>2]|0,H0=y7(q0)|0,n1=H0<<3,R1=t+28|0,D1=e[R1>>2]|0,f2=(D1|0)==0,X1=c2+96|0,d2=e[X1>>2]|0,f2?(x5=c2+100|0,D5=e[x5>>2]|0,U=d2,w0=x5,d0=D5):(V2=c2+104|0,f5=e[V2>>2]|0,k5=c2+100|0,O5=e[k5>>2]|0,$5=i5(f5,d2)|0,E5=i5(f5,O5)|0,U=$5,w0=k5,d0=E5),r5=M5+(D1<<2)|0,x2=e[r5>>2]|0,R2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),u5=M5+3376|0,b5=+o1[u5>>3],G5=L5*b5,H2=~~G5,d5=c2+80|0,A5=e[d5>>2]|0,l5=(A5|0)==0,m5=c2+120|0,l5)return M1=e[m5>>2]|0,v5=(M1|0)==0,v5?(e[m5>>2]=t,o=0,o|0):(o=-1,o|0);if(e[m5>>2]=t,c5=c2+92|0,o5=e[c5>>2]|0,z2=(o5|0)>0,z2){f2?a5=o5:(B5=c2+104|0,e5=e[B5>>2]|0,n5=i5(e5,o5)|0,a5=n5),g5=M5+3384|0,Y2=+o1[g5>>3],h5=15/Y2,t5=c2+84|0,R5=e[t5>>2]|0,W2=n1-a5|0,p5=R5+W2|0,H5=(p5|0)>(H2|0);e:do if(H5)if(X5=(s0|0)>0,I5=(n1|0)>(a5|0),v6=I5&X5,v6)if(u3=n1-a5|0,h3=u3+R5|0,K5=(h3|0)>(H2|0),K5)for(U3=s0;;){if(e3=U3+-1|0,n3=(B+12|0)+(e3<<2)|0,C3=e[n3>>2]|0,V5=y7(C3)|0,w3=V5<<3,f3=(U3|0)>1,B3=(w3|0)>(a5|0),k6=B3&f3,!k6){z5=e3;break e}if(I=e[t5>>2]|0,K3=w3-a5|0,T3=K3+I|0,Z5=(T3|0)>(H2|0),Z5)U3=e3;else{z5=e3;break}}else z5=s0;else z5=s0;else if(y3=(p5|0)<(H2|0),y3)if(j5=s0+1|0,t6=(j5|0)<15,N3=(n1|0)<(a5|0),j3=N3&t6,j3)if(o3=n1-a5|0,$3=o3+R5|0,l3=($3|0)<(H2|0),l3)for(q5=j5;;){if(m3=(B+12|0)+(q5<<2)|0,U5=e[m3>>2]|0,P5=y7(U5)|0,w5=P5<<3,G3=q5+1|0,n6=(G3|0)<15,t3=(w5|0)<(a5|0),B6=t3&n6,!B6){z5=q5;break e}if(E=e[t5>>2]|0,A3=w5-a5|0,x3=A3+E|0,h6=(x3|0)<(H2|0),h6)q5=G3;else{z5=q5;break}}else z5=s0;else z5=s0;else z5=s0;while(!1);p3=+(z5|0),k3=+o1[v>>3],Q3=p3-k3,i6=+Gi(Q3),W3=+(R2|0),S=i6/W3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*S,_=-h5,x=Q<_,C6=x?_:Q,R=C6>h5,S3=R?h5:C6,L=S3/D,F=L*W3,T=F+k3,o1[v>>3]=T,G=+Gi(T),P=~~G,z=(B+12|0)+(P<<2)|0,Y=e[z>>2]|0,t0=y7(Y)|0,J=t0<<3,C=e[X1>>2]|0,W=C,v3=P,X3=J}else W=d2,v3=s0,X3=n1;e0=(W|0)>0,H=(X3|0)<(U|0),l6=H&e0;e:do if(l6)if(a0=c2+88|0,Z=e[a0>>2]|0,V=X3-U|0,o0=V+Z|0,n0=(o0|0)<0,n0)for(c3=v3,e6=X3;;){if(i0=c3+1|0,r0=(c3|0)>13,r0){O3=i0,f6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,c0=e[K>>2]|0,l0=y7(c0)|0,j=l0<<3,$0=e[a0>>2]|0,g0=j-U|0,u0=g0+$0|0,p0=(u0|0)<0,p0)c3=i0,e6=j;else{O3=i0,f6=j;break}}else O3=v3,f6=X3;else O3=v3,f6=X3;while(!1);I0=e[w0>>2]|0,f0=(I0|0)>0,E0=(f6|0)>(d0|0),p6=E0&f0;e:do if(p6)if(v0=c2+88|0,K0=e[v0>>2]|0,b0=f6-d0|0,m0=b0+K0|0,L0=e[B2>>2]|0,F0=(m0|0)>(L0|0),F0)for($6=O3,P3=f6;;){if(T0=$6+-1|0,U0=($6|0)<1,U0){d3=T0,D3=P3;break e}if(B0=(B+12|0)+(T0<<2)|0,x0=e[B0>>2]|0,D0=y7(x0)|0,M0=D0<<3,J0=e[v0>>2]|0,Y0=M0-d0|0,O0=Y0+J0|0,z0=e[B2>>2]|0,N0=(O0|0)>(z0|0),N0)$6=T0,P3=M0;else{d3=T0,D3=M0;break}}else d3=O3,D3=f6;else d3=O3,D3=f6;while(!1);if(P0=(d3|0)<0,P0)r1=e[B2>>2]|0,e1=c2+88|0,S0=e[e1>>2]|0,i1=r1+d0|0,c1=i1-S0|0,$1=(c1|0)/8&-1,f1=c2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=y7(l1)|0,a1=(s1|0)>($1|0),a1?(A1=e[g1>>2]|0,Z0=$1<<3,vv(A1,Z0),d1=e[g1>>2]|0,h1=y7(d1)|0,E1=h1<<3,H3=E1):H3=D3;else{if(u1=c2+88|0,I1=e[u1>>2]|0,B1=U+7|0,p1=B1-I1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,y1=c2+124|0,e[y1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=y7(L1)|0,G1=Q1-F1|0,w1=(G1|0)>0,U1=e[S1>>2]|0,w1)for(N1=U1,w6=G1;;)if(Z1=w6+-1|0,U2(N1,0,8),K1=(w6|0)>1,P1=e[S1>>2]|0,K1)N1=P1,w6=Z1;else{f=P1;break}else f=U1;H1=y7(f)|0,q1=H1<<3,H3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?V3=37:(r2=e[w0>>2]|0,W1=(r2|0)>0,W1&&(V3=37));do if((V3|0)==37){if(O1=(d0|0)>0,l2=(H3|0)>(d0|0),_6=O1&l2,_6){s2=H3-d0|0,E2=c2+88|0,A2=e[E2>>2]|0,V1=s2+A2|0,e[E2>>2]=V1;break}if(g2=(U|0)>0,a2=(H3|0)<(U|0),q6=g2&a2,q6){t2=H3-U|0,$2=c2+88|0,i2=e[$2>>2]|0,o2=t2+i2|0,e[$2>>2]=o2;break}if(n2=c2+88|0,u2=e[n2>>2]|0,e2=(u2|0)>(H2|0),e2)if(O1){y2=H3-d0|0,S2=u2+y2|0,w2=(S2|0)<(H2|0),n=w2?H2:S2,e[n2>>2]=n;break}else{e[n2>>2]=H2;break}else if(g2){m2=H3-U|0,M2=u2+m2|0,_2=(M2|0)>(H2|0),a=_2?H2:M2,e[n2>>2]=a;break}else{e[n2>>2]=H2;break}}while(!1);return N2=e[c5>>2]|0,J2=(N2|0)>0,J2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?P2=N2:(T2=c2+104|0,O2=e[T2>>2]|0,K2=i5(O2,N2)|0,P2=K2),s5=H3-P2|0,T1=c2+84|0,j2=e[T1>>2]|0,X2=s5+j2|0,e[T1>>2]=X2,o=0,o|0):(o=0,o|0)}function Xp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0;return d0=m,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):(g0=(n|0)==0,g0||(u0=z+104|0,p0=e[u0>>2]|0,I0=z+64|0,w0=e[I0>>2]|0,f=w0+104|0,E=e[f>>2]|0,I=E+80|0,C=e[I>>2]|0,E0=(C|0)==0,E0?f0=7:(p=c+124|0,B=e[p>>2]|0,f0=B),v=(p0+12|0)+(f0<<2)|0,S=e[v>>2]|0,w=zp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=y7(y)|0,_=n+4|0,e[_>>2]=Q,x=n+8|0,e[x>>2]=0,R=z+44|0,L=e[R>>2]|0,F=n+12|0,e[F>>2]=L,M=z+48|0,T=M,G=T,P=e[G>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,H=e0,e[H>>2]=P,X=e0+4|0,U=X,e[U>>2]=J,a0=z+56|0,Z=a0,o0=Z,n0=e[o0>>2]|0,i0=Z+4|0,r0=i0,K=e[r0>>2]|0,c0=n+24|0,s0=c0,l0=s0,e[l0>>2]=n0,j=s0+4|0,$0=j,e[$0>>2]=K),e[D>>2]=0,o=1,o|0)}function Tv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0;F=m,R=n,M=R+112|0;do e[R>>2]=0,R=R+4|0;while((R|0)<(M|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=r4(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,x=0;;)if(f=(x|0)==7,f){e[c>>2]=D,nB(D),x=8;continue}else{if(E=r4(1,20)|0,I=Q+(x<<2)|0,e[I>>2]=E,nB(E),C=x+1|0,_=(C|0)==15,_)break;x=C;continue}return 0}function H7(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0;return Y=m,o=n+7|0,a=o&-8,y=t+72|0,R=e[y>>2]|0,L=R+a|0,F=t+76|0,M=e[F>>2]|0,T=(L|0)>(M|0),G=t+68|0,P=e[G>>2]|0,T?(c=(P|0)==0,c||(f=P,E=S9(8)|0,I=t+80|0,C=e[I>>2]|0,p=C+R|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=f,e[B>>2]=E),e[F>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,x=_+a|0,e[y>>2]=x,D|0):(Q=P,_=R,D=Q+_|0,x=_+a|0,e[y>>2]=x,D|0)}function Nv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(Z=m,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,P=(G|0)==0,!P)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,C=e[I>>2]|0,p=C+f|0,B=Ui(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),x=(c|0)==0,x){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(R=(c+12|0)+(H<<2)|0,L=e[R>>2]|0,sB(L),F=(H|0)==7,F){H=8;continue}if(M=e[R>>2]|0,I2(M),T=H+1|0,e0=(T|0)==15,e0)break;H=T}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 Gv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=m,a=Ov(t,n,1)|0,c=(a|0)==0,c?(C=t+104|0,p=e[C>>2]|0,B=CS(n)|0,v=p+60|0,e[v>>2]=B,S=r4(1,180)|0,e[p>>2]=S,Jv(S,n),w=p+80|0,Lv(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 eQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0;if(G2=m,B=(t|0)==0,!B){if(v=t+4|0,C0=e[v>>2]|0,q0=(C0|0)!=0,q0?(H0=C0+28|0,n1=e[H0>>2]|0,B0=n1):B0=0,R1=t+104|0,D1=e[R1>>2]|0,z1=(D1|0)!=0,z1){if(o2=e[D1>>2]|0,S=(o2|0)==0,S||(Kv(o2),T=e[D1>>2]|0,I2(T)),U=D1+12|0,l0=e[U>>2]|0,u0=(l0|0)==0,u0||(p0=e[l0>>2]|0,cB(p0),I0=e[U>>2]|0,w0=e[I0>>2]|0,I2(w0),f0=e[U>>2]|0,I2(f0)),E0=D1+16|0,d0=e[E0>>2]|0,v0=(d0|0)==0,v0||(K0=e[d0>>2]|0,cB(K0),b0=e[E0>>2]|0,m0=e[b0>>2]|0,I2(m0),L0=e[E0>>2]|0,I2(L0)),F0=D1+48|0,T0=e[F0>>2]|0,U0=(T0|0)==0,!U0){if(x0=(B0|0)==0,x0)u1=T0;else if(D0=B0+16|0,M0=e[D0>>2]|0,J0=(M0|0)>0,J0){if(Y0=B0+800|0,O0=e[Y0>>2]|0,z0=25640+(O0<<2)|0,N0=e[z0>>2]|0,P0=N0+16|0,r1=e[P0>>2]|0,e1=e[T0>>2]|0,js[r1&7](e1),S0=e[D0>>2]|0,i1=(S0|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,js[a1&7](Z0),d1=$1+1|0,h1=e[D0>>2]|0,E1=(d1|0)<(h1|0),E1;)$1=d1;o=e[F0>>2]|0,u1=o}else u1=T0;I2(u1)}if(I1=D1+52|0,B1=e[I1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(B0|0)==0,Q1)V1=B1;else if(x1=B0+20|0,y1=e[x1>>2]|0,S1=(y1|0)>0,S1){if(L1=B0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,w1=e[G1>>2]|0,U1=w1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,js[Z1&7](N1),K1=e[x1>>2]|0,P1=(K1|0)>1,P1)for(q1=1;a=e[I1>>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,O1=e[W1>>2]|0,l2=a+(q1<<2)|0,f2=e[l2>>2]|0,js[O1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,A2=(s2|0)<(E2|0),A2;)q1=s2;c=e[I1>>2]|0,V1=c}else V1=B1;I2(V1)}if(g2=D1+56|0,a2=e[g2>>2]|0,t2=(a2|0)==0,!t2){if($2=(B0|0)==0,$2)_2=a2;else if(i2=B0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if($Q(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(S2=1;f=e[g2>>2]|0,y2=f+(S2*52|0)|0,$Q(y2),w2=S2+1|0,m2=e[i2>>2]|0,M2=(w2|0)<(m2|0),M2;)S2=w2;E=e[g2>>2]|0,_2=E}else _2=a2;I2(_2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||mS(y),Q=D1+80|0,Fv(Q),_=D1+20|0,CQ(_),x=D1+32|0,CQ(x)}if(R=t+8|0,L=e[R>>2]|0,F=(L|0)==0,!F){if(q0)if(M=C0+4|0,G=e[M>>2]|0,P=(G|0)>0,P){for(Y=L,g0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=g0:(I2(t0),C=e[M>>2]|0,H=C),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[R>>2]|0,Y=I,g0=H,N2=W;p=e[R>>2]|0,X=p}else X=L;else X=L;I2(X),a0=t+12|0,Z=e[a0>>2]|0,V=(Z|0)==0,V||I2(Z)}z1&&(o0=D1+64|0,n0=e[o0>>2]|0,i0=(n0|0)==0,i0||I2(n0),r0=D1+68|0,K=e[r0>>2]|0,c0=(K|0)==0,c0||I2(K),s0=D1+72|0,j=e[s0>>2]|0,$0=(j|0)==0,$0||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 tQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0;if(q0=m,I=t+4|0,C=e[I>>2]|0,R=t+104|0,W=e[R>>2]|0,r0=W+64|0,w0=e[r0>>2]|0,m0=(w0|0)==0,m0||I2(w0),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=C+4|0,f=e[o>>2]|0,X=f,B0=11;else if(x=n<<1,L=w+x|0,e[D>>2]=L,F=C+4|0,M=e[F>>2]|0,T=(M|0)>0,T)if(G=t+8|0,P=e[G>>2]|0,z=e[P>>2]|0,Y=L<<2,t0=Ui(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[F>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,o0=e[G>>2]|0,n0=o0+(i0<<2)|0,K=e[n0>>2]|0,c0=a<<2,s0=Ui(K,c0)|0,l0=e[G>>2]|0,j=l0+(i0<<2)|0,e[j>>2]=s0,$0=i0+1|0,g0=e[F>>2]|0,u0=($0|0)<(g0|0),u0)i0=$0;else{X=g0,B0=11;break}else X=e0,B0=11;if((B0|0)==11&&(U=(X|0)>0,U)){for(a0=t+8|0,Z=e[S>>2]|0,V=t+12|0,U0=0;;)if(p0=e[a0>>2]|0,I0=p0+(U0<<2)|0,f0=e[I0>>2]|0,E0=f0+(Z<<2)|0,C0=e[V>>2]|0,d0=C0+(U0<<2)|0,e[d0>>2]=E0,v0=U0+1|0,K0=(v0|0)<(X|0),K0)U0=v0;else{c=V;break}return b0=e[c>>2]|0,b0|0}return E=t+12|0,c=E,b0=e[c>>2]|0,b0|0}function Uv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=t+4|0,C=e[I>>2]|0,R=C+28|0,W=e[R>>2]|0,r0=(n|0)<1,!r0)return p0=t+20|0,I0=e[p0>>2]|0,f0=I0+n|0,E0=t+16|0,C0=e[E0>>2]|0,d0=(f0|0)>(C0|0),d0?(a=-131,m=O0,a|0):(e[p0>>2]=f0,v0=t+28|0,K0=e[v0>>2]|0,b0=(K0|0)==0,!b0||(m0=t+48|0,L0=e[m0>>2]|0,F0=f0-L0|0,U0=W+4|0,B0=e[U0>>2]|0,q0=(F0|0)>(B0|0),!q0)?(a=0,m=O0,a|0):(rQ(t),a=0,m=O0,a|0));if(w0=m,m=m+128|0,T0=t+28|0,x0=e[T0>>2]|0,D0=(x0|0)==0,D0&&rQ(t),M0=W+4|0,p=e[M0>>2]|0,B=p*3|0,tQ(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,_=C+4|0,x=e[_>>2]|0,L=(x|0)>0,!L)return a=0,m=O0,a|0;for(F=t+8|0,M=S,J0=0;;){if(T=(M|0)>64,T?(G=e[M0>>2]|0,P=(M|0)>(G|0),o=P?G:M,z=e[F>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=M-o|0,J=t0+(f<<2)|0,+nQ(J,w0,o,32),e0=e[F>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,a0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,o0=V-U|0,sQ(w0,Z,32,a0,o0)):(n0=e[F>>2]|0,i0=n0+(J0<<2)|0,K=e[i0>>2]|0,c0=K+(M<<2)|0,s0=e[v>>2]|0,l0=s0-M|0,j=l0<<2,se(c0|0,0,j|0)|0),$0=J0+1|0,g0=e[_>>2]|0,u0=($0|0)<(g0|0),!u0){a=0;break}c=e[w>>2]|0,M=c,J0=$0}return m=O0,a|0}function iQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0;if(s4=m,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,w5=e[s2>>2]|0,i6=t+104|0,v6=e[i6>>2]|0,f6=v6+60|0,u6=e[f6>>2]|0,N6=t+48|0,X6=e[N6>>2]|0,w=t+40|0,G=e[w>>2]|0,a0=w5+(G<<2)|0,j=e[a0>>2]|0,v0=(j|0)/2&-1,D0=X6-v0|0,S0=n+104|0,Z0=e[S0>>2]|0,y1=t+28|0,P1=e[y1>>2]|0,E2=(P1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,D5=(G2|0)==-1,D5))return a=0,a|0;B2=Vv(t)|0,m5=(B2|0)==-1;do if(m5){if(Y2=e[u2>>2]|0,u3=(Y2|0)==0,u3)return a=0,a|0;K3=t+44|0,e[K3>>2]=0,f=K3,U3=0;break}else if(m3=e[w5>>2]|0,G3=w5+4|0,M5=e[G3>>2]|0,n6=(m3|0)==(M5|0),t3=t+44|0,n6){e[t3>>2]=0,f=t3,U3=0;break}else{e[t3>>2]=B2,f=t3,U3=B2;break}while(!1);if(A3=e[N6>>2]|0,x3=e[w>>2]|0,h6=w5+(x3<<2)|0,p3=e[h6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+A3|0,W3=w5+(U3<<2)|0,z5=e[W3>>2]|0,v3=(z5|0)/4&-1,c3=Q3+v3|0,O3=(z5|0)/2&-1,$6=c3+O3|0,d3=t+20|0,w6=e[d3>>2]|0,k6=(w6|0)<($6|0),k6)return a=0,a|0;if(B6=n+84|0,j3=e[B6>>2]|0,l6=(j3|0)==0,!l6)for(d9=j3;p6=d9+4|0,_6=e[p6>>2]|0,q6=e[d9>>2]|0,I2(q6),I2(d9),C6=(_6|0)==0,!C6;)d9=_6;S3=n+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(P3=n+68|0,D3=e[P3>>2]|0,H3=n+76|0,V3=e[H3>>2]|0,S6=V3+X3|0,s6=Ui(D3,S6)|0,e[P3>>2]=s6,i3=e[S3>>2]|0,O6=e[H3>>2]|0,s3=O6+i3|0,e[H3>>2]=s3,e[S3>>2]=0),A6=n+72|0,e[A6>>2]=0,e[B6>>2]=0,b3=t+36|0,T6=e[b3>>2]|0,r6=n+24|0,e[r6>>2]=T6,Q6=e[w>>2]|0,R6=n+28|0,e[R6>>2]=Q6,J6=e[f>>2]|0,d6=n+32|0,e[d6>>2]=J6,Y6=(Q6|0)==0;do if(Y6)if(r9=zv(t)|0,x6=(r9|0)==0,G6=Z0+8|0,x6){e[G6>>2]=1;break}else{e[G6>>2]=0;break}else if(L3=(T6|0)==0,Z6=(J6|0)==0,N9=L3|Z6,j6=Z0+8|0,N9){e[j6>>2]=0;break}else{e[j6>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,K6=t+64|0,y6=K6,L6=y6,F3=e[L6>>2]|0,F6=y6+4|0,A9=F6,W6=e[A9>>2]|0,h9=zs(F3|0,W6|0,1,0)|0,f9=H6,u9=K6,o9=u9,e[o9>>2]=h9,a9=u9+4|0,T9=a9,e[T9>>2]=f9,I6=n+56|0,M6=I6,y=M6,e[y>>2]=F3,D=M6+4|0,Q=D,e[Q>>2]=W6,_=t+56|0,x=_,R=x,L=e[R>>2]|0,F=x+4|0,M=F,T=e[M>>2]|0,P=n+48|0,z=P,Y=z,e[Y>>2]=L,t0=z+4|0,J=t0,e[J>>2]=T,W=e[w>>2]|0,e0=w5+(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[u6>>2],o0=Z>V,o0?(s[u6>>2]=Z,n0=Z):n0=V,i0=+QS(n0,t),s[u6>>2]=i0,s[U>>2]=i0,r0=S+4|0,K=e[r0>>2]|0,c0=K<<2,s0=c0+7|0,l0=s0&-8,$0=e[A6>>2]|0,g0=l0+$0|0,u0=n+76|0,p0=e[u0>>2]|0,I0=(g0|0)>(p0|0),w0=n+68|0,f0=e[w0>>2]|0,I0?(E0=(f0|0)==0,E0||(C0=f0,d0=S9(8)|0,K0=e[S3>>2]|0,b0=K0+$0|0,e[S3>>2]=b0,m0=e[B6>>2]|0,L0=d0+4|0,e[L0>>2]=m0,e[d0>>2]=C0,e[B6>>2]=d0),e[u0>>2]=l0,F0=S9(l0)|0,e[w0>>2]=F0,e[A6>>2]=0,c=e[r0>>2]|0,U0=F0,B0=0,M0=c,N0=l0):(U0=f0,B0=$0,M0=K,N0=p0),T0=U0+B0|0,q0=B0+l0|0,e[A6>>2]=q0,e[n>>2]=T0,x0=M0<<2,J0=x0+7|0,Y0=J0&-8,O0=Y0+q0|0,z0=(O0|0)>(N0|0),z0?(P0=(U0|0)==0,P0||(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[u0>>2]=Y0,f1=S9(Y0)|0,e[w0>>2]=f1,e[A6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,P5=Y0):(l1=U0,s1=q0,n1=M0,P5=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(d1=t+8|0,Q1=a1,x1=P5,S1=l1,e9=0;;){if(h1=e[X>>2]|0,E1=h1+D0|0,u1=E1<<2,I1=u1+7|0,B1=I1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,w1=e[S3>>2]|0,U1=w1+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[u0>>2]=B1,D1=S9(B1)|0,e[w0>>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,r2=j1+(e9<<2)|0,e[r2>>2]=K1,W1=e[Z0>>2]|0,O1=W1+(e9<<2)|0,l2=e[O1>>2]|0,z1=e[d1>>2]|0,f2=z1+(e9<<2)|0,A2=e[f2>>2]|0,n4(l2|0,A2|0,u1|0)|0,V1=e[Z0>>2]|0,g2=V1+(e9<<2)|0,a2=e[g2>>2]|0,t2=a2+(D0<<2)|0,$2=e[n>>2]|0,i2=$2+(e9<<2)|0,e[i2>>2]=t2,o2=e9+1|0,X1=e[r0>>2]|0,n2=(o2|0)<(X1|0),!n2)break e;I=e[A6>>2]|0,C=e[u0>>2]|0,p=e[w0>>2]|0,Q1=I,x1=C,S1=p,e9=o2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(S2=e[N6>>2]|0,w2=(S2|0)<(e2|0),!w2))return e[u2>>2]=-1,m2=n+44|0,e[m2>>2]=1,a=1,a|0;if(M2=w5+4|0,_2=e[M2>>2]|0,N2=(_2|0)/2&-1,d2=c3-N2|0,J2=(d2|0)>0,!J2)return a=1,a|0;if(q2=e[v6>>2]|0,Zv(q2,d2),T2=e[d3>>2]|0,O2=T2-d2|0,e[d3>>2]=O2,K2=e[r0>>2]|0,s5=(K2|0)>0,s5&&(P2=t+8|0,T1=e[P2>>2]|0,j2=e[T1>>2]|0,x5=j2+(d2<<2)|0,X2=O2<<2,Wo(j2|0,x5|0,X2|0)|0,V2=e[r0>>2]|0,f5=(V2|0)>1,f5))for($5=1;B=e[d3>>2]|0,k5=e[P2>>2]|0,O5=k5+($5<<2)|0,v2=e[O5>>2]|0,E5=v2+(d2<<2)|0,r5=B<<2,Wo(v2|0,E5|0,r5|0)|0,x2=$5+1|0,R2=e[r0>>2]|0,C5=(x2|0)<(R2|0),C5;)$5=x2;return L5=e[w>>2]|0,e[b3>>2]=L5,u5=e[f>>2]|0,e[w>>2]=u5,e[N6>>2]=N2,b5=e[u2>>2]|0,G5=(b5|0)==0,G5?(f3=(d2|0)<0,B3=f3<<31>>31,T3=_,Z5=T3,y3=e[Z5>>2]|0,j5=T3+4|0,t6=j5,R3=e[t6>>2]|0,N3=zs(y3|0,R3|0,d2|0,B3|0)|0,o3=H6,$3=_,l3=$3,e[l3>>2]=N3,q5=$3+4|0,U5=q5,e[U5>>2]=o3,a=1,a|0):(_5=b5-d2|0,H2=(_5|0)<1,o=H2?-1:_5,e[u2>>2]=o,d5=(o|0)>(N2|0),d5?(a5=(d2|0)<0,L2=a5<<31>>31,p5=_,H5=p5,X5=e[H5>>2]|0,I5=p5+4|0,h3=I5,K5=e[h3>>2]|0,e3=zs(X5|0,K5|0,d2|0,L2|0)|0,n3=H6,C3=_,F5=C3,e[F5>>2]=e3,V5=C3+4|0,w3=V5,e[w3>>2]=n3,a=1,a|0):(A5=o+d2|0,l5=A5-N2|0,M1=(l5|0)<0,v5=M1<<31>>31,c5=_,o5=c5,z2=e[o5>>2]|0,c2=c5+4|0,B5=c2,e5=e[B5>>2]|0,n5=zs(z2|0,e5|0,l5|0,v5|0)|0,g5=H6,h5=_,t5=h5,e[t5>>2]=n5,R5=h5+4|0,W2=R5,e[W2>>2]=g5,a=1,a|0))}function Ov(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0;if(t5=m,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,O1=e[Z1>>2]|0,$2=(O1|0)<1,$2)||(M2=e[B>>2]|0,P2=(M2|0)<64,P2)||(v2=B+4|0,_5=e[v2>>2]|0,v=(_5|0)<(M2|0),v))return a=1,a|0;M=B+3656|0,X=e[M>>2]|0,Y2=t,R5=Y2+112|0;do e[Y2>>2]=0,Y2=Y2+4|0;while((Y2|0)<(R5|0));s0=r4(1,136)|0,C0=t+104|0,e[C0>>2]=s0,q0=t+4|0,e[q0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,I1=T7(n1)|0,B1=s0+44|0,e[B1>>2]=I1,Q1=r4(1,4)|0,R1=s0+12|0,e[R1>>2]=Q1,x1=r4(1,4)|0,y1=s0+16|0,e[y1>>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,lB(S1,G1),w1=e[y1>>2]|0,U1=e[w1>>2]|0,N1=e[v2>>2]|0,D1=N1>>X,lB(U1,D1),K1=e[B>>2]|0,P1=T7(K1)|0,H1=P1+-7|0,q1=s0+4|0,e[q1>>2]=H1,Y1=e[v2>>2]|0,j1=T7(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,l2=(o|0)==0;e:do if(l2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(u5=B+24|0,b5=e[u5>>2]|0,G5=r4(b5,56)|0,e[B2>>2]=G5,H2=e[u5>>2]|0,d5=(H2|0)>0,d5)){for(E1=H2,B5=0;;){if(A5=(B+1824|0)+(B5<<2)|0,l5=e[A5>>2]|0,m5=(l5|0)==0,m5){M1=E1;break}if(c5=e[B2>>2]|0,o5=c5+(B5*56|0)|0,z2=HS(o5,l5)|0,S=(z2|0)==0,!S){h5=20;break}if(w=e[A5>>2]|0,gB(w),e[A5>>2]=0,y=B5+1|0,D=e[u5>>2]|0,Q=(y|0)<(D|0),Q)E1=D,B5=y;else break e}if((h5|0)==20&&(I=e[u5>>2]|0,M1=I),v5=(M1|0)>0,v5)for(u1=M1,g5=0;s1=(B+1824|0)+(g5<<2)|0,a1=e[s1>>2]|0,A1=(a1|0)==0,A1?h1=u1:(gB(a1),e[s1>>2]=0,C=e[u5>>2]|0,h1=C),Z0=g5+1|0,d1=(Z0|0)<(h1|0),d1;)u1=h1,g5=Z0;return eQ(t),a=-1,a|0}}else{if(z1=s0+20|0,f2=e[B>>2]|0,EQ(z1,f2),s2=s0+32|0,E2=e[v2>>2]|0,EQ(s2,E2),A2=B+2848|0,V1=e[A2>>2]|0,g2=(V1|0)==0,g2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=r4(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,IQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,S2=c+(w2*56|0)|0,m2=(B+1824|0)+(w2<<2)|0,_2=e[m2>>2]|0,IQ(S2,_2)|0,N2=w2+1|0,d2=e[a2>>2]|0,J2=(N2|0)<(d2|0),J2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,T2=r4(q2,52)|0,O2=s0+56|0,e[O2>>2]=T2,K2=e[G2>>2]|0,s5=(K2|0)>0;t:do if(s5)for(T1=B+2868|0,j2=n+8|0,X2=T2,c2=0;;){if(x5=X2+(c2*52|0)|0,D5=(B+2852|0)+(c2<<2)|0,V2=e[D5>>2]|0,f5=e[V2>>2]|0,k5=B+(f5<<2)|0,O5=e[k5>>2]|0,$5=(O5|0)/2&-1,E5=e[j2>>2]|0,pS(x5,V2,T1,$5,E5),r5=c2+1|0,x2=e[G2>>2]|0,R2=(r5|0)<(x2|0),!R2)break t;f=e[O2>>2]|0,X2=f,c2=r5}while(!1);e[t>>2]=1}while(!1);if(_=e[v2>>2]|0,x=t+16|0,e[x>>2]=_,R=n+4|0,L=e[R>>2]|0,F=L<<2,T=S9(F)|0,G=t+8|0,e[G>>2]=T,P=S9(F)|0,z=t+12|0,e[z>>2]=P,Y=(L|0)>0,Y&&(t0=r4(_,4)|0,e[T>>2]=t0,J=(L|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,a0=(U|0)<(L|0),a0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,o0=e[v2>>2]|0,n0=(o0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,K=B+16|0,c0=e[K>>2]|0,l0=r4(c0,4)|0,j=s0+48|0,e[j>>2]=l0,$0=B+20|0,g0=e[$0>>2]|0,u0=r4(g0,4)|0,p0=s0+52|0,e[p0>>2]=u0,I0=e[K>>2]|0,w0=(I0|0)>0,w0)for(e5=0;d0=(B+800|0)+(e5<<2)|0,v0=e[d0>>2]|0,K0=25640+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0+8|0,L0=e[m0>>2]|0,F0=(B+1056|0)+(e5<<2)|0,T0=e[F0>>2]|0,U0=ft[L0&15](t,T0)|0,B0=e[j>>2]|0,x0=B0+(e5<<2)|0,e[x0>>2]=U0,D0=e5+1|0,M0=e[K>>2]|0,J0=(D0|0)<(M0|0),J0;)e5=D0;if(f0=e[$0>>2]|0,E0=(f0|0)>0,E0)n5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(n5<<2)|0,O0=e[Y0>>2]|0,z0=25648+(O0<<2)|0,N0=e[z0>>2]|0,P0=N0+8|0,r1=e[P0>>2]|0,e1=(B+1568|0)+(n5<<2)|0,S0=e[e1>>2]|0,i1=ft[r1&15](t,S0)|0,c1=e[p0>>2]|0,$1=c1+(n5<<2)|0,e[$1>>2]=i1,f1=n5+1|0,g1=e[$0>>2]|0,l1=(f1|0)<(g1|0),l1)n5=f1;else{a=0;break}return a|0}function rQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0;if(b0=m,m=m+64|0,c=b0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,n=Y,o0=m,m=m+((1*n|0)+15&-16)|0,u0=t+28|0,e[u0>>2]=1,I0=t+48|0,w0=e[I0>>2]|0,f0=Q-w0|0,E0=(f0|0)>32,!E0){m=b0;return}if(E=t+4|0,I=e[E>>2]|0,C=I+4|0,p=e[C>>2]|0,B=(p|0)>0,!B){m=b0;return}for(v=t+8|0,S=Q,C0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,D=y+(C0<<2)|0,_=e[D>>2]|0,d0=0;x=d0^-1,R=S+x|0,L=_+(R<<2)|0,F=e[L>>2]|0,M=o0+(d0<<2)|0,e[M>>2]=F,T=d0+1|0,G=(S|0)>(T|0),G;)d0=T;if(P=e[I0>>2]|0,z=S-P|0,+nQ(o0,c,z,16),t0=e[f>>2]|0,J=e[I0>>2]|0,o=t0-J|0,W=o0+(o<<2)|0,a=o+-16|0,e0=o0+(a<<2)|0,sQ(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,a0=U+(C0<<2)|0,Z=e[a0>>2]|0,v0=0;V=o0+(v0<<2)|0,n0=e[V>>2]|0,i0=v0^-1,r0=H+i0|0,K=Z+(r0<<2)|0,e[K>>2]=n0,c0=v0+1|0,s0=(H|0)>(c0|0),s0;)v0=c0;if(l0=C0+1|0,j=e[E>>2]|0,$0=j+4|0,g0=e[$0>>2]|0,p0=(l0|0)<(g0|0),p0)S=H,C0=l0;else break}m=b0}function Pv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0;o2=m,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),a0=e[I>>2]|0,j=(a0|0)>1;e:do if(j)for(v0=t+8|0,D0=e[v0>>2]|0,c=d[D0>>0]|0,S0=c,O1=1;;){if(Z0=S0<<24>>24==0,Z0){W1=O1;break e}if(y1=D0+O1|0,C=d[y1>>0]|0,D=C<<24>>24>24,D){W1=O1;break e}if(Q=O1+1|0,_=(Q|0)<(a0|0),_)S0=C,O1=Q;else{W1=Q;break}}else W1=1;while(!1);x=(W1|0)==(a0|0);e:do if(x){if(U2(n,1,1),R=t+8|0,L=e[R>>2]|0,F=d[L>>0]|0,M=F<<24>>24,T=M+-1|0,U2(n,T,5),P=e[I>>2]|0,z=(P|0)>1,z)for(y=P,H1=0,z1=1;;){if(Y=e[R>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,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,o0=n0-q1|0,i0=T7(o0)|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,c0=(K|0)<(s0|0),c0)y=s0,H1=Y1,z1=K;else{a=s0,P1=Y1,l2=K;break}}else a=P,P1=0,l2=1;l0=l2-P1|0,$0=a-P1|0,g0=T7($0)|0,U2(n,l0,g0)}else{U2(n,0,1),u0=e[I>>2]|0,p0=(u0|0)>0;t:do if(p0)for(I0=t+8|0,w0=e[I0>>2]|0,s2=0;;){if(f0=w0+s2|0,E0=d[f0>>0]|0,C0=E0<<24>>24==0,C0){f2=s2;break t}if(d0=s2+1|0,K0=(d0|0)<(u0|0),K0)s2=d0;else{f2=d0;break}}else f2=0;while(!1);if(b0=(f2|0)==(u0|0),b0){if(U2(n,0,1),m0=e[I>>2]|0,L0=(m0|0)>0,!L0)break;for(F0=t+8|0,E2=0;;)if(T0=e[F0>>2]|0,U0=T0+E2|0,B0=d[U0>>0]|0,q0=B0<<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),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(N0=t+8|0,A2=0;P0=e[N0>>2]|0,r1=P0+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),d1=e[n1>>2]|0,(d1|0)==2|(d1|0)==1)i2=28;else if(d1|0)return o=-1,o|0;do if((i2|0)==28){if(h1=t+32|0,E1=e[h1>>2]|0,u1=(E1|0)==0,u1)return o=-1,o|0;if(I1=t+16|0,B1=e[I1>>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)w1=US(t)|0,$2=w1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=i5(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,g2=(B|0)>-1,t2=0-B|0,v=g2?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 Lh(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0;return z=m,c=(n|0)<0,c||(f=t+12|0,Q=e[f>>2]|0,x=Q+4|0,R=e[x>>2]|0,L=(R|0)>(n|0),!L)?(a=0,a|0):(F=t+20|0,M=e[F>>2]|0,T=M+(n<<2)|0,G=e[T>>2]|0,E=Q+8|0,I=e[E>>2]|0,C=I+n|0,p=d[C>>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 ZC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0;return w=m,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=Fh(t,n)|0,I=(E|0)>-1,!I)?(o=-1,o|0):(C=t+24|0,p=e[C>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,o=v,o|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0;if(j=m,C=t+8|0,p=e[C>>2]|0,L=(p|0)>0,!L)return c=0,m=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,a0=m,m=m+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,r0=0;;){if(T=Fh(t,o)|0,G=(T|0)==-1,G){c=-1;break}if(P=e[V>>2]|0,z=e[t>>2]|0,Y=i5(z,T)|0,t0=P+(Y<<2)|0,J=a0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,H=(W|0)<(X|0),H)r0=W;else{o0=z;break e}}return m=j,c|0}else o0=e0;while(!1);if(E=(o0|0)<1,I=Z^1,n0=E|I,n0)return c=0,m=j,c|0;for(K=0,s0=0;;){for(c0=0;w=a0+(c0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],_=c0+s0|0,x=n+(_<<2)|0,R=+s[x>>2],F=R+Q,s[x>>2]=F,M=c0+1|0,i0=(M|0)==(X|0),!i0;)c0=M;if(B=K+1|0,v=s0+X|0,S=(B|0)<(o0|0),S)K=B,s0=v;else{c=0;break}}return m=j,c|0}function qv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0;if(j2=m,Y=t+8|0,t0=e[Y>>2]|0,l0=(t0|0)>0,!l0)return c=0,c|0;if(d0=e[t>>2]|0,x0=(d0|0)>8,x0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(K1=t+16|0,X1=0;;){if(Z=Fh(t,o)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(o0=e[K1>>2]|0,n0=e[t>>2]|0,i0=i5(n0,Z)|0,r0=(n0|0)>0,r0){for(K=(n0|0)>1,P2=K?n0:1,u2=X1,d2=0;c0=d2+1|0,z=d2+i0|0,s0=o0+(z<<2)|0,j=+s[s0>>2],$0=u2+1|0,g0=n+(u2<<2)|0,u0=+s[g0>>2],p0=u0+j,s[g0>>2]=p0,I0=(c0|0)<(n0|0),I0;)u2=$0,d2=c0;f2=X1+P2|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=Fh(t,o)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,a0=e[t>>2]|0,a0|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:{C=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,s5=0;break t}case 2:{S=H,x=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,w0=E<<3,f0=f+(w0<<2)|0,E0=+s[f0>>2],C0=e2+1|0,v0=n+(e2<<2)|0,K0=+s[v0>>2],b0=K0+E0,s[v0>>2]=b0,F0=w0,U0=f,y2=C0,J2=1,T1=14):(T1|0)==13?(T1=0,m0=I*7|0,F0=m0,U0=w,y2=e2,J2=0,T1=14):(T1|0)==15?(T1=0,Y0=C*6|0,z0=Y0,P0=y,S2=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,E1=B<<2,I1=E1,p1=Q,m2=e2,T2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,w1=F1,Z1=_,M2=e2,O2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,O1=x,_2=e2,K2=0,T1=24),(T1|0)==14&&(T1=0,L0=J2+1|0,P=J2+F0|0,T0=U0+(P<<2)|0,B0=+s[T0>>2],q0=y2+1|0,D0=n+(y2<<2)|0,M0=+s[D0>>2],J0=M0+B0,s[D0>>2]=J0,z0=F0,P0=U0,S2=q0,G2=L0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,N0=P0+(G<<2)|0,r1=+s[N0>>2],H0=S2+1|0,S0=n+(S2<<2)|0,i1=+s[S0>>2],c1=i1+r1,s[S0>>2]=c1,g1=z0,s1=P0,w2=H0,q2=O0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,T=q2+g1|0,l1=s1+(T<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,d1=+s[Z0>>2],h1=d1+a1,s[Z0>>2]=h1,I1=g1,p1=s1,m2=n1,T2=f1,T1=20),(T1|0)==20&&(T1=0,u1=T2+1|0,M=T2+I1|0,B1=p1+(M<<2)|0,Q1=+s[B1>>2],R1=m2+1|0,y1=n+(m2<<2)|0,S1=+s[y1>>2],L1=S1+Q1,s[y1>>2]=L1,w1=I1,Z1=p1,M2=R1,O2=u1,T1=22),(T1|0)==22&&(T1=0,G1=O2+1|0,F=O2+w1|0,U1=Z1+(F<<2)|0,N1=+s[U1>>2],D1=M2+1|0,P1=n+(M2<<2)|0,H1=+s[P1>>2],q1=H1+N1,s[P1>>2]=q1,r2=w1,O1=Z1,_2=D1,K2=G1,T1=24),(T1|0)==24&&(T1=0,j1=K2+1|0,L=K2+r2|0,W1=O1+(L<<2)|0,l2=+s[W1>>2],z1=_2+1|0,s2=n+(_2<<2)|0,E2=+s[s2>>2],A2=E2+l2,s[s2>>2]=A2,V1=r2,a2=O1,N2=z1,s5=j1),R=s5+V1|0,g2=a2+(R<<2)|0,t2=+s[g2>>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 Yv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0;if(l0=m,B=t+8|0,v=e[B>>2]|0,M=(v|0)>0,!M||(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=Fh(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=i5(y,Z)|0,Q=(y|0)>0,Q)for(n0=V,K=i0,c0=0;;)if(p=c0+D|0,_=w+(p<<2)|0,x=+s[_>>2],R=n0+1|0,L=n+(n0<<2)|0,F=e[L>>2]|0,T=F+(K<<2)|0,G=+s[T>>2],P=G+x,s[T>>2]=P,z=(R|0)==(a|0),Y=z&1,C=Y+K|0,E=z?0:R,t0=c0+1|0,J=(t0|0)<(y|0),J)n0=E,K=C,c0=t0;else{o0=E,r0=C;break}else o0=V,r0=i0;if(a0=(r0|0)<(H|0),a0)V=o0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function Fh(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0;h1=m,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,o0=AB(n,Y)|0,u0=(o0|0)>-1;do if(u0){if(m0=t+32|0,Y0=e[m0>>2]|0,c1=Y0+(o0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,C=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,l1=C;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,x=d[_>>0]|0,R=x<<24>>24,oB(n,R),o=w,o|0}else L=t+8|0,F=e[L>>2]|0,f1=F,l1=0;while(!1);if(M=AB(n,f)|0,T=(M|0)<0,G=(f|0)>1,P=T&G,P)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=T,n1=M,A1=f;if(a)return o=-1,o|0;if(H=n1>>>16,X=n1<<16,U=H|X,a0=U>>>8,Z=a0&16711935,V=U<<8,n0=V&-16711936,i0=Z|n0,r0=i0>>>4,K=r0&252645135,c0=i0<<4,s0=c0&-252645136,l0=K|s0,j=l0>>>2,$0=j&858993459,g0=l0<<2,p0=g0&-858993460,I0=$0|p0,w0=I0>>>1,f0=w0&1431655765,E0=I0<<1,C0=E0&-1431655766,d0=f0|C0,v0=f1-l1|0,K0=(v0|0)>1,K0)for(b0=t+20|0,L0=e[b0>>2]|0,T0=v0,g1=f1,a1=l1;;)if(F0=T0>>1,U0=F0+a1|0,B0=L0+(U0<<2)|0,q0=e[B0>>2]|0,x0=q0>>>0>d0>>>0,D0=x0?0:F0,M0=D0+a1|0,J0=x0?F0:0,O0=g1-J0|0,z0=O0-M0|0,N0=(z0|0)>1,N0)T0=z0,g1=O0,a1=M0;else{s1=M0;break}else s1=l1;return P0=t+28|0,r1=e[P0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,S0=e1<<24>>24,i1=(S0|0)>(A1|0),i1?(oB(n,A1),o=-1,o|0):(oB(n,S0),o=s1,o|0)}function Jv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;for(c1=m,p=n+28|0,B=e[p>>2]|0,F=n+4|0,H=e[F>>2]|0,c0=t+4|0,e[c0>>2]=128,E0=t+8|0,e[E0>>2]=64,B0=B+2932|0,Y0=e[B0>>2]|0,O0=t+12|0,e[O0>>2]=Y0,e[t>>2]=H,z0=t+164|0,e[z0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|0)/2&-1,y=t+176|0,e[y>>2]=w,D=r4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,lB(_,128),x=e[Q>>2]|0,H0=0;R=+(H0|0),L=R*.024736950028266088,M=+Nn(+L),T=M,G=x+(H0<<2)|0,P=T*T,s[G>>2]=P,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,a0=t+92|0,e[a0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,o0=t+120|0,e[o0>>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,S0=0;;){if(K=s0<<2,l0=S9(K)|0,j=((t+40|0)+(S0<<4)|0)+8|0,e[j>>2]=l0,$0=(s0|0)>0,$0){for(g0=+(s0|0),u0=((t+40|0)+(S0<<4)|0)+12|0,C=+s[u0>>2],b0=C,e1=0;;)if(p0=+(e1|0),I0=p0+.5,w0=I0/g0,f0=w0*3.141592653589793,C0=+Nn(+f0),d0=C0,v0=l0+(e1<<2)|0,s[v0>>2]=d0,K0=b0+d0,m0=e1+1|0,N0=(m0|0)==(s0|0),N0){o=K0;break}else b0=K0,e1=m0;s[u0>>2]=o,E=u0,F0=o}else c=((t+40|0)+(S0<<4)|0)+12|0,I=+s[c>>2],E=c,F0=I;if(L0=1/F0,s[E>>2]=L0,T0=S0+1|0,P0=(T0|0)==7,P0)break;a=((t+40|0)+(T0<<4)|0)+4|0,f=e[a>>2]|0,s0=f,S0=T0}U0=H*7|0,q0=r4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,D0=e[z0>>2]|0,M0=r4(D0,4)|0,J0=t+160|0,e[J0>>2]=M0}function Kv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0;T=m,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,x=e[_>>2]|0,I2(x),R=t+96|0,L=e[R>>2]|0,I2(L),F=t+112|0,a=e[F>>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),C=t+36|0,p=e[C>>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),se(t|0,0,180)|0}function Vv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,f=t+4|0,E=e[f>>2]|0,L=E+28|0,e0=e[L>>2]|0,K=e0+2868|0,f0=t+104|0,U0=e[f0>>2]|0,P0=e[U0>>2]|0,s1=P0+168|0,p1=e[s1>>2]|0,I=P0+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,x=D+2|0,R=P0+164|0,F=e[R>>2]|0,M=(x|0)>(F|0),M&&(e[R>>2]=x,T=P0+160|0,G=e[T>>2]|0,P=x<<2,z=Ui(G,P)|0,e[T>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=P0+156|0,J=P0+160|0,W=t+8|0,H=P0+40|0,X=P0+152|0,D1=n;;){if(U=e[t0>>2]|0,a0=U+1|0,Z=(U|0)>23,a=Z?24:a0,e[t0>>2]=a,V=e[P0>>2]|0,o0=(V|0)>0,o0){for(N1=0,q1=0;;)if(c0=e[W>>2]|0,s0=c0+(N1<<2)|0,l0=e[s0>>2]|0,j=e[I>>2]|0,$0=i5(j,D1)|0,g0=l0+($0<<2)|0,u0=e[X>>2]|0,p0=N1*7|0,I0=u0+(p0*144|0)|0,w0=Wv(P0,K,g0,H,I0)|0,E0=w0|q1,C0=N1+1|0,d0=e[P0>>2]|0,v0=(C0|0)<(d0|0),v0)N1=C0,q1=E0;else{c=E0;break}K0=D1+2|0,b0=e[J>>2]|0,m0=b0+(K0<<2)|0,e[m0>>2]=0,L0=c&1,F0=(L0|0)==0,F0||(T0=b0+(D1<<2)|0,e[T0>>2]=1,B0=D1+1|0,q0=b0+(B0<<2)|0,e[q0>>2]=1),x0=c&2,D0=(x0|0)==0,D0||(M0=b0+(D1<<2)|0,e[M0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,O0=b0+(Y0<<2)|0,e[O0>>2]=1)),z0=c&4,N0=(z0|0)==0,N0||(e[t0>>2]=-1)}else n0=D1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=D1+1|0,Z1=(r1|0)==(Q|0),Z1)break;D1=r1}if(H0=e[I>>2]|0,e1=i5(H0,Q)|0,e[s1>>2]=e1,S0=t+48|0,i1=e[S0>>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,d1=a1+Z0|0,h1=e[e0>>2]|0,E1=(h1|0)/4&-1,u1=d1+E1|0,I1=P0+176|0,B1=e[I1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return o=-1,o|0;for(x1=P0+160|0,K1=B1;;){if(L1=(K1|0)<(u1|0),!L1){o=1,Y1=22;break}if(e[I1>>2]=K1,F1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,w1=G1+(F1<<2)|0,U1=e[w1>>2]|0,C=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&C,y1=H0+K1|0,H1){P1=K1,Y1=21;break}if(S1=(y1|0)<(Q1|0),S1)K1=y1;else{o=-1,Y1=22;break}}return(Y1|0)==21?(B=P0+172|0,e[B>>2]=P1,o=0,o|0):(Y1|0)==22?o|0:0}function zv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0;if(E0=m,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,o0=e[Y>>2]|0,s0=o0+28|0,l0=e[s0>>2]|0,j=t+48|0,$0=e[j>>2]|0,g0=t+40|0,E=e[g0>>2]|0,I=l0+(E<<2)|0,C=e[I>>2]|0,p=(C|0)/4&-1,B=$0-p|0,v=p+$0|0,S=(E|0)==0,S?(G=e[l0>>2]|0,P=(G|0)/4&-1,o=P,a=P):(w=t+36|0,y=e[w>>2]|0,D=l0+(y<<2)|0,_=e[D>>2]|0,x=(_|0)/4&-1,R=t+44|0,L=e[R>>2]|0,F=l0+(L<<2)|0,M=e[F>>2]|0,T=(M|0)/4&-1,o=T,a=x),u0=B-a|0,p0=v+o|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(u0|0),W=(t0|0)<(p0|0),w0=J&W,w0)return n=1,n|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(u0|0)/(H|0)&-1,U=(p0|0)/(H|0)&-1,a0=(X|0)<(U|0),!a0)return n=0,n|0;for(Z=Q+160|0,V=e[Z>>2]|0,I0=X;;){if(r0=V+(I0<<2)|0,K=e[r0>>2]|0,c0=(K|0)==0,n0=I0+1|0,!c0){n=1,f0=9;break}if(i0=(n0|0)<(U|0),i0)I0=n0;else{n=0,f0=9;break}}return(f0|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0;if(G=m,o=t+168|0,a=e[o>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,x=_+2|0,R=(n|0)/(Q|0)&-1,L=t+160|0,F=e[L>>2]|0,M=F+(R<<2)|0,c=x-R|0,f=c<<2,Wo(F|0,M|0,f|0)|0,E=e[o>>2]|0,I=E-n|0,e[o>>2]=I,C=t+172|0,p=e[C>>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[C>>2]=v,S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0;if(d3=m,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,M2=+s[$2>>2],P2=t0<<2,_=P2,v2=m,m=m+((1*_|0)+15&-16)|0,_5=t+156|0,c2=e[_5>>2]|0,L2=(c2|0)>5,F5=(c2|0)/2&-1,f=L2?F5:2,J=n+60|0,i0=+s[J>>2],I0=F5+-2|0,F0=+(I0|0),z0=i0-F0,g1=z0<0,h6=g1?0:z0,I1=h6>i0,p3=I1?i0:h6,w1=(t0|0)>0,w1)for(r2=t+36|0,a2=e[r2>>2]|0,P5=0;i2=o+(P5<<2)|0,o2=+s[i2>>2],X1=a2+(P5<<2)|0,n2=+s[X1>>2],u2=n2*o2,e2=v2+(P5<<2)|0,s[e2>>2]=u2,y2=P5+1|0,m3=(y2|0)==(t0|0),!m3;)P5=y2;S2=t+16|0,AQ(S2,v2,v2),w2=+s[v2>>2],m2=w2*w2,_2=m2,N2=v2+4|0,d2=+s[N2>>2],J2=d2,G2=J2*J2,q2=G2*.7,T2=q2+_2,O2=v2+8|0,K2=+s[O2>>2],s5=K2,T1=s5*s5,j2=T1*.2,x5=T2+j2,X2=x5,D5=c+140|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5?(k5=c+136|0,O5=+s[k5>>2],$5=O5+X2,E5=c+132|0,s[E5>>2]=$5,s[k5>>2]=X2,M=E5,H2=$5):(r5=c+132|0,x2=+s[r5>>2],R2=x2+X2,s[r5>>2]=R2,B2=c+136|0,C5=+s[B2>>2],L5=C5+X2,s[B2>>2]=L5,M=r5,H2=R2),u5=(c+72|0)+(V2<<2)|0,b5=+s[u5>>2],G5=H2-b5,s[M>>2]=G5,s[u5>>2]=X2,d5=e[D5>>2]|0,A5=d5+1|0,l5=(d5|0)>13,E=l5?0:A5,e[D5>>2]=E,m5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(v5=H2*.0625,c5=(s[p2>>2]=v5,e[p2>>2]|0),o5=c5&2147483647,z2=+(o5>>>0),B5=z2*7177114298428933e-22,e5=B5+-764.6162109375,n5=e5,g5=n5*.5,Y2=g5+-15,h5=Y2,x=h5,L0=w2,w5=0;;){if(m0=L0*L0,T0=w5|1,U0=v2+(T0<<2)|0,B0=+s[U0>>2],q0=B0*B0,x0=q0+m0,D0=(s[p2>>2]=x0,e[p2>>2]|0),M0=D0&2147483647,J0=+(M0>>>0),Y0=J0*35885571492144663e-23,O0=Y0+-382.30810546875,N0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=w5+2|0,S0=(e1|0)<(m5|0),!S0)break e;i1=x+-8,L=v2+(e1<<2)|0,F=+s[L>>2],x=i1,L0=F,w5=e1}while(!1);if(t5=(f|0)>0,t5)A3=0,U3=0;else{for(t3=0,W3=0;;){if(c1=(a+(t3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(t3<<4)|0,s1=e[l1>>2]|0,a1=(a+(t3<<4)|0)+8|0,n1=e[a1>>2]|0,o3=0,G3=0;;)if(A1=s1+G3|0,Z0=v2+(A1<<2)|0,d1=+s[Z0>>2],h1=n1+(G3<<2)|0,E1=+s[h1>>2],u1=E1*d1,B1=u1+o3,p1=G3+1|0,Q1=(p1|0)<($1|0),Q1)o3=B1,G3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(t3<<4)|0)+12|0,x1=+s[R1>>2],y1=x1*R3,S1=(c+(t3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(t3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=y1U1,v=D1?U1:y1,K1=v+-99999,P1=N1+99999,H1=(c+(t3*144|0)|0)+(L1<<2)|0,s[H1>>2]=y1,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)+(t3<<2)|0,O1=+s[W1>>2],l2=O1+p3,z1=P1>l2,f2=W3|5,z5=z1?f2:W3,s2=(n+32|0)+(t3<<2)|0,E2=+s[s2>>2],A2=E2-p3,V1=K1>2]|0,a5=(W2|0)>0,a5)for(p0=a+(A3<<4)|0,n0=e[p0>>2]|0,w0=(a+(A3<<4)|0)+8|0,s0=e[w0>>2]|0,$3=0,M5=0;;)if(o0=n0+M5|0,r0=v2+(o0<<2)|0,K=+s[r0>>2],c0=s0+(M5<<2)|0,l0=+s[c0>>2],j=l0*K,$0=j+$3,g0=M5+1|0,u0=(g0|0)<(W2|0),u0)$3=$0,M5=g0;else{N3=$0;break}else N3=0;for(f0=(a+(A3<<4)|0)+12|0,E0=+s[f0>>2],h3=E0*N3,e3=(c+(A3*144|0)|0)+68|0,u3=e[e3>>2]|0,C0=(u3|0)<1,B=C0?16:-1,C=B+u3|0,d0=(c+(A3*144|0)|0)+(C<<2)|0,v0=+s[d0>>2],K0=h3v0,S=b0?v0:h3,n6=0,x3=C,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,T=Z?X:Q3,V=n6+1|0,q5=(V|0)==(f|0),q5){R=a0,G=T;break}else n6=V,x3=w,k3=a0,Q3=T;if(p5=S-G,H5=X5-R,I5=(c+(A3*144|0)|0)+(u3<<2)|0,s[I5>>2]=h3,K5=e[e3>>2]|0,n3=K5+1|0,C3=(K5|0)>15,Q=C3?0:n3,e[e3>>2]=Q,V5=(n+4|0)+(A3<<2)|0,w3=+s[V5>>2],f3=w3+p3,B3=H5>f3,K3=U3|5,v3=B3?K3:U3,T3=(n+32|0)+(A3<<2)|0,Z5=+s[T3>>2],y3=Z5-p3,j5=p5>2]|0,m2=n+1288|0,j3=e[m2>>2]|0,F3=n+1284|0,I6=e[F3>>2]|0,I9=(I6|0)>0,I9){for(g8=0;W4=p4+(g8<<2)|0,e[W4>>2]=-200,Ee=g8+1|0,Ce=(Ee|0)==(I6|0),!Ce;)g8=Ee;if(I9){for(q3=0;f4=l4+(q3<<2)|0,e[f4>>2]=-200,W=q3+1|0,$4=(W|0)==(I6|0),!$4;)q3=W;if(I9){for(r0=I6<<2,se(F8|0,0,r0|0)|0,y9=0;w0=De+(y9<<2)|0,e[w0>>2]=1,T0=y9+1|0,Ge=(T0|0)==(I6|0),!Ge;)y9=T0;if(I9){if(l1=I6<<2,se(z8|0,-1,l1|0)|0,B1=(I6|0)>1,!B1)return te=0,m=e4,te|0;for(U1=j3+-1|0,W1=J+1112|0,t2=I6+-1|0,F=e[n>>2]|0,m4=F,m9=0,me=0;;){D4=m9+1|0,b4=n+(D4<<2)|0,x4=e[b4>>2]|0,T4=U6+(m9*56|0)|0,Fe=T4,R7=Fe+56|0;do e[Fe>>2]=0,Fe=Fe+4|0;while((Fe|0)<(R7|0));if(e[T4>>2]=m4,N4=(U6+(m9*56|0)|0)+4|0,e[N4>>2]=x4,U9=(x4|0)<(j3|0),e7=U9?x4:U1,G4=(e7|0)<(m4|0),G4)w8=0,j8=0,S8=0,D8=0,I8=0,Le=0,t7=0,q9=0,J8=0,_8=0,q7=0,Y7=0;else for(k4=m4,h8=0,Ue=0,H4=0,j9=0,Be=0,s8=0,I3=0,b9=0,o8=0,B9=0,o7=0,R8=0;;){o4=a+(k4<<2)|0,P=+s[o4>>2],L4=P*7.314285755157471,h4=L4+1023.5,Ie=~~h4,H9=(Ie|0)>1023,E9=(Ie|0)<0,E=E9?0:Ie,v=H9?1023:E,Te=(v|0)==0;do if(Te)P8=h8,e8=Ue,i8=H4,d8=j9,Pe=Be,Q4=s8,C8=I3,q8=b9,Y4=o8,Je=B9,ne=o7,K8=R8;else if(We=o+(k4<<2)|0,U4=+s[We>>2],Ne=+s[W1>>2],O4=Ne+U4,j4=!(O4>=P),j4){oe=k4+s8|0,W9=v+R8|0,ae=i5(k4,k4)|0,$e=ae+j9|0,B4=i5(v,v)|0,e0=B4+B9|0,H=i5(v,k4)|0,X=H+b9|0,U=Ue+1|0,P8=h8,e8=U,i8=H4,d8=$e,Pe=Be,Q4=oe,C8=I3,q8=X,Y4=o8,Je=e0,ne=o7,K8=W9;break}else{Se=k4+Be|0,je=v+o7|0,Z9=i5(k4,k4)|0,Ae=Z9+H4|0,b6=i5(v,v)|0,P4=b6+o8|0,L9=i5(v,k4)|0,a4=L9+I3|0,_4=h8+1|0,P8=_4,e8=Ue,i8=Ae,d8=j9,Pe=Se,Q4=s8,C8=a4,q8=b9,Y4=P4,Je=B9,ne=je,K8=R8;break}while(!1);if(a0=k4+1|0,Z=(k4|0)<(e7|0),Z)k4=a0,h8=P8,Ue=e8,H4=i8,j9=d8,Be=Pe,s8=Q4,I3=C8,b9=q8,o8=Y4,B9=Je,o7=ne,R8=K8;else{w8=P8,j8=e8,S8=i8,D8=d8,I8=Pe,Le=Q4,t7=C8,q9=q8,J8=Y4,_8=Je,q7=ne,Y7=K8;break}}if(V=(U6+(m9*56|0)|0)+8|0,e[V>>2]=I8,o0=(U6+(m9*56|0)|0)+12|0,e[o0>>2]=q7,n0=(U6+(m9*56|0)|0)+16|0,e[n0>>2]=S8,i0=(U6+(m9*56|0)|0)+20|0,e[i0>>2]=J8,K=(U6+(m9*56|0)|0)+24|0,e[K>>2]=t7,c0=(U6+(m9*56|0)|0)+28|0,e[c0>>2]=w8,s0=(U6+(m9*56|0)|0)+32|0,e[s0>>2]=Le,l0=(U6+(m9*56|0)|0)+36|0,e[l0>>2]=Y7,j=(U6+(m9*56|0)|0)+40|0,e[j>>2]=D8,$0=(U6+(m9*56|0)|0)+44|0,e[$0>>2]=_8,g0=(U6+(m9*56|0)|0)+48|0,e[g0>>2]=q9,u0=(U6+(m9*56|0)|0)+52|0,e[u0>>2]=j8,p0=w8+me|0,c6=(D4|0)==(t2|0),c6){f7=p0;break}else m4=x4,m9=D4,me=p0}}else fe=9}else fe=9}else fe=9}else fe=9;if((fe|0)==9){if(N0=(I6|0)==0,!N0)return te=0,m=e4,te|0;M2=U6+4|0,Fe=U6,R7=Fe+56|0;do e[Fe>>2]=0,Fe=Fe+4|0;while((Fe|0)<(R7|0));if(e[M2>>2]=j3,P2=(j3|0)<1,P2)U8=0,W8=0,H8=0,u8=0,n8=0,X9=0,E8=0,ie=0,n7=0,s7=0,N7=0,G7=0;else for(v2=J+1112|0,c4=0,k8=0,f8=0,t8=0,ce=0,ge=0,he=0,q4=0,re=0,A8=0,Ye=0,D7=0,a8=0;;){_5=a+(c4<<2)|0,G=+s[_5>>2],c2=G*7.314285755157471,L2=c2+1023.5,F5=~~L2,R3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,B=R3?1023:f,U3=(B|0)==0;do if(U3)O8=k8,Re=f8,xe=t8,r8=ce,Oe=ge,pe=he,He=q4,qe=re,b8=A8,A7=Ye,b7=D7,_7=a8;else if(l6=o+(c4<<2)|0,H3=+s[l6>>2],r6=+s[v2>>2],r9=r6+H3,x6=!(r9>=G),x6){h9=c4+he|0,f9=B+a8|0,u9=i5(c4,c4)|0,o9=u9+ce|0,a9=i5(B,B)|0,T9=a9+Ye|0,M6=i5(B,c4)|0,e9=M6+re|0,N9=f8+1|0,O8=k8,Re=N9,xe=t8,r8=o9,Oe=ge,pe=h9,He=q4,qe=e9,b8=A8,A7=T9,b7=D7,_7=f9;break}else{G6=c4+ge|0,D6=B+D7|0,K6=i5(c4,c4)|0,y6=K6+t8|0,L6=i5(B,B)|0,F6=L6+A8|0,X6=i5(B,c4)|0,A9=X6+q4|0,W6=k8+1|0,O8=W6,Re=f8,xe=y6,r8=ce,Oe=G6,pe=he,He=A9,qe=re,b8=F6,A7=Ye,b7=D6,_7=a8;break}while(!1);if(d9=c4+1|0,C9=(d9|0)==(j3|0),C9){U8=O8,W8=Re,H8=xe,u8=r8,n8=Oe,X9=pe,E8=He,ie=qe,n7=b8,s7=A7,N7=b7,G7=_7;break}else c4=d9,k8=O8,f8=Re,t8=xe,ce=r8,ge=Oe,he=pe,q4=He,re=qe,A8=b8,Ye=A7,D7=b7,a8=_7}E4=U6+8|0,e[E4>>2]=n8,s4=U6+12|0,e[s4>>2]=N7,g4=U6+16|0,e[g4>>2]=H8,G9=U6+20|0,e[G9>>2]=n7,z9=U6+24|0,e[z9>>2]=E8,D9=U6+28|0,e[D9>>2]=U8,P6=U6+32|0,e[P6>>2]=X9,t9=U6+36|0,e[t9>>2]=G7,C4=U6+40|0,e[C4>>2]=u8,S4=U6+44|0,e[S4>>2]=s7,A4=U6+48|0,e[A4>>2]=ie,Q9=U6+52|0,e[Q9>>2]=W8,f7=U8}if(I0=(f7|0)==0,I0)return te=0,m=e4,te|0;e[r7>>2]=-200,e[Y8>>2]=-200,f0=I6+-1|0,aB(U6,f0,r7,Y8,J)|0,E0=e[r7>>2]|0,e[p4>>2]=E0,e[l4>>2]=E0,C0=e[Y8>>2]|0,d0=l4+4|0,e[d0>>2]=C0,v0=p4+4|0,e[v0>>2]=C0,K0=(I6|0)>2;do if(K0){b0=J+1112|0,m0=J+1096|0,L0=J+1100|0,F0=J+1104|0,M4=2;e:for(;;){U0=(n+520|0)+(M4<<2)|0,B0=e[U0>>2]|0,q0=F8+(B0<<2)|0,x0=e[q0>>2]|0,D0=De+(B0<<2)|0,M0=e[D0>>2]|0,J0=z8+(x0<<2)|0,Y0=e[J0>>2]|0,O0=(Y0|0)==(M0|0);t:do if(!O0){if(z0=(n+520|0)+(x0<<2)|0,P0=e[z0>>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,S0=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=l4+(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)),d1=p4+(M0<<2)|0,h1=e[d1>>2]|0,E1=(h1|0)<0,u1=l4+(M0<<2)|0,I1=e[u1>>2]|0,E1?Q=I1:(p1=(I1|0)<0,p1?Q=h1:(Q1=I1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,y1=(Q|0)==-1,v7=x1|y1,v7){fe=38;break e}S1=Q-y|0,L1=c1-S0|0,_e=(S1|0)>-1,w9=0-S1|0,F1=_e?S1:w9,G1=(S1|0)/(L1|0)&-1,w1=S1>>31,Z1=w1|1,N1=a+(S0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,K1=D1+1023.5,P1=~~K1,H1=(P1|0)>1023,q1=(P1|0)<0,I=q1?0:P1,S=H1?1023:I,Y1=i5(G1,L1)|0,l7=(Y1|0)>-1,h7=0-Y1|0,j1=l7?Y1:h7,r2=F1-j1|0,O1=y-S|0,l2=i5(O1,O1)|0,z1=o+(S0<<2)|0,f2=+s[z1>>2],s2=+s[b0>>2],E2=s2+f2,A2=!(E2>=Y),A2?fe=42:(V1=+(y|0),g2=+s[m0>>2],a2=g2+V1,$2=+(S|0),i2=a2<$2,i2||(o2=+s[L0>>2],X1=V1-o2,n2=X1>$2,n2||(fe=42)));i:do if((fe|0)==42){if(fe=0,u2=S0+1|0,e2=(u2|0)<(c1|0),e2)for(d2=u2,X4=0,k7=l2,G8=1,u7=y;;){if(y2=X4+r2|0,S2=(y2|0)<(L1|0),w2=S2?0:Z1,_2=S2?0:L1,F4=y2-_2|0,L=u7+G1|0,i7=L+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],J2=z*7.314285755157471,G2=J2+1023.5,q2=~~G2,T2=(q2|0)>1023,O2=(q2|0)<0,C=O2?0:q2,D=T2?1023:C,K2=i7-D|0,s5=i5(K2,K2)|0,T1=s5+k7|0,j2=G8+1|0,x5=o+(d2<<2)|0,X2=+s[x5>>2],D5=X2+s2,V2=D5>=z,f5=(D|0)!=0,X8=V2&f5,X8&&(k5=+(i7|0),O5=+s[m0>>2],$5=O5+k5,E5=+(D|0),r5=$5>2],R2=k5-x2,B2=R2>E5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,X4=F4,k7=T1,G8=j2,u7=i7;else{Z8=T1,N8=j2;break}}else Z8=l2,N8=1;if(u5=+s[m0>>2],b5=u5*u5,G5=+(N8|0),H2=b5/G5,d5=+s[F0>>2],A5=H2>d5,!A5&&(l5=+s[L0>>2],m5=l5*l5,M1=m5/G5,v5=M1>d5,!v5&&(c5=(Z8|0)/(N8|0)&-1,o5=+(c5|0),z2=o5>d5,z2)))break;$3=p4+(M4<<2)|0,e[$3>>2]=-200,l3=l4+(M4<<2)|0,e[l3>>2]=-200;break t}while(!1);if(e[M8>>2]=-200,e[T8>>2]=-200,e[be>>2]=-200,e[Xe>>2]=-200,B5=U6+(P0*56|0)|0,e5=B0-P0|0,n5=aB(B5,e5,M8,T8,J)|0,g5=U6+(B0*56|0)|0,Y2=H0-B0|0,h5=aB(g5,Y2,be,Xe,J)|0,t5=(n5|0)!=0,t5&&(e[M8>>2]=y,R5=e[be>>2]|0,e[T8>>2]=R5),W2=(h5|0)==0,!W2&&(a5=e[T8>>2]|0,e[be>>2]=a5,e[Xe>>2]=Q,t5)){p5=p4+(M4<<2)|0,e[p5>>2]=-200,H5=l4+(M4<<2)|0,e[H5>>2]=-200;break}if(X5=e[M8>>2]|0,e[s1>>2]=X5,I5=(x0|0)==0,I5&&(e[p4>>2]=X5),u3=e[T8>>2]|0,h3=p4+(M4<<2)|0,e[h3>>2]=u3,K5=e[be>>2]|0,e3=l4+(M4<<2)|0,e[e3>>2]=K5,n3=e[Xe>>2]|0,e[d1>>2]=n3,C3=(M0|0)==1,C3&&(e[d0>>2]=n3),V5=K5&u3,w3=(V5|0)>-1,w3){f3=(B0|0)>0;i:do if(f3)for(V8=B0;;){if(w7=V8+-1|0,K3=De+(w7<<2)|0,T3=e[K3>>2]|0,Z5=(T3|0)==(M0|0),!Z5)break i;if(e[K3>>2]=M4,y3=(V8|0)>1,y3)V8=w7;else break}while(!1);if(g7=B0+1|0,B3=(g7|0)<(I6|0),B3)for(L8=g7;;){if(j5=F8+(L8<<2)|0,t6=e[j5>>2]|0,N3=(t6|0)==(x0|0),!N3)break t;if(e[j5>>2]=M4,c7=L8+1|0,o3=(c7|0)<(I6|0),o3)L8=c7;else break}}}while(!1);if(m3=M4+1|0,q5=(m3|0)<(I6|0),q5)M4=m3;else{fe=68;break}}if((fe|0)==38)Cv(1);else if((fe|0)==68){M=e[p4>>2]|0,T=e[l4>>2]|0,w5=M,n6=T;break}}else w5=E0,n6=E0;while(!1);if(U5=I6<<2,P5=H7(t,U5)|0,G3=(w5|0)<0,G3?w=n6:(t3=(n6|0)<0,t3?w=w5:(A3=n6+w5|0,x3=A3>>1,w=x3)),e[P5>>2]=w,h6=e[v0>>2]|0,p3=(h6|0)<0,k3=e[d0>>2]|0,p3?x=k3:(Q3=(k3|0)<0,Q3?x=h6:(i6=k3+h6|0,W3=i6>>1,x=W3)),z5=P5+4|0,e[z5>>2]=x,K0)ee=2;else return te=P5,m=e4,te|0;for(;;)if(v3=ee+-2|0,c3=(n+1032|0)+(v3<<2)|0,O3=e[c3>>2]|0,$6=(n+780|0)+(v3<<2)|0,d3=e[$6>>2]|0,w6=(J+836|0)+(O3<<2)|0,k6=e[w6>>2]|0,v6=(J+836|0)+(d3<<2)|0,B6=e[v6>>2]|0,p6=P5+(O3<<2)|0,_6=e[p6>>2]|0,q6=P5+(d3<<2)|0,C6=e[q6>>2]|0,S3=(J+836|0)+(ee<<2)|0,X3=e[S3>>2]|0,e6=_6&32767,f6=C6&32767,P3=f6-e6|0,D3=B6-k6|0,$7=(P3|0)>-1,v8=0-P3|0,V3=$7?P3:v8,S6=X3-k6|0,s6=i5(V3,S6)|0,i3=(s6|0)/(D3|0)&-1,O6=(P3|0)<0,s3=0-i3|0,R=O6?s3:i3,_=R+e6|0,A6=p4+(ee<<2)|0,u6=e[A6>>2]|0,b3=(u6|0)<0,T6=l4+(ee<<2)|0,Q6=e[T6>>2]|0,b3?p=Q6:(R6=(Q6|0)<0,R6?p=u6:(J6=Q6+u6|0,d6=J6>>1,p=d6)),Y6=(p|0)<0,L3=(_|0)==(p|0),S7=Y6|L3,Z6=_|32768,c=S7?Z6:p,N6=P5+(ee<<2)|0,e[N6>>2]=c,j6=ee+1|0,le=(j6|0)==(I6|0),le){te=P5;break}else ee=j6;return m=e4,te|0}function x8(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;if(o0=m,f=n+1284|0,E=e[f>>2]|0,_=(o|0)!=0,z=(a|0)!=0,a0=_&z,!a0)return Z=0,Z|0;if(Y=E<<2,t0=H7(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,C=i5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=i5(v,c)|0,w=C+32768|0,y=w+S|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,x=e[e0>>2]|0,R=x&32768,L=(R|0)==0,L||(F=e[p>>2]|0,M=F&32768,T=(M|0)==0,T||(G=D|32768,e[Q>>2]=G)),P=U+1|0,X=(P|0)==(E|0),X){Z=t0;break}else U=P;return Z|0}function jv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0;if(F6=m,m=m+336|0,x6=F6+64|0,c3=F6+32|0,L3=F6,D=o+1296|0,Q=e[D>>2]|0,g2=o+1284|0,x2=e[g2>>2]|0,A5=n+64|0,n5=e[A5>>2]|0,X5=n5+4|0,f3=e[X5>>2]|0,$3=f3+28|0,A3=e[$3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),x5=n+36|0,X2=e[x5>>2]|0,D5=(X2|0)/2&-1,V2=D5<<2,se(c|0,0,V2|0)|0,E=0,m=F6,E|0;if(p0=(x2|0)>0,p0)for(L0=Q+832|0,f6=0;O0=a+(f6<<2)|0,f1=e[O0>>2]|0,u1=f1&32767,G1=e[L0>>2]|0,(G1|0)==4?(K2=u1>>>4,G6=K2):(G1|0)==1?(j1=u1>>>2,G6=j1):(G1|0)==2?(a2=u1>>>3,G6=a2):(G1|0)==3?(w2=(u1>>>0)/12&-1,G6=w2):G6=u1,f5=f1&32768,k5=f5|G6,e[O0>>2]=k5,O5=f6+1|0,C6=(O5|0)==(x2|0),!C6;)f6=O5;if($5=e[a>>2]|0,e[x6>>2]=$5,v2=a+4|0,E5=e[v2>>2]|0,r5=x6+4|0,e[r5>>2]=E5,R2=(x2|0)>2,B2=o+1292|0,R2){for(P3=2;;){if(C5=P3+-2|0,L5=(o+1032|0)+(C5<<2)|0,u5=e[L5>>2]|0,b5=(o+780|0)+(C5<<2)|0,G5=e[b5>>2]|0,_5=(Q+836|0)+(u5<<2)|0,H2=e[_5>>2]|0,d5=(Q+836|0)+(G5<<2)|0,l5=e[d5>>2]|0,m5=a+(u5<<2)|0,M1=e[m5>>2]|0,v5=a+(G5<<2)|0,c5=e[v5>>2]|0,o5=(Q+836|0)+(P3<<2)|0,z2=e[o5>>2]|0,c2=M1&32767,B5=c5&32767,e5=B5-c2|0,g5=l5-H2|0,H3=(e5|0)>-1,Z6=0-e5|0,Y2=H3?e5:Z6,h5=z2-H2|0,t5=i5(Y2,h5)|0,R5=(t5|0)/(g5|0)&-1,W2=(e5|0)<0,a5=0-R5|0,C=W2?a5:R5,I=C+c2|0,L2=a+(P3<<2)|0,p5=e[L2>>2]|0,H5=p5&32768,I5=(H5|0)!=0,u3=(p5|0)==(I|0),r9=I5|u3,r9)h3=I|32768,e[L2>>2]=h3,K5=x6+(P3<<2)|0,e[K5>>2]=0;else{e3=e[B2>>2]|0,n3=e3-I|0,C3=(n3|0)<(I|0),f=C3?n3:I,F5=p5-I|0,V5=(F5|0)<0;do if(V5)if(w3=0-f|0,B3=(F5|0)<(w3|0),B3){K3=F5^-1,T3=f+K3|0,D6=T3;break}else{Z5=F5<<1,y3=Z5^-1,D6=y3;break}else if(j5=(f|0)>(F5|0),j5){R3=F5<<1,D6=R3;break}else{t6=f+F5|0,D6=t6;break}while(!1);N3=x6+(P3<<2)|0,e[N3>>2]=D6,e[m5>>2]=c2,o3=e[v5>>2]|0,l3=o3&32767,e[v5>>2]=l3}if(m3=P3+1|0,q6=(m3|0)==(x2|0),q6)break;P3=m3}v=e[x6>>2]|0,S=e[r5>>2]|0,i6=v,v3=S}else i6=$5,v3=E5;if(U2(t,1,1),q5=o+1308|0,U5=e[q5>>2]|0,P5=U5+1|0,e[q5>>2]=P5,w5=e[B2>>2]|0,G3=w5+-1|0,M5=T7(G3)|0,n6=M5<<1,t3=o+1304|0,x3=e[t3>>2]|0,h6=x3+n6|0,e[t3>>2]=h6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=T7(k3)|0,U2(t,i6,Q3),W3=e[B2>>2]|0,U3=W3+-1|0,z5=T7(U3)|0,U2(t,v3,z5),x=e[Q>>2]|0,R=(x|0)>0,R)for(L=o+1300|0,D3=0,s6=2;;){if(F=(Q+4|0)+(D3<<2)|0,M=e[F>>2]|0,T=(Q+128|0)+(M<<2)|0,G=e[T>>2]|0,P=(Q+192|0)+(M<<2)|0,z=e[P>>2]|0,Y=1<>2]=0,e[c3+4>>2]=0,e[c3+8>>2]=0,e[c3+12>>2]=0,e[c3+16>>2]=0,e[c3+20>>2]=0,e[c3+24>>2]=0,e[c3+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;$0=((Q+320|0)+(M<<5)|0)+(s3<<2)|0,g0=e[$0>>2]|0,u0=(g0|0)<0,u0?y=1:(I0=(A3+1824|0)+(g0<<2)|0,w0=e[I0>>2]|0,f0=w0+4|0,E0=e[f0>>2]|0,y=E0),C0=L3+(s3<<2)|0,e[C0>>2]=y,d0=s3+1|0,v0=(d0|0)<(Y|0),v0;)s3=d0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,w6=0,A6=0;;)if(K0=c3+(A6<<2)|0,b0=e[K0>>2]|0,m0=b0<>2]|0,T6=0;;){if(H=L3+(T6<<2)|0,X=e[H>>2]|0,a0=(U|0)<(X|0),a0){r6=T6,F3=31;break}if(Z=T6+1|0,V=(Z|0)<(Y|0),V)T6=Z;else{F3=33;break}}if((F3|0)==31?(F3=0,o0=c3+(u6<<2)|0,e[o0>>2]=r6,r0=r6):(F3|0)==33&&(F3=0,p=c3+(u6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<<$6,K=i0|k6,c0=$6+z|0,s0=u6+1|0,_6=(s0|0)==(G|0),_6){d3=K;break}else $6=c0,k6=K,u6=s0}}else d3=0;while(!1);B0=(Q+256|0)+(M<<2)|0,q0=e[B0>>2]|0,x0=t0+(q0*56|0)|0,D0=Lh(x0,d3,t)|0,M0=e[L>>2]|0,J0=M0+D0|0,e[L>>2]=J0}if(Y0=(G|0)>0,Y0)for(b3=0;z0=c3+(b3<<2)|0,N0=e[z0>>2]|0,P0=((Q+320|0)+(M<<5)|0)+(N0<<2)|0,r1=e[P0>>2]|0,H0=(r1|0)>-1,H0&&(e1=b3+s6|0,S0=x6+(e1<<2)|0,i1=e[S0>>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=Lh(l1,i1,t)|0,a1=e[t3>>2]|0,n1=a1+s1|0,e[t3>>2]=n1)),A1=b3+1|0,p6=(A1|0)==(G|0),!p6;)b3=A1;if(Z0=G+s6|0,d1=D3+1|0,h1=e[Q>>2]|0,E1=(d1|0)<(h1|0),E1)D3=d1,s6=Z0;else break}if(I1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=i5(p1,I1)|0,R1=n+28|0,x1=e[R1>>2]|0,y1=A3+(x1<<2)|0,S1=e[y1>>2]|0,L1=(S1|0)/2&-1,F1=e[g2>>2]|0,w1=(F1|0)>1,w1)for(X3=0,i3=1,Q6=0,d6=Q1;;){if(K1=(o+260|0)+(i3<<2)|0,P1=e[K1>>2]|0,H1=a+(P1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,r2=(Y1|0)==(q1|0),r2)if(W1=e[B1>>2]|0,O1=i5(W1,q1)|0,l2=(Q+836|0)+(P1<<2)|0,z1=e[l2>>2]|0,f2=O1-d6|0,s2=z1-Q6|0,V3=(f2|0)>-1,N6=0-f2|0,E2=V3?f2:N6,A2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=i5(A2,s2)|0,S6=($2|0)>-1,j6=0-$2|0,i2=S6?$2:j6,o2=E2-i2|0,X1=(L1|0)>(z1|0),K6=X1?z1:L1,n2=(K6|0)>(Q6|0),n2&&(u2=c+(Q6<<2)|0,e[u2>>2]=d6),e2=Q6+1|0,y2=(e2|0)<(K6|0),y2)for(d2=e2,v6=0,y6=d6;;)if(S2=v6+o2|0,m2=(S2|0)<(s2|0),M2=m2?0:t2,_2=m2?0:s2,B6=S2-_2|0,B=y6+A2|0,L6=B+M2|0,N2=c+(d2<<2)|0,e[N2>>2]=L6,J2=d2+1|0,l6=(J2|0)==(K6|0),l6){e6=z1,R6=z1,Y6=O1;break}else d2=J2,v6=B6,y6=L6;else e6=z1,R6=z1,Y6=O1;else e6=X3,R6=Q6,Y6=d6;if(G2=i3+1|0,q2=e[g2>>2]|0,T2=(G2|0)<(q2|0),T2)X3=e6,i3=G2,Q6=R6,d6=Y6;else{S3=e6,J6=Y6;break}}else S3=0,J6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(S3|0)<(N1|0),D1)O6=S3;else return E=1,m=F6,E|0;for(;;)if(O2=c+(O6<<2)|0,e[O2>>2]=J6,s5=O6+1|0,P2=e[U1>>2]|0,T1=(P2|0)/2&-1,j2=(s5|0)<(T1|0),j2)O6=s5;else{E=1;break}return m=F6,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0;if(s5=m,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,I0=e[i0>>2]|0,F0=(n|0)>0,F0)for(z0=c+1108|0,g1=+s[z0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(I1=(t+(X1*56|0)|0)+52|0,w1=e[I1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,M=v+w1|0,H=+(M|0),X=H*g1,U=v+1|0,a0=+(U|0),Z=X/a0,V=Z,o0=V+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,K=+(r0|0),c0=(t+(X1*56|0)|0)+8|0,s0=e[c0>>2]|0,l0=+(s0|0),j=l0*o0,$0=K+w2,g0=$0+j,u0=(t+(X1*56|0)|0)+36|0,p0=e[u0>>2]|0,w0=+(p0|0),f0=(t+(X1*56|0)|0)+12|0,E0=e[f0>>2]|0,C0=+(E0|0),d0=C0*o0,v0=w0+q2,K0=v0+d0,b0=(t+(X1*56|0)|0)+40|0,m0=e[b0>>2]|0,L0=+(m0|0),T0=(t+(X1*56|0)|0)+16|0,U0=e[T0>>2]|0,B0=+(U0|0),q0=B0*o0,x0=L0+u2,D0=x0+q0,M0=(t+(X1*56|0)|0)+48|0,J0=e[M0>>2]|0,Y0=+(J0|0),O0=(t+(X1*56|0)|0)+24|0,N0=e[O0>>2]|0,P0=+(N0|0),r1=P0*o0,H0=Y0+N2,e1=H0+r1,S0=+(w1|0),i1=+(v|0),c1=o0*i1,$1=S0+t2,f1=$1+c1,l1=X1+1|0,o2=(l1|0)==(n|0),o2){a2=f1,n2=D0,S2=g0,_2=e1,G2=K0;break}else t2=f1,X1=l1,u2=D0,w2=g0,N2=e1,q2=K0;else a2=0,n2=0,S2=0,_2=0,G2=0;return s1=e[o>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),A1=S2+n1,Z0=+(s1|0),d1=Z0+G2,h1=i5(p,p)|0,E1=+(h1|0),u1=n2+E1,B1=i5(s1,p)|0,p1=+(B1|0),Q1=p1+_2,R1=a2+1,$2=R1,e2=u1,m2=A1,d2=Q1,T2=d1):($2=a2,e2=n2,m2=S2,d2=_2,T2=G2),x1=e[a>>2]|0,y1=(x1|0)>-1,y1?(S1=+(I0|0),L1=m2+S1,F1=+(x1|0),G1=F1+T2,U1=i5(I0,I0)|0,Z1=+(U1|0),N1=e2+Z1,D1=i5(x1,I0)|0,K1=+(D1|0),P1=K1+d2,H1=$2+1,i2=H1,y2=N1,M2=L1,J2=P1,O2=G1):(i2=$2,y2=e2,M2=m2,J2=d2,O2=T2),q1=y2*i2,Y1=M2*M2,j1=q1-Y1,W1=j1>0,W1?(O1=O2*y2,l2=M2*J2,z1=O1-l2,f2=z1/j1,s2=J2*i2,E2=M2*O2,A2=s2-E2,V1=A2/j1,g2=+(p|0),S=V1*g2,w=S+f2,y=+Gi(w),D=~~y,e[o>>2]=D,Q=+(I0|0),_=V1*Q,x=_+f2,R=+Gi(x),L=~~R,e[a>>2]=L,F=e[o>>2]|0,T=(F|0)>1023,T?(e[o>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=L,W=F),P=(G|0)>1023,P?(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,C=e[a>>2]|0,t0=C):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 Xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0;if(S0=m,E=t+836|0,I=t+840|0,x=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,I0=(i0|0)>0,I0){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(B0=t+128|0,q0=t+192|0,C=t+256|0,p=t+320|0,Y0=0;;){if(_=B0+(Y0<<2)|0,R=e[_>>2]|0,L=R+-1|0,U2(n,L,3),F=q0+(Y0<<2)|0,M=e[F>>2]|0,U2(n,M,2),T=e[F>>2]|0,G=(T|0)==0,G?(z0=0,e1=8):(P=C+(Y0<<2)|0,z=e[P>>2]|0,U2(n,z,8),c=e[F>>2]|0,Y=(c|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),H=z0+1|0,X=e[F>>2]|0,U=1<>2]|0,n0=o0+-1|0,U2(n,n0,2),r0=x+-1|0,K=T7(r0)|0,U2(n,K,4),c0=T7(r0)|0,s0=e[t>>2]|0,l0=(s0|0)>0,!!l0)for(j=t+4|0,$0=t+128|0,T0=s0,x0=0,O0=0,N0=0;;){if(g0=j+(O0<<2)|0,u0=e[g0>>2]|0,p0=$0+(u0<<2)|0,w0=e[p0>>2]|0,f0=w0+x0|0,E0=(N0|0)<(f0|0),E0){for(r1=N0;C0=r1+2|0,d0=E+(C0<<2)|0,v0=e[d0>>2]|0,U2(n,v0,c0),K0=r1+1|0,D0=(K0|0)==(f0|0),!D0;)r1=K0;f=e[t>>2]|0,L0=f,P0=f0}else L0=T0,P0=N0;if(b0=O0+1|0,m0=(b0|0)<(L0|0),m0)T0=L0,x0=f0,O0=b0,N0=P0;else break}}function eS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0;z1=m,m=m+272|0,O1=z1,D=t+28|0,Q=e[D>>2]|0,Y=r4(1,1120)|0,o0=Z4(n,5)|0,e[Y>>2]=o0,u0=(o0|0)>0;e:do if(u0){for(m0=Y+4|0,Z1=0,r2=-1;;){if(R=Z4(n,4)|0,L=m0+(Z1<<2)|0,e[L>>2]=R,F=(R|0)<0,F)break e;if(M=(r2|0)<(R|0),c=M?R:r2,T=Z1+1|0,G=e[Y>>2]|0,P=(T|0)<(G|0),P)Z1=T,r2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,E1=Y+192|0,F1=Y+256|0,_=Q+24|0,x=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=E1+(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,a0=F1+(N1<<2)|0,e[a0>>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($0=Z4(n,8)|0,g0=$0+-1|0,p0=(x+(N1<<5)|0)+(H1<<2)|0,e[p0>>2]=g0,I0=($0|0)<0,I0||(w0=e[_>>2]|0,f0=($0|0)>(w0|0),l0=H1+1|0,f0))break e;if(c0=e[e0>>2]|0,s0=1<>2]=v0,b0=Z4(n,4)|0,L0=(b0|0)<0,!L0)){if(F0=e[Y>>2]|0,T0=(F0|0)>0,T0)for(U0=Y+4|0,B0=Y+128|0,q0=Y+836|0,x0=1<>2]|0,J0=B0+(M0<<2)|0,O0=e[J0>>2]|0,z0=O0+U1|0,N0=(z0|0)>63,N0)break e;if(P0=(q1|0)<(z0|0),P0){for(j1=q1;;){if(r1=Z4(n,b0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=r1,S0=(r1|0)>-1,i1=(r1|0)<(x0|0),W1=S0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(z0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,D1=g1,q1=Y1;else{C=q0,p=x0,w1=z0;break}}else w=Y+836|0,y=1<>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=w1+2|0,A1=(w1|0)>-2,A1)for(K1=0;Z0=C+(K1<<2)|0,d1=O1+(K1<<2)|0,e[d1>>2]=Z0,h1=K1+1|0,u1=(h1|0)<(n1|0),u1;)K1=h1;Mh(O1,n1,4,8),I1=(n1|0)>1;t:do if(I1){for(v=e[O1>>2]|0,S=e[v>>2]|0,y1=S,P1=1;Q1=O1+(P1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(y1|0)==(x1|0),B1=P1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)y1=x1,P1=B1;else break t;if(L1=(Y|0)==0,L1)o=0;else break e;return m=z1,o|0}while(!1);return o=Y,m=z1,o|0}while(!1);return I2(Y),o=0,m=z1,o|0}function tS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0;if(L1=m,m=m+272|0,y1=L1,a=r4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,V=e[z>>2]|0,g0=a+1288|0,e[g0>>2]=V,b0=e[n>>2]|0,J0=(b0|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,C=f+(I<<2)|0,p=e[C>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(b0|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?(F=w,p1=o,S1=7):(Mh(y1,w,4,8),B1=o)}else r1=a+1284|0,e[r1>>2]=2,F=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,x=y1+(l1<<2)|0,e[x>>2]=_,R=l1+1|0,L=(R|0)<(F|0),L;)l1=R;for(Mh(y1,F,4,8),M=D,T=a+260|0,s1=0;Y=y1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-M|0,e0=W>>2,H=T+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(F|0),U;)s1=X;for(G=a+260|0,P=a+520|0,a1=0;Z=G+(a1<<2)|0,o0=e[Z>>2]|0,n0=P+(o0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(F|0),r0;)a1=i0;for(a0=a+260|0,n1=0;;)if(K=a0+(n1<<2)|0,c0=e[K>>2]|0,s0=D+(c0<<2)|0,l0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=l0,$0=n1+1|0,u0=($0|0)<(F|0),u0)n1=$0;else{B1=p1;break}}if(p0=n+832|0,I0=e[p0>>2]|0,(I0|0)==4?(C0=a+1292|0,e[C0>>2]=64):(I0|0)==2?(f0=a+1292|0,e[f0>>2]=128):(I0|0)==1?(w0=a+1292|0,e[w0>>2]=256):(I0|0)==3&&(E0=a+1292|0,e[E0>>2]=86),d0=(B1|0)>0,!d0)return m=L1,a|0;for(v0=a+1032|0,K0=a+780|0,A1=0;;){for(m0=A1+2|0,L0=D+(m0<<2)|0,F0=e[L0>>2]|0,T0=e[g0>>2]|0,S0=1,$1=T0,Z0=0,d1=0,u1=0;;)if(U0=D+(Z0<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)>(u1|0),x0=(B0|0)<(F0|0),R1=q0&x0,h1=R1?Z0:d1,I1=R1?B0:u1,D0=(B0|0)<($1|0),M0=(B0|0)>(F0|0),x1=D0&M0,i1=x1?Z0:S0,f1=x1?B0:$1,Y0=Z0+1|0,O0=(Y0|0)<(m0|0),O0)S0=i1,$1=f1,Z0=Y0,d1=h1,u1=I1;else{c1=i1,E1=h1;break}if(z0=v0+(A1<<2)|0,e[z0>>2]=E1,N0=K0+(A1<<2)|0,e[N0>>2]=c1,P0=A1+1|0,e1=(P0|0)==(B1|0),e1)break;A1=P0}return m=L1,a|0}function iS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function rS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function nS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;if(w2=m,f=n+1296|0,E=e[f>>2]|0,r0=t+64|0,w0=e[r0>>2]|0,T0=w0+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,x=Z4(I,1)|0,J=(x|0)==1,!J)return o=0,o|0;U=n+1284|0,a0=e[U>>2]|0,Z=a0<<2,V=H7(t,Z)|0,o0=n+1292|0,n0=e[o0>>2]|0,i0=n0+-1|0,K=T7(i0)|0,c0=Z4(I,K)|0,e[V>>2]=c0,s0=e[o0>>2]|0,l0=s0+-1|0,j=T7(l0)|0,$0=Z4(I,j)|0,g0=V+4|0,e[g0>>2]=$0,u0=e[E>>2]|0,p0=(u0|0)>0;e:do if(p0){i2=0,n2=2;t:for(;;){if(d0=(E+4|0)+(i2<<2)|0,v0=e[d0>>2]|0,K0=(E+128|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=(E+192|0)+(v0<<2)|0,L0=e[m0>>2]|0,F0=1<>2]|0,x0=W1+(q0*56|0)|0,D0=ZC(x0,I)|0,M0=(D0|0)==-1,M0){o=0,S2=25;break}else t2=D0;if(J0=(b0|0)>0,J0)for(Y0=F0+-1|0,$2=t2,u2=0;;){if(O0=$2&Y0,z0=((E+320|0)+(v0<<5)|0)+(O0<<2)|0,P0=e[z0>>2]|0,r1=$2>>L0,H0=(P0|0)>-1,H0){if(e1=W1+(P0*56|0)|0,S0=ZC(e1,I)|0,i1=u2+n2|0,c1=V+(i1<<2)|0,e[c1>>2]=S0,$1=(S0|0)==-1,$1){o=0,S2=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)<(b0|0),a1)$2=r1,u2=s1;else break}if(n1=b0+n2|0,A1=i2+1|0,Z0=e[E>>2]|0,d1=(A1|0)<(Z0|0),d1)i2=A1,n2=n1;else break e}if((S2|0)==25)return o|0}while(!1);if(I0=e[U>>2]|0,f0=(I0|0)>2,!f0)return o=V,o|0;for(E0=n+1032|0,C0=n+780|0,o2=2;;){if(h1=o2+-2|0,E1=E0+(h1<<2)|0,u1=e[E1>>2]|0,I1=(E+836|0)+(u1<<2)|0,p1=e[I1>>2]|0,Q1=C0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,y1=e[x1>>2]|0,S1=V+(u1<<2)|0,L1=e[S1>>2]|0,F1=V+(R1<<2)|0,G1=e[F1>>2]|0,w1=(E+836|0)+(o2<<2)|0,Z1=e[w1>>2]|0,N1=L1&32767,D1=G1&32767,K1=D1-N1|0,P1=y1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=i5(H1,q1)|0,j1=(Y1|0)/(P1|0)&-1,r2=(K1|0)<0,O1=0-j1|0,c=r2?O1:j1,a=c+N1|0,l2=e[o0>>2]|0,z1=l2-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,g2=V1<<1,a2=(s2|0)<(g2|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(C=(z1|0)>(a|0),C){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);R=y2+a|0,L=R&32767,e[f2>>2]=L,F=e[E1>>2]|0,M=V+(F<<2)|0,T=e[M>>2]|0,G=T&32767,e[M>>2]=G,P=e[Q1>>2]|0,z=V+(P<<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 sS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0;if(w1=m,E=n+1296|0,I=e[E>>2]|0,x=t+64|0,J=e[x>>2]|0,i0=J+4|0,I0=e[i0>>2]|0,F0=I0+28|0,z0=e[F0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,C=z0+(f1<<2)|0,p=e[C>>2]|0,B=(p|0)/2&-1,v=(o|0)==0,v)return c1=B<<2,se(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=i5(y,S)|0,Q=(D|0)<0,_=(D|0)>255,R=_?255:D,L=Q?0:R,F=n+1284|0,M=e[F>>2]|0,T=(M|0)>1,T)for(G=n+260|0,A1=0,E1=1,I1=0,Q1=L;;){if(t0=G+(E1<<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(a0=(I+836|0)+(W<<2)|0,Z=e[a0>>2]|0,V=i5(y,H)|0,o0=(V|0)<0,n0=(V|0)>255,r0=n0?255:V,K=o0?0:r0,c0=K-Q1|0,s0=Z-I1|0,d1=(c0|0)>-1,x1=0-c0|0,l0=d1?c0:x1,j=(c0|0)/(s0|0)&-1,$0=c0>>31,g0=$0|1,u0=i5(j,s0)|0,h1=(u0|0)>-1,y1=0-u0|0,p0=h1?u0:y1,w0=l0-p0|0,f0=(B|0)>(Z|0),S1=f0?Z:B,E0=(S1|0)>(I1|0),E0&&(C0=1768+(Q1<<2)|0,d0=+s[C0>>2],v0=a+(I1<<2)|0,K0=+s[v0>>2],b0=K0*d0,s[v0>>2]=b0),m0=I1+1|0,L0=(m0|0)<(S1|0),L0)for(J0=m0,g1=0,L1=Q1;;)if(T0=g1+w0|0,U0=(T0|0)<(s0|0),B0=U0?0:g0,q0=U0?0:s0,l1=T0-q0|0,f=L1+j|0,F1=f+B0|0,x0=1768+(F1<<2)|0,D0=+s[x0>>2],M0=a+(J0<<2)|0,Y0=+s[M0>>2],O0=Y0*D0,s[M0>>2]=O0,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=I1,R1=Q1;if(P0=E1+1|0,r1=(P0|0)<(M|0),r1)A1=Z0,E1=P0,I1=B1,Q1=R1;else{n1=Z0,p1=R1;break}}else n1=0,p1=L;if(P=(n1|0)<(B|0),!P)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],u1=n1;;)if(H0=a+(u1<<2)|0,e1=+s[H0>>2],S0=e1*Y,s[H0>>2]=S0,i1=u1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else u1=i1;return c|0}function AS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return C=m,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 oS(t){t=t|0;var n=0,o=0;o=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function aS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;o0=m,c=j$(n|0)|0,f=j$(o|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=m,m=m+((1*a|0)+15&-16)|0,hB(J|0,n|0)|0,Z=j$(J|0)|0,a0=J+Z|0,d[a0>>0]=61,d[a0+1>>0]=0,wQ(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=Ui(W,U)|0,e[t>>2]=E,I=t+4|0,C=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Ui(C,v)|0,e[I>>2]=S,w=j$(J|0)|0,y=e[e0>>2]|0,D=S+(y<<2)|0,e[D>>2]=w,_=w+1|0,x=S9(_)|0,R=e[t>>2]|0,L=R+(y<<2)|0,e[L>>2]=x,F=e[t>>2]|0,M=F+(y<<2)|0,T=e[M>>2]|0,hB(T|0,J|0)|0,G=e[e0>>2]|0,P=G+1|0,e[e0>>2]=P,z=e[t>>2]|0,t0=z+(P<<2)|0,e[t0>>2]=0,m=o0}function $S(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0;if(Y=m,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(x=t+8|0,R=e[x>>2]|0,L=(R|0)>0,L){for(_=R,M=f,P=0;F=M+(P<<2)|0,T=e[F>>2]|0,G=(T|0)==0,G?C=_:(I2(T),o=e[x>>2]|0,C=o),E=P+1|0,I=(E|0)<(C|0),!!I;)n=e[t>>2]|0,_=C,M=n,P=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 lS(t){t=t|0;var n=0,o=0,a=0,c=0;c=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=r4(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0;if(B1=m,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,p0=(n0|0)>0,p0)for(g1=n0,A1=0;n1=(E+32|0)+(A1<<2)|0,I=e[n1>>2]|0,C=(I|0)==0,C?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,O0=e[L0>>2]|0,f1=(O0|0)>0,f1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,x=(Q|0)==0,x?Y=l1:(R=(E+288|0)+(Z0<<2)|0,L=e[R>>2]|0,F=25664+(L<<2)|0,M=e[F>>2]|0,T=M+8|0,G=e[T>>2]|0,js[G&7](Q),o=e[L0>>2]|0,Y=o),P=Z0+1|0,z=(P|0)<(Y|0),z;)l1=Y,Z0=P;if(S=E+16|0,w=e[S>>2]|0,y=(w|0)>0,y)for(s1=w,d1=0;H=(E+1056|0)+(d1<<2)|0,X=e[H>>2]|0,U=(X|0)==0,U?s0=s1:(a0=(E+800|0)+(d1<<2)|0,Z=e[a0>>2]|0,V=25640+(Z<<2)|0,o0=e[V>>2]|0,i0=o0+12|0,r0=e[i0>>2]|0,js[r0&7](X),a=e[S>>2]|0,s0=a),K=d1+1|0,c0=(K|0)<(s0|0),c0;)s1=s0,d1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;u0=(E+1568|0)+(h1<<2)|0,I0=e[u0>>2]|0,w0=(I0|0)==0,w0?F0=a1:(f0=(E+1312|0)+(h1<<2)|0,E0=e[f0>>2]|0,C0=25648+(E0<<2)|0,d0=e[C0>>2]|0,v0=d0+12|0,K0=e[v0>>2]|0,js[K0&7](I0),c=e[J>>2]|0,F0=c),b0=h1+1|0,m0=(b0|0)<(F0|0),m0;)a1=F0,h1=b0;if(l0=E+24|0,j=e[l0>>2]|0,$0=(j|0)>0,g0=E+2848|0,$0)for(E1=0;T0=(E+1824|0)+(E1<<2)|0,U0=e[T0>>2]|0,B0=(U0|0)==0,B0||gB(U0),q0=e[g0>>2]|0,x0=(q0|0)==0,x0||(D0=q0+(E1*56|0)|0,PS(D0)),M0=E1+1|0,J0=e[l0>>2]|0,Y0=(M0|0)<(J0|0),Y0;)E1=M0;if(z0=e[g0>>2]|0,N0=(z0|0)==0,N0||I2(z0),P0=E+28|0,r1=e[P0>>2]|0,H0=(r1|0)>0,H0)for(u1=0;e1=(E+2852|0)+(u1<<2)|0,S0=e[e1>>2]|0,BS(S0),i1=u1+1|0,c1=e[P0>>2]|0,$1=(i1|0)<(c1|0),$1;)u1=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 cS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0;if(z2=m,m=m+32|0,M1=z2,C=t+4|0,p=e[C>>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,m=z2,f|0;if(l2=p+4|0,i2=e[l2>>2]|0,_2=(i2|0)<1,_2)v5=-129,o5=27;else if(nB(M1),T1=p+28|0,E5=e[T1>>2]|0,B=(E5|0)==0,B)v5=-130,o5=27;else if(F=e[E5>>2]|0,H=(F|0)<64,H)v5=-130,o5=27;else if(c0=E5+4|0,E0=e[c0>>2]|0,B0=(E0|0)<(F|0),B0)v5=-130,o5=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[l2>>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),d1=p+20|0,h1=e[d1>>2]|0,U2(M1,h1,32),E1=e[E5>>2]|0,u1=E1+-1|0,I1=T7(u1)|0,U2(M1,I1,4),B1=e[c0>>2]|0,p1=B1+-1|0,R1=T7(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,y1=e[x1>>2]|0,S1=(y1|0)==0,S1||I2(y1),L1=y7(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,w1=e[G1>>2]|0,U1=y7(M1)|0,n4(F1|0,w1|0,U1|0)|0,Z1=e[x1>>2]|0,e[o>>2]=Z1,D1=y7(M1)|0,K1=o+4|0,e[K1>>2]=D1,P1=o+8|0,e[P1>>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,ht(M1),gS(M1,n),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),r2=y7(M1)|0,W1=S9(r2)|0,e[q1>>2]=W1,O1=e[G1>>2]|0,z1=y7(M1)|0,n4(W1|0,O1|0,z1|0)|0,f2=e[q1>>2]|0,e[a>>2]=f2,s2=y7(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,g2=V1,a2=g2,e[a2>>2]=1,t2=g2+4|0,$2=t2,e[$2>>2]=0,ht(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,S2=(y2|0)>0,S2)for(H2=0;;){if(N2=(o2+1824|0)+(H2<<2)|0,d2=e[N2>>2]|0,J2=Pv(d2,M1)|0,G2=(J2|0)==0,m2=H2+1|0,!G2)break e;if(w2=e[n2>>2]|0,M2=(m2|0)<(w2|0),M2)H2=m2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=o2+16|0,T2=e[q2>>2]|0,O2=T2+-1|0,U2(M1,O2,6),K2=e[q2>>2]|0,s5=(K2|0)>0,s5)for(d5=0;;){if(P2=(o2+800|0)+(d5<<2)|0,j2=e[P2>>2]|0,U2(M1,j2,16),x5=e[P2>>2]|0,X2=25640+(x5<<2)|0,D5=e[X2>>2]|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5)break e;if(k5=(o2+1056|0)+(d5<<2)|0,O5=e[k5>>2]|0,IB[V2&3](O5,M1),$5=d5+1|0,v2=e[q2>>2]|0,r5=($5|0)<(v2|0),r5)d5=$5;else break}if(x2=o2+20|0,R2=e[x2>>2]|0,B2=R2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,L5=(C5|0)>0,L5)for(A5=0;u5=(o2+1312|0)+(A5<<2)|0,b5=e[u5>>2]|0,U2(M1,b5,16),G5=e[u5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(o2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,IB[S&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,_=(D|0)<(Q|0),_;)A5=D;if(x=o2+12|0,R=e[x>>2]|0,L=R+-1|0,U2(M1,L,6),M=e[x>>2]|0,T=(M|0)>0,T)for(l5=0;G=(o2+288|0)+(l5<<2)|0,P=e[G>>2]|0,U2(M1,P,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)+(l5<<2)|0,e0=e[W>>2]|0,_Q[J&1](p,e0,M1),X=l5+1|0,U=e[x>>2]|0,a0=(X|0)<(U|0),a0;)l5=X;if(Z=o2+8|0,V=e[Z>>2]|0,o0=V+-1|0,U2(M1,o0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(m5=0;r0=(o2+32|0)+(m5<<2)|0,K=e[r0>>2]|0,s0=e[K>>2]|0,U2(M1,s0,1),l0=e[r0>>2]|0,j=l0+4|0,$0=e[j>>2]|0,U2(M1,$0,16),g0=e[r0>>2]|0,u0=g0+8|0,p0=e[u0>>2]|0,U2(M1,p0,16),I0=e[r0>>2]|0,w0=I0+12|0,f0=e[w0>>2]|0,U2(M1,f0,8),C0=m5+1|0,d0=e[Z>>2]|0,v0=(C0|0)<(d0|0),v0;)m5=C0;return U2(M1,1,1),K0=Q1+72|0,b0=e[K0>>2]|0,m0=(b0|0)==0,m0||I2(b0),L0=y7(M1)|0,F0=S9(L0)|0,e[K0>>2]=F0,T0=e[G1>>2]|0,U0=y7(M1)|0,n4(F0|0,T0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=y7(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,O0=Y0,e[O0>>2]=2,z0=Y0+4|0,N0=z0,e[N0>>2]=0,sB(M1),f=0,m=z2,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,c5=-130}return(o5|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,c5=v5),sB(M1),P0=e[I>>2]|0,H0=(P0|0)==0,H0||I2(P0),e1=Q1+68|0,S0=e[e1>>2]|0,i1=(S0|0)==0,i1||I2(S0),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=c5,m=z2,f|0}function gS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0;for(i0=m,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,x=d[o>>0]|0,J=x<<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),a0=e[X>>2]|0,Z=(a0|0)>0,!Z){U2(t,1,1);return}for(V=n+4|0,o0=0;;){if(C=e[n>>2]|0,p=C+(o0<<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+(o0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(o0<<2)|0,_=e[Q>>2]|0,R=(_|0)==0,!R)for(L=e[n>>2]|0,F=L+(o0<<2)|0,M=e[F>>2]|0,a=M,f=_;T=f+-1|0,G=a+1|0,P=d[a>>0]|0,z=P<<24>>24,U2(t,z,8),Y=(T|0)==0,!Y;)a=G,f=T;if(t0=o0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)o0=t0;else break}U2(t,1,1)}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0;if(Y1=m,C=a+1|0,p=C<<3,c=p,L=m,m=m+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=m,m=m+((1*f|0)+15&-16)|0,f0=(C|0)==0,f0)T=0;else{for(U0=a;;){if(P0=(U0|0)<(o|0),P0)for(E1=0,L1=U0;;)if(s1=t+(L1<<2)|0,d1=+s[s1>>2],B=d1,v=L1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,D=y*B,Q=D+E1,_=L1+1|0,S1=(_|0)==(o|0),S1){h1=Q;break}else E1=Q,L1=_;else h1=0;if(x=L+(U0<<3)|0,o1[x>>3]=h1,R=U0+-1|0,F=(U0|0)==0,F)break;U0=R}I=+o1[L>>3],T=I}if(M=T*1.0000000001,G=T*1e-9,P=G+1e-10,z=(a|0)>0,z)I1=M,F1=0;else return Q1=M,Z0=Q1,m=Y1,+Z0;for(;;){if(w1=F1+1|0,Y=I1>3],U=-X,a0=(F1|0)>0,a0){for(U1=0,P1=U;;)if(o0=K+(U1<<3)|0,n0=+o1[o0>>3],i0=F1-U1|0,r0=L+(i0<<3)|0,c0=+o1[r0>>3],s0=c0*n0,l0=P1-s0,j=U1+1|0,y1=(j|0)==(F1|0),y1){E=l0;break}else U1=j,P1=l0;if($0=E/I1,g0=K+(F1<<3)|0,o1[g0>>3]=$0,u0=(F1|0)/2&-1,p0=(F1|0)>1,p0){for(I0=F1+-1|0,w0=(u0|0)>1,N1=0;E0=K+(N1<<3)|0,C0=+o1[E0>>3],d0=I0-N1|0,v0=K+(d0<<3)|0,K0=+o1[v0>>3],b0=K0*$0,m0=b0+C0,o1[E0>>3]=m0,L0=C0*$0,F0=+o1[v0>>3],T0=F0+L0,o1[v0>>3]=T0,B0=N1+1|0,q0=(B0|0)<(u0|0),q0;)N1=B0;H1=w0?u0:1,O0=$0,Z1=H1}else O0=$0,Z1=0}else Z=U/I1,V=K+(F1<<3)|0,o1[V>>3]=Z,O0=Z,Z1=0;if(x0=F1&1,D0=(x0|0)==0,D0||(M0=K+(Z1<<3)|0,J0=+o1[M0>>3],Y0=J0*O0,z0=Y0+J0,o1[M0>>3]=z0),N0=O0*O0,r1=1-N0,H0=r1*I1,e1=(w1|0)<(a|0),e1)I1=H0,F1=w1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,se(t0|0,0,W|0)|0,p1=B1),z)u1=.99,D1=0;else return Q1=p1,Z0=Q1,m=Y1,+Z0;for(;S0=K+(D1<<3)|0,i1=+o1[S0>>3],c1=i1*u1,o1[S0>>3]=c1,$1=u1*.99,f1=D1+1|0,x1=(f1|0)==(a|0),!x1;)u1=$1,D1=f1;if(z)K1=0;else return Q1=p1,Z0=Q1,m=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,m=Y1,+Z0}function sQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(V=m,I=c+o|0,C=I<<2,f=C,R=m,m=m+((1*f|0)+15&-16)|0,F=(n|0)==0,M=(o|0)>0,F?M&&(G=o<<2,se(R|0,0,G|0)|0):M&&(T=o<<2,n4(R|0,n|0,T|0)|0),P=(c|0)>0,!P){m=V;return}if(z=(o|0)>0,z)W=0,e0=o;else{Y=c<<2,se(R|0,0,Y|0)|0,se(a|0,0,Y|0)|0,m=V;return}for(;;){for(X=W,U=o,a0=0;;)if(S=X+1|0,w=R+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],x=_*y,L=a0-x,t0=(S|0)==(e0|0),t0){E=L;break}else X=S,U=D,a0=L;if(p=R+(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}m=V}function hS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0;if(v0=m,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),o0=n+1156|0,g0=e[o0>>2]|0,u0=(g0|0)>0,u0){if(U2(o,1,1),p0=e[o0>>2]|0,I0=p0+-1|0,U2(o,I0,8),w0=e[o0>>2]|0,E=(w0|0)>0,E)for(I=n+1160|0,C=t+4|0,p=n+2184|0,f0=0;B=I+(f0<<2)|0,v=e[B>>2]|0,S=e[C>>2]|0,w=S+-1|0,y=T7(w)|0,U2(o,v,y),D=p+(f0<<2)|0,_=e[D>>2]|0,x=e[C>>2]|0,R=x+-1|0,L=T7(R)|0,U2(o,_,L),F=f0+1|0,M=e[o0>>2]|0,T=(F|0)<(M|0),T;)f0=F}else U2(o,0,1);if(U2(o,0,2),G=e[n>>2]|0,P=(G|0)>1,P){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,E0=0;a0=W+(E0<<2)|0,Z=e[a0>>2]|0,U2(o,Z,4),V=E0+1|0,n0=e[z>>2]|0,i0=(V|0)<(n0|0),i0;)E0=V;a=e[n>>2]|0,e0=a,d0=13}}else e0=G,d0=13;if(!((d0|0)==13&&(H=(e0|0)>0,!H)))for(X=n+1028|0,U=n+1092|0,C0=0;U2(o,0,8),r0=X+(C0<<2)|0,K=e[r0>>2]|0,U2(o,K,8),c0=U+(C0<<2)|0,s0=e[c0>>2]|0,U2(o,s0,8),l0=C0+1|0,j=e[n>>2]|0,$0=(l0|0)<(j|0),$0;)C0=l0}function fS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,c=r4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,se(c|0,0,3208)|0,Y=t+4|0,o0=e[Y>>2]|0,u0=(o0|0)<1;e:do if(u0)a1=24;else if(m0=Z4(n,1)|0,Y0=(m0|0)<0,Y0)a1=24;else{if(H0=(m0|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(C=Z4(n,1)|0,p=(C|0)<0,!p){if(B=(C|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,M=a,S0=0;;){if(F=M+-1|0,T=T7(F)|0,G=Z4(n,T)|0,P=D+(S0<<2)|0,e[P>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=T7(t0)|0,W=Z4(n,J)|0,e0=_+(S0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(a0=e[Y>>2]|0,Z=(G|0)<(a0|0),V=(W|0)<(a0|0),f1=Z&V,R=S0+1|0,!f1))break e;if(x=e[w>>2]|0,L=(R|0)<(x|0),L)M=a0,S0=R;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(c0=e[Y>>2]|0,s0=(c0|0)>0,s0)for(l0=c+4|0,i1=0;;){if(d0=Z4(n,4)|0,v0=l0+(i1<<2)|0,e[v0>>2]=d0,K0=e[c>>2]|0,b0=(d0|0)>=(K0|0),L0=(d0|0)<0,g1=L0|b0,E0=i1+1|0,g1)break e;if(f0=e[Y>>2]|0,C0=(E0|0)<(f0|0),C0)i1=E0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&($0=(j|0)>0,!$0))return o=c,o|0;for(g0=c+1028|0,p0=Q+16|0,I0=c+1092|0,w0=Q+20|0,c1=0;;){if(Z4(n,8)|0,B0=Z4(n,8)|0,q0=g0+(c1<<2)|0,e[q0>>2]=B0,x0=e[p0>>2]|0,D0=(B0|0)>=(x0|0),M0=(B0|0)<0,l1=M0|D0,l1||(J0=Z4(n,8)|0,O0=I0+(c1<<2)|0,e[O0>>2]=J0,z0=e[w0>>2]|0,N0=(J0|0)>=(z0|0),P0=(J0|0)<0,s1=P0|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 uS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function dS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0,Xs=0,Un=0,eA=0,On=0,tA=0,iA=0,Pn=0,rA=0,Jr=0,nA=0,sA=0,AA=0,Hn=0,oA=0,qn=0,Yn=0,aA=0,Kr=0,Jn=0,Vr=0,Kn=0,Vn=0,$A=0,lA=0,cA=0,zr=0,zn=0,gA=0,Ir=0,Zr=0,hA=0,fA=0,Wr=0,$i=0,Zn=0,uA=0,dA=0,Wn=0,jn=0,Xn=0,IA=0,li=0,jr=0,EA=0,es=0,CA=0,mA=0,BA=0,ts=0,pA=0,QA=0,yA=0,wA=0,is=0,kA=0,vA=0,Xr=0,Er=0,en=0,SA=0,Zi=0,DA=0,rs=0,tn=0,ns=0,rn=0,bA=0,ss=0,As=0,_A=0,os=0,as=0,RA=0,Cr=0,$s=0,ci=0,nn=0,mr=0,Wi=0,Br=0,Oi=0,pr=0,ls=0,Pi=0,Bi=0,pi=0,Wt=0,Qi=0,Qr=0,ji=0,Xi=0,yr=0,gi=0,xA=0,$t=0,el=0,sn=0,An=0;if(sn=m,_=t+64|0,x=e[_>>2]|0,t2=x+4|0,U3=e[t2>>2]|0,_4=U3+28|0,Y4=e[_4>>2]|0,hA=x+104|0,li=e[hA>>2]|0,wA=t+104|0,tn=e[wA>>2]|0,R=t+36|0,W=e[R>>2]|0,r0=U3+4|0,w0=e[r0>>2]|0,T0=w0<<2,a=T0,N0=m,m=m+((1*a|0)+15&-16)|0,l1=H7(t,T0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=H7(t,U1)|0,$2=e[r0>>2]|0,M2=$2<<2,P2=H7(t,M2)|0,v2=tn+4|0,_5=+s[v2>>2],c2=e[r0>>2]|0,L2=c2<<2,c=L2,F5=m,m=m+((1*c|0)+15&-16)|0,R3=tn+8|0,M5=e[R3>>2]|0,z5=t+28|0,l6=e[z5>>2]|0,H3=(Y4+544|0)+(l6<<2)|0,r6=e[H3>>2]|0,x6=li+56|0,h9=e[x6>>2]|0,E4=(l6|0)!=0,A4=E4?2:0,D=A4+M5|0,o4=h9+(D*52|0)|0,O4=t+40|0,e[O4>>2]=l6,oe=(c2|0)>0,oe)for($4=+(W|0),q3=4/$4,g7=(s[p2>>2]=q3,e[p2>>2]|0),w8=(W|0)/2&-1,v8=w8<<2,S8=g7&2147483647,n8=+(S8>>>0),Q4=n8*7177114298428933e-22,qe=Q4+-764.6162109375,s7=qe,ne=s7+.345,it=ne,rt=li+4|0,qt=t+24|0,ai=t+32|0,O7=it+-764.6162109375,Yr=W+-1|0,nA=(Yr|0)>1,Kn=it+-382.30810546875,pr=_5,Pi=0;;){if(fA=e[t>>2]|0,Wr=fA+(Pi<<2)|0,$i=e[Wr>>2]|0,Zn=H7(t,v8)|0,uA=W1+(Pi<<2)|0,e[uA>>2]=Zn,dA=H7(t,v8)|0,Wn=l1+(Pi<<2)|0,e[Wn>>2]=dA,jn=e[qt>>2]|0,Xn=e[z5>>2]|0,IA=e[ai>>2]|0,ZS($i,rt,Y4,jn,Xn,IA),jr=e[z5>>2]|0,EA=(li+12|0)+(jr<<2)|0,es=e[EA>>2]|0,CA=e[es>>2]|0,mA=e[Wn>>2]|0,AQ(CA,$i,mA),BA=e[z5>>2]|0,ts=(li+20|0)+(BA*12|0)|0,YS(ts,$i),pA=e[$i>>2]|0,QA=pA&2147483647,yA=+(QA>>>0),is=yA*7177114298428933e-22,kA=O7+is,vA=kA,Xr=vA+.345,Er=Xr,s[$i>>2]=Er,en=F5+(Pi<<2)|0,s[en>>2]=Er,nA)for(P=Er,Qr=1;;)if(SA=$i+(Qr<<2)|0,Zi=+s[SA>>2],DA=Zi*Zi,rs=Qr+1|0,ns=$i+(rs<<2)|0,rn=+s[ns>>2],bA=rn*rn,ss=bA+DA,As=(s[p2>>2]=ss,e[p2>>2]|0),_A=As&2147483647,os=+(_A>>>0),as=os*35885571492144663e-23,RA=Kn+as,Cr=RA,L=Cr+.345,F=L,M=rs>>1,T=$i+(M<<2)|0,s[T>>2]=F,G=F>P,G?(s[en>>2]=F,Ir=F):Ir=P,z=Qr+2|0,Y=(z|0)<(Yr|0),Y)P=Ir,Qr=z;else{J=Ir;break}else J=Er;if(t0=J>0,t0?(s[en>>2]=0,H=0):H=J,e0=H>pr,ls=e0?H:pr,X=Pi+1|0,U=e[r0>>2]|0,a0=(X|0)<(U|0),a0)pr=ls,Pi=X;else{p=v8,v=w8,Oi=ls;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,Oi=_5;Z=H7(t,p)|0,V=H7(t,p)|0,o0=e[r0>>2]|0,n0=(o0|0)>0;e:do if(n0){if(i0=(W|0)>1,K=li+48|0,i0)pi=0;else{for(Bi=0;;){e6=(r6+4|0)+(Bi<<2)|0,f6=e[e6>>2]|0,P3=l1+(Bi<<2)|0,D3=e[P3>>2]|0,V3=e[t>>2]|0,S6=V3+(Bi<<2)|0,s6=e[S6>>2]|0,i3=s6+(v<<2)|0,e[O4>>2]=l6,O6=H7(t,60)|0,s3=P2+(Bi<<2)|0,e[s3>>2]=O6,$t=O6,An=$t+60|0;do e[$t>>2]=0,$t=$t+4|0;while(($t|0)<(An|0));if(lQ(o4,i3,Z),A6=F5+(Bi<<2)|0,u6=+s[A6>>2],cQ(o4,s6,V,Oi,u6),W$(o4,Z,V,1,s6,D3,i3),b3=(r6+1028|0)+(f6<<2)|0,T6=e[b3>>2]|0,Q6=(Y4+800|0)+(T6<<2)|0,R6=e[Q6>>2]|0,J6=(R6|0)==1,!J6){o=-1;break}if(d6=e[K>>2]|0,Y6=d6+(T6<<2)|0,L3=e[Y6>>2]|0,Z6=Z$(t,L3,i3,s6)|0,N6=e[s3>>2]|0,j6=N6+28|0,e[j6>>2]=Z6,r9=xh(t)|0,G6=(r9|0)==0,G6||(D6=e[s3>>2]|0,K6=D6+28|0,y6=e[K6>>2]|0,L6=(y6|0)==0,L6||(W$(o4,Z,V,2,s6,D3,i3),F3=e[b3>>2]|0,F6=e[K>>2]|0,X6=F6+(F3<<2)|0,A9=e[X6>>2]|0,W6=Z$(t,A9,i3,s6)|0,f9=e[s3>>2]|0,u9=f9+56|0,e[u9>>2]=W6,W$(o4,Z,V,0,s6,D3,i3),o9=e[b3>>2]|0,a9=e[K>>2]|0,T9=a9+(o9<<2)|0,I6=e[T9>>2]|0,M6=Z$(t,I6,i3,s6)|0,e9=e[s3>>2]|0,e[e9>>2]=M6,N9=e[b3>>2]|0,d9=e[K>>2]|0,s4=d9+(N9<<2)|0,g4=e[s4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,D9=G9+28|0,I9=e[D9>>2]|0,P6=x8(t,g4,z9,I9,9362)|0,t9=e[s3>>2]|0,C4=t9+4|0,e[C4>>2]=P6,S4=e[b3>>2]|0,Q9=e[K>>2]|0,D4=Q9+(S4<<2)|0,b4=e[D4>>2]|0,x4=e[s3>>2]|0,T4=e[x4>>2]|0,W4=x4+28|0,m4=e[W4>>2]|0,N4=x8(t,b4,T4,m4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,L4=e[b3>>2]|0,h4=e[K>>2]|0,Ie=h4+(L4<<2)|0,H9=e[Ie>>2]|0,E9=e[s3>>2]|0,Ee=e[E9>>2]|0,Te=E9+28|0,We=e[Te>>2]|0,U4=x8(t,H9,Ee,We,28086)|0,Ne=e[s3>>2]|0,j4=Ne+12|0,e[j4>>2]=U4,Se=e[b3>>2]|0,je=e[K>>2]|0,Z9=je+(Se<<2)|0,Ae=e[Z9>>2]|0,f4=e[s3>>2]|0,b6=e[f4>>2]|0,P4=f4+28|0,L9=e[P4>>2]|0,a4=x8(t,Ae,b6,L9,37449)|0,W9=e[s3>>2]|0,ae=W9+16|0,e[ae>>2]=a4,$e=e[b3>>2]|0,B4=e[K>>2]|0,X4=B4+($e<<2)|0,F4=e[X4>>2]|0,le=e[s3>>2]|0,C9=e[le>>2]|0,c6=le+28|0,Ge=e[c6>>2]|0,Ce=x8(t,F4,C9,Ge,46811)|0,p4=e[s3>>2]|0,l4=p4+20|0,e[l4>>2]=Ce,U6=e[b3>>2]|0,De=e[K>>2]|0,be=De+(U6<<2)|0,Xe=e[be>>2]|0,c4=e[s3>>2]|0,k4=e[c4>>2]|0,g8=c4+28|0,y9=e[g8>>2]|0,m9=x8(t,Xe,k4,y9,56173)|0,M4=e[s3>>2]|0,ee=M4+24|0,e[ee>>2]=m9,$7=e[b3>>2]|0,_e=e[K>>2]|0,l7=_e+($7<<2)|0,w7=e[l7>>2]|0,V8=e[s3>>2]|0,c7=V8+28|0,L8=e[c7>>2]|0,F8=V8+56|0,M8=e[F8>>2]|0,T8=x8(t,w7,L8,M8,9362)|0,z8=e[s3>>2]|0,Z8=z8+32|0,e[Z8>>2]=T8,k7=e[b3>>2]|0,N8=e[K>>2]|0,G8=N8+(k7<<2)|0,U8=e[G8>>2]|0,k8=e[s3>>2]|0,h8=k8+28|0,O8=e[h8>>2]|0,P8=k8+56|0,W8=e[P8>>2]|0,j8=x8(t,U8,O8,W8,18724)|0,f8=e[s3>>2]|0,Ue=f8+36|0,e[Ue>>2]=j8,Re=e[b3>>2]|0,e8=e[K>>2]|0,w9=e8+(Re<<2)|0,h7=e[w9>>2]|0,me=e[s3>>2]|0,f7=me+28|0,v7=e[f7>>2]|0,X8=me+56|0,S7=e[X8>>2]|0,te=x8(t,h7,v7,S7,28086)|0,e7=e[s3>>2]|0,H8=e7+40|0,e[H8>>2]=te,t8=e[b3>>2]|0,H4=e[K>>2]|0,xe=H4+(t8<<2)|0,i8=e[xe>>2]|0,u8=e[s3>>2]|0,D8=u8+28|0,ce=e[D8>>2]|0,j9=u8+56|0,r8=e[j9>>2]|0,d8=x8(t,i8,ce,r8,37449)|0,I8=e[s3>>2]|0,ge=I8+44|0,e[ge>>2]=d8,Be=e[b3>>2]|0,Oe=e[K>>2]|0,Pe=Oe+(Be<<2)|0,X9=e[Pe>>2]|0,Le=e[s3>>2]|0,he=Le+28|0,s8=e[he>>2]|0,pe=Le+56|0,E8=e[pe>>2]|0,t7=x8(t,X9,s8,E8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=t7,He=e[b3>>2]|0,C8=e[K>>2]|0,ie=C8+(He<<2)|0,q9=e[ie>>2]|0,re=e[s3>>2]|0,b9=re+28|0,q8=e[b9>>2]|0,u7=re+56|0,i7=e[u7>>2]|0,r7=x8(t,q9,q8,i7,56173)|0,Y8=e[s3>>2]|0,n7=Y8+52|0,e[n7>>2]=r7)),J8=Bi+1|0,A8=e[r0>>2]|0,o8=(J8|0)<(A8|0),o8)Bi=J8;else{B=K,_8=A8;break e}}return m=sn,o|0}for(;;){_6=(r6+4|0)+(pi<<2)|0,u0=e[_6>>2]|0,q6=l1+(pi<<2)|0,$0=e[q6>>2]|0,C6=e[t>>2]|0,S3=C6+(pi<<2)|0,j=e[S3>>2]|0,c0=j+(v<<2)|0,e[O4>>2]=l6,X3=H7(t,60)|0,m0=P2+(pi<<2)|0,e[m0>>2]=X3,$t=X3,An=$t+60|0;do e[$t>>2]=0,$t=$t+4|0;while(($t|0)<(An|0));for(ji=0;W3=$0+(ji<<2)|0,v3=e[W3>>2]|0,c3=v3&2147483647,O3=+(c3>>>0),$6=O3*7177114298428933e-22,d3=$6+-764.6162109375,w6=d3,k6=w6+.345,v6=k6,Q=ji+v|0,B6=j+(Q<<2)|0,s[B6>>2]=v6,j3=ji+1|0,p6=(j3|0)<(v|0),p6;)ji=j3;if(lQ(o4,c0,Z),s0=F5+(pi<<2)|0,l0=+s[s0>>2],cQ(o4,j,V,Oi,l0),W$(o4,Z,V,1,j,$0,c0),g0=(r6+1028|0)+(u0<<2)|0,p0=e[g0>>2]|0,I0=(Y4+800|0)+(p0<<2)|0,f0=e[I0>>2]|0,E0=(f0|0)==1,!E0){o=-1;break}if(C0=e[K>>2]|0,d0=C0+(p0<<2)|0,v0=e[d0>>2]|0,K0=Z$(t,v0,c0,j)|0,b0=e[m0>>2]|0,L0=b0+28|0,e[L0>>2]=K0,F0=xh(t)|0,U0=(F0|0)==0,U0||(B0=e[m0>>2]|0,q0=B0+28|0,x0=e[q0>>2]|0,D0=(x0|0)==0,D0||(W$(o4,Z,V,2,j,$0,c0),M0=e[g0>>2]|0,J0=e[K>>2]|0,Y0=J0+(M0<<2)|0,O0=e[Y0>>2]|0,z0=Z$(t,O0,c0,j)|0,P0=e[m0>>2]|0,r1=P0+56|0,e[r1>>2]=z0,W$(o4,Z,V,0,j,$0,c0),H0=e[g0>>2]|0,e1=e[K>>2]|0,S0=e1+(H0<<2)|0,i1=e[S0>>2]|0,c1=Z$(t,i1,c0,j)|0,$1=e[m0>>2]|0,e[$1>>2]=c1,f1=e[g0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[m0>>2]|0,A1=e[n1>>2]|0,Z0=n1+28|0,d1=e[Z0>>2]|0,h1=x8(t,a1,A1,d1,9362)|0,E1=e[m0>>2]|0,u1=E1+4|0,e[u1>>2]=h1,I1=e[g0>>2]|0,p1=e[K>>2]|0,Q1=p1+(I1<<2)|0,R1=e[Q1>>2]|0,x1=e[m0>>2]|0,y1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=x8(t,R1,y1,L1,18724)|0,G1=e[m0>>2]|0,w1=G1+8|0,e[w1>>2]=F1,Z1=e[g0>>2]|0,N1=e[K>>2]|0,D1=N1+(Z1<<2)|0,K1=e[D1>>2]|0,P1=e[m0>>2]|0,H1=e[P1>>2]|0,q1=P1+28|0,Y1=e[q1>>2]|0,j1=x8(t,K1,H1,Y1,28086)|0,r2=e[m0>>2]|0,O1=r2+12|0,e[O1>>2]=j1,l2=e[g0>>2]|0,z1=e[K>>2]|0,f2=z1+(l2<<2)|0,s2=e[f2>>2]|0,E2=e[m0>>2]|0,A2=e[E2>>2]|0,V1=E2+28|0,g2=e[V1>>2]|0,a2=x8(t,s2,A2,g2,37449)|0,i2=e[m0>>2]|0,o2=i2+16|0,e[o2>>2]=a2,X1=e[g0>>2]|0,n2=e[K>>2]|0,u2=n2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[m0>>2]|0,S2=e[y2>>2]|0,w2=y2+28|0,m2=e[w2>>2]|0,_2=x8(t,e2,S2,m2,46811)|0,N2=e[m0>>2]|0,d2=N2+20|0,e[d2>>2]=_2,J2=e[g0>>2]|0,G2=e[K>>2]|0,q2=G2+(J2<<2)|0,T2=e[q2>>2]|0,O2=e[m0>>2]|0,K2=e[O2>>2]|0,s5=O2+28|0,T1=e[s5>>2]|0,j2=x8(t,T2,K2,T1,56173)|0,x5=e[m0>>2]|0,X2=x5+24|0,e[X2>>2]=j2,D5=e[g0>>2]|0,V2=e[K>>2]|0,f5=V2+(D5<<2)|0,k5=e[f5>>2]|0,O5=e[m0>>2]|0,$5=O5+28|0,E5=e[$5>>2]|0,r5=O5+56|0,x2=e[r5>>2]|0,R2=x8(t,k5,E5,x2,9362)|0,B2=e[m0>>2]|0,C5=B2+32|0,e[C5>>2]=R2,L5=e[g0>>2]|0,u5=e[K>>2]|0,b5=u5+(L5<<2)|0,G5=e[b5>>2]|0,H2=e[m0>>2]|0,d5=H2+28|0,A5=e[d5>>2]|0,l5=H2+56|0,m5=e[l5>>2]|0,M1=x8(t,G5,A5,m5,18724)|0,v5=e[m0>>2]|0,c5=v5+36|0,e[c5>>2]=M1,o5=e[g0>>2]|0,z2=e[K>>2]|0,B5=z2+(o5<<2)|0,e5=e[B5>>2]|0,n5=e[m0>>2]|0,g5=n5+28|0,Y2=e[g5>>2]|0,h5=n5+56|0,t5=e[h5>>2]|0,R5=x8(t,e5,Y2,t5,28086)|0,W2=e[m0>>2]|0,a5=W2+40|0,e[a5>>2]=R5,p5=e[g0>>2]|0,H5=e[K>>2]|0,X5=H5+(p5<<2)|0,I5=e[X5>>2]|0,u3=e[m0>>2]|0,h3=u3+28|0,K5=e[h3>>2]|0,e3=u3+56|0,n3=e[e3>>2]|0,C3=x8(t,I5,K5,n3,37449)|0,V5=e[m0>>2]|0,w3=V5+44|0,e[w3>>2]=C3,f3=e[g0>>2]|0,B3=e[K>>2]|0,K3=B3+(f3<<2)|0,T3=e[K3>>2]|0,Z5=e[m0>>2]|0,y3=Z5+28|0,j5=e[y3>>2]|0,t6=Z5+56|0,N3=e[t6>>2]|0,o3=x8(t,T3,j5,N3,46811)|0,$3=e[m0>>2]|0,l3=$3+48|0,e[l3>>2]=o3,m3=e[g0>>2]|0,q5=e[K>>2]|0,U5=q5+(m3<<2)|0,P5=e[U5>>2]|0,w5=e[m0>>2]|0,G3=w5+28|0,n6=e[G3>>2]|0,t3=w5+56|0,A3=e[t3>>2]|0,x3=x8(t,P5,n6,A3,56173)|0,h6=e[m0>>2]|0,p3=h6+52|0,e[p3>>2]=x3)),k3=pi+1|0,Q3=e[r0>>2]|0,i6=(k3|0)<(Q3|0),i6)pi=k3;else{B=K,_8=Q3;break e}}return m=sn,o|0}else y=li+48|0,B=y,_8=o0;while(!1);for(s[v2>>2]=Oi,b8=_8<<2,f=b8,Ye=m,m=m+((1*f|0)+15&-16)|0,E=b8,B9=m,m=m+((1*E|0)+15&-16)|0,A7=xh(t)|0,Je=(A7|0)!=0,N7=Je?0:7,q7=li+44|0,D7=t+24|0,o7=t+32|0,b7=Y4+2868|0,G7=li+52|0,gi=N7;;){if(Y7=(tn+12|0)+(gi<<2)|0,a8=e[Y7>>2]|0,U2(a8,0,1),R8=e[q7>>2]|0,U2(a8,l6,R8),_7=e[z5>>2]|0,K8=(_7|0)==0,K8||(Fe=e[D7>>2]|0,U2(a8,Fe,1),fe=e[o7>>2]|0,U2(a8,fe,1)),e4=e[r0>>2]|0,R7=(e4|0)>0,R7)for(Wt=0;;)if(Nt=(r6+4|0)+(Wt<<2)|0,Gt=e[Nt>>2]|0,Ut=W1+(Wt<<2)|0,ut=e[Ut>>2]|0,J7=(r6+1028|0)+(Gt<<2)|0,dt=e[J7>>2]|0,K7=e[B>>2]|0,It=K7+(dt<<2)|0,V7=e[It>>2]|0,Et=P2+(Wt<<2)|0,ni=e[Et>>2]|0,Ot=ni+(gi<<2)|0,Ct=e[Ot>>2]|0,mt=jv(a8,t,V7,Ct,ut)|0,si=N0+(Wt<<2)|0,e[si>>2]=mt,Bt=Wt+1|0,nt=e[r0>>2]|0,Ai=(Bt|0)<(nt|0),Ai)Wt=Bt;else{I=nt;break}else I=e4;if(Pt=e[z5>>2]|0,Ht=((Y4+3240|0)+(Pt*60|0)|0)+(gi<<2)|0,Yt=e[Ht>>2]|0,yS(gi,b7,o4,r6,l1,W1,N0,Yt,I),st=e[r6>>2]|0,pt=(st|0)>0,pt)for(Qi=0;;){if(Jt=(r6+1092|0)+(Qi<<2)|0,z7=e[Jt>>2]|0,At=e[r0>>2]|0,U7=(At|0)>0,U7)for(Zr=At,ci=0,Xi=0;;)if(Z7=(r6+4|0)+(Xi<<2)|0,oi=e[Z7>>2]|0,Kt=(oi|0)==(Qi|0),Kt?(Qt=B9+(ci<<2)|0,Vt=N0+(Xi<<2)|0,yt=e[Vt>>2]|0,xA=(yt|0)!=0,n=xA&1,e[Qt>>2]=n,wt=W1+(Xi<<2)|0,zt=e[wt>>2]|0,kt=ci+1|0,W7=Ye+(ci<<2)|0,e[W7>>2]=zt,C=e[r0>>2]|0,ot=C,nn=kt):(ot=Zr,nn=ci),vt=Xi+1|0,Zt=(vt|0)<(ot|0),Zt)Zr=ot,ci=nn,Xi=vt;else{$s=nn;break}else $s=0;if(St=(Y4+1312|0)+(z7<<2)|0,Qe=e[St>>2]|0,Dt=25648+(Qe<<2)|0,x7=e[Dt>>2]|0,at=x7+20|0,i9=e[at>>2]|0,d7=e[G7>>2]|0,m8=d7+(z7<<2)|0,I7=e[m8>>2]|0,L7=EB[i9&7](t,I7,Ye,B9,$s)|0,dr=e[r0>>2]|0,Xs=(dr|0)>0,Xs)for(Wi=0,yr=0;;)if(Un=(r6+4|0)+(yr<<2)|0,eA=e[Un>>2]|0,On=(eA|0)==(Qi|0),On?(tA=W1+(yr<<2)|0,iA=e[tA>>2]|0,Pn=Wi+1|0,rA=Ye+(Wi<<2)|0,e[rA>>2]=iA,Br=Pn):Br=Wi,Jr=yr+1|0,sA=(Jr|0)<(dr|0),sA)Wi=Br,yr=Jr;else{mr=Br;break}else mr=0;if(AA=e[St>>2]|0,Hn=25648+(AA<<2)|0,oA=e[Hn>>2]|0,qn=oA+24|0,Yn=e[qn>>2]|0,aA=e[G7>>2]|0,Kr=aA+(z7<<2)|0,Jn=e[Kr>>2]|0,RQ[Yn&3](a8,t,Jn,Ye,B9,mr,L7,Qi)|0,Vr=Qi+1|0,Vn=e[r6>>2]|0,$A=(Vr|0)<(Vn|0),$A)Qi=Vr;else break}if(lA=gi+1|0,cA=xh(t)|0,zr=(cA|0)!=0,zn=zr?14:7,gA=(gi|0)<(zn|0),gA)gi=lA;else{o=0;break}}return m=sn,o|0}function IS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0;if(L2=m,S=t+64|0,w=e[S>>2]|0,E1=w+4|0,F1=e[E1>>2]|0,Y1=F1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,T2=e[y2>>2]|0,f5=t+28|0,L5=e[f5>>2]|0,y=V1+(L5<<2)|0,P=e[y>>2]|0,Z=t+36|0,e[Z>>2]=P,$0=F1+4|0,K0=e[$0>>2]|0,M0=K0<<2,c=M0,i1=m,m=m+((1*c|0)+15&-16)|0,f=M0,Z0=m,m=m+((1*f|0)+15&-16)|0,E=M0,d1=m,m=m+((1*E|0)+15&-16)|0,I=M0,h1=m,m=m+((1*I|0)+15&-16)|0,u1=e[$0>>2]|0,I1=(u1|0)>0,I1)for(B1=n+4|0,p1=n+1028|0,Q1=T2+48|0,R1=P<<1,x1=R1&2147483646,z2=0;;)if(U1=B1+(z2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,K1=(V1+800|0)+(D1<<2)|0,P1=e[K1>>2]|0,H1=25640+(P1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,O1=W1+(D1<<2)|0,l2=e[O1>>2]|0,z1=ft[r2&15](t,l2)|0,f2=h1+(z2<<2)|0,e[f2>>2]=z1,s2=d1+(z2<<2)|0,W2=(z1|0)!=0,o=W2&1,e[s2>>2]=o,E2=e[t>>2]|0,A2=E2+(z2<<2)|0,g2=e[A2>>2]|0,se(g2|0,0,x1|0)|0,a2=z2+1|0,t2=e[$0>>2]|0,$2=(a2|0)<(t2|0),$2)z2=a2;else{n1=t2;break}else n1=u1;if(y1=n+1156|0,S1=e[y1>>2]|0,L1=(S1|0)>0,L1)for(G1=n+1160|0,w1=n+2184|0,c2=0;e2=G1+(c2<<2)|0,S2=e[e2>>2]|0,w2=d1+(S2<<2)|0,m2=e[w2>>2]|0,M2=(m2|0)==0,_2=w1+(c2<<2)|0,N2=e[_2>>2]|0,M2?(d2=d1+(N2<<2)|0,J2=e[d2>>2]|0,G2=(J2|0)==0,G2||(a5=10)):a5=10,(a5|0)==10&&(a5=0,e[w2>>2]=1,q2=d1+(N2<<2)|0,e[q2>>2]=1),O2=c2+1|0,K2=(O2|0)<(S1|0),K2;)c2=O2;if(i2=e[n>>2]|0,o2=(i2|0)>0,o2){for(X1=n+1092|0,n2=T2+52|0,u2=n+4|0,s5=n1,B5=0;;){if(P2=(s5|0)>0,P2)for(A1=s5,c5=0,h5=0;;)if(T1=u2+(h5<<2)|0,j2=e[T1>>2]|0,x5=(j2|0)==(B5|0),x5?(X2=d1+(h5<<2)|0,D5=e[X2>>2]|0,V2=Z0+(c5<<2)|0,R5=(D5|0)!=0,a=R5&1,e[V2>>2]=a,k5=e[t>>2]|0,O5=k5+(h5<<2)|0,$5=e[O5>>2]|0,v2=c5+1|0,E5=i1+(c5<<2)|0,e[E5>>2]=$5,B=e[$0>>2]|0,R2=B,o5=v2):(R2=A1,o5=c5),r5=h5+1|0,x2=(r5|0)<(R2|0),x2)A1=R2,c5=o5,h5=r5;else{v5=o5;break}else v5=0;if(B2=X1+(B5<<2)|0,C5=e[B2>>2]|0,u5=(V1+1312|0)+(C5<<2)|0,b5=e[u5>>2]|0,G5=25648+(b5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,d5=e[H2>>2]|0,A5=e[n2>>2]|0,l5=A5+(C5<<2)|0,m5=e[l5>>2]|0,EB[d5&7](t,m5,i1,Z0,v5)|0,M1=B5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[$0>>2]|0,s5=p,B5=M1}v=e[y1>>2]|0,_=v}else _=S1;if(x=(_|0)>0,x)for(R=n+1160|0,L=e[t>>2]|0,F=n+2184|0,M=(P|0)/2&-1,T=(P|0)>1,n5=_;;){if(e5=n5+-1|0,e0=R+(e5<<2)|0,H=e[e0>>2]|0,X=L+(H<<2)|0,U=e[X>>2]|0,a0=F+(e5<<2)|0,V=e[a0>>2]|0,o0=L+(V<<2)|0,n0=e[o0>>2]|0,T)for(t5=0;;){i0=U+(t5<<2)|0,r0=+s[i0>>2],K=n0+(t5<<2)|0,c0=+s[K>>2],s0=r0>0,l0=c0>0;do if(s0)if(l0){s[i0>>2]=r0,j=r0-c0,s[K>>2]=j;break}else{s[K>>2]=r0,g0=c0+r0,s[i0>>2]=g0;break}else if(l0){s[i0>>2]=r0,u0=c0+r0,s[K>>2]=u0;break}else{s[K>>2]=r0,p0=r0-c0,s[i0>>2]=p0;break}while(!1);if(I0=t5+1|0,w0=(I0|0)<(M|0),w0)t5=I0;else break}if(G=(n5|0)>1,G)n5=e5;else break}if(z=e[$0>>2]|0,Y=(z|0)>0,!Y)return m=L2,0;for(t0=n+4|0,J=n+1028|0,W=T2+48|0,g5=0;;)if(E0=e[t>>2]|0,C0=E0+(g5<<2)|0,d0=e[C0>>2]|0,v0=t0+(g5<<2)|0,b0=e[v0>>2]|0,m0=J+(b0<<2)|0,L0=e[m0>>2]|0,F0=(V1+800|0)+(L0<<2)|0,T0=e[F0>>2]|0,U0=25640+(T0<<2)|0,B0=e[U0>>2]|0,q0=B0+24|0,x0=e[q0>>2]|0,D0=e[W>>2]|0,J0=D0+(L0<<2)|0,Y0=e[J0>>2]|0,O0=h1+(g5<<2)|0,z0=e[O0>>2]|0,dB[x0&3](t,Y0,z0,d0)|0,N0=g5+1|0,P0=e[$0>>2]|0,r1=(N0|0)<(P0|0),r1)g5=N0;else{C=P0;break}if(f0=(C|0)>0,!f0)return m=L2,0;for(Y2=0;H0=e[t>>2]|0,e1=H0+(Y2<<2)|0,S0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(T2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,ES(g1,S0,S0),l1=Y2+1|0,s1=e[$0>>2]|0,a1=(l1|0)<(s1|0),a1;)Y2=l1;return m=L2,0}function lB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0;if(y1=m,o=(n|0)/4&-1,a=o<<2,y=S9(a)|0,P=o+n|0,Z=P<<2,$0=S9(Z)|0,K0=n>>1,M0=+(n|0),i1=M0,d1=+Hr(+i1),c=d1*1.4426950408889634,f=+Gi(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,C=t+8|0,e[C>>2]=$0,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;F=B1<<2,M=+(F|0),T=S*M,G=+zo(+T),z=G,Y=B1<<1,t0=$0+(Y<<2)|0,s[t0>>2]=z,J=+Nn(+T),W=J,e0=-W,H=Y|1,X=$0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),a0=Q*U,V=+zo(+a0),o0=V,n0=Y+K0|0,i0=$0+(n0<<2)|0,s[i0>>2]=o0,r0=+Nn(+a0),K=r0,c0=n0+1|0,s0=$0+(c0<<2)|0,s[s0>>2]=K,l0=B1+1|0,j=(l0|0)<(o|0),j;)B1=l0;if(_=(n|0)/8&-1,x=(n|0)>7,!x){Z0=4/M0,h1=t+16|0,s[h1>>2]=Z0;return}for(R=+(n|0),L=3.141592653589793/R,p1=0;g0=p1<<2,u0=g0|2,p0=+(u0|0),I0=L*p0,w0=+zo(+I0),f0=w0*.5,E0=f0,C0=p1<<1,d0=C0+n|0,v0=$0+(d0<<2)|0,s[v0>>2]=E0,b0=+Nn(+I0),m0=b0*-.5,L0=m0,F0=d0+1|0,T0=$0+(F0<<2)|0,s[T0>>2]=L0,U0=p1+1|0,B0=(U0|0)<(_|0),B0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=Z0;return}for(;;){for(z0=Y0,E1=0,R1=0;;)if(O0=z0&Q1,N0=(O0|0)==0,P0=1<>H0,S0=(e1|0)==0,S0){I1=u1;break}else z0=e1,E1=u1,R1=H0;if(c1=I1^-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]=I1,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,C=0,p=0;p=m,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 ES(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0;for(O3=m,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,J2=n+(a<<2)|0,c=I+W1|0,X2=o+(c<<2)|0,R2=t+8|0,l5=e[R2>>2]|0,g5=l5+(W1<<2)|0,l3=g5,U5=J2,k3=X2;I5=k3+-16|0,B3=U5+8|0,C=+s[B3>>2],R=l3+12|0,W=+s[R>>2],r0=C*W,w0=-r0,T0=+s[U5>>2],N0=l3+8|0,l1=+s[N0>>2],B1=l1*T0,U1=w0-B1,s[I5>>2]=U1,O1=+s[U5>>2],$2=+s[R>>2],y2=$2*O1,S2=+s[B3>>2],w2=+s[N0>>2],m2=w2*S2,M2=y2-m2,_2=k3+-12|0,s[_2>>2]=M2,N2=U5+24|0,d2=+s[N2>>2],G2=l3+4|0,q2=+s[G2>>2],T2=d2*q2,O2=-T2,K2=U5+16|0,s5=+s[K2>>2],P2=+s[l3>>2],T1=P2*s5,j2=O2-T1,x5=k3+-8|0,s[x5>>2]=j2,D5=+s[K2>>2],V2=+s[G2>>2],f5=V2*D5,k5=+s[N2>>2],O5=+s[l3>>2],$5=O5*k5,v2=f5-$5,E5=k3+-4|0,s[E5>>2]=v2,r5=U5+-32|0,x2=l3+16|0,B2=r5>>>0>>0,!B2;)l3=x2,U5=r5,k3=I5;for(C5=o+(I<<2)|0,f=I+-8|0,L5=n+(f<<2)|0,m3=g5,P5=L5,Q3=X2;u5=m3+-16|0,b5=P5+16|0,G5=+s[b5>>2],_5=m3+-4|0,H2=+s[_5>>2],d5=H2*G5,A5=P5+24|0,m5=+s[A5>>2],M1=m3+-8|0,v5=+s[M1>>2],c5=v5*m5,o5=c5+d5,s[Q3>>2]=o5,z2=+s[b5>>2],c2=+s[M1>>2],B5=c2*z2,e5=+s[A5>>2],n5=+s[_5>>2],Y2=n5*e5,h5=B5-Y2,t5=Q3+4|0,s[t5>>2]=h5,R5=+s[P5>>2],W2=m3+-12|0,a5=+s[W2>>2],L2=a5*R5,p5=P5+8|0,H5=+s[p5>>2],X5=+s[u5>>2],u3=X5*H5,h3=u3+L2,K5=Q3+8|0,s[K5>>2]=h3,e3=+s[P5>>2],n3=+s[u5>>2],C3=n3*e3,F5=+s[p5>>2],V5=+s[W2>>2],w3=V5*F5,f3=C3-w3,K3=Q3+12|0,s[K3>>2]=f3,T3=P5+-32|0,Z5=Q3+16|0,y3=T3>>>0>>0,!y3;)m3=u5,P5=T3,Q3=Z5;for(n6=t+4|0,t3=e[n6>>2]|0,oQ(t3,l5,C5,I),A3=e[t>>2]|0,x3=e[R2>>2]|0,h6=t+12|0,p3=e[h6>>2]|0,aQ(A3,x3,p3,o),j5=e[R2>>2]|0,t6=j5+(I<<2)|0,q5=t6,w5=o,i6=X2,z5=X2;R3=i6+-16|0,N3=+s[w5>>2],o3=q5+4|0,$3=+s[o3>>2],p=$3*N3,B=w5+4|0,v=+s[B>>2],S=+s[q5>>2],w=S*v,y=p-w,D=i6+-4|0,s[D>>2]=y,Q=+s[w5>>2],_=+s[q5>>2],x=_*Q,L=+s[B>>2],F=+s[o3>>2],M=F*L,T=x+M,G=-T,s[z5>>2]=G,P=w5+8|0,z=+s[P>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=w5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],a0=U*H,Z=J-a0,V=i6+-8|0,s[V>>2]=Z,o0=+s[P>>2],n0=+s[X>>2],i0=n0*o0,K=+s[e0>>2],c0=+s[Y>>2],s0=c0*K,l0=i0+s0,j=-l0,$0=z5+4|0,s[$0>>2]=j,g0=w5+16|0,u0=+s[g0>>2],p0=q5+20|0,I0=+s[p0>>2],f0=I0*u0,E0=w5+20|0,C0=+s[E0>>2],d0=q5+16|0,v0=+s[d0>>2],K0=v0*C0,b0=f0-K0,m0=i6+-12|0,s[m0>>2]=b0,L0=+s[g0>>2],F0=+s[d0>>2],U0=F0*L0,B0=+s[E0>>2],q0=+s[p0>>2],x0=q0*B0,D0=U0+x0,M0=-D0,J0=z5+8|0,s[J0>>2]=M0,Y0=w5+24|0,O0=+s[Y0>>2],z0=q5+28|0,P0=+s[z0>>2],r1=P0*O0,H0=w5+28|0,e1=+s[H0>>2],S0=q5+24|0,i1=+s[S0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[S0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[z0>>2],A1=n1*a1,Z0=s1+A1,d1=-Z0,h1=z5+12|0,s[h1>>2]=d1,E1=z5+16|0,u1=w5+32|0,I1=q5+32|0,p1=u1>>>0>>0,p1;)q5=I1,w5=u1,i6=R3,z5=E1;for(Q1=o+(W1<<2)|0,G3=X2,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=G3+-16|0,y1=G3+-4|0,S1=+s[y1>>2],L1=W3+-4|0,s[L1>>2]=S1,F1=-S1,s[v3>>2]=F1,G1=G3+-8|0,w1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=w1,N1=-w1,D1=v3+4|0,s[D1>>2]=N1,K1=G3+-12|0,P1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=P1,q1=-P1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,r2=-j1,l2=v3+12|0,s[l2>>2]=r2,z1=v3+16|0,f2=z1>>>0>>0,f2)G3=x1,W3=R1,v3=z1;else{M5=X2,U3=X2;break}for(;s2=U3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[s2>>2]=A2,V1=M5+8|0,g2=e[V1>>2]|0,a2=U3+-12|0,e[a2>>2]=g2,t2=M5+4|0,i2=e[t2>>2]|0,o2=U3+-8|0,e[o2>>2]=i2,X1=e[M5>>2]|0,n2=U3+-4|0,e[n2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,U3=s2}function AQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0;if(H5=m,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=m,m=m+((1*a|0)+15&-16)|0,l2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,_2=t+8|0,T1=e[_2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=n+(f<<2)|0,g0=a1+-1|0,b0=g0>>>1,J0=b0<<1,O0=y+-2|0,z0=O0-J0|0,N0=c+-4|0,P0=b0<<2,H0=N0-P0|0,r5=D,b5=0,g5=i2,R5=V;e1=g5+-16|0,S0=r5+-8|0,i1=g5+-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=r5+-4|0,Z0=+s[A1>>2],d1=n1*Z0,h1=+s[S0>>2],E1=h1*f1,u1=E1+d1,v=b5+y|0,I1=N1+(v<<2)|0,s[I1>>2]=u1,B1=+s[S0>>2],p1=B1*n1,R1=+s[A1>>2],x1=R1*f1,y1=p1-x1,S1=b5|1,S=S1+y|0,L1=N1+(S<<2)|0,s[L1>>2]=y1,F1=R5+16|0,G1=b5+2|0,w1=(G1|0)<(a1|0),w1;)r5=S0,b5=G1,g5=e1,R5=F1;U1=J0+2|0,c2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,P2=z0,E5=c2,u5=U1,n5=B5}else P2=y,E5=D,u5=0,n5=i2;if(Z1=n+4|0,D1=y-a1|0,K1=(u5|0)<(D1|0),K1){for(P1=y+-1|0,H1=P1-u5|0,q1=H1-a1|0,Y1=q1>>>1,j1=Y1<<1,r2=u5+j1|0,W1=Y1<<2,O1=W1+5|0,z1=-2-j1|0,R2=E5,_5=u5,Y2=n5,a5=Z1;f2=R2+-8|0,s2=Y2+-16|0,E2=Y2+-8|0,A2=+s[E2>>2],V1=+s[a5>>2],g2=A2-V1,a2=+s[s2>>2],t2=a5+8|0,$2=+s[t2>>2],o2=a2-$2,X1=R2+-4|0,n2=+s[X1>>2],u2=o2*n2,e2=+s[f2>>2],y2=e2*g2,S2=y2+u2,C=_5+y|0,w2=N1+(C<<2)|0,s[w2>>2]=S2,m2=+s[f2>>2],M2=m2*o2,N2=+s[X1>>2],d2=N2*g2,J2=M2-d2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=J2,T2=a5+16|0,O2=_5+2|0,K2=(O2|0)<(D1|0),K2;)R2=f2,_5=O2,Y2=s2,a5=T2;s5=r2+2|0,o5=n+(O1<<2)|0,B=P2+z1|0,z2=T1+(B<<2)|0,x2=z2,G5=s5,W2=o5}else x2=E5,G5=u5,W2=Z1;if(j2=(G5|0)<(y|0),j2)for(x5=n+(w<<2)|0,B2=x2,H2=G5,h5=x5,L2=W2;X2=B2+-8|0,D5=h5+-16|0,V2=h5+-8|0,f5=+s[V2>>2],k5=-f5,O5=+s[L2>>2],$5=k5-O5,v2=+s[D5>>2],Q=-v2,_=L2+8|0,x=+s[_>>2],R=Q-x,L=B2+-4|0,F=+s[L>>2],M=R*F,T=+s[X2>>2],G=T*$5,P=G+M,E=H2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=P,t0=+s[X2>>2],J=t0*R,W=+s[L>>2],e0=W*$5,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,a0=L2+16|0,Z=H2+2|0,o0=(Z|0)<(y|0),o0;)B2=X2,H2=Z,h5=D5,L2=a0;if(A5=t+4|0,l5=e[A5>>2]|0,oQ(l5,T1,l2,y),c5=e[t>>2]|0,m5=e[_2>>2]|0,M1=t+12|0,v5=e[M1>>2]|0,aQ(c5,m5,v5,N1),n0=(r1|0)>0,!n0){m=H5;return}for(i0=o+(y<<2)|0,r0=e[_2>>2]|0,K=r0+(y<<2)|0,c0=t+16|0,C5=K,d5=0,e5=N1,t5=i0;s0=t5+-4|0,l0=+s[e5>>2],j=+s[C5>>2],$0=j*l0,u0=e5+4|0,p0=+s[u0>>2],I0=C5+4|0,w0=+s[I0>>2],f0=w0*p0,E0=f0+$0,C0=+s[c0>>2],d0=E0*C0,v0=o+(d5<<2)|0,s[v0>>2]=d0,K0=+s[e5>>2],m0=+s[I0>>2],L0=m0*K0,F0=+s[u0>>2],T0=+s[C5>>2],U0=T0*F0,B0=L0-U0,q0=+s[c0>>2],x0=B0*q0,s[s0>>2]=x0,D0=e5+8|0,M0=C5+8|0,Y0=d5+1|0,L5=(Y0|0)==(r1|0),!L5;)C5=M0,d5=Y0,e5=D0,t5=s0;m=H5}function oQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0;if(dr=m,u0=t+-6|0,p0=(t|0)>6,p0)for(I=a+-8|0,O5=o+(I<<2)|0,b3=a>>1,B=b3+-8|0,V8=o+(B<<2)|0,c=n,d7=O5,I7=V8;a8=d7+24|0,Ut=+s[a8>>2],Ct=I7+24|0,pt=+s[Ct>>2],yt=Ut-pt,I0=d7+28|0,F0=+s[I0>>2],z0=I7+28|0,g1=+s[z0>>2],I1=F0-g1,w1=pt+Ut,s[a8>>2]=w1,r2=+s[z0>>2],a2=r2+F0,s[I0>>2]=a2,w2=c+4|0,K2=+s[w2>>2],$5=K2*I1,G5=+s[c>>2],z2=G5*yt,a5=z2+$5,s[Ct>>2]=a5,C3=+s[c>>2],t6=C3*I1,G3=+s[w2>>2],W3=G3*yt,B6=t6-W3,s[z0>>2]=B6,P3=d7+16|0,T6=+s[P3>>2],r9=I7+16|0,W6=+s[r9>>2],d9=T6-W6,S4=d7+20|0,G4=+s[S4>>2],Ne=I7+20|0,a4=+s[Ne>>2],c6=G4-a4,k4=W6+T6,s[P3>>2]=k4,c7=+s[Ne>>2],U8=c7+G4,s[S4>>2]=U8,e8=c+20|0,H8=+s[e8>>2],d8=H8*c6,pe=c+16|0,b9=+s[pe>>2],b8=b9*d9,o7=b8+d8,s[r9>>2]=o7,Y7=+s[pe>>2],R8=Y7*c6,_7=+s[e8>>2],K8=_7*d9,Fe=R8-K8,s[Ne>>2]=Fe,fe=d7+8|0,e4=+s[fe>>2],R7=I7+8|0,it=+s[R7>>2],Nt=e4-it,Gt=d7+12|0,ut=+s[Gt>>2],J7=I7+12|0,dt=+s[J7>>2],K7=ut-dt,It=it+e4,s[fe>>2]=It,V7=+s[J7>>2],Et=V7+ut,s[Gt>>2]=Et,rt=c+36|0,ni=+s[rt>>2],Ot=ni*K7,mt=c+32|0,si=+s[mt>>2],Bt=si*Nt,nt=Bt+Ot,s[R7>>2]=nt,Ai=+s[mt>>2],Pt=Ai*K7,Ht=+s[rt>>2],qt=Ht*Nt,Yt=Pt-qt,s[J7>>2]=Yt,st=+s[d7>>2],Jt=+s[I7>>2],z7=st-Jt,At=d7+4|0,U7=+s[At>>2],Z7=I7+4|0,oi=+s[Z7>>2],Kt=U7-oi,ai=Jt+st,s[d7>>2]=ai,Qt=+s[Z7>>2],Vt=Qt+U7,s[At>>2]=Vt,wt=c+52|0,zt=+s[wt>>2],kt=zt*Kt,W7=c+48|0,vt=+s[W7>>2],Zt=vt*z7,ot=Zt+kt,s[I7>>2]=ot,O7=+s[W7>>2],St=O7*Kt,Qe=+s[wt>>2],w0=Qe*z7,f0=St-w0,s[Z7>>2]=f0,E0=d7+-32|0,C0=I7+-32|0,d0=c+64|0,v0=C0>>>0>>0,!v0;)c=d0,d7=E0,I7=C0;if(K0=(u0|0)>1,K0)for(x7=1;;){if(b0=1<>x7,T0=4<>1,v=U0+-8|0,T=T0+1|0,a0=T0<<1,i0=a0|1,c0=T0*3|0,l0=c0+1|0,$0=T0<<2,at=0;;){for(q0=i5(at,L0)|0,x0=o+(q0<<2)|0,E=C+q0|0,D0=o+(E<<2)|0,o0=v+q0|0,M0=o+(o0<<2)|0,f=n,m8=D0,L7=M0;J0=m8+24|0,Y0=+s[J0>>2],O0=L7+24|0,N0=+s[O0>>2],P0=Y0-N0,r1=m8+28|0,H0=+s[r1>>2],e1=L7+28|0,S0=+s[e1>>2],i1=H0-S0,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*P0,Z0=A1+a1,s[O0>>2]=Z0,d1=+s[f>>2],h1=d1*i1,E1=+s[l1>>2],u1=E1*P0,B1=h1-u1,s[e1>>2]=B1,p1=f+(T0<<2)|0,Q1=m8+16|0,R1=+s[Q1>>2],x1=L7+16|0,y1=+s[x1>>2],S1=R1-y1,L1=m8+20|0,F1=+s[L1>>2],G1=L7+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=y1+R1,s[Q1>>2]=N1,D1=+s[G1>>2],K1=D1+F1,s[L1>>2]=K1,P1=f+(T<<2)|0,H1=+s[P1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,O1=+s[p1>>2],l2=O1*Z1,z1=+s[P1>>2],f2=z1*S1,s2=l2-f2,s[G1>>2]=s2,E2=f+(a0<<2)|0,A2=m8+8|0,V1=+s[A2>>2],g2=L7+8|0,t2=+s[g2>>2],$2=V1-t2,i2=m8+12|0,o2=+s[i2>>2],X1=L7+12|0,n2=+s[X1>>2],u2=o2-n2,e2=t2+V1,s[A2>>2]=e2,y2=+s[X1>>2],S2=y2+o2,s[i2>>2]=S2,m2=f+(i0<<2)|0,M2=+s[m2>>2],_2=M2*u2,N2=+s[E2>>2],d2=N2*$2,J2=d2+_2,s[g2>>2]=J2,G2=+s[E2>>2],q2=G2*u2,T2=+s[m2>>2],O2=T2*$2,s5=q2-O2,s[X1>>2]=s5,P2=f+(c0<<2)|0,T1=+s[m8>>2],j2=+s[L7>>2],x5=T1-j2,X2=m8+4|0,D5=+s[X2>>2],V2=L7+4|0,f5=+s[V2>>2],k5=D5-f5,v2=j2+T1,s[m8>>2]=v2,E5=+s[V2>>2],r5=E5+D5,s[X2>>2]=r5,x2=f+(l0<<2)|0,R2=+s[x2>>2],B2=R2*k5,C5=+s[P2>>2],L5=C5*x5,u5=L5+B2,s[L7>>2]=u5,b5=+s[P2>>2],_5=b5*k5,H2=+s[x2>>2],d5=H2*x5,A5=_5-d5,s[V2>>2]=A5,l5=f+($0<<2)|0,m5=m8+-32|0,M1=L7+-32|0,v5=M1>>>0>>0,!v5;)f=l5,m8=m5,L7=M1;if(c5=at+1|0,o5=(c5|0)<(b0|0),o5)at=c5;else break}if(c2=x7+1|0,Dt=(c2|0)==(u0|0),Dt)break;x7=c2}if(B0=(a|0)>0,B0)i9=0;else return;for(;B5=o+(i9<<2)|0,p=i9|30,e5=o+(p<<2)|0,n5=+s[e5>>2],M=i9|14,g5=o+(M<<2)|0,Y2=+s[g5>>2],h5=n5-Y2,U=i9|31,t5=o+(U<<2)|0,R5=+s[t5>>2],n0=i9|15,W2=o+(n0<<2)|0,L2=+s[W2>>2],p5=R5-L2,H5=Y2+n5,s[e5>>2]=H5,X5=L2+R5,s[t5>>2]=X5,s[g5>>2]=h5,s[W2>>2]=p5,r0=i9|28,I5=o+(r0<<2)|0,u3=+s[I5>>2],K=i9|12,h3=o+(K<<2)|0,K5=+s[h3>>2],e3=u3-K5,s0=i9|29,n3=o+(s0<<2)|0,F5=+s[n3>>2],j=i9|13,V5=o+(j<<2)|0,w3=+s[V5>>2],f3=F5-w3,B3=K5+u3,s[I5>>2]=B3,K3=w3+F5,s[n3>>2]=K3,T3=e3*.9238795042037964,Z5=f3*.3826834261417389,y3=T3-Z5,s[h3>>2]=y3,j5=e3*.3826834261417389,R3=f3*.9238795042037964,N3=R3+j5,s[V5>>2]=N3,g0=i9|26,o3=o+(g0<<2)|0,$3=+s[o3>>2],S=i9|10,l3=o+(S<<2)|0,m3=+s[l3>>2],q5=$3-m3,w=i9|27,U5=o+(w<<2)|0,P5=+s[U5>>2],y=i9|11,w5=o+(y<<2)|0,M5=+s[w5>>2],n6=P5-M5,t3=m3+$3,s[o3>>2]=t3,A3=M5+P5,s[U5>>2]=A3,x3=q5-n6,h6=x3*.7071067690849304,s[l3>>2]=h6,p3=n6+q5,k3=p3*.7071067690849304,s[w5>>2]=k3,D=i9|24,Q3=o+(D<<2)|0,i6=+s[Q3>>2],Q=i9|8,U3=o+(Q<<2)|0,z5=+s[U3>>2],v3=i6-z5,_=i9|25,c3=o+(_<<2)|0,O3=+s[c3>>2],x=i9|9,$6=o+(x<<2)|0,d3=+s[$6>>2],w6=O3-d3,k6=z5+i6,s[Q3>>2]=k6,v6=d3+O3,s[c3>>2]=v6,j3=v3*.3826834261417389,l6=w6*.9238795042037964,p6=j3-l6,_6=w6*.3826834261417389,q6=v3*.9238795042037964,C6=_6+q6,R=i9|22,S3=o+(R<<2)|0,X3=+s[S3>>2],L=i9|6,e6=o+(L<<2)|0,f6=+s[e6>>2],D3=X3-f6,F=i9|7,H3=o+(F<<2)|0,V3=+s[H3>>2],G=i9|23,S6=o+(G<<2)|0,s6=+s[S6>>2],i3=V3-s6,O6=f6+X3,s[S3>>2]=O6,s3=s6+V3,s[S6>>2]=s3,s[e6>>2]=i3,s[H3>>2]=D3,P=i9|4,A6=o+(P<<2)|0,u6=+s[A6>>2],z=i9|20,r6=o+(z<<2)|0,Q6=+s[r6>>2],R6=u6-Q6,Y=i9|5,J6=o+(Y<<2)|0,d6=+s[J6>>2],t0=i9|21,Y6=o+(t0<<2)|0,L3=+s[Y6>>2],Z6=d6-L3,N6=Q6+u6,s[r6>>2]=N6,j6=L3+d6,s[Y6>>2]=j6,x6=Z6*.9238795042037964,G6=R6*.3826834261417389,D6=x6+G6,K6=Z6*.3826834261417389,y6=R6*.9238795042037964,L6=K6-y6,J=i9|2,F3=o+(J<<2)|0,F6=+s[F3>>2],W=i9|18,X6=o+(W<<2)|0,A9=+s[X6>>2],h9=F6-A9,e0=i9|3,f9=o+(e0<<2)|0,u9=+s[f9>>2],H=i9|19,o9=o+(H<<2)|0,a9=+s[o9>>2],T9=u9-a9,I6=A9+F6,s[X6>>2]=I6,M6=a9+u9,s[o9>>2]=M6,e9=T9+h9,N9=e9*.7071067690849304,E4=T9-h9,s4=E4*.7071067690849304,g4=+s[B5>>2],X=i9|16,G9=o+(X<<2)|0,z9=+s[G9>>2],D9=g4-z9,Z=i9|1,I9=o+(Z<<2)|0,P6=+s[I9>>2],V=i9|17,t9=o+(V<<2)|0,C4=+s[t9>>2],A4=P6-C4,Q9=z9+g4,s[G9>>2]=Q9,D4=C4+P6,s[t9>>2]=D4,b4=A4*.3826834261417389,x4=D9*.9238795042037964,T4=b4+x4,W4=A4*.9238795042037964,m4=D9*.3826834261417389,N4=W4-m4,U9=N4-C6,o4=T4-p6,L4=T4+p6,h4=N4+C6,Ie=o4+U9,H9=U9-o4,E9=+s[w5>>2],Ee=s4-E9,Te=+s[l3>>2],We=Te-N9,U4=Te+N9,O4=E9+s4,j4=+s[h3>>2],Se=j4-D6,je=+s[V5>>2],Z9=je-L6,Ae=j4+D6,f4=je+L6,b6=Se-Z9,P4=Z9+Se,L9=+s[g5>>2],_4=L9-i3,oe=+s[W2>>2],W9=oe-D3,ae=i3+L9,$e=D3+oe,B4=_4+Ee,X4=_4-Ee,F4=b6+Ie,le=F4*.7071067690849304,C9=b6-Ie,Ge=C9*.7071067690849304,$4=le+B4,s[e6>>2]=$4,Ce=B4-le,s[A6>>2]=Ce,p4=P4-H9,l4=p4*.7071067690849304,U6=W9-We,De=l4+X4,s[B5>>2]=De,be=X4-l4,s[F3>>2]=be,Xe=P4+H9,c4=Xe*.7071067690849304,g8=W9+We,q3=U6+Ge,s[f9>>2]=q3,y9=U6-Ge,s[I9>>2]=y9,m9=g8+c4,s[H3>>2]=m9,M4=g8-c4,s[J6>>2]=M4,ee=ae+U4,$7=ae-U4,_e=L4+Ae,l7=Ae-L4,w7=ee+_e,s[g5>>2]=w7,g7=ee-_e,s[h3>>2]=g7,L8=f4-h4,F8=$e-O4,M8=$7+L8,s[U3>>2]=M8,T8=$7-L8,s[l3>>2]=T8,z8=f4+h4,Z8=$e+O4,k7=F8+l7,s[w5>>2]=k7,N8=F8-l7,s[$6>>2]=N8,G8=Z8+z8,s[W2>>2]=G8,w8=Z8-z8,s[V5>>2]=w8,k8=+s[c3>>2],h8=D4-k8,O8=+s[Q3>>2],P8=Q9-O8,W8=O8+Q9,j8=k8+D4,f8=P8+h8,Ue=h8-P8,Re=+s[o9>>2],v8=+s[U5>>2],w9=Re-v8,h7=+s[o3>>2],me=+s[X6>>2],f7=h7-me,v7=me+h7,X8=v8+Re,S7=+s[I5>>2],te=+s[r6>>2],e7=S7-te,S8=+s[n3>>2],t8=+s[Y6>>2],H4=S8-t8,xe=te+S7,i8=t8+S8,u8=e7-H4,D8=H4+e7,ce=+s[e5>>2],j9=+s[S3>>2],r8=ce-j9,n8=+s[t5>>2],I8=+s[S6>>2],ge=n8-I8,Be=j9+ce,Oe=I8+n8,Pe=r8+w9,X9=r8-w9,Le=u8+f8,he=Le*.7071067690849304,s8=u8-f8,Q4=s8*.7071067690849304,E8=he+Pe,s[S3>>2]=E8,t7=Pe-he,s[r6>>2]=t7,q4=D8-Ue,I3=q4*.7071067690849304,He=ge-f7,C8=I3+X9,s[G9>>2]=C8,ie=X9-I3,s[X6>>2]=ie,q9=D8+Ue,re=q9*.7071067690849304,qe=ge+f7,q8=He+Q4,s[o9>>2]=q8,u7=He-Q4,s[t9>>2]=u7,i7=qe+re,s[S6>>2]=i7,r7=qe-re,s[Y6>>2]=r7,Y8=Be+v7,n7=Be-v7,J8=xe+W8,A8=xe-W8,o8=Y8+J8,s[e5>>2]=o8,Y4=Y8-J8,s[I5>>2]=Y4,s7=i8-j8,_8=Oe-X8,Ye=n7+s7,s[Q3>>2]=Ye,B9=n7-s7,s[o3>>2]=B9,A7=i8+j8,Je=Oe+X8,N7=_8+A8,s[U5>>2]=N7,q7=_8-A8,s[c3>>2]=q7,D7=Je+A7,s[t5>>2]=D7,b7=Je-A7,s[n3>>2]=b7,ne=i9+32|0,G7=(ne|0)<(a|0),G7;)i9=ne}function aQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0;for(E1=m,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,A1=o,Z0=a,d1=w;a0=e[A1>>2]|0,c=a0+S|0,j=a+(c<<2)|0,v0=A1+4|0,D0=e[v0>>2]|0,f=D0+S|0,S0=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],x=+s[S0>>2],R=x+_,L=+s[n1>>2],F=R*L,M=n1+4|0,T=+s[M>>2],P=T*Q,z=P+F,Y=T*R,t0=L*Q,J=Y-t0,W=d1+-16|0,e0=D+a1,H=e0*.5,X=_-x,U=X*.5,Z=z+H,s[Z0>>2]=Z,V=H-z,o0=d1+-8|0,s[o0>>2]=V,n0=J+U,i0=Z0+4|0,s[i0>>2]=n0,r0=J-U,K=d1+-4|0,s[K>>2]=r0,c0=A1+8|0,s0=e[c0>>2]|0,C=s0+S|0,l0=a+(C<<2)|0,$0=A1+12|0,g0=e[$0>>2]|0,p=g0+S|0,u0=a+(p<<2)|0,B=C+1|0,p0=a+(B<<2)|0,I0=+s[p0>>2],v=p+1|0,w0=a+(v<<2)|0,f0=+s[w0>>2],E0=I0-f0,C0=+s[l0>>2],d0=+s[u0>>2],K0=d0+C0,b0=n1+8|0,m0=+s[b0>>2],L0=K0*m0,F0=n1+12|0,T0=+s[F0>>2],U0=T0*E0,B0=U0+L0,q0=T0*K0,x0=m0*E0,M0=q0-x0,J0=f0+I0,Y0=J0*.5,O0=C0-d0,z0=O0*.5,N0=B0+Y0,P0=Z0+8|0,s[P0>>2]=N0,r1=Y0-B0,s[W>>2]=r1,H0=M0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=M0-z0,c1=d1+-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,d1=W}function CS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,n=t+28|0,o=e[n>>2]|0,a=o+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,C=c+8|0,e[C>>2]=a,c|0}function mS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,!n&&I2(t)}function BS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function pS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0;e9=m,I6=t,N9=I6+48|0;do e[I6>>2]=0,I6=I6+4|0;while((I6|0)<(N9|0));_=e[o>>2]|0,x=t+36|0,e[x>>2]=_,t2=+(_|0),X5=t2*8,f3=X5,$3=+Hr(+f3),A3=$3*1.4426950408889634,c3=+Gi(A3),_6=c3+-1,S6=~~_6,R=t+32|0,e[R>>2]=S6,W=+(c|0),r0=W*.25,w0=r0,T0=w0*.5,N0=+(a|0),l1=T0/N0,B1=+Hr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=S6+1|0,M2=1<<$2,P2=+(M2|0),v2=P2*W1,_5=+(_|0),c2=v2-_5,a5=~~c2,L2=t+28|0,e[L2>>2]=a5,p5=+(a|0),H5=p5+.25,I5=H5*W,u3=I5,h3=u3*.5,K5=h3/N0,e3=+Hr(+K5),n3=e3*1.4426950216293335,C3=n3+-5.965784072875977,F5=P2*C3,V5=F5+.5,w3=~~V5,B3=1-a5|0,K3=B3+w3|0,T3=t+40|0,e[T3>>2]=K3,Z5=a<<2,y3=S9(Z5)|0,j5=t+16|0,e[j5>>2]=y3,t6=S9(Z5)|0,R3=t+20|0,e[R3>>2]=t6,N3=S9(Z5)|0,o3=t+24|0,e[o3>>2]=N3,l3=t+4|0,e[l3>>2]=n,e[t>>2]=a,m3=t+44|0,e[m3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(P5=(c|0)<38e3,P5){s[q5>>2]=.9399999976158142;break}w5=(c|0)>46e3,w5&&(s[q5>>2]=1.274999976158142)}while(!1);G3=N0*2,M5=+(c|0),n6=(a|0)>0,p3=n6,K6=0,W6=0;e:for(;;){for(p=p3^1,y6=K6;;){if(Q3=y6+1|0,i6=+(Q3|0),W3=i6*.08664337545633316,U3=W3+2.7488713472395148,z5=+Gn(+U3),v3=G3*z5,O3=v3/M5,$6=+Gi(O3),d3=~~$6,C=(d3|0)<=(W6|0),J6=C|p,!J6){E=Q3,I=d3,L6=y6;break}if(w6=(Q3|0)<87,w6)y6=Q3;else{A9=W6;break e}}for(k6=1272+(L6<<2)|0,v6=+s[k6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],l6=j3-v6,p6=I-W6|0,q6=+(p6|0),C6=l6/q6,S3=W6-I|0,X3=W6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,t3=W6-T9|0,R6=v6,h9=W6;f6=R6+100,P3=y3+(h9<<2)|0,s[P3>>2]=f6,D3=R6+C6,H3=h9+1|0,N6=(H3|0)==(t3|0),!N6;)R6=D3,h9=H3;if(x3=(t3|0)<(a|0),h6=(E|0)<87,h6)p3=x3,K6=E,W6=t3;else{A9=t3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;T6=f9+-1|0,r6=y3+(T6<<2)|0,Q6=e[r6>>2]|0,L=y3+(f9<<2)|0,e[L>>2]=Q6,F=f9+1|0,Z6=(F|0)==(a|0),!Z6;)f9=F;if(V3=(a|0)>0,V3){for(s6=a<<1,i3=(c|0)/(s6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,A6=n+124|0,u6=n+116|0,b3=n+112|0,x6=1,F3=0,u9=-99;;){Y=i5(i3,F3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Ks(+e0),X=H*13.100000381469727,U=i5(Y,Y)|0,a0=+(U|0),Z=a0*18499999754340024e-24,V=Z,o0=+Ks(+V),n0=o0*2.240000009536743,i0=n0+X,K=t0*9999999747378752e-20,c0=K,s0=i0+c0,l0=s0,j=s3+u9|0,$0=(j|0)<(F3|0);e:do if($0)for(g0=+s[b3>>2],u0=l0-g0,p0=u0,a9=u9;;){if(I0=i5(a9,i3)|0,f0=+(I0|0),E0=f0*.0007399999885819852,C0=E0,d0=+Ks(+C0),v0=d0*13.100000381469727,K0=i5(I0,I0)|0,b0=+(K0|0),m0=b0*18499999754340024e-24,L0=m0,F0=+Ks(+L0),U0=F0*2.240000009536743,B0=f0*9999999747378752e-20,q0=B0,x0=v0+q0,D0=x0+U0,M0=D0(a|0);e:do if(J0)G6=x6;else for(Y0=e[A6>>2]|0,O0=Y0+F3|0,D6=x6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=i5(D6,i3)|0,S0=+(e1|0),i1=S0*.0007399999885819852,c1=i1,$1=+Ks(+c1),f1=$1*13.100000381469727,g1=i5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,A1=+Ks(+n1),Z0=A1*2.240000009536743,d1=S0*9999999747378752e-20,h1=d1,E1=f1+h1,u1=E1+Z0,I1=+s[u6>>2],p1=I1+l0,Q1=p1,R1=u1>2]=F1,w1=F3+1|0,L3=(w1|0)==(a|0),L3)break;x6=G6,F3=w1,u9=o9}if(V3)for(M=M5*.5,T=e[R>>2]|0,G=T+1|0,P=1<>2]=O1,z1=F6+1|0,Y6=(z1|0)==(a|0),Y6){w=M;break}else F6=z1;else M6=19}else M6=19;if((M6|0)==19&&(Q=M5*.5,w=Q),f2=n+36|0,s2=w/N0,E2=s2,A2=n+24|0,V1=+s[A2>>2],g2=n+28|0,a2=+s[g2>>2],i2=wS(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(Z5)|0,e[X1>>2]=u2,e2=S9(Z5)|0,y2=X1+4|0,e[y2>>2]=e2,S2=S9(Z5)|0,w2=X1+8|0,e[w2>>2]=S2,!!V3)for(m2=e[l3>>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,X6=0;_2=+(X6|0),N2=_2+.5,d2=N2*M5,J2=d2/G3,G2=+Hr(+J2),q2=G2*2.885390043258667,T2=q2+-11.931568145751953,O2=T2,K2=O2<0,j6=K2?0:O2,f=j6>=16,r9=f?16:j6,s5=~~r9,T1=+(s5|0),j2=r9-T1,x5=j2,X2=1-x5,D5=s5+1|0,V2=(m2+132|0)+(s5<<2)|0,f5=+s[V2>>2],k5=f5,O5=k5*X2,$5=(m2+132|0)+(D5<<2)|0,E5=+s[$5>>2],r5=E5*j2,x2=r5,R2=x2+O5,B2=R2,C5=S+(X6<<2)|0,s[C5>>2]=B2,L5=(m2+200|0)+(s5<<2)|0,u5=+s[L5>>2],b5=u5,G5=b5*X2,H2=(m2+200|0)+(D5<<2)|0,d5=+s[H2>>2],A5=d5*j2,l5=A5,m5=l5+G5,M1=m5,v5=y+(X6<<2)|0,s[v5>>2]=M1,c5=(m2+268|0)+(s5<<2)|0,o5=+s[c5>>2],z2=o5,B5=z2*X2,e5=(m2+268|0)+(D5<<2)|0,n5=+s[e5>>2],g5=n5*j2,Y2=g5,h5=Y2+B5,t5=h5,R5=D+(X6<<2)|0,s[R5>>2]=t5,W2=X6+1|0,d6=(W2|0)==(a|0),!d6;)X6=W2}function $Q(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;if(N0=m,o=(t|0)==0,!o){if(a=t+16|0,y=e[a>>2]|0,P=(y|0)==0,P||I2(y),Z=t+20|0,$0=e[Z>>2]|0,K0=($0|0)==0,K0||I2($0),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(C=f,Y0=0;I=C+(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,x=_+(Y0<<2)|0,R=e[x>>2]|0,L=R+8|0,F=e[L>>2]|0,I2(F),M=e[c>>2]|0,T=M+(Y0<<2)|0,G=e[T>>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,a0=e[U>>2]|0,V=a0+20|0,o0=e[V>>2]|0,I2(o0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,K=r0+24|0,c0=e[K>>2]|0,I2(c0),s0=e[c>>2]|0,l0=s0+(Y0<<2)|0,j=e[l0>>2]|0,g0=j+28|0,u0=e[g0>>2]|0,I2(u0),p0=e[c>>2]|0,I0=p0+(Y0<<2)|0,w0=e[I0>>2]|0,I2(w0),f0=Y0+1|0,J0=(f0|0)==17,!J0;)n=e[c>>2]|0,C=n,Y0=f0;E0=e[c>>2]|0,I2(E0)}C0=t+12|0,d0=e[C0>>2]|0,v0=(d0|0)==0,v0||(b0=e[d0>>2]|0,I2(b0),m0=e[C0>>2]|0,L0=m0+4|0,F0=e[L0>>2]|0,I2(F0),T0=e[C0>>2]|0,U0=T0+8|0,B0=e[U0>>2]|0,I2(B0),q0=e[C0>>2]|0,I2(q0)),O0=t,P0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0))}}function lQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0;if(I0=m,E=e[t>>2]|0,I=E<<2,f=I,x=m,m=m+((1*f|0)+15&-16)|0,J=t+24|0,o0=e[J>>2]|0,gQ(E,o0,n,o,140,-1),n0=(E|0)>0,n0)for($0=0;i0=n+($0<<2)|0,r0=+s[i0>>2],K=o+($0<<2)|0,c0=+s[K>>2],C=r0-c0,p=x+($0<<2)|0,s[p>>2]=C,B=$0+1|0,l0=(B|0)==(E|0),!l0;)$0=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,gQ(E,v,x,o,0,D),n0)g0=0;else{m=I0;return}for(;_=n+(g0<<2)|0,R=+s[_>>2],L=x+(g0<<2)|0,F=+s[L>>2],M=R-F,s[L>>2]=M,T=g0+1|0,j=(T|0)==(E|0),!j;)g0=T;if(!n0){m=I0;return}for(Q=e[S>>2]|0,u0=0;G=o+(u0<<2)|0,P=+s[G>>2],z=P,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=x+(u0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,a0=+s[U>>2],Z=a0+X,s[G>>2]=Z,V=u0+1|0,s0=(V|0)==(E|0),!s0;)u0=V;m=I0}function cQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0;if(I5=m,F=e[t>>2]|0,M=t+40|0,l1=e[M>>2]|0,B1=l1<<2,I=B1,U1=m,m=m+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,m2=t2+4|0,s5=+s[m2>>2],$5=s5+c,T=(l1|0)>0,T)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,l0=A5+1|0,d0=(l0|0)<(l1|0),d0;)A5=l0;if(x0=t2+8|0,e1=+s[x0>>2],c1=$50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,c5=0;s1=g1+(c5<<2)|0,a1=+s[s1>>2],n1=a1+G5,A1=o+(c5<<2)|0,s[A1>>2]=n1,Z0=c5+1|0,H2=(Z0|0)==(F|0),!H2;)c5=Z0;if(d1=t+8|0,h1=e[d1>>2]|0,E1=t2+496|0,u1=+s[E1>>2],I1=u1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,y1=t+28|0,l5=0;;){S1=n+(l5<<2)|0,L1=+s[S1>>2],F1=Q1+(l5<<2)|0,G1=e[F1>>2]|0,v5=l5,n5=L1;e:for(;;)for(m5=v5;;){if(w1=m5+1|0,Z1=(w1|0)<(F|0),!Z1){v=0,w=w1,M1=m5,g5=n5;break e}if(N1=Q1+(w1<<2)|0,D1=e[N1>>2]|0,K1=(D1|0)==(G1|0),!K1){v=1,w=w1,M1=m5,g5=n5;break e}if(P1=n+(w1<<2)|0,H1=+s[P1>>2],q1=H1>n5,q1){v5=w1,n5=H1;continue e}else m5=w1}if(Y1=g5+6,j1=o+(M1<<2)|0,r2=+s[j1>>2],O1=Y1>r2,O1&&(l2=e[R1>>2]|0,z1=G1>>l2,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,g2=I1+g5,a2=g2,$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,S2=e[y2>>2]|0,w2=S2+4|0,M2=+s[w2>>2],_2=~~M2,N2=+s[S2>>2],d2=~~N2,J2=(d2|0)<(_2|0),J2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,T2=e[y1>>2]|0,O2=q2-T2|0,K2=+(O2|0),P2=V1>>1,T1=+(P2|0),j2=N2+-16,x5=+(V1|0),X2=j2*x5,D5=X2-T1,V2=D5+K2,f5=~~V2,d5=d2,H5=f5;k5=(H5|0)>0,k5&&(L=d5+2|0,O5=S2+(L<<2)|0,v2=+s[O5>>2],E5=v2+g5,r5=U1+(H5<<2)|0,x2=+s[r5>>2],R2=x2>2]=E5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),L5=d5+1|0,u5=(L5|0)<(_2|0),a5=u5&C5,a5;)d5=L5,H5=B2;if(v)l5=w;else{x=x1;break}}else X5=7}else X5=7;(X5|0)==7&&(Q=t+36|0,x=Q),b5=e[x>>2]|0,kS(U1,b5,l1),G=e[t>>2]|0,P=(G|0)>1;e:do if(P)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,a0=e[W1>>2]|0,Z=a0+32|0,K=1,j=J,z2=0,L2=X;;){n0=U1+(L2<<2)|0,i0=+s[n0>>2],r0=t0+(K<<2)|0,c0=e[r0>>2]|0,s0=c0+j|0,$0=s0>>1,g0=$0-H|0,u0=+s[Z>>2],p0=i0>u0,Y2=p0?u0:i0,I0=(L2|0)<(g0|0);t:do if(I0)for(C=L2,t5=Y2;;){for(w0=t5==-9999,p=C;;){if(f0=p+1|0,E0=U1+(f0<<2)|0,C0=+s[E0>>2],v0=C0>-9999,v0){if(K0=C0=(G|0),T0=(j|0)>(L0|0),R5=F0|T0;t:do if(R5)c2=z2;else for(B5=z2;;){if(U0=o+(B5<<2)|0,B0=+s[U0>>2],q0=B0>2]=h5),D0=B5+1|0,M0=(D0|0)<(G|0),!M0){c2=D0;break t}if(D=t0+(D0<<2)|0,R=e[D>>2]|0,J0=(R|0)>(L0|0),J0){c2=D0;break}else B5=D0}while(!1);if(V=c2+1|0,o0=(V|0)<(G|0),!o0){o5=c2;break e}y=t0+(c2<<2)|0,_=e[y>>2]|0,K=V,j=_,z2=c2,L2=p5}else o5=0;while(!1);if(Y0=e[M>>2]|0,O0=Y0+-1|0,z0=U1+(O0<<2)|0,N0=+s[z0>>2],P0=(o5|0)<(G|0),P0)e5=o5;else{m=I5;return}for(;r1=o+(e5<<2)|0,H0=+s[r1>>2],S0=H0>2]=N0),i1=e5+1|0,_5=(i1|0)==(G|0),!_5;)e5=i1;m=I5}function W$(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0;if(b0=m,C=e[t>>2]|0,p=t+4|0,L=e[p>>2]|0,e0=(L+12|0)+(a<<2)|0,K=+s[e0>>2],u0=(C|0)>0,!!u0)for(p0=t+48|0,I0=+s[p0>>2],w0=t+12|0,f0=e[w0>>2]|0,B=f0+(a<<2)|0,v=e[B>>2]|0,S=L+108|0,w=(a|0)==1,y=I0,D=y*.005,Q=y*3e-4,d0=0;_=n+(d0<<2)|0,x=+s[_>>2],R=v+(d0<<2)|0,F=+s[R>>2],M=F+x,T=+s[S>>2],G=M>T,v0=G?T:M,P=o+(d0<<2)|0,z=+s[P>>2],Y=z+K,t0=v0>2]=I,w&&(W=E+(d0<<2)|0,H=+s[W>>2],X=v0-H,U=X>-17.200000762939453,a0=X+17.200000762939453,Z=a0,U?(V=D*Z,o0=1-V,n0=o0,i0=n0<0,i0?E0=9999999747378752e-20:E0=n0):(r0=Q*Z,c0=1-r0,s0=c0,E0=s0),l0=f+(d0<<2)|0,j=+s[l0>>2],$0=j*E0,s[l0>>2]=$0),g0=d0+1|0,C0=(g0|0)==(C|0),!C0;)d0=g0}function QS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0;return T=m,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,x=D+(_<<2)|0,R=e[x>>2]|0,L=(R|0)/2&-1,F=+(L|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),C=F/I,p=D+2936|0,B=+s[p>>2],v=B*C,S=v+t,w=S<-9999,o=w?-9999:S,+o}function yS(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0;if(G4=m,n0=e[o>>2]|0,i0=o+4|0,s5=e[i0>>2]|0,K3=s5+500|0,m3=e[K3>>2]|0,h6=(m3|0)==0,h6?V5=16:($6=s5+508|0,C6=e[$6>>2]|0,V5=C6),i3=e[s5>>2]|0,d6=((n+132|0)+(i3*60|0)|0)+(t<<2)|0,r0=e[d6>>2]|0,w0=(n+252|0)+(t<<2)|0,T0=e[w0>>2]|0,N0=1624+(T0<<3)|0,l1=+o1[N0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=C<<2,v=W1,t2=m,m=m+((1*v|0)+15&-16)|0,S=W1,m2=m,m=m+((1*S|0)+15&-16)|0,Q=W1,P2=m,m=m+((1*Q|0)+15&-16)|0,_=W1,v2=m,m=m+((1*_|0)+15&-16)|0,x=W1,_5=m,m=m+((1*x|0)+15&-16)|0,c2=a+1156|0,L2=(n0|0)>1e3,N4=L2?1696:1624,T4=N4+(U1<<3)|0,x4=+o1[T4>>3],F5=i5(W1,V5)|0,R=F5,w3=m,m=m+((1*R|0)+15&-16)|0,e[t2>>2]=w3,w=F5,f3=m,m=m+((1*w|0)+15&-16)|0,e[m2>>2]=f3,y=F5,B3=m,m=m+((1*y|0)+15&-16)|0,e[P2>>2]=B3,D=F5,T3=m,m=m+((1*D|0)+15&-16)|0,e[v2>>2]=T3,Z5=(C|0)>1,Z5&&(y3=w3+(V5<<2)|0,j5=t2+4|0,e[j5>>2]=y3,t6=f3+(V5<<2)|0,R3=m2+4|0,e[R3>>2]=t6,N3=B3+(V5<<2)|0,o3=P2+4|0,e[o3>>2]=N3,$3=T3+(V5<<2)|0,l3=v2+4|0,e[l3>>2]=$3,h9=(C|0)==2,!h9))for(w5=2;F=e[t2>>2]|0,G=e[m2>>2]|0,P=e[P2>>2]|0,z=e[v2>>2]|0,P5=i5(w5,V5)|0,G3=F+(P5<<2)|0,M5=t2+(w5<<2)|0,e[M5>>2]=G3,n6=G+(P5<<2)|0,t3=m2+(w5<<2)|0,e[t3>>2]=n6,A3=P+(P5<<2)|0,x3=P2+(w5<<2)|0,e[x3>>2]=A3,p3=z+(P5<<2)|0,k3=v2+(w5<<2)|0,e[k3>>2]=p3,Q3=w5+1|0,W6=(Q3|0)==(C|0),!W6;)w5=Q3;if(q5=e[c2>>2]|0,U5=(n0|0)>0,U5)for(i6=e[v2>>2]|0,W3=(C|0)>0,U3=n0^-1,z5=V5^-1,M6=0,d9=U3;;){if(O3=(d9|0)>(z5|0),W4=O3?d9:z5,d3=W4^-1,w6=n0-M6|0,k6=(V5|0)>(w6|0),p=k6?w6:V5,n4(_5|0,E|0,W1|0)|0,se(i6|0,0,F5|0)|0,W3)for(v6=(p|0)>0,B6=r0-M6|0,t9=0;;){if(S3=f+(t9<<2)|0,X3=e[S3>>2]|0,e6=X3+(M6<<2)|0,f6=_5+(t9<<2)|0,P3=e[f6>>2]|0,D3=(P3|0)==0,D3){if(v6)for(S6=P2+(t9<<2)|0,s6=e[S6>>2]|0,O6=t2+(t9<<2)|0,s3=e[O6>>2]|0,A6=m2+(t9<<2)|0,u6=e[A6>>2]|0,b3=v2+(t9<<2)|0,T6=e[b3>>2]|0,I9=0;M0=s6+(I9<<2)|0,s[M0>>2]=1000000013351432e-25,J0=s3+(I9<<2)|0,s[J0>>2]=0,Y0=u6+(I9<<2)|0,s[Y0>>2]=0,O0=T6+(I9<<2)|0,e[O0>>2]=0,U=I9+M6|0,z0=X3+(U<<2)|0,e[z0>>2]=0,P0=I9+1|0,F6=(P0|0)==(d3|0),!F6;)I9=P0}else{if(H3=P2+(t9<<2)|0,V3=e[H3>>2]|0,v6){for(z9=0;a0=z9+M6|0,r6=X3+(a0<<2)|0,Q6=e[r6>>2]|0,R6=1768+(Q6<<2)|0,J6=e[R6>>2]|0,Y6=V3+(z9<<2)|0,e[Y6>>2]=J6,L3=z9+1|0,y6=(L3|0)==(d3|0),!y6;)z9=L3;if(Z6=c+(t9<<2)|0,N6=e[Z6>>2]|0,j6=v2+(t9<<2)|0,r9=e[j6>>2]|0,v6){for(G9=0;x6=(G9|0)>=(B6|0),o0=x6?x4:l1,G6=o0,Z=G9+M6|0,D6=N6+(Z<<2)|0,K6=+s[D6>>2],u9=+Vi(+K6),K=V3+(G9<<2)|0,c0=+s[K>>2],s0=u9/c0,l0=r9+(G9<<2)|0,Q9=!(s0>2]=B,j=G9+1|0,L6=(j|0)==(p|0),!L6;)G9=j;if(v6)for($0=t2+(t9<<2)|0,g0=e[$0>>2]|0,u0=m2+(t9<<2)|0,p0=e[u0>>2]|0,D9=0;;)if(I0=D9+M6|0,f0=N6+(I0<<2)|0,E0=+s[f0>>2],C0=E0*E0,d0=g0+(D9<<2)|0,s[d0>>2]=C0,v0=p0+(D9<<2)|0,s[v0>>2]=C0,K0=+s[f0>>2],b0=K0<0,b0&&(m0=+s[d0>>2],L0=-m0,s[d0>>2]=L0),F0=V3+(D9<<2)|0,U0=+s[F0>>2],B0=U0*U0,s[F0>>2]=B0,q0=D9+1|0,F3=(q0|0)==(d3|0),F3){M=u0,D0=g0;break}else D9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,L=t2+(t9<<2)|0,Y=e[L>>2]|0,H=m2+(t9<<2)|0,M=H,D0=Y),x0=e[M>>2]|0,D4=e[i0>>2]|0,+hQ(D4,r0,D0,x0,V3,0,M6,p,e6)}if(r1=t9+1|0,X6=(r1|0)==(C|0),X6)break;t9=r1}if(j3=e[c2>>2]|0,l6=(j3|0)>0,l6)for(p6=(p|0)>0,_6=I-M6|0,q6=r0-M6|0,C3=j3,m4=0;;){if(H0=(a+1160|0)+(m4<<2)|0,e1=e[H0>>2]|0,S0=(a+2184|0)+(m4<<2)|0,i1=e[S0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(M6<<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,d1=m2+(e1<<2)|0,h1=e[d1>>2]|0,E1=m2+(i1<<2)|0,u1=e[E1>>2]|0,I1=P2+(e1<<2)|0,p1=e[I1>>2]|0,Q1=P2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=v2+(e1<<2)|0,y1=e[x1>>2]|0,S1=v2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,w1=(G1|0)==0,Z1=_5+(i1<<2)|0,w1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?z2=C3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(P6=0;;){K1=(P6|0)<(_6|0);do if(K1){if(P1=y1+(P6<<2)|0,H1=e[P1>>2]|0,q1=(H1|0)==0,Y1=L1+(P6<<2)|0,q1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){X2=(P6|0)<(q6|0);do if(X2)D5=Z0+(P6<<2)|0,V2=+s[D5>>2],f5=n1+(P6<<2)|0,k5=+s[f5>>2],O5=k5+V2,s[f5>>2]=O5,a9=+Vi(+O5),$5=h1+(P6<<2)|0,s[$5>>2]=a9,T=D5;else if(E5=n1+(P6<<2)|0,r5=+s[E5>>2],x2=Z0+(P6<<2)|0,R2=+s[x2>>2],B2=R2+r5,C5=B2<0,f9=+Vi(+r5),o9=+Vi(+R2),L5=o9+f9,u5=h1+(P6<<2)|0,s[u5>>2]=L5,C5){b5=-L5,s[E5>>2]=b5,T=x2;break}else{s[E5>>2]=L5,T=x2;break}while(!1);G5=u1+(P6<<2)|0,s[G5>>2]=0,s[T>>2]=0,e[Y1>>2]=1,X=P6+M6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}O1=n1+(P6<<2)|0,l2=+s[O1>>2],T9=+Vi(+l2),z1=Z0+(P6<<2)|0,f2=+s[z1>>2],I6=+Vi(+f2),s2=I6+T9,s[O1>>2]=s2,E2=h1+(P6<<2)|0,A2=+s[E2>>2],V1=u1+(P6<<2)|0,g2=+s[V1>>2],a2=g2+A2,s[E2>>2]=a2,e[Y1>>2]=1,e[P1>>2]=1,V=P6+M6|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,C4=0-i2|0,n2=E4?i2:C4,s4=(X1|0)>-1,A4=0-X1|0,u2=s4?X1:A4,e2=(n2|0)>(u2|0),e2?(y2=(i2|0)>0,S2=i2-X1|0,w2=X1-i2|0,M2=y2?S2:w2,e[o2>>2]=M2,J=e[$2>>2]|0,G2=J,O2=M2):(_2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,J2=_2?N2:d2,e[o2>>2]=J2,e[$2>>2]=X1,t0=e[o2>>2]|0,G2=X1,O2=t0),g4=(G2|0)>-1,S4=0-G2|0,q2=g4?G2:S4,T2=q2<<1,K2=(O2|0)<(T2|0),K2||(T1=0-O2|0,e[o2>>2]=T1,j2=e[$2>>2]|0,x5=0-j2|0,e[$2>>2]=x5)}while(!1);if(d5=p1+(P6<<2)|0,A5=+s[d5>>2],l5=R1+(P6<<2)|0,m5=+s[l5>>2],M1=m5+A5,s[l5>>2]=M1,s[d5>>2]=M1,v5=P6+1|0,A9=(v5|0)==(d3|0),A9)break;P6=v5}b4=e[i0>>2]|0,+hQ(b4,r0,n1,h1,p1,y1,M6,p,f1),W=e[c2>>2]|0,z2=W}if(c5=m4+1|0,o5=(c5|0)<(z2|0),o5)C3=z2,m4=c5;else{n3=z2;break}}else n3=j3;if(B5=M6+V5|0,e5=(n0|0)>(B5|0),N9=d9+V5|0,e5)M6=B5,d9=N9;else{v3=n3;break}}else v3=q5;if(c3=(v3|0)>0,c3)e3=v3,e9=0;else{m=G4;return}for(;n5=(a+1160|0)+(e9<<2)|0,g5=e[n5>>2]|0,Y2=E+(g5<<2)|0,h5=e[Y2>>2]|0,t5=(h5|0)==0,R5=(a+2184|0)+(e9<<2)|0,t5?(W2=e[R5>>2]|0,a5=E+(W2<<2)|0,p5=e[a5>>2]|0,H5=(p5|0)==0,H5?K5=e3:U9=52):U9=52,(U9|0)==52&&(U9=0,e[Y2>>2]=1,X5=e[R5>>2]|0,I5=E+(X5<<2)|0,e[I5>>2]=1,e0=e[c2>>2]|0,K5=e0),u3=e9+1|0,h3=(u3|0)<(K5|0),h3;)e3=K5,e9=u3;m=G4}function wS(t,n,o,a,c){t=t|0,n=+n,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0;for(Je=m,m=m+32480|0,q3=Je+32256|0,B9=Je+1792|0,y9=Je,R=o<<2,S=R,L=m,m=m+((1*S|0)+15&-16)|0,i2=S9(68)|0,se(B9|0,0,30464)|0,v3=a>0,s4=a<0,w9=0;;){for(oe=w9<<2,te=0;r5=te+oe|0,d5=(r5|0)<88,d5?(e5=1272+(r5<<2)|0,H5=+s[e5>>2],q9=H5):q9=-30,w3=r5+1|0,o3=(w3|0)<88,o3?(x6=1272+(w3<<2)|0,G6=+s[x6>>2],K6=q9>G6,K6?re=G6:re=q9):(r9=q9>-30,r9?re=-30:re=q9),y6=r5+2|0,L6=(y6|0)<88,L6?(F6=1272+(y6<<2)|0,X6=+s[F6>>2],A9=re>X6,A9?b9=X6:b9=re):(F3=re>-30,F3?b9=-30:b9=re),W6=r5+3|0,h9=(W6|0)<88,h9?(o9=1272+(W6<<2)|0,a9=+s[o9>>2],T9=b9>a9,T9?qe=a9:qe=b9):(f9=b9>-30,f9?qe=-30:qe=b9),I6=q3+(te<<2)|0,s[I6>>2]=qe,M6=te+1|0,M8=(M6|0)==56,!M8;)te=M6;if($4=(B9+(w9*1792|0)|0)+448|0,F=2792+(w9*1344|0)|0,n4($4|0,F|0,224)|0,H=(B9+(w9*1792|0)|0)+672|0,c0=(2792+(w9*1344|0)|0)+224|0,n4(H|0,c0|0,224)|0,E0=(B9+(w9*1792|0)|0)+896|0,B0=(2792+(w9*1344|0)|0)+448|0,n4(E0|0,B0|0,224)|0,r1=(B9+(w9*1792|0)|0)+1120|0,a1=(2792+(w9*1344|0)|0)+672|0,n4(r1|0,a1|0,224)|0,Q1=(B9+(w9*1792|0)|0)+1344|0,N1=(2792+(w9*1344|0)|0)+896|0,n4(Q1|0,N1|0,224)|0,l2=(B9+(w9*1792|0)|0)+1568|0,o2=(2792+(w9*1344|0)|0)+1120|0,n4(l2|0,o2|0,224)|0,N2=B9+(w9*1792|0)|0,n4(N2|0,F|0,224)|0,j2=(B9+(w9*1792|0)|0)+224|0,n4(j2|0,F|0,224)|0,v3)for(t8=0;;){if(s4)for(d8=0;g4=16-d8|0,v7=(g4|0)>-1,r7=0-g4|0,G9=v7?g4:r7,z9=+(G9|0),D9=z9*c,I9=D9+a,P6=I9<0,I=P6?0:I9,t9=I>0,f=t9?0:I,C4=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(d8<<2)|0,S4=+s[C4>>2],A4=S4+f,s[C4>>2]=A4,D4=d8+1|0,U8=(D4|0)==56,!U8;)d8=D4;else for(n8=0;c3=16-n8|0,X8=(c3|0)>-1,Y8=0-c3|0,_6=X8?c3:Y8,S6=+(_6|0),R6=S6*c,D6=R6+a,u9=D6<0,C=u9?0:D6,e9=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(n8<<2)|0,N9=+s[e9>>2],d9=N9+C,s[e9>>2]=d9,E4=n8+1|0,G8=(E4|0)==56,!G8;)n8=E4;if(t3=t8+1|0,w8=(t3|0)==8,w8)break;t8=t3}else for(S8=0;;){if(s4)for(I8=0;W4=16-I8|0,S7=(W4|0)>-1,n7=0-W4|0,m4=S7?W4:n7,N4=+(m4|0),U9=N4*c,G4=U9+a,o4=G4>0,E=o4?0:G4,h4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(I8<<2)|0,Ie=+s[h4>>2],H9=Ie+E,s[h4>>2]=H9,E9=I8+1|0,z8=(E9|0)==56,!z8;)I8=E9;else for(r8=0;Ee=16-r8|0,f7=(Ee|0)>-1,i7=0-Ee|0,Te=f7?Ee:i7,We=+(Te|0),U4=We*c,Ne=U4+a,O4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(r8<<2)|0,Se=+s[O4>>2],je=Se+Ne,s[O4>>2]=je,Z9=r8+1|0,T8=(Z9|0)==56,!T8;)r8=Z9;if(Ae=S8+1|0,Z8=(Ae|0)==8,Z8)break;S8=Ae}for(b4=t+(w9<<2)|0,x4=+s[b4>>2],T4=x4,H4=0;;){for(f4=(H4|0)<2,b6=+(H4|0),w=b6*10,y=70-w,P4=f4?50:y,L9=P4+T4,a4=L9,f8=0;_4=((B9+(w9*1792|0)|0)+(H4*224|0)|0)+(f8<<2)|0,W9=+s[_4>>2],ae=W9+a4,s[_4>>2]=ae,$e=f8+1|0,M4=($e|0)==56,!M4;)f8=$e;for(B4=y9+(H4*224|0)|0,n4(B4|0,q3|0,224)|0,X4=+(H4|0),F4=X4*10,le=70-F4,v8=0;;)if(C9=(y9+(H4*224|0)|0)+(v8<<2)|0,c6=+s[C9>>2],Ge=le+c6,s[C9>>2]=Ge,Ce=v8+1|0,l7=(Ce|0)==56,l7){e8=0;break}else v8=Ce;for(;p4=((B9+(w9*1792|0)|0)+(H4*224|0)|0)+(e8<<2)|0,l4=+s[p4>>2],U6=(y9+(H4*224|0)|0)+(e8<<2)|0,De=+s[U6>>2],be=l4>De,be&&(s[U6>>2]=l4),Xe=e8+1|0,_e=(Xe|0)==56,!_e;)e8=Xe;if(c4=H4+1|0,k7=(c4|0)==8,k7){xe=1;break}else H4=c4}for(;;){for(k4=xe+-1|0,Re=0;;)if(g8=(y9+(k4*224|0)|0)+(Re<<2)|0,M=+s[g8>>2],T=(y9+(xe*224|0)|0)+(Re<<2)|0,G=+s[T>>2],P=M>2]=M),z=Re+1|0,$7=(z|0)==56,$7){Ue=0;break}else Re=z;for(;Y=(y9+(xe*224|0)|0)+(Ue<<2)|0,t0=+s[Y>>2],J=((B9+(w9*1792|0)|0)+(xe*224|0)|0)+(Ue<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Ue+1|0,ee=(X|0)==56,!ee;)Ue=X;if(U=xe+1|0,N8=(U|0)==8,N8)break;xe=U}if(a0=w9+1|0,k8=(a0|0)==17,k8)break;w9=a0}for(Q9=n,L4=(o|0)>0,j4=o^-1,me=0;;){for(Z=S9(32)|0,V=i2+(me<<2)|0,e[V>>2]=Z,o0=+(me|0),n0=o0*.5,i0=o0*.34657350182533264,r0=i0+4.135165354540845,K=+Gn(+r0),s0=K/Q9,l0=+Vo(+s0),j=~~l0,$0=+(j|0),g0=$0*n,u0=g0+1,p0=u0,I0=+Hr(+p0),w0=I0*2.885390043258667,f0=w0+-11.931568145751953,C0=+rB(+f0),d0=~~C0,v0=j+1|0,K0=+(v0|0),b0=K0*n,m0=b0,L0=+Hr(+m0),F0=L0*2.885390043258667,T0=F0+-11.931568145751953,U0=+Vo(+T0),q0=~~U0,x0=(d0|0)>(me|0),h7=x0?me:d0,D0=(h7|0)<0,C8=D0?0:h7,M0=(q0|0)>16,p=M0?16:q0,J0=(C8|0)>(p|0),Y0=me+1|0,O0=(Y0|0)<17,z0=n0+3.9657840728759766,ie=0;;){if(N0=S9(232)|0,P0=Z+(ie<<2)|0,e[P0>>2]=N0,L4)for(i8=0;H0=L+(i8<<2)|0,s[H0>>2]=999,e1=i8+1|0,m9=(e1|0)==(o|0),!m9;)i8=e1;if(!J0)for(ge=C8;;){for(S0=+(ge|0),i1=S0*.5,u8=0,Be=0;;){if(g1=+(u8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,A1=n1*.6931470036506653,Z0=+Gn(+A1),d1=Z0/Q9,h1=~~d1,E1=s1+4.028284072875977,u1=E1*.6931470036506653,I1=+Gn(+u1),B1=I1/Q9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,y1=(B|0)>(o|0),t7=y1?o:B,S1=(t7|0)<(Be|0),q4=S1?t7:Be,L1=(R1|0)<0,W8=L1?0:R1,F1=(W8|0)>(o|0),q8=F1?o:W8,G1=(q4|0)<(q8|0),w1=(q4|0)<(o|0),J8=G1&w1,J8)for(U1=((B9+(ge*1792|0)|0)+(ie*224|0)|0)+(u8<<2)|0,Z1=+s[U1>>2],D1=(Be|0)<(o|0),K1=D1?Be:o,P1=K1^-1,H1=(h1|0)>0,_=h1^-1,q1=H1?_:-1,Y1=(q1|0)<(P1|0),Y4=Y1?P1:q1,j1=Y4^-1,r2=(R1|0)>0,x=R1^-1,W1=r2?x:-1,O1=(W1|0)<(j4|0),s7=O1?j4:W1,z1=s7-Y4|0,f2=Y4+o|0,s2=f2^-1,E2=z1>>>0>s2>>>0,_8=E2?z1:s2,A2=j1-_8|0,X9=q4;;)if(V1=L+(X9<<2)|0,g2=+s[V1>>2],a2=g2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,h8=(t2|0)==(A2|0),h8){Oe=A2;break}else X9=t2;else Oe=q4;if($2=u8+1|0,O8=($2|0)==56,O8){Pe=Oe;break}else u8=$2,Be=Oe}if(c1=(Pe|0)<(o|0),c1)for($1=((B9+(ge*1792|0)|0)+(ie*224|0)|0)+220|0,f1=+s[$1>>2],Le=Pe;X1=L+(Le<<2)|0,n2=+s[X1>>2],u2=n2>f1,u2&&(s[X1>>2]=f1),e2=Le+1|0,P8=(e2|0)==(o|0),!P8;)Le=e2;if(y2=ge+1|0,S2=(ge|0)<(p|0),S2)ge=y2;else break}if(O0){for(D8=0,he=0;;){if(G2=+(D8|0),q2=G2*.125,T2=q2+n0,O2=T2+3.9032840728759766,K2=O2*.6931470036506653,s5=+Gn(+K2),P2=s5/Q9,T1=~~P2,x5=T2+4.028284072875977,X2=x5*.6931470036506653,D5=+Gn(+X2),V2=D5/Q9,f5=V2+1,k5=~~f5,O5=(T1|0)<0,v=O5?0:T1,$5=(v|0)>(o|0),I3=$5?o:v,v2=(I3|0)<(he|0),He=v2?I3:he,E5=(k5|0)<0,j8=E5?0:k5,x2=(j8|0)>(o|0),u7=x2?o:j8,R2=(He|0)<(u7|0),B2=(He|0)<(o|0),A8=R2&B2,A8)for(C5=((B9+(Y0*1792|0)|0)+(ie*224|0)|0)+(D8<<2)|0,L5=+s[C5>>2],u5=(he|0)<(o|0),b5=u5?he:o,G5=b5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,A5=(H2|0)<(G5|0),o8=A5?G5:H2,l5=o8^-1,m5=(k5|0)>0,Q=k5^-1,M1=m5?Q:-1,v5=(M1|0)<(j4|0),b8=v5?j4:M1,c5=b8-o8|0,o5=o8+o|0,z2=o5^-1,c2=c5>>>0>z2>>>0,Ye=c2?c5:z2,B5=l5-Ye|0,Q4=He;;)if(n5=L+(Q4<<2)|0,g5=+s[n5>>2],Y2=g5>L5,Y2&&(s[n5>>2]=L5),h5=Q4+1|0,w7=(h5|0)==(B5|0),w7){s8=B5;break}else Q4=h5;else s8=He;if(t5=D8+1|0,V8=(t5|0)==56,V8){pe=s8;break}else D8=t5,he=s8}if(_2=(pe|0)<(o|0),_2)for(d2=((B9+(Y0*1792|0)|0)+(ie*224|0)|0)+220|0,J2=+s[d2>>2],E8=pe;R5=L+(E8<<2)|0,W2=+s[R5>>2],a5=W2>J2,a5&&(s[R5>>2]=J2),L2=E8+1|0,c7=(L2|0)==(o|0),!c7;)E8=L2}for(w2=Z+(ie<<2)|0,m2=Z+(ie<<2)|0,M2=Z+(ie<<2)|0,ce=0;;){u3=+(ce|0),h3=u3*.125,K5=z0+h3,e3=K5*.6931470036506653,n3=+Gn(+e3),C3=n3/Q9,F5=~~C3,V5=(F5|0)<0;do if(V5)f3=ce+2|0,B3=e[w2>>2]|0,K3=B3+(f3<<2)|0,s[K3>>2]=-999;else if(T3=(F5|0)<(o|0),T3){t6=L+(F5<<2)|0,R3=e[t6>>2]|0,N3=ce+2|0,$3=e[m2>>2]|0,l3=$3+(N3<<2)|0,e[l3>>2]=R3;break}else{Z5=ce+2|0,y3=e[M2>>2]|0,j5=y3+(Z5<<2)|0,s[j5>>2]=-999;break}while(!1);if(m3=ce+1|0,g7=(m3|0)==56,g7)break;ce=m3}p5=N0+8|0,X5=+s[p5>>2],I5=X5>-200;do if(I5)j9=0;else if(q5=N0+12|0,U5=+s[q5>>2],P5=U5>-200,P5)j9=1;else if(Q3=N0+16|0,i6=+s[Q3>>2],W3=i6>-200,W3)j9=2;else if(U3=N0+20|0,z5=+s[U3>>2],O3=z5>-200,O3)j9=3;else if($6=N0+24|0,d3=+s[$6>>2],w6=d3>-200,w6)j9=4;else if(k6=N0+28|0,v6=+s[k6>>2],B6=v6>-200,B6)j9=5;else if(j3=N0+32|0,l6=+s[j3>>2],p6=l6>-200,p6)j9=6;else if(q6=N0+36|0,C6=+s[q6>>2],S3=C6>-200,S3)j9=7;else if(X3=N0+40|0,e6=+s[X3>>2],f6=e6>-200,f6)j9=8;else if(P3=N0+44|0,D3=+s[P3>>2],H3=D3>-200,H3)j9=9;else if(V3=N0+48|0,s6=+s[V3>>2],i3=s6>-200,i3)j9=10;else if(O6=N0+52|0,s3=+s[O6>>2],A6=s3>-200,A6)j9=11;else if(u6=N0+56|0,b3=+s[u6>>2],T6=b3>-200,T6)j9=12;else if(r6=N0+60|0,Q6=+s[r6>>2],J6=Q6>-200,J6)j9=13;else{if(d6=N0+64|0,Y6=+s[d6>>2],L3=Y6>-200,L3){j9=14;break}if(Z6=N0+68|0,N6=+s[Z6>>2],j6=N6>-200,j6){j9=15;break}j9=16}while(!1);for(s[N0>>2]=j9,H8=55;;){if(w5=H8+2|0,G3=N0+(w5<<2)|0,M5=+s[G3>>2],n6=M5>-200,n6){e7=H8;break}if(A3=H8+-1|0,x3=(A3|0)>17,x3)H8=A3;else{e7=A3;break}}if(h6=+(e7|0),p3=N0+4|0,s[p3>>2]=h6,k3=ie+1|0,L8=(k3|0)==8,L8)break;ie=k3}if(F8=(Y0|0)==17,F8)break;me=Y0}return m=Je,i2|0}function gQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0;if(b4=m,w=t<<2,E=w,y=m,m=m+((1*E|0)+15&-16)|0,I=w,A2=m,m=m+((1*I|0)+15&-16)|0,C=w,W2=m,m=m+((1*C|0)+15&-16)|0,p=w,n3=m,m=m+((1*p|0)+15&-16)|0,B=w,j5=m,m=m+((1*B|0)+15&-16)|0,w5=+s[o>>2],i6=w5+c,v6=i6<1,A4=v6?1:i6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[W2>>2]=0,s[n3>>2]=z,s[j5>>2]=0,V=(t|0)>1,V)for(F3=1,I6=D,M6=D,e9=0,N9=0,d9=z,E4=1;c1=o+(F3<<2)|0,h1=+s[c1>>2],L1=h1+c,q1=L1<1,Q9=q1?1:L1,V1=Q9*Q9,y2=V1+I6,T2=V1*E4,f5=T2+M6,L5=T2*E4,v5=L5+e9,Y2=V1*Q9,h5=Y2+d9,t5=T2*Q9,R5=t5+N9,a5=y+(F3<<2)|0,s[a5>>2]=y2,L2=A2+(F3<<2)|0,s[L2>>2]=f5,p5=W2+(F3<<2)|0,s[p5>>2]=v5,H5=n3+(F3<<2)|0,s[H5>>2]=h5,X5=j5+(F3<<2)|0,s[X5>>2]=R5,I5=F3+1|0,u3=E4+1,L6=(I5|0)==(t|0),!L6;)F3=I5,I6=y2,M6=f5,e9=v5,N9=R5,d9=h5,E4=u3;if(g0=e[n>>2]|0,b0=g0>>16,J0=(b0|0)>-1,J0)K5=g0,u6=0,Q6=0,Y6=1,F6=0,s4=0;else for(F5=g0,B3=b0,X6=0,g4=0;;)if(C3=F5&65535,V5=y+(C3<<2)|0,w3=+s[V5>>2],f3=0-B3|0,K3=y+(f3<<2)|0,T3=+s[K3>>2],Z5=T3+w3,y3=A2+(C3<<2)|0,t6=+s[y3>>2],R3=A2+(f3<<2)|0,N3=+s[R3>>2],o3=t6-N3,$3=W2+(C3<<2)|0,l3=+s[$3>>2],m3=W2+(f3<<2)|0,q5=+s[m3>>2],U5=q5+l3,P5=n3+(C3<<2)|0,G3=+s[P5>>2],M5=n3+(f3<<2)|0,n6=+s[M5>>2],t3=n6+G3,A3=j5+(C3<<2)|0,x3=+s[A3>>2],h6=j5+(f3<<2)|0,p3=+s[h6>>2],k3=x3-p3,Q3=t3*U5,W3=k3*o3,U3=Q3-W3,z5=k3*Z5,v3=t3*o3,c3=z5-v3,O3=U5*Z5,$6=o3*o3,d3=O3-$6,w6=c3*g4,k6=w6+U3,B6=k6/d3,j3=B6<0,j6=j3?0:B6,l6=j6-c,p6=a+(X6<<2)|0,s[p6>>2]=l6,_6=X6+1|0,q6=g4+1,C6=n+(_6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){K5=S3,u6=U3,Q6=c3,Y6=d3,F6=_6,s4=q6;break}else F5=S3,B3=X3,X6=_6,g4=q6;if(h3=K5&65535,e3=(h3|0)<(t|0),e3)for(v=K5,V3=h3,W6=F6,z9=s4;;)if(D3=v>>16,H3=y+(V3<<2)|0,S6=+s[H3>>2],s6=y+(D3<<2)|0,i3=+s[s6>>2],O6=S6-i3,s3=A2+(V3<<2)|0,A6=+s[s3>>2],Q=A2+(D3<<2)|0,_=+s[Q>>2],x=A6-_,R=W2+(V3<<2)|0,L=+s[R>>2],F=W2+(D3<<2)|0,M=+s[F>>2],T=L-M,G=n3+(V3<<2)|0,P=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=P-t0,W=j5+(V3<<2)|0,e0=+s[W>>2],H=j5+(D3<<2)|0,X=+s[H>>2],U=e0-X,a0=J*T,Z=U*x,o0=a0-Z,n0=U*O6,i0=J*x,r0=n0-i0,K=T*O6,c0=x*x,s0=K-c0,l0=r0*z9,j=l0+o0,$0=j/s0,u0=$0<0,r9=u0?0:$0,p0=r9-c,I0=a+(W6<<2)|0,s[I0>>2]=p0,w0=W6+1|0,f0=z9+1,E0=n+(w0<<2)|0,C0=e[E0>>2]|0,d0=C0&65535,v0=(d0|0)<(t|0),v0)v=C0,V3=d0,W6=w0,z9=f0;else{b3=o0,R6=r0,L3=s0,A9=w0,G9=f0;break}else b3=u6,R6=Q6,L3=Y6,A9=F6,G9=s4;if(P3=(A9|0)<(t|0),P3)for(h9=A9,D9=G9;K0=D9*R6,m0=K0+b3,L0=m0/L3,F0=L0<0,x6=F0?0:L0,T0=x6-c,U0=a+(h9<<2)|0,s[U0>>2]=T0,B0=h9+1|0,q0=D9+1,y6=(B0|0)==(t|0),!y6;)h9=B0,D9=q0;if(x0=(f|0)<1,x0){m=b4;return}if(D0=(f|0)/2&-1,M0=D0-f|0,Y0=(M0|0)>-1,Y0)T6=b3,J6=R6,Z6=L3,f9=0,I9=0;else for(O0=f-D0|0,H0=D0,i1=M0,u9=0,P6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],S0=0-i1|0,$1=y+(S0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(S0<<2)|0,n1=+s[a1>>2],A1=s1-n1,Z0=W2+(H0<<2)|0,d1=+s[Z0>>2],E1=W2+(S0<<2)|0,u1=+s[E1>>2],I1=u1+d1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(S0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,y1=j5+(H0<<2)|0,S1=+s[y1>>2],F1=j5+(S0<<2)|0,G1=+s[F1>>2],w1=S1-G1,U1=x1*I1,Z1=w1*A1,N1=U1-Z1,D1=w1*g1,K1=x1*A1,P1=D1-K1,H1=I1*g1,Y1=A1*A1,j1=H1-Y1,r2=P1*P6,W1=r2+N1,O1=W1/j1,l2=O1-c,z1=a+(u9<<2)|0,f2=+s[z1>>2],s2=l2>2]=l2),E2=u9+1|0,g2=P6+1,a2=D0+E2|0,t2=a2-f|0,K6=(E2|0)==(O0|0),K6){T6=N1,J6=P1,Z6=j1,f9=O0,I9=g2;break}else H0=a2,i1=t2,u9=E2,P6=g2;if(z0=f9+D0|0,N0=(z0|0)<(t|0),N0)for(P0=t-D0|0,S=z0,a9=f9,C4=I9;;)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,S2=A2+(S<<2)|0,w2=+s[S2>>2],m2=A2+(i2<<2)|0,M2=+s[m2>>2],_2=w2-M2,N2=W2+(S<<2)|0,d2=+s[N2>>2],J2=W2+(i2<<2)|0,G2=+s[J2>>2],q2=d2-G2,O2=n3+(S<<2)|0,K2=+s[O2>>2],s5=n3+(i2<<2)|0,P2=+s[s5>>2],T1=K2-P2,j2=j5+(S<<2)|0,x5=+s[j2>>2],X2=j5+(i2<<2)|0,D5=+s[X2>>2],V2=x5-D5,k5=T1*q2,O5=V2*_2,$5=k5-O5,v2=V2*e2,E5=T1*_2,r5=v2-E5,x2=q2*e2,R2=_2*_2,B2=x2-R2,C5=r5*C4,u5=C5+$5,b5=u5/B2,G5=b5-c,_5=a+(a9<<2)|0,H2=+s[_5>>2],d5=G5>2]=G5),A5=a9+1|0,l5=C4+1,m5=A5+D0|0,D6=(A5|0)==(P0|0),D6){r6=$5,d6=r5,N6=B2,o9=P0,t9=l5;break}else S=m5,a9=A5,C4=l5;else r6=T6,d6=J6,N6=Z6,o9=f9,t9=I9;if($2=(o9|0)<(t|0),$2)T9=o9,S4=t9;else{m=b4;return}for(;M1=S4*d6,c5=M1+r6,o5=c5/N6,z2=o5-c,c2=a+(T9<<2)|0,B5=+s[c2>>2],e5=z2>2]=z2),n5=T9+1|0,g5=S4+1,G6=(n5|0)==(t|0),!G6;)T9=n5,S4=g5;m=b4}function kS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;if(c1=m,f=o<<2,a=f,E=m,m=m+((1*a|0)+15&-16)|0,c=f,_=m,m=m+((1*c|0)+15&-16)|0,t0=(o|0)>0,t0)B0=0,O0=0;else{m=c1;return}for(;;){v0=(O0|0)<2;do if(v0)m0=E+(O0<<2)|0,e[m0>>2]=B0,I=t+(B0<<2)|0,C=e[I>>2]|0,p=_+(O0<<2)|0,e[p>>2]=C,H0=O0;else{for(K0=t+(B0<<2)|0,b0=+s[K0>>2],z0=O0;;){if(B=z0+-1|0,v=_+(B<<2)|0,S=+s[v>>2],w=b0>2]|0,R=x+n|0,L=(B0|0)<(R|0),F=(z0|0)>1,D0=F&L,!D0){P0=z0,i1=12;break}if(M=z0+-2|0,T=_+(M<<2)|0,G=+s[T>>2],P=!(S<=G),P){P0=z0,i1=12;break}if(z=E+(M<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(B0|0)<(J|0),W)z0=B;else{P0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(N0<<2)|0,e[y>>2]=B0,D=_+(N0<<2)|0,s[D>>2]=b0,H0=N0;break}else if((i1|0)==12){i1=0,e0=E+(P0<<2)|0,e[e0>>2]=B0,H=_+(P0<<2)|0,s[H>>2]=b0,H0=P0;break}}while(!1);if(r1=H0+1|0,X=B0+1|0,U0=(X|0)==(o|0),U0){e1=H0,S0=r1;break}else B0=X,O0=r1}if(n0=(e1|0)>-1,!n0){m=c1;return}for(p0=n+1|0,q0=0,M0=0;;){if(U=(q0|0)<(e1|0),U?(a0=q0+1|0,Z=_+(a0<<2)|0,V=+s[Z>>2],o0=_+(q0<<2)|0,i0=+s[o0>>2],r0=V>i0,r0?(K=E+(a0<<2)|0,c0=e[K>>2]|0,L0=c0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(q0<<2)|0,l0=e[s0>>2]|0,j=p0+l0|0,L0=j),$0=(L0|0)>(o|0),x0=$0?o:L0,g0=(M0|0)<(x0|0),g0)for(u0=_+(q0<<2)|0,I0=e[u0>>2]|0,w0=(L0|0)<(o|0),f0=w0?L0:o,Y0=M0;;)if(E0=t+(Y0<<2)|0,e[E0>>2]=I0,C0=Y0+1|0,F0=(C0|0)==(f0|0),F0){J0=f0;break}else Y0=C0;else J0=M0;if(d0=q0+1|0,T0=(d0|0)==(S0|0),T0)break;q0=d0,M0=J0}m=c1}function hQ(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0;if(l2=m,R=I<<2,D=R,L=m,m=m+((1*D|0)+15&-16)|0,e0=t+500|0,K=e[e0>>2]|0,f0=(K|0)==0,f0?p1=I:(U0=t+504|0,P0=e[U0>>2]|0,s1=P0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,F=(Y1|0)>0,F)for(M=(f|0)==0,T=(p1|0)<(I|0),G=T?p1:I,P1=0;;){M?O1=9:(t0=f+(P1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(O1=9));do if((O1|0)==9)if(O1=0,H=a+(P1<<2)|0,X=+s[H>>2],U=c+(P1<<2)|0,a0=+s[U>>2],Z=X/a0,V=o+(P1<<2)|0,o0=+s[V>>2],n0=o0<0,i0=Z,r0=+Tn(+i0),c0=+Gi(r0),n0){s0=-c0,l0=~~s0,j=C+(P1<<2)|0,e[j>>2]=l0;break}else{$0=~~c0,g0=C+(P1<<2)|0,e[g0>>2]=$0;break}while(!1);if(u0=P1+1|0,D1=(u0|0)==(G|0),D1){K1=G;break}else P1=u0}else K1=0;if(P=(K1|0)<(I|0),!P)return y=0,m=l2,+y;for(z=(f|0)!=0,Y=n-E|0,p=0,G1=0,H1=K1;;){z?(p0=f+(H1<<2)|0,I0=e[p0>>2]|0,w0=(I0|0)==0,w0?O1=15:(B=p,w1=G1)):O1=15;do if((O1|0)==15)if(O1=0,E0=a+(H1<<2)|0,C0=+s[E0>>2],d0=c+(H1<<2)|0,v0=+s[d0>>2],K0=C0/v0,b0=!(K0<.25),m0=(H1|0)<(Y|0),j1=z&m0,r2=b0|j1,r2){B0=o+(H1<<2)|0,q0=+s[B0>>2],x0=q0<0,D0=K0,M0=+Tn(+D0),J0=+Gi(M0),Y0=-J0,_=x0?Y0:J0,Q=~~_,O0=C+(H1<<2)|0,e[O0>>2]=Q,z0=i5(Q,Q)|0,N0=+(z0|0),r1=+s[d0>>2],H0=N0*r1,s[E0>>2]=H0,B=p,w1=G1;break}else{L0=K0+p,F0=G1+1|0,T0=L+(G1<<2)|0,e[T0>>2]=E0,B=L0,w1=F0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=w1;break}else p=B,G1=w1,H1=e1}if(S0=(U1|0)==0,S0||(Mh(L,U1,4,9),i1=(U1|0)>0,!i1))return y=v,m=l2,+y;for(c1=a,$1=t+512|0,f1=+o1[$1>>3],S=v,q1=0;;)if(g1=L+(q1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,A1=n1>>2,Z0=S,d1=!(Z0>=f1),d1?(w=S,x=0,W1=0):(h1=o+(A1<<2)|0,E1=e[h1>>2]|0,u1=E1&-2147483648,I1=u1|1065353216,B1=(e[p2>>2]=I1,+s[p2>>2]),Q1=~~B1,R1=S+-1,x1=c+(A1<<2)|0,y1=+s[x1>>2],w=R1,x=Q1,W1=y1),S1=C+(A1<<2)|0,e[S1>>2]=x,s[l1>>2]=W1,L1=q1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else S=w,q1=L1;return m=l2,+y}function vS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,o=e[t>>2]|0,a=+s[o>>2],c=e[n>>2]|0,f=+s[c>>2],E=af,p=C&1,B=I-p|0,B|0}function SS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function DS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0;if(W=m,o=(t|0)==0,!o){if(a=t+4|0,y=e[a>>2]|0,L=(y|0)>0,F=t+20|0,L)for(R=y,Y=0;M=e[F>>2]|0,T=M+(Y<<2)|0,G=e[T>>2]|0,P=(G|0)==0,P?f=R:(I2(G),n=e[a>>2]|0,f=n),z=Y+1|0,c=(z|0)<(f|0),c;)R=f,Y=z;if(E=e[F>>2]|0,I2(E),I=t+24|0,C=e[I>>2]|0,p=(C|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;x=e[B>>2]|0,I2(x),I2(t)}}function bS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;if($0=m,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,a0=U+-1|0,U2(n,a0,24),Z=t+12|0,V=e[Z>>2]|0,o0=V+-1|0,U2(n,o0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,C=(I|0)>0,!!C){for(p=t+24|0,i0=0,K=0;;){if(S=p+(K<<2)|0,w=e[S>>2]|0,y=T7(w)|0,D=(y|0)>3,_=e[S>>2]|0,D?(U2(n,_,3),U2(n,1,1),x=e[S>>2]|0,R=x>>3,U2(n,R,5)):U2(n,_,4),L=e[S>>2]|0,F=(L|0)==0,F)s0=0;else for(o=L,l0=0;;)if(M=o&1,T=M+l0|0,G=o>>>1,P=(G|0)==0,P){s0=T;break}else o=G,l0=T;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,c0=0;e0=v+(c0<<2)|0,H=e[e0>>2]|0,U2(n,H,8),X=c0+1|0,r0=(X|0)==(a|0),!r0;)c0=X}}function _S(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,E=r4(1,2840)|0,I=t+28|0,x=e[I>>2]|0,J=Z4(n,24)|0,e[E>>2]=J,i0=Z4(n,24)|0,I0=E+4|0,e[I0>>2]=i0,F0=Z4(n,24)|0,z0=F0+1|0,P0=E+8|0,e[P0>>2]=z0,r1=Z4(n,6)|0,C=r1+1|0,p=E+12|0,e[p>>2]=C,B=Z4(n,8)|0,v=E+20|0,e[v>>2]=B,S=(B|0)<0;e:do if(S)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=Z4(n,3)|0,R=Z4(n,1)|0,L=(R|0)<0,L){a1=26;break e}if(F=(R|0)==0,F)S0=_;else{if(M=Z4(n,5)|0,T=(M|0)<0,T){a1=26;break e}G=M<<3,P=G|_,S0=P}if(z=y+(c1<<2)|0,e[z>>2]=S0,Y=(S0|0)==0,Y)l1=0;else for(a=S0,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,a0=e[p>>2]|0,Z=(U|0)<(a0|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,o0=(V|0)<0,o0)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(c0=e[v>>2]|0,s0=x+24|0,l0=e[s0>>2]|0,j=(c0|0)<(l0|0),j){if(N0)for($0=E+280|0,f1=0;;){if(p0=$0+(f1<<2)|0,w0=e[p0>>2]|0,f0=(w0|0)<(l0|0),!f0||(E0=(x+1824|0)+(w0<<2)|0,C0=e[E0>>2]|0,d0=C0+12|0,v0=e[d0>>2]|0,K0=(v0|0)==0,g0=f1+1|0,K0))break e;if(u0=(g0|0)<(H0|0),u0)f1=g0;else break}if(b0=(x+1824|0)+(c0<<2)|0,m0=e[b0>>2]|0,L0=m0+4|0,T0=e[L0>>2]|0,U0=e[m0>>2]|0,B0=(U0|0)<1,!B0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(M0=i5(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,o=E,o|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(o=0,o|0):(I2(E),o=0,o|0)}function RS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0;if(p1=m,f=r4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,n0=e[t0>>2]|0,e[f>>2]=n,p0=n+12|0,L0=e[p0>>2]|0,O0=f+4|0,e[O0>>2]=L0,r1=n0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,C=H0,p=n+20|0,B=e[p>>2]|0,v=C+(B*56|0)|0,S=f+16|0,e[S>>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(x=n+24|0,R=n+280|0,e1=0,l1=0,h1=0;;){if(L=x+(l1<<2)|0,F=e[L>>2]|0,M=T7(F)|0,T=(M|0)==0,T)c1=e1,E1=h1;else if(G=(M|0)>(h1|0),a=G?M:h1,P=r4(M,4)|0,z=y+(l1<<2)|0,e[z>>2]=P,Y=(M|0)>0,Y)for(J=e[L>>2]|0,W=y+(l1<<2)|0,S0=e1,A1=0;;)if(e0=1<>2]|0,a0=S0+1|0,Z=R+(S0<<2)|0,V=e[Z>>2]|0,o0=U+(V*56|0)|0,i0=e[W>>2]|0,r0=i0+(A1<<2)|0,e[r0>>2]=o0,i1=a0),K=A1+1|0,f1=(K|0)==(M|0),f1){c1=i1,E1=a;break}else S0=i1,A1=K;else c1=e1,E1=a;if(c0=l1+1|0,s0=(c0|0)<(L0|0),s0)e1=c1,l1=c0,h1=E1;else{d1=E1;break}}else d1=0;if(l0=f+24|0,e[l0>>2]=1,j=(w|0)>0,j){for(g0=1,s1=0;;)if($0=i5(g0,L0)|0,u0=s1+1|0,$1=(u0|0)==(w|0),$1){o=$0;break}else g0=$0,s1=u0;e[l0>>2]=o,f0=o}else f0=1;if(I0=f+8|0,e[I0>>2]=d1,w0=f0<<2,E0=S9(w0)|0,C0=f+28|0,e[C0>>2]=E0,d0=(f0|0)>0,!d0)return f|0;if(v0=w<<2,!j){for(a1=0;Y0=S9(v0)|0,z0=E0+(a1<<2)|0,e[z0>>2]=Y0,N0=a1+1|0,P0=(N0|0)<(f0|0),P0;)a1=N0;return f|0}for(K0=e[C0>>2]|0,n1=0;;){for(D0=S9(v0)|0,M0=E0+(n1<<2)|0,e[M0>>2]=D0,J0=K0+(n1<<2)|0,q0=e[J0>>2]|0,c=f0,Z0=0,I1=n1;u1=(c|0)/(L0|0)&-1,F0=(I1|0)/(u1|0)&-1,T0=i5(F0,u1)|0,U0=I1-T0|0,B0=q0+(Z0<<2)|0,e[B0>>2]=F0,x0=Z0+1|0,g1=(x0|0)==(w|0),!g1;)c=u1,Z0=x0,I1=U0;if(b0=n1+1|0,m0=(b0|0)<(f0|0),m0)n1=b0;else break}return f|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0;if(F=m,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){R=x;break}else Q=w,_=x;return y=(R|0)==0,y||fQ(t,n,o,R,2),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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0;if(G=m,C=(f|0)>0,C)R=0,L=0;else return 0;for(;;)if(p=c+(R<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?F=L:(S=a+(R<<2)|0,w=e[S>>2]|0,y=L+1|0,D=a+(L<<2)|0,e[D>>2]=w,F=y),Q=R+1|0,x=(Q|0)==(f|0),x){M=F;break}else R=Q,L=F;return _=(M|0)==0,_||uQ(t,o,a,M,E),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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0;if(B1=m,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(C=a+(i1<<2)|0,R=e[C>>2]|0,W=(R|0)==0,W?E1=h1:(r0=o+(i1<<2)|0,w0=e[r0>>2]|0,T0=h1+1|0,J0=o+(h1<<2)|0,e[J0>>2]=w0,E1=T0),Y0=i1+1|0,P0=(Y0|0)==(c|0),P0){u1=E1;break}else i1=Y0,h1=E1;if(O0=(u1|0)==0,O0)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,x=(_|0)/(v|0)&-1,L=u1<<2,F=H7(t,L)|0,M=+(v|0),T=100/M,G=T,P=(u1|0)>0,P)for(z=x<<2,c1=0;H=H7(t,z)|0,X=F+(c1<<2)|0,e[X>>2]=H,se(H|0,0,z|0)|0,U=c1+1|0,S0=(U|0)==(u1|0),!S0;)c1=U;if(Y=(x|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if(a0=i5($1,v)|0,Z=e[p>>2]|0,V=Z+a0|0,P)for(g1=0;;){if(t0)for(o0=o+(g1<<2)|0,n0=e[o0>>2]|0,N0=0,l1=0,A1=0;;)if(i0=V+l1|0,K=n0+(i0<<2)|0,c0=e[K>>2]|0,f1=(c0|0)>-1,Z0=0-c0|0,s0=f1?c0:Z0,l0=(s0|0)>(A1|0),E=l0?s0:A1,j=s0+N0|0,$0=l1+1|0,r1=($0|0)==(v|0),r1){z0=j,n1=E;break}else N0=j,l1=$0,A1=E;else z0=0,n1=0;g0=+(z0|0),u0=g0*G,p0=~~u0;e:do if(e0)for(a1=0;;){if(I0=(p+2328|0)+(a1<<2)|0,f0=e[I0>>2]|0,E0=(n1|0)>(f0|0),!E0&&(C0=(p+2584|0)+(a1<<2)|0,d0=e[C0>>2]|0,v0=(d0|0)<0,K0=(p0|0)<(d0|0),d1=v0|K0,d1)){s1=a1;break e}if(b0=a1+1|0,m0=(b0|0)<(J|0),m0)a1=b0;else{s1=b0;break}}else s1=0;while(!1);if(L0=F+(g1<<2)|0,F0=e[L0>>2]|0,U0=F0+($1<<2)|0,e[U0>>2]=s1,B0=g1+1|0,H0=(B0|0)==(u1|0),H0)break;g1=B0}if(q0=$1+1|0,e1=(q0|0)==(x|0),e1)break;$1=q0}return x0=n+40|0,D0=e[x0>>2]|0,M0=D0+1|0,e[x0>>2]=M0,f=F,f|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0;if(F=m,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){R=x;break}else Q=w,_=x;return y=(R|0)==0,y||fQ(t,n,o,R,3),0}function TS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,C=(c|0)>0,C)M0=0,n1=0;else return f=0,f|0;for(;;)if(p=a+(M0<<2)|0,L=e[p>>2]|0,g1=(L|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(f0=e[n>>2]|0,K0=f0+8|0,b0=e[K0>>2]|0,m0=f0+12|0,L0=e[m0>>2]|0,B=f0+4|0,v=e[B>>2]|0,S=e[f0>>2]|0,w=v-S|0,y=(w|0)/(b0|0)&-1,D=H7(t,4)|0,Q=y<<2,_=H7(t,Q)|0,e[D>>2]=_,se(_|0,0,Q|0)|0,x=(y|0)>0,x)for(R=e[f0>>2]|0,F=(R|0)/(c|0)&-1,M=(b0|0)>0,T=L0+-1|0,G=(L0|0)>1,P=e[D>>2]|0,z=(c|0)>1,J0=0,H0=F;;){if(M)for(Y=e[o>>2]|0,T0=0,z0=0,S0=H0,c1=0;;){if(t0=Y+(S0<<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(B0=T0,r1=1;;)if(X=o+(r1<<2)|0,U=e[X>>2]|0,a0=U+(S0<<2)|0,Z=e[a0>>2]|0,O0=(Z|0)>-1,f1=0-Z|0,V=O0?Z:f1,o0=(V|0)>(B0|0),E=o0?V:B0,n0=r1+1|0,x0=(n0|0)==(c|0),x0){U0=E;break}else B0=E,r1=n0;else U0=T0;if(i0=S0+1|0,r0=z0+c|0,c0=(r0|0)<(b0|0),c0)T0=U0,z0=r0,S0=i0,c1=I;else{F0=U0,e1=i0,i1=I;break}}else F0=0,e1=H0,i1=0;e:do if(G)for(P0=0;;){if(s0=(f0+2328|0)+(P0<<2)|0,l0=e[s0>>2]|0,j=(i1|0)>(l0|0),!j&&($0=(f0+2584|0)+(P0<<2)|0,g0=e[$0>>2]|0,u0=(F0|0)>(g0|0),!u0)){N0=P0;break e}if(p0=P0+1|0,I0=(p0|0)<(T|0),I0)P0=p0;else{N0=p0;break}}else N0=0;while(!1);if(w0=P+(J0<<2)|0,e[w0>>2]=N0,E0=J0+1|0,D0=(E0|0)==(y|0),D0)break;J0=E0,H0=e1}return C0=n+40|0,d0=e[C0>>2]|0,v0=d0+1|0,e[C0>>2]=v0,f=D,f|0}function NS(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0;if(n0=m,m=m+16|0,V=n0,C=n+36|0,p=e[C>>2]|0,L=(p|0)/2&-1,F=f<<2,M=i5(F,L)|0,T=H7(n,M)|0,e[V>>2]=T,G=(f|0)>0,!G)return m=n0,0;for(P=(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,P)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=T+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,_=e0+f|0,x=(Q|0)<(L|0),x;)W=Q,e0=_;if(R=J+1|0,t0=(R|0)==(f|0),t0){a0=U;break}else J=R,Z=U}return X=(a0|0)==0,X?(m=n0,0):(uQ(t,o,V,1,E),m=n0,0)}function GS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0;if(Q1=m,I=e[n>>2]|0,C=I+8|0,R=e[C>>2]|0,W=n+16|0,r0=e[W>>2]|0,w0=e[r0>>2]|0,T0=t+36|0,N0=e[T0>>2]|0,l1=i5(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)/(R|0)&-1,Q=w0+-1|0,_=Q+D|0,x=(_|0)/(w0|0)&-1,L=x<<2,F=H7(t,L)|0,M=(c|0)>0;e:do if(M)for(n1=0;;){if(T=a+(n1<<2)|0,G=e[T>>2]|0,P=(G|0)==0,!P){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,a0=I+16|0,Z=n+28|0,V=(w0|0)>0,o0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,c0=ZC(K,U)|0,s0=(c0|0)==-1,s0){p1=23;break e}if(l0=e[a0>>2]|0,j=(c0|0)<(l0|0),!j){p1=23;break e}if($0=e[Z>>2]|0,g0=$0+(c0<<2)|0,u0=e[g0>>2]|0,p0=F+(E1<<2)|0,e[p0>>2]=u0,I0=(u0|0)==0,I0){p1=23;break e}}if(f0=(A1|0)<(D|0),I1=V&f0,I1)for(E0=F+(E1<<2)|0,d1=A1,h1=0;;){if(C0=e[E0>>2]|0,d0=C0+(h1<<2)|0,v0=e[d0>>2]|0,K0=(I+24|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0&i0,L0=(m0|0)==0,!L0&&(F0=e[o0>>2]|0,U0=F0+(v0<<2)|0,B0=e[U0>>2]|0,q0=B0+(B1<<2)|0,x0=e[q0>>2]|0,D0=(x0|0)==0,!D0&&(M0=i5(d1,R)|0,J0=e[I>>2]|0,Y0=J0+M0|0,O0=Yv(x0,o,Y0,c,U,R)|0,z0=(O0|0)==-1,z0))){p1=23;break e}if(P0=h1+1|0,r1=d1+1|0,H0=(P0|0)<(w0|0),e1=(r1|0)<(D|0),u1=H0&e1,u1)d1=r1,h1=P0;else{Z0=r1;break}}else Z0=A1;if(S0=E1+1|0,i1=(Z0|0)<(D|0),i1)A1=Z0,E1=S0;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 fQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,p=e[n>>2]|0,B=p+8|0,F=e[B>>2]|0,H=n+16|0,c0=e[H>>2]|0,E0=e[c0>>2]|0,B0=t+36|0,r1=e[B0>>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){m=j1;return}if(Q=(y|0)/(F|0)&-1,_=a<<2,E=_,x=m,m=m+((1*E|0)+15&-16)|0,R=(a|0)>0,R)for(L=E0+-1|0,M=L+Q|0,T=(M|0)/(E0|0)&-1,G=T<<2,G1=0;a0=H7(t,G)|0,Z=x+(G1<<2)|0,e[Z>>2]=a0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(P=n+8|0,z=e[P>>2]|0,Y=(z|0)>0,!Y){m=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(E0|0)>0,U=n+20|0,C=R^1,q1=0;e:for(;;){if(t0)for(o0=1<>2]|0,H0=ZC(P0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(S0=e[W>>2]|0,i1=(H0|0)<(S0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=x+(w1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,z0=w1+1|0,n1){Y1=25;break e}if(N0=(z0|0)<(a|0),N0)w1=z0;else break}n0=(y1|0)<(Q|0),H1=X&n0;t:do if(H1){if(R)F1=y1,N1=0;else for(L1=y1,Z1=0;;)if(A1=Z1+1|0,Z0=L1+1|0,d1=(A1|0)<(E0|0),h1=(Z0|0)<(Q|0),K1=d1&h1,K1)L1=Z0,Z1=A1;else{S1=Z0;break t}for(;;){for($0=i5(F1,F)|0,U1=0;;){if(l0=e[p>>2]|0,j=l0+$0|0,g0=x+(U1<<2)|0,u0=e[g0>>2]|0,p0=u0+(D1<<2)|0,I0=e[p0>>2]|0,w0=I0+(N1<<2)|0,f0=e[w0>>2]|0,C0=(p+24|0)+(f0<<2)|0,d0=e[C0>>2]|0,v0=d0&o0,K0=(v0|0)==0,!K0&&(b0=e[U>>2]|0,m0=b0+(f0<<2)|0,L0=e[m0>>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,D0=x0+(j<<2)|0,M0=dB[c&3](T0,D0,J,F)|0,J0=(M0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,O0=(Y0|0)<(a|0),O0)U1=Y0;else break}if(i0=N1+1|0,r0=F1+1|0,K=(i0|0)<(E0|0),s0=(r0|0)<(Q|0),P1=K&s0,P1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=y1;while(!1);if(E1=D1+1|0,u1=(S1|0)<(Q|0),u1)y1=S1,D1=E1;else break}if(I1=q1+1|0,B1=e[P>>2]|0,p1=(I1|0)<(B1|0),p1)q1=I1;else{Y1=25;break}}if((Y1|0)==25){m=j1;return}}function uQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0;if(d6=m,m=m+1088|0,i3=d6+1056|0,M5=d6+1024|0,O6=d6+512|0,s3=d6,Q=e[n>>2]|0,_=Q+8|0,a2=e[_>>2]|0,q2=Q+12|0,V2=e[q2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,h5=e[M1>>2]|0,h3=Q+4|0,T3=e[h3>>2]|0,x=e[Q>>2]|0,J=T3-x|0,i0=(J|0)/(a2|0)&-1,se(O6|0,0,512)|0,se(s3|0,0,512)|0,I0=n+8|0,F0=e[I0>>2]|0,z0=(F0|0)>0,!z0){m=d6;return}for(g1=(i0|0)>0,I1=(a|0)>0,w1=(h5|0)>1,r2=n+36|0,t2=(h5|0)>0,S2=n+20|0,w2=n+32|0,m2=0-h5|0,y2=F0,A6=0;;){if(g1){for(M2=(A6|0)==0,_2=1<>2]|0,G5=b5+(z5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,d5=H2+4|0,A5=e[d5>>2]|0,l5=(_5|0)<(A5|0),l5&&(m5=Lh(H2,_5,t)|0,v5=e[r2>>2]|0,c5=v5+m5|0,e[r2>>2]=c5),o5=C6+1|0,n6=(o5|0)==(a|0),n6)break e;C6=o5}for(;;){for(v2=c+(S3<<2)|0,f5=e[v2>>2]|0,E5=f5+(z5<<2)|0,r5=e[E5>>2]|0,f6=1,r6=r5;;)if(j2=i5(r6,V2)|0,x5=f6+z5|0,X2=(x5|0)<(i0|0),X2?(D5=f5+(x5<<2)|0,k5=e[D5>>2]|0,O5=k5+j2|0,Q6=O5):Q6=j2,$5=f6+1|0,k3=($5|0)==(h5|0),k3){R6=Q6;break}else f6=$5,r6=Q6;if(J2=e[C5>>2]|0,G2=J2+4|0,T2=e[G2>>2]|0,O2=(R6|0)<(T2|0),O2&&(K2=Lh(J2,R6,t)|0,s5=e[r2>>2]|0,P2=s5+K2|0,e[r2>>2]=P2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(x2=(z5|0)<(i0|0),S6=t2&x2,S6){for(R2=z5-i0|0,B2=R2>>>0>>0,T6=B2?m2:R2,L5=0-T6|0,$6=z5,P3=0;;){if(z2=i5($6,a2)|0,c2=e[Q>>2]|0,B5=c2+z2|0,I1)for(e6=0;;){if(e5=c+(e6<<2)|0,n5=e[e5>>2]|0,g5=n5+($6<<2)|0,Y2=e[g5>>2]|0,M2&&(t5=s3+(Y2<<2)|0,R5=e[t5>>2]|0,W2=R5+a2|0,e[t5>>2]=W2),a5=(Q+24|0)+(Y2<<2)|0,L2=e[a5>>2]|0,p5=L2&_2,H5=(p5|0)==0,!H5&&(X5=e[S2>>2]|0,I5=X5+(Y2<<2)|0,u3=e[I5>>2]|0,K5=u3+(A6<<2)|0,e3=e[K5>>2]|0,n3=(e3|0)==0,!n3)){if(C3=o+(e6<<2)|0,F5=e[C3>>2]|0,V5=e[e3>>2]|0,w3=(a2|0)/(V5|0)&-1,f3=(w3|0)>0,f3){for(B3=e3+48|0,K3=e3+52|0,Z5=e3+44|0,y3=e3+12|0,j5=e3+4|0,R=V5,w5=0,c3=0;;){t6=i5(c3,V5)|0,S=t6+B5|0,R3=F5+(S<<2)|0,N3=e[B3>>2]|0,o3=e[K3>>2]|0,$3=e[Z5>>2]|0,l3=$3>>1,e[i3>>2]=0,e[i3+4>>2]=0,e[i3+8>>2]=0,e[i3+12>>2]=0,e[i3+16>>2]=0,e[i3+20>>2]=0,e[i3+24>>2]=0,e[i3+28>>2]=0,m3=(o3|0)==1,L=(R|0)>0;do if(m3){if(!L){j3=0;break}for(G=$3+-1|0,d3=0,B6=0,H3=R;;)if(u0=H3+-1|0,D=S+u0|0,p0=F5+(D<<2)|0,w0=e[p0>>2]|0,f0=w0-N3|0,E0=(f0|0)<(l3|0),E0?(C0=l3-f0|0,d0=C0<<1,v0=d0+-1|0,L0=v0):(K0=f0-l3|0,b0=K0<<1,L0=b0),m0=i5(B6,$3)|0,T0=(L0|0)<0,U0=(L0|0)>=($3|0),B0=U0?G:L0,q0=T0?0:B0,x0=q0+m0|0,D0=i3+(u0<<2)|0,e[D0>>2]=w0,M0=d3+1|0,W3=(M0|0)==(R|0),W3){j3=x0;break}else d3=M0,B6=x0,H3=u0}else{if(!L){j3=0;break}for(F=o3>>1,M=F-N3|0,T=$3+-1|0,v3=0,v6=0,D3=R;;)if(P=D3+-1|0,y=S+P|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=M+Y|0,W=(t0|0)/(o3|0)&-1,e0=(W|0)<(l3|0),e0?(H=l3-W|0,X=H<<1,U=X+-1|0,o0=U):(a0=W-l3|0,Z=a0<<1,o0=Z),V=i5(v6,$3)|0,n0=(o0|0)<0,r0=(o0|0)>=($3|0),K=r0?T:o0,c0=n0?0:K,s0=c0+V|0,l0=i5(W,o3)|0,j=l0+N3|0,$0=i3+(P<<2)|0,e[$0>>2]=j,g0=v3+1|0,U3=(g0|0)==(R|0),U3){j3=s0;break}else v3=g0,v6=s0,D3=P}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,O0=e[Y0>>2]|0,N0=O0+j3|0,P0=d[N0>>0]|0,r1=P0<<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=$3+-1|0,e1=i5(H0,o3)|0,S0=e1+N3|0,i1=e[j5>>2]|0,c1=(i1|0)>0,c1)q5=-1,w6=0,l6=j3;else{_6=j3;break}for(;;){$1=O0+w6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(L)for(q6=0,b3=0;;)if(s1=M5+(q6<<2)|0,a1=e[s1>>2]|0,w=S+q6|0,n1=F5+(w<<2)|0,A1=e[n1>>2]|0,Z0=a1-A1|0,d1=i5(Z0,Z0)|0,h1=d1+b3|0,E1=q6+1|0,i6=(E1|0)==(R|0),i6){u6=h1;break}else q6=E1,b3=h1;else u6=0;if(u1=(q5|0)==-1,B1=(u6|0)<(q5|0),V3=u1|B1,!V3){U5=q5,p6=l6;break}e[i3>>2]=e[M5>>2]|0,e[i3+4>>2]=e[M5+4>>2]|0,e[i3+8>>2]=e[M5+8>>2]|0,e[i3+12>>2]=e[M5+12>>2]|0,e[i3+16>>2]=e[M5+16>>2]|0,e[i3+20>>2]=e[M5+20>>2]|0,e[i3+24>>2]=e[M5+24>>2]|0,e[i3+28>>2]=e[M5+28>>2]|0,U5=u6,p6=w6}else U5=q5,p6=l6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(S0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,y1=M5+(R1<<2)|0,S1=e[y1>>2]|0,L1=(S1|0)<(S0|0),L1){E=y1,I=S1;break}else x1=y1,X3=R1;if(F1=(I|0)>-1,F1?(G1=I+o3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=w6+1|0,t3=(N1|0)==(i1|0),t3){_6=p6;break}else q5=U5,w6=N1,l6=p6}}else _6=j3;while(!1);if(D1=(_6|0)>-1,s6=L&D1,s6)for(f=R3,k6=0;K1=i3+(k6<<2)|0,P1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-P1|0,e[f>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(R|0),!A3;)f=H1,k6=j1;if(W1=Lh(e3,_6,t)|0,O1=W1+w5|0,l2=c3+1|0,x3=(l2|0)==(w3|0),x3){C=O1;break}p=e[e3>>2]|0,R=p,w5=O1,c3=l2}B=e[e5>>2]|0,E2=B,P5=C}else E2=n5,P5=0;z1=e[w2>>2]|0,f2=z1+P5|0,e[w2>>2]=f2,s2=E2+($6<<2)|0,A2=e[s2>>2]|0,V1=O6+(A2<<2)|0,g2=e[V1>>2]|0,$2=g2+P5|0,e[V1>>2]=$2}if(i2=e6+1|0,h6=(i2|0)==(a|0),h6)break;e6=i2}if(o2=P3+1|0,X1=$6+1|0,p3=(o2|0)==(L5|0),p3)break;$6=X1,P3=o2}N2=z5-T6|0,O3=N2}else O3=z5;if(d2=(O3|0)<(i0|0),d2)z5=O3;else break}v=e[I0>>2]|0,e2=v}else e2=y2;if(n2=A6+1|0,u2=(n2|0)<(e2|0),u2)y2=e2,A6=n2;else break}m=d6}function T7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;if(p=m,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 dQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0;g2=m,m=m+144|0,O1=g2,C=(o|0)!=0,p=C?o:n,L=p<<2,e0=S9(L)|0,se(O1|0,0,132)|0,K=(n|0)>0;do if(K){f0=O1+4|0,U0=(o|0)==0,P0=U0&1,p1=0,w1=0;e:for(;;){s1=t+w1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=O1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,l2=y|Q,!l2){V1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,x=O1+(B<<2)|0,R=w&1,F=(R|0)==0;i:do if(F)for(H=w,X=x,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,a0=(K1|0)>1,!a0)break i;if(f=O1+(U<<2)|0,I=e[f>>2]|0,Z=O1+(U<<2)|0,V=I&1,o0=(V|0)==0,o0)H=I,X=Z,K1=U;else{c=Z,D1=U,V1=8;break}}else c=x,D1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,T=(D1|0)==1,T){G=e[f0>>2]|0,P=G+1|0,e[f0>>2]=P;break}else{z=D1+-1|0,Y=O1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,M=(Y1|0)<33,M)for(L1=w,H1=B,j1=Y1;;){if(n0=O1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,c0=(r0|0)==(L1|0),!c0){E=1;break t}if(s0=O1+(H1<<2)|0,l0=e[s0>>2]|0,j=l0<<1,e[n0>>2]=j,P1=j1+1|0,$0=(P1|0)<33,$0)q1=j1,L1=i0,j1=P1,H1=q1;else{E=1;break}}else E=1}else E=P0;while(!1);if(Q1=p1+E|0,g0=w1+1|0,u0=(g0|0)<(n|0),u0)p1=Q1,w1=g0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return I2(e0),a=0,m=g2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(p0=O1+8|0,I0=e[p0>>2]|0,w0=(I0|0)==2,w0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,z0=O1+(U1<<2)|0,N0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=N0&H0,S0=(e1|0)==0,Y0=U1+1|0,!!S0;)if(O0=(Y0|0)<33,O0)U1=Y0,V1=27;else break e;return I2(e0),a=0,m=g2,a|0}while(!1);if(!K)return a=e0,m=g2,a|0;if(C)y1=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,d1=r2+1|0,h1=(d1|0)<(l1|0),h1)r2=d1,E2=Z0;else{f2=Z0;break}else f2=0;if(E1=x1+1|0,u1=e0+(x1<<2)|0,e[u1>>2]=f2,I1=Z1+1|0,F1=(I1|0)==(n|0),F1){a=e0;break}else x1=E1,Z1=I1}return m=g2,a|0}for(;;){if(E0=t+N1|0,C0=d[E0>>0]|0,d0=C0<<24>>24>0,d0)for(J0=e0+(y1<<2)|0,T0=e[J0>>2]|0,M0=C0<<24>>24,W1=0,A2=0;;)if(L0=A2<<1,F0=T0>>>W1,B0=F0&1,q0=B0|L0,x0=W1+1|0,D0=(x0|0)<(M0|0),D0)W1=x0,A2=q0;else{s2=q0;break}else s2=0;if(v0=C0<<24>>24==0,v0?S1=y1:(K0=y1+1|0,b0=e0+(y1<<2)|0,e[b0>>2]=s2,S1=K0),m0=N1+1|0,G1=(m0|0)==(n|0),G1){a=e0;break}else y1=S1,N1=m0}return m=g2,a|0}function US(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0;if(H=m,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),x=_,R=+(D|0),L=1/R,F=L,M=+_h(+x,+F),f=+Vo(+M),E=~~f,Y=E;;){for(S=Y+1|0,T=1,G=1,P=0;;)if(B=i5(T,Y)|0,v=i5(G,S)|0,w=P+1|0,y=(w|0)<(D|0),y)T=B,G=v,P=w;else{n=B,o=v;break}if(I=(n|0)<=(c|0),C=(o|0)>(c|0),z=I&C,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0;if(H5=m,p=t+12|0,B=e[p>>2]|0,C=B+-1|0,t5=C>>>0<2,!t5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,R1=n1&2097151,D1=+(R1|0),z1=n1>>>21,o2=z1&1023,N2=(n1|0)<0,j2=-D1,a=N2?j2:D1,v=o2+-788|0,M=+XC(a,v),X=M,s0=t+20|0,C0=e[s0>>2]|0,q0=C0&2097151,z0=+(q0|0),N0=C0>>>21,P0=N0&1023,r1=(C0|0)<0,e1=-z0,c=r1?e1:z0,S0=P0+-788|0,i1=+XC(c,S0),c1=i1,$1=e[t>>2]|0,f1=i5($1,n)|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),y1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+_h(+y1,+F1),w1=+Vo(+G1),U1=~~w1,a5=U1;;){for(f2=a5+1|0,r5=1,x2=1,d5=0;;)if(O1=i5(r5,a5)|0,l2=i5(x2,f2)|0,s2=d5+1|0,u5=(s2|0)==($1|0),u5){E=O1,I=l2;break}else r5=O1,x2=l2,d5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),h5=N1&Z1,h5){L2=a5;break}W1=(E|0)>(p1|0),W2=W1?-1:1,R5=W2+a5|0,a5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(P1=(o|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,r2=t+28|0,R2=0,M1=0;;){if(P1)if(a2=e[q1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=i5($1,R2)|0,$2)for(m5=1,z2=0;;)if(D5=(M1|0)/(m5|0)&-1,V2=(D5|0)%(L2|0)&-1,f5=a2+(V2<<2)|0,k5=e[f5>>2]|0,O5=+(k5|0),H2=+Vi(+O5),$5=H2,v2=$5*Y1,E5=j1+v2,S=E5,w=i2+z2|0,y=g1+(w<<2)|0,s[y>>2]=S,D=i5(m5,L2)|0,Q=z2+1|0,_=(Q|0)<($1|0),_)m5=D,z2=Q;else{p5=21;break}else for(A5=1,c5=0,e5=0;;)if(x=(M1|0)/(A5|0)&-1,R=(x|0)%(L2|0)&-1,L=a2+(R<<2)|0,F=e[L>>2]|0,T=+(F|0),G5=+Vi(+T),G=G5,P=G*Y1,z=e5,Y=z+j1,t0=Y+P,J=t0,W=i2+c5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=i5(A5,L2)|0,U=c5+1|0,a0=(U|0)<($1|0),a0)A5=H,c5=U,e5=J;else{p5=21;break}else if(E2=e[H1>>2]|0,A2=E2+M1|0,V1=d[A2>>0]|0,g2=V1<<24>>24==0,g2)B2=R2;else for(X1=e[q1>>2]|0,n2=e[r2>>2]|0,u2=(n2|0)==0,e2=o+(R2<<2)|0,y2=e[e2>>2]|0,S2=i5(y2,$1)|0,l5=1,o5=0,n5=0;;)if(w2=(M1|0)/(l5|0)&-1,m2=(w2|0)%(L2|0)&-1,M2=X1+(m2<<2)|0,_2=e[M2>>2]|0,d2=+(_2|0),_5=+Vi(+d2),J2=_5,G2=J2*Y1,q2=n5,T2=q2+j1,O2=T2+G2,K2=O2,B5=u2?n5:K2,s5=S2+o5|0,P2=g1+(s5<<2)|0,s[P2>>2]=K2,T1=i5(l5,L2)|0,x5=o5+1|0,X2=(x5|0)<($1|0),X2)l5=T1,o5=x5,n5=B5;else{p5=21;break}if((p5|0)==21&&(p5=0,Z=R2+1|0,B2=Z),V=M1+1|0,o0=(V|0)<(p1|0),o0)R2=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,d1=t+32|0,h1=c1,E1=X,u1=t+28|0,I1=($1|0)>0,C5=0,v5=0;;){if(A1?(n0=e[Z0>>2]|0,i0=n0+v5|0,r0=d[i0>>0]|0,K=r0<<24>>24==0,K?L5=C5:p5=25):p5=25,(p5|0)==25){if(p5=0,I1)for(c0=e[d1>>2]|0,l0=e[u1>>2]|0,j=(l0|0)==0,$0=o+(C5<<2)|0,g0=i5($1,v5)|0,u0=i5($1,C5)|0,c2=0,Y2=0;p0=g0+c2|0,I0=c0+(p0<<2)|0,w0=e[I0>>2]|0,f0=+(w0|0),b5=+Vi(+f0),E0=b5,d0=E0*h1,v0=Y2,K0=v0+E1,b0=K0+d0,m0=b0,g5=j?Y2:m0,A1?(L0=e[$0>>2]|0,F0=i5(L0,$1)|0,T0=F0+c2|0,U0=g1+(T0<<2)|0,s[U0>>2]=m0):(B0=u0+c2|0,x0=g1+(B0<<2)|0,s[x0>>2]=m0),D0=c2+1|0,M0=(D0|0)<($1|0),M0;)c2=D0,Y2=g5;J0=C5+1|0,L5=J0}if(Y0=v5+1|0,O0=(Y0|0)<(s1|0),O0)C5=L5,v5=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,C=0,p=0,B=0,v=0;v=m,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,C=e[I>>2]|0,p=(C|0)==0,p||I2(C),I2(t))}function PS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0;x=m,n=t+16|0,o=e[n>>2]|0,C=(o|0)==0,C||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,R=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(R|0))}function IQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;N0=m,O0=t,P0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,x=e[I>>2]|0,J=t+4|0,e[J>>2]=x,i0=t+8|0,e[i0>>2]=x,I0=e[n>>2]|0,e[t>>2]=I0,v0=n+8|0,K0=e[v0>>2]|0,b0=dQ(K0,x,0)|0,m0=t+20|0,e[m0>>2]=b0,C=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(C|0),S=v,w=+(p|0),y=1/w,D=y,Q=+_h(+S,+D),_=+Vo(+Q),R=~~_,J0=R;;){for(P=J0+1|0,L0=1,F0=1,U0=0;;)if(T=i5(L0,J0)|0,G=i5(F0,P)|0,z=U0+1|0,T0=(z|0)==(p|0),T0){c=T,f=G;break}else L0=T,F0=G,U0=z;if(L=(c|0)<=(C|0),F=(f|0)>(C|0),B0=F&L,B0){Y0=J0;break}M=(c|0)>(C|0),M0=M?-1:1,D0=M0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,a0=(W|0)<0,Z=-H,o=a0?Z:H,V=U+-788|0,o0=+XC(o,V),n0=o0,q0=+QQ(n0),r0=~~q0,K=t+48|0,e[K>>2]=r0,c0=n+20|0,s0=e[c0>>2]|0,l0=s0&2097151,j=+(l0|0),$0=s0>>>21,g0=$0&1023,u0=(s0|0)<0,p0=-j,a=u0?p0:j,w0=g0+-788|0,f0=+XC(a,w0),E0=f0,x0=+QQ(E0),C0=~~x0,d0=t+52|0,e[d0>>2]=C0,0}function HS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0;F3=m,y6=t,F6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(F6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(H2=n+8|0,B5=e[H2>>2]|0,P3=0,R6=0;;)if(p5=B5+P3|0,V5=d[p5>>0]|0,N3=V5<<24>>24>0,n6=N3&1,C=n6+R6|0,z5=P3+1|0,y=(z5|0)<(w|0),y)P3=z5,R6=C;else{$0=C;break}else $0=0;if(P=t+4|0,e[P>>2]=w,Z=t+8|0,e[Z>>2]=$0,K0=e[n>>2]|0,e[t>>2]=K0,M0=($0|0)>0,!M0)return a=0,m=F3,a|0;if(i1=n+8|0,d1=e[i1>>2]|0,S1=dQ(d1,w,$0)|0,H1=$0<<2,f=H1,A2=m,m=m+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){O2=t+16|0,K2=e[O2>>2]|0,s5=(K2|0)==0,s5||I2(K2),P2=t+20|0,T1=e[P2>>2]|0,j2=(T1|0)==0,j2||I2(T1),x5=t+24|0,X2=e[x5>>2]|0,D5=(X2|0)==0,D5||I2(X2),f5=t+28|0,k5=e[f5>>2]|0,O5=(k5|0)==0,O5||I2(k5),$5=t+32|0,v2=e[$5>>2]|0,E5=(v2|0)==0,E5||I2(v2),y6=t,F6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(F6|0));return a=-1,m=F3,a|0}else D3=0;for(;q2=S1+(D3<<2)|0,V2=e[q2>>2]|0,C5=V2>>>16,L5=V2<<16,u5=C5|L5,b5=u5>>>8,G5=b5&16711935,_5=u5<<8,d5=_5&-16711936,A5=G5|d5,l5=A5>>>4,m5=l5&252645135,M1=A5<<4,v5=M1&-252645136,c5=m5|v5,o5=c5>>>2,z2=o5&858993459,c2=c5<<2,e5=c2&-858993460,n5=z2|e5,g5=n5>>>1,Y2=g5&1431655765,h5=n5<<1,t5=h5&-1431655766,R5=Y2|t5,e[q2>>2]=R5,W2=A2+(D3<<2)|0,e[W2>>2]=q2,a5=D3+1|0,q6=(a5|0)==($0|0),!q6;)D3=a5;for(Mh(A2,$0,4,10),E=H1,L2=m,m=m+((1*E|0)+15&-16)|0,H5=S9(H1)|0,X5=t+20|0,e[X5>>2]=H5,I5=S1,H3=0;;)if(u3=A2+(H3<<2)|0,h3=e[u3>>2]|0,K5=h3,e3=K5-I5|0,n3=e3>>2,C3=L2+(n3<<2)|0,e[C3>>2]=H3,F5=H3+1|0,_6=(F5|0)==($0|0),_6){V3=0;break}else H3=F5;for(;w3=S1+(V3<<2)|0,f3=e[w3>>2]|0,B3=L2+(V3<<2)|0,K3=e[B3>>2]|0,T3=H5+(K3<<2)|0,e[T3>>2]=f3,Z5=V3+1|0,p6=(Z5|0)==($0|0),!p6;)V3=Z5;if(I2(S1),y3=OS(n,$0,L2)|0,j5=t+16|0,e[j5>>2]=y3,t6=S9(H1)|0,R3=t+24|0,e[R3>>2]=t6,o3=e[S>>2]|0,$3=(o3|0)>0,$3)for(p=e[i1>>2]|0,S6=0,d6=0;;)if(l3=p+S6|0,m3=d[l3>>0]|0,q5=m3<<24>>24>0,q5?(U5=d6+1|0,P5=L2+(d6<<2)|0,w5=e[P5>>2]|0,G3=t6+(w5<<2)|0,e[G3>>2]=S6,Y6=U5):Y6=d6,M5=S6+1|0,t3=(M5|0)<(o3|0),t3)S6=M5,d6=Y6;else{J6=Y6;break}else J6=0;if(A3=S9(J6)|0,x3=t+28|0,e[x3>>2]=A3,h6=t+40|0,e[h6>>2]=0,$3){for(B=e[i1>>2]|0,r5=0,k3=B,s6=0,Z6=0;;)if(p3=k3+s6|0,Q3=d[p3>>0]|0,i6=Q3<<24>>24>0,i6?(W3=Z6+1|0,U3=L2+(Z6<<2)|0,v3=e[U3>>2]|0,c3=e[x3>>2]|0,O3=c3+v3|0,d[O3>>0]=Q3,$6=e[i1>>2]|0,d3=$6+s6|0,w6=d[d3>>0]|0,k6=w6<<24>>24,v6=e[h6>>2]|0,B6=(k6|0)>(v6|0),B6?(e[h6>>2]=k6,x2=k6,R2=$6,N6=W3):(x2=v6,R2=$6,N6=W3)):(x2=r5,R2=k3,N6=Z6),j3=s6+1|0,D=e[S>>2]|0,Q=(j3|0)<(D|0),Q)r5=x2,k3=R2,s6=j3,Z6=N6;else{I=x2,j6=N6;break}if(_=(j6|0)==1,_){if(x=(I|0)==1,x)return R=t+36|0,e[R>>2]=1,L=r4(2,4)|0,F=t+32|0,e[F>>2]=L,M=L+4|0,e[M>>2]=1,e[L>>2]=1,a=0,m=F3,a|0;L3=1}else L3=j6}else L3=0;if(T=e[Z>>2]|0,G=(T|0)==0,G)x6=-4;else{for(c=T,G6=0;;)if(z=c>>>1,Y=G6+1|0,t0=(z|0)==0,t0){D6=G6;break}else c=z,G6=Y;r9=D6+-3|0,x6=r9}if(J=t+36|0,W=(x6|0)<5,o=W?5:x6,e0=(o|0)>8,K6=e0?8:o,e[J>>2]=K6,H=1<>2]=X,a0=(L3|0)>0,a0)for(r0=K6,i3=0;;){if(V=e[x3>>2]|0,o0=V+i3|0,n0=d[o0>>0]|0,i0=n0<<24>>24,K=(r0|0)<(i0|0),K)B2=r0;else if(c0=e[X5>>2]|0,s0=c0+(i3<<2)|0,l0=e[s0>>2]|0,j=l0>>>16,g0=l0<<16,u0=j|g0,p0=u0>>>8,I0=p0&16711935,w0=u0<<8,f0=w0&-16711936,E0=I0|f0,C0=E0>>>4,d0=C0&252645135,v0=E0<<4,b0=v0&-252645136,m0=d0|b0,L0=m0>>>2,F0=L0&858993459,T0=m0<<2,U0=T0&-858993460,B0=F0|U0,q0=B0>>>1,x0=q0&1431655765,D0=B0<<1,J0=D0&-1431655766,Y0=x0|J0,O0=r0-i0|0,z0=(O0|0)==31,z0)B2=r0;else for(N0=i3+1|0,r1=i0,s3=0;;)if(P0=s3<>2]=N0,S0=s3+1|0,c1=e[J>>2]|0,$1=d[o0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=I1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,y1=Q1<<8,L1=y1&-16711936,F1=x1|L1,G1=F1>>>4,w1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=w1|Z1,D1=N1>>>2,K1=D1&858993459,P1=N1<<2,q1=P1&-858993460,Y1=K1|q1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,O1=W1&-1431655766,l2=r2|O1,z1=X+(l2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(u6=A6;;){if(V1=u6+1|0,g2=(V1|0)<(L3|0),!g2){b3=u6;break}if(a2=e[X5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>I1>>>0,i2){b3=u6;break}else u6=V1}o2=(L3|0)>(C6|0);e:do if(o2)for(X1=e[X5>>2]|0,X3=C6;;){if(n2=X1+(X3<<2)|0,u2=e[n2>>2]|0,y2=u2&Z0,S2=I1>>>0>>0,S2){S3=X3;break e}if(w2=X3+1|0,m2=(L3|0)>(w2|0),m2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);M2=L3-S3|0,_2=b3>>>0>32767,N2=M2>>>0>32767,f6=N2?32767:M2,T6=b3<<15,r6=T6|-2147483648,d2=_2?-1073774592:r6,J2=d2|f6,e[z1>>2]=J2,e6=S3,Q6=b3}else e6=C6,Q6=A6;if(G2=O6+1|0,T2=(G2|0)<(H|0),!T2){a=0;break}v=e[J>>2]|0,u1=v,C6=e6,O6=G2,A6=Q6}return m=F3,a|0}function qS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,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,C=a>>>0>>0,p=C&1,B=I-p|0,B|0}function YS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0;if(K0=m,p=e[t>>2]|0,B=(p|0)==1,!B&&(F=t+4|0,H=e[F>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,K=r0+4|0,c0=e[K>>2]|0,s0=(c0|0)>0,!!s0)){for(l0=c0+1|0,C=p+-1|0,u0=p,p0=0,I0=p,f0=1;;){v=l0-p0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(I0|0)/(w|0)&-1,D=(p|0)/(I0|0)&-1,Q=i5(D,y)|0,_=w+-1|0,x=i5(D,_)|0,R=u0-x|0,L=1-f0|0;do if((w|0)==2)if(Y=(L|0)==0,o=C+R|0,t0=H+(o<<2)|0,Y){BQ(D,y,n,H,t0),E0=0;break}else{BQ(D,y,H,n,t0),E0=L;break}else if((w|0)==4)if(M=R+D|0,T=(L|0)==0,a=C+R|0,G=H+(a<<2)|0,c=C+M|0,P=H+(c<<2)|0,f=C+D|0,E=f+M|0,z=H+(E<<2)|0,T){mQ(D,y,n,H,G,P,z),E0=0;break}else{mQ(D,y,H,n,G,P,z),E0=L;break}else if(J=(D|0)==1,w0=J?f0:L,W=(w0|0)==0,I=C+R|0,e0=H+(I<<2)|0,W){pQ(D,w,y,Q,n,n,n,H,H,e0),E0=1;break}else{pQ(D,w,y,Q,H,H,H,n,n,e0),E0=0;break}while(!1);if(X=p0+1|0,$0=(X|0)==(c0|0),$0){C0=E0;break}else u0=R,p0=X,I0=y,f0=E0}if(U=(C0|0)!=1,a0=(p|0)>0,d0=a0&U,d0)g0=0;else return;for(;Z=H+(g0<<2)|0,V=e[Z>>2]|0,o0=n+(g0<<2)|0,e[o0>>2]=V,n0=g0+1|0,j=(n0|0)==(p|0),!j;)g0=n0}}function EQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0;if(d1=m,e[t>>2]=n,E=n*3|0,I=r4(E,4)|0,x=t+4|0,e[x>>2]=I,J=r4(32,4)|0,i0=t+8|0,e[i0>>2]=J,I0=(n|0)==1,!I0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(b0=H0+1|0,m0=(b0|0)<4,m0?(L0=25768+(b0<<2)|0,C=e[L0>>2]|0,s1=C):(p=l1+2|0,s1=p),B=(s1|0)!=2,O0=$1,g1=f1;;){if(J0=O0+1|0,v=(g1|0)/(s1|0)&-1,S=i5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=b0,$1=O0,f1=g1,l1=s1;continue e}if(y=O0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(O0|0)==0,a1=B|Q,!a1){if(_=(O0|0)<1,!_)for(x0=1;R=J0-x0|0,L=R+1|0,F=J+(L<<2)|0,M=e[F>>2]|0,T=R+2|0,G=J+(T<<2)|0,e[G>>2]=M,P=x0+1|0,B0=(P|0)==(J0|0),!B0;)x0=P;e[K0>>2]=2}if(z=(v|0)==1,z){o=Q,Y0=J0,z0=O0;break e}else O0=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=(z0|0)>0,n1=e0&a,!!n1)for(H=n+1|0,N0=0,S0=0,i1=1;;){if(X=S0+2|0,U=J+(X<<2)|0,a0=e[U>>2]|0,Z=i5(a0,i1)|0,V=(n|0)/(Z|0)&-1,o0=(a0|0)>1,o0){for(n0=(V|0)>2,r0=a0+-1|0,r1=N0,e1=0,c1=0;;){if(K=c1+i1|0,c0=+(K|0),s0=c0*W,n0)for(q0=0,D0=r1,M0=2;l0=q0+1,j=s0*l0,F0=+zo(+j),c=D0+n|0,$0=I+(c<<2)|0,s[$0>>2]=F0,A1=+Nn(+j),g0=D0+2|0,f=H+D0|0,u0=I+(f<<2)|0,s[u0>>2]=A1,p0=M0+2|0,w0=(p0|0)<(V|0),w0;)q0=l0,D0=g0,M0=p0;if(f0=r1+V|0,E0=e1+1|0,T0=(E0|0)==(r0|0),T0)break;r1=f0,e1=E0,c1=K}C0=i5(V,r0)|0,d0=C0+N0|0,P0=d0}else P0=N0;if(v0=S0+1|0,U0=(v0|0)==(z0|0),U0)break;N0=P0,S0=v0,i1=Z}}}function CQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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 mQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0;if(u3=m,I=i5(n,t)|0,C=I<<1,E1=(n|0)>0,E1)for(F1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,c2=0,n5=I,h5=F1,W2=0,a5=C;T2=o+(n5<<2)|0,f5=+s[T2>>2],L5=o+(h5<<2)|0,p=+s[L5>>2],L=p+f5,e0=o+(W2<<2)|0,K=+s[e0>>2],f0=o+(a5<<2)|0,U0=+s[f0>>2],P0=U0+K,s1=P0+L,d1=W2<<2,h1=a+(d1<<2)|0,s[h1>>2]=s1,u1=P0-L,I1=V1+d1|0,B1=a+(I1<<2)|0,s[B1>>2]=u1,p1=+s[e0>>2],Q1=+s[f0>>2],R1=p1-Q1,x1=d1+y2|0,y1=x1+-1|0,S1=a+(y1<<2)|0,s[S1>>2]=R1,L1=+s[L5>>2],G1=+s[T2>>2],w1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=w1,Z1=n5+t|0,N1=h5+t|0,D1=W2+t|0,K1=a5+t|0,P1=c2+1|0,c5=(P1|0)==(n|0),!c5;)c2=P1,n5=Z1,h5=N1,W2=D1,a5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(E1)for(j1=t<<1,B5=0,g5=0;;){for(j=g5<<2,$0=j+j1|0,z2=2,t5=g5,L2=j,H5=$0;O1=t5+2|0,l2=L2+2|0,z1=H5+-2|0,f2=O1+I|0,s2=z2+-2|0,E2=c+(s2<<2)|0,A2=+s[E2>>2],g2=f2+-1|0,a2=o+(g2<<2)|0,t2=+s[a2>>2],$2=t2*A2,i2=z2+-1|0,o2=c+(i2<<2)|0,X1=+s[o2>>2],n2=o+(f2<<2)|0,u2=+s[n2>>2],e2=u2*X1,S2=e2+$2,w2=u2*A2,m2=X1*t2,M2=w2-m2,_2=f2+I|0,N2=f+(s2<<2)|0,d2=+s[N2>>2],J2=_2+-1|0,G2=o+(J2<<2)|0,q2=+s[G2>>2],O2=q2*d2,K2=f+(i2<<2)|0,s5=+s[K2>>2],P2=o+(_2<<2)|0,T1=+s[P2>>2],j2=T1*s5,x5=j2+O2,X2=T1*d2,D5=s5*q2,V2=X2-D5,k5=_2+I|0,O5=E+(s2<<2)|0,$5=+s[O5>>2],v2=k5+-1|0,E5=o+(v2<<2)|0,r5=+s[E5>>2],x2=r5*$5,R2=E+(i2<<2)|0,B2=+s[R2>>2],C5=o+(k5<<2)|0,u5=+s[C5>>2],b5=u5*B2,G5=b5+x2,_5=u5*$5,H2=B2*r5,d5=_5-H2,A5=G5+S2,l5=G5-S2,m5=d5+M2,M1=M2-d5,B=o+(O1<<2)|0,v=+s[B>>2],S=v+V2,w=v-V2,y=t5+1|0,D=o+(y<<2)|0,Q=+s[D>>2],_=Q+x5,x=Q-x5,R=A5+_,F=L2|1,M=a+(F<<2)|0,s[M>>2]=R,T=m5+S,G=a+(l2<<2)|0,s[G>>2]=T,P=x-M1,z=H5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=P,t0=l5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+x,H=l2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,a0=l5+w,Z=a+(H<<2)|0,s[Z>>2]=a0,V=_-A5,o0=z1+j1|0,n0=o0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=V,r0=m5-S,c0=a+(o0<<2)|0,s[c0>>2]=r0,s0=z2+2|0,l0=(s0|0)<(t|0),l0;)z2=s0,t5=O1,L2=l2,H5=z1;if(r2=g5+t|0,W1=B5+1|0,o5=(W1|0)==(n|0),o5)break;B5=W1,g5=r2}if(g0=t&1,u0=(g0|0)==0,!u0)return}if(p0=t+-1|0,I0=p0+I|0,w0=t<<2,E0=t<<1,!!E1)for(C0=I0+C|0,e5=0,Y2=I0,R5=C0,p5=t,X5=t;d0=o+(Y2<<2)|0,v0=+s[d0>>2],K0=o+(R5<<2)|0,b0=+s[K0>>2],m0=b0+v0,L0=m0*-.7071067690849304,F0=v0-b0,T0=F0*.7071067690849304,B0=X5+-1|0,q0=o+(B0<<2)|0,x0=+s[q0>>2],D0=T0+x0,M0=p5+-1|0,J0=a+(M0<<2)|0,s[J0>>2]=D0,Y0=+s[q0>>2],O0=Y0-T0,z0=p5+E0|0,N0=z0+-1|0,r1=a+(N0<<2)|0,s[r1>>2]=O0,H0=Y2+I|0,e1=o+(H0<<2)|0,S0=+s[e1>>2],i1=L0-S0,c1=a+(p5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+L0,g1=a+(z0<<2)|0,s[g1>>2]=f1,l1=Y2+t|0,a1=R5+t|0,n1=p5+w0|0,A1=X5+t|0,Z0=e5+1|0,v5=(Z0|0)==(n|0),!v5;)e5=Z0,Y2=l1,R5=a1,p5=n1,X5=A1}}function BQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0;if(w1=m,f=i5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,d1=0,u1=0,p1=f;n0=o+(u1<<2)|0,p0=+s[n0>>2],L0=o+(p1<<2)|0,O0=+s[L0>>2],f1=O0+p0,s1=u1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,C=+s[n0>>2],p=+s[L0>>2],B=C-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=u1+t|0,y=p1+t|0,D=d1+1|0,n1=(D|0)==(n|0),!n1;)d1=D,u1=w,p1=y;if(Q=(t|0)<2,!Q){if(x=(t|0)==2,!x){if(_)for(h1=0,I1=0,Q1=f;;){for(q0=I1<<1,x0=q0+E|0,Z0=2,x1=Q1,S1=x0,L1=I1,F1=q0;M=x1+2|0,T=S1+-2|0,G=L1+2|0,P=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,a0=c+(U<<2)|0,Z=+s[a0>>2],V=o+(M<<2)|0,o0=+s[V>>2],i0=o0*Z,r0=i0+X,K=o0*J,c0=Z*H,s0=K-c0,l0=o+(G<<2)|0,j=+s[l0>>2],$0=s0+j,g0=a+(P<<2)|0,s[g0>>2]=$0,u0=+s[l0>>2],I0=s0-u0,w0=a+(T<<2)|0,s[w0>>2]=I0,f0=L1+1|0,E0=o+(f0<<2)|0,C0=+s[E0>>2],d0=C0+r0,v0=F1|1,K0=a+(v0<<2)|0,s[K0>>2]=d0,b0=+s[E0>>2],m0=b0-r0,F0=S1+-3|0,T0=a+(F0<<2)|0,s[T0>>2]=m0,U0=Z0+2|0,B0=(U0|0)<(t|0),B0;)Z0=U0,x1=M,S1=T,L1=G,F1=P;if(R=I1+t|0,L=Q1+t|0,F=h1+1|0,A1=(F|0)==(n|0),A1)break;h1=F,I1=R,Q1=L}if(D0=(t|0)%2&-1,M0=(D0|0)==1,M0)return}if(J0=t+-1|0,!!_)for(Y0=f+J0|0,E1=0,B1=t,R1=Y0,y1=J0;z0=o+(R1<<2)|0,N0=+s[z0>>2],P0=-N0,r1=a+(B1<<2)|0,s[r1>>2]=P0,H0=o+(y1<<2)|0,e1=e[H0>>2]|0,S0=B1+-1|0,i1=a+(S0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=y1+t|0,l1=E1+1|0,a1=(l1|0)==(n|0),!a1;)E1=l1,B1=c1,R1=$1,y1=g1}}function pQ(t,n,o,a,c,f,E,I,C,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,C=C|0,p=p|0;var B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0;m8=m,S=+(n|0),w=6.2831854820251465/S,h8=+zo(+w),N7=+Nn(+w),E2=n+1|0,p3=E2>>1,U9=t+-1|0,U4=U9>>1,L9=i5(o,t)|0,C9=i5(n,t)|0,c4=(t|0)==1;e:do if(!c4){if(w7=(a|0)>0,w7)for(pe=0;$0=E+(pe<<2)|0,K0=e[$0>>2]|0,M0=C+(pe<<2)|0,e[M0>>2]=K0,i1=pe+1|0,d8=(i1|0)==(a|0),!d8;)pe=i1;if(P=(n|0)>1,P)for(Z=(o|0)>0,C8=1,q7=0;;){if(d1=q7+L9|0,Z)for(n7=0,e4=d1;S1=f+(e4<<2)|0,H1=e[S1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=H1,e2=e4+t|0,q2=n7+1|0,j9=(q2|0)==(o|0),!j9;)n7=q2,e4=e2;if(V2=C8+1|0,r8=(V2|0)==(n|0),r8)break;C8=V2,q7=d1}if(C5=0-t|0,M1=(U4|0)>(o|0),M1){if(P)for(T3=(o|0)>0,q5=(t|0)>2,I3=C5,q9=1,b7=0;;){if(k3=b7+L9|0,w6=I3+t|0,T3)for(X3=k3-t|0,s3=w6+-1|0,A8=0,R7=X3;;){if(L3=R7+t|0,q5)for(n8=2,he=s3,It=L3;F3=he+2|0,I6=It+2|0,I9=he+1|0,W4=p+(I9<<2)|0,N4=+s[W4>>2],G4=It+1|0,o4=f+(G4<<2)|0,L4=+s[o4>>2],h4=L4*N4,Ie=p+(F3<<2)|0,H9=+s[Ie>>2],E9=f+(I6<<2)|0,Ee=+s[E9>>2],Te=Ee*H9,We=Te+h4,Ne=I+(G4<<2)|0,s[Ne>>2]=We,O4=+s[W4>>2],j4=+s[E9>>2],Se=j4*O4,je=+s[Ie>>2],Z9=+s[o4>>2],Ae=Z9*je,f4=Se-Ae,b6=I+(I6<<2)|0,s[b6>>2]=f4,P4=n8+2|0,a4=(P4|0)<(t|0),a4;)n8=P4,he=F3,It=I6;if(_4=A8+1|0,i8=(_4|0)==(o|0),i8)break;A8=_4,R7=L3}if(oe=q9+1|0,u8=(oe|0)==(n|0),u8)break;I3=w6,q9=oe,b7=k3}}else if(P)for(h5=(t|0)>2,h3=(o|0)>0,He=C5,re=1,G7=0;;){if(W9=He+t|0,ae=G7+L9|0,h5)for($e=W9+-1|0,I8=2,s8=$e,it=ae;;){if(B4=s8+2|0,X4=it+2|0,h3)for(F4=s8+1|0,le=p+(F4<<2)|0,c6=p+(B4<<2)|0,o8=0,V7=X4;Ge=+s[le>>2],$4=V7+-1|0,Ce=f+($4<<2)|0,p4=+s[Ce>>2],l4=p4*Ge,U6=+s[c6>>2],De=f+(V7<<2)|0,be=+s[De>>2],Xe=be*U6,k4=Xe+l4,g8=I+($4<<2)|0,s[g8>>2]=k4,q3=+s[le>>2],y9=+s[De>>2],m9=y9*q3,M4=+s[c6>>2],ee=+s[Ce>>2],$7=ee*M4,_e=m9-$7,l7=I+(V7<<2)|0,s[l7>>2]=_e,V8=V7+t|0,c7=o8+1|0,D8=(c7|0)==(o|0),!D8;)o8=c7,V7=V8;if(g7=I8+2|0,L8=(g7|0)<(t|0),L8)I8=g7,s8=B4,it=X4;else break}if(F8=re+1|0,ce=(F8|0)==(n|0),ce)break;He=W9,re=F8,G7=ae}if(M8=i5(L9,n)|0,T8=(U4|0)<(o|0),z8=(p3|0)>1,!T8){if(!z8)break;for(Z8=(o|0)>0,k7=(t|0)>2,qe=1,a8=0,Gt=M8;;){if(E0=a8+L9|0,C0=Gt-L9|0,Z8)for(Y4=0,rt=E0,nt=C0;;){if(k7)for(Be=2,z7=rt,Qt=nt;d0=z7+2|0,v0=Qt+2|0,b0=z7+1|0,m0=I+(b0<<2)|0,L0=+s[m0>>2],F0=Qt+1|0,T0=I+(F0<<2)|0,U0=+s[T0>>2],B0=U0+L0,q0=f+(b0<<2)|0,s[q0>>2]=B0,x0=I+(d0<<2)|0,D0=+s[x0>>2],J0=I+(v0<<2)|0,Y0=+s[J0>>2],O0=D0-Y0,z0=f+(F0<<2)|0,s[z0>>2]=O0,N0=+s[x0>>2],P0=+s[J0>>2],r1=P0+N0,H0=f+(d0<<2)|0,s[H0>>2]=r1,e1=+s[T0>>2],S0=+s[m0>>2],c1=e1-S0,$1=f+(v0<<2)|0,s[$1>>2]=c1,f1=Be+2|0,g1=(f1|0)<(t|0),g1;)Be=f1,z7=d0,Qt=v0;if(l1=rt+t|0,s1=nt+t|0,a1=Y4+1|0,H4=(a1|0)==(o|0),H4)break;Y4=a1,rt=l1,nt=s1}if(n1=qe+1|0,xe=(n1|0)==(p3|0),xe)break e;qe=n1,a8=E0,Gt=C0}}if(z8)for(D=(t|0)>2,Q=(o|0)>0,b9=1,Y7=0,Nt=M8;;){if(_=Y7+L9|0,x=Nt-L9|0,D)for(ge=2,Et=_,Bt=x;;){if(R=Et+2|0,L=Bt+2|0,Q)for(F=L-t|0,M=R-t|0,b8=0,Jt=M,ai=F;T=Jt+t|0,G=ai+t|0,z=T+-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+(T<<2)|0,a0=+s[U>>2],V=I+(G<<2)|0,o0=+s[V>>2],n0=a0-o0,i0=f+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],K=+s[V>>2],c0=K+r0,s0=f+(T<<2)|0,s[s0>>2]=c0,l0=+s[W>>2],j=+s[Y>>2],g0=l0-j,u0=f+(G<<2)|0,s[u0>>2]=g0,p0=b8+1|0,S8=(p0|0)==(o|0),!S8;)b8=p0,Jt=T,ai=G;if(I0=ge+2|0,w0=(I0|0)<(t|0),w0)ge=I0,Et=R,Bt=L;else break}if(f0=b9+1|0,t8=(f0|0)==(p3|0),t8)break;b9=f0,Y7=_,Nt=x}}while(!1);if(y=(a|0)>0,y)for(Q4=0;A1=C+(Q4<<2)|0,Z0=e[A1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,E1=Q4+1|0,H8=(E1|0)==(a|0),!H8;)Q4=E1;if(u1=i5(a,n)|0,I1=(p3|0)>1,I1){for(B1=(o|0)>0,q8=1,R8=0,Ut=u1;;){if(p1=R8+L9|0,Q1=Ut-L9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,s7=0,ni=x1,Ai=R1;y1=ni+t|0,L1=Ai+t|0,F1=I+(y1<<2)|0,G1=+s[F1>>2],w1=I+(L1<<2)|0,U1=+s[w1>>2],Z1=U1+G1,N1=f+(y1<<2)|0,s[N1>>2]=Z1,D1=+s[w1>>2],K1=+s[F1>>2],P1=D1-K1,q1=f+(L1<<2)|0,s[q1>>2]=P1,Y1=s7+1|0,te=(Y1|0)==(o|0),!te;)s7=Y1,ni=y1,Ai=L1;if(j1=q8+1|0,e7=(j1|0)==(p3|0),e7)break;q8=j1,R8=p1,Ut=Q1}if(r2=n+-1|0,W1=i5(r2,a)|0,I1){for(O1=(p3|0)>2,N8=0,U8=1,Je=1,_7=0,ut=u1;;){if(l2=_7+a|0,z1=ut-a|0,f2=U8*h8,s2=N8*N7,V1=f2-s2,g2=N8*h8,a2=U8*N7,t2=a2+g2,y)for(E8=0,Pt=l2,At=z1,Vt=W1,W7=a;$2=E+(E8<<2)|0,i2=+s[$2>>2],o2=W7+1|0,X1=E+(W7<<2)|0,n2=+s[X1>>2],u2=n2*V1,y2=u2+i2,S2=Pt+1|0,w2=C+(Pt<<2)|0,s[w2>>2]=y2,m2=Vt+1|0,M2=E+(Vt<<2)|0,_2=+s[M2>>2],N2=_2*t2,d2=At+1|0,J2=C+(At<<2)|0,s[J2>>2]=N2,G2=E8+1|0,f7=(G2|0)==(a|0),!f7;)E8=G2,Pt=S2,At=d2,Vt=m2,W7=o2;if(O1)for(G8=t2,w8=V1,u7=2,Ht=a,U7=W1;;){if(T2=Ht+a|0,O2=U7-a|0,K2=w8*V1,s5=G8*t2,P2=K2-s5,T1=G8*V1,j2=w8*t2,x5=j2+T1,y)for(t7=0,yt=l2,vt=z1,St=T2,x7=O2;X2=St+1|0,D5=E+(St<<2)|0,f5=+s[D5>>2],k5=f5*P2,O5=yt+1|0,$5=C+(yt<<2)|0,v2=+s[$5>>2],E5=v2+k5,s[$5>>2]=E5,r5=x7+1|0,x2=E+(x7<<2)|0,R2=+s[x2>>2],B2=R2*x5,L5=vt+1|0,u5=C+(vt<<2)|0,b5=+s[u5>>2],G5=b5+B2,s[u5>>2]=G5,_5=t7+1|0,v7=(_5|0)==(a|0),!v7;)t7=_5,yt=O5,vt=L5,St=X2,x7=r5;if(H2=u7+1|0,X8=(H2|0)==(p3|0),X8)break;G8=x5,w8=P2,u7=H2,Ht=T2,U7=O2}if(d5=Je+1|0,S7=(d5|0)==(p3|0),S7)break;N8=t2,U8=V1,Je=d5,_7=l2,ut=z1}if(I1)for(i7=1,K8=0;;){if(A5=K8+a|0,y)for(q4=0,J7=A5;l5=J7+1|0,m5=E+(J7<<2)|0,v5=+s[m5>>2],c5=C+(q4<<2)|0,o5=+s[c5>>2],z2=o5+v5,s[c5>>2]=z2,c2=q4+1|0,h7=(c2|0)==(a|0),!h7;)q4=c2,J7=l5;if(B5=i7+1|0,me=(B5|0)==(p3|0),me)break;i7=B5,K8=A5}}}if(e5=(t|0)<(o|0),e5){if(Y2=(t|0)>0,Y2)for(t5=(o|0)>0,Pe=0;;){if(t5)for(Ye=0,fe=Pe,K7=Pe;K5=I+(fe<<2)|0,e3=e[K5>>2]|0,n3=c+(K7<<2)|0,e[n3>>2]=e3,C3=fe+t|0,F5=K7+C9|0,V5=Ye+1|0,Re=(V5|0)==(o|0),!Re;)Ye=V5,fe=C3,K7=F5;if(w3=Pe+1|0,e8=(w3|0)==(t|0),e8)break;Pe=w3}}else if(n5=(o|0)>0,n5)for(g5=(t|0)>0,_8=0,Fe=0,dt=0;;){if(g5)for(Oe=0,Ot=Fe,qt=dt;R5=Ot+1|0,W2=I+(Ot<<2)|0,a5=e[W2>>2]|0,L2=qt+1|0,p5=c+(qt<<2)|0,e[p5>>2]=a5,H5=Oe+1|0,v8=(H5|0)==(t|0),!v8;)Oe=H5,Ot=R5,qt=L2;if(X5=Fe+t|0,I5=dt+C9|0,u3=_8+1|0,w9=(u3|0)==(o|0),w9)break;_8=u3,Fe=X5,dt=I5}if(f3=t<<1,B3=i5(L9,n)|0,I1)for(K3=(o|0)>0,r7=1,D7=0,Ct=0,Yt=B3;;){if(Z5=D7+f3|0,y3=Ct+L9|0,j5=Yt-L9|0,K3)for(B9=0,Z7=Z5,wt=y3,Zt=j5;t6=I+(wt<<2)|0,R3=e[t6>>2]|0,N3=Z7+-1|0,o3=c+(N3<<2)|0,e[o3>>2]=R3,$3=I+(Zt<<2)|0,l3=e[$3>>2]|0,m3=c+(Z7<<2)|0,e[m3>>2]=l3,U5=Z7+C9|0,P5=wt+t|0,w5=Zt+t|0,G3=B9+1|0,f8=(G3|0)==(o|0),!f8;)B9=G3,Z7=U5,wt=P5,Zt=w5;if(M5=r7+1|0,Ue=(M5|0)==(p3|0),Ue)break;r7=M5,D7=Z5,Ct=y3,Yt=j5}if(!c4){if(n6=(U4|0)<(o|0),t3=0-t|0,!n6){if(!I1)return;for(B=(o|0)<1,v=(t|0)<3,k8=B|v,Y8=1,o7=t3,mt=0,st=0,oi=B3;;){if(h6=o7+f3|0,Q3=mt+f3|0,i6=st+L9|0,W3=oi-L9|0,!k8)for(A7=0,zt=h6,ot=Q3,Qe=i6,at=W3;;){for(X9=2;$6=t-X9|0,d3=X9+Qe|0,k6=d3+-1|0,v6=I+(k6<<2)|0,B6=+s[v6>>2],j3=X9+at|0,l6=j3+-1|0,p6=I+(l6<<2)|0,_6=+s[p6>>2],q6=_6+B6,C6=X9+ot|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=q6,f6=+s[v6>>2],P3=+s[p6>>2],D3=f6-P3,H3=$6+zt|0,V3=H3+-1|0,S6=c+(V3<<2)|0,s[S6>>2]=D3,s6=I+(d3<<2)|0,i3=+s[s6>>2],O6=I+(j3<<2)|0,A6=+s[O6>>2],u6=A6+i3,b3=c+(C6<<2)|0,s[b3>>2]=u6,T6=+s[O6>>2],r6=+s[s6>>2],Q6=T6-r6,R6=c+(H3<<2)|0,s[R6>>2]=Q6,J6=X9+2|0,d6=(J6|0)<(t|0),d6;)X9=J6;if(U3=zt+C9|0,z5=ot+C9|0,v3=Qe+t|0,c3=at+t|0,O3=A7+1|0,W8=(O3|0)==(o|0),W8)break;A7=O3,zt=U3,ot=z5,Qe=v3,at=c3}if(Y6=Y8+1|0,j8=(Y6|0)==(p3|0),j8)break;Y8=Y6,o7=h6,mt=Q3,st=i6,oi=W3}return}if(I1)for(A3=(t|0)>2,x3=(o|0)>0,ie=1,ne=t3,si=0,pt=0,Kt=B3;;){if(Z6=ne+f3|0,N6=si+f3|0,j6=pt+L9|0,r9=Kt-L9|0,A3&&(x6=Z6+t|0,x3))for(Le=2;;){for(D4=Le+r9|0,b4=Le+j6|0,x4=Le+N6|0,T4=x6-Le|0,J8=0,kt=T4,O7=x4,Dt=b4,i9=D4;K6=Dt+-1|0,y6=I+(K6<<2)|0,L6=+s[y6>>2],F6=i9+-1|0,X6=I+(F6<<2)|0,A9=+s[X6>>2],W6=A9+L6,h9=O7+-1|0,f9=c+(h9<<2)|0,s[f9>>2]=W6,u9=+s[y6>>2],o9=+s[X6>>2],a9=u9-o9,T9=kt+-1|0,M6=c+(T9<<2)|0,s[M6>>2]=a9,e9=I+(Dt<<2)|0,N9=+s[e9>>2],d9=I+(i9<<2)|0,E4=+s[d9>>2],s4=E4+N9,g4=c+(O7<<2)|0,s[g4>>2]=s4,G9=+s[d9>>2],z9=+s[e9>>2],D9=G9-z9,P6=c+(kt<<2)|0,s[P6>>2]=D9,t9=kt+C9|0,C4=O7+C9|0,S4=Dt+t|0,A4=i9+t|0,Q9=J8+1|0,O8=(Q9|0)==(o|0),!O8;)J8=Q9,kt=t9,O7=C4,Dt=S4,i9=A4;if(G6=Le+2|0,D6=(G6|0)<(t|0),D6)Le=G6;else break}if(m4=ie+1|0,P8=(m4|0)==(p3|0),P8)break;ie=m4,ne=Z6,si=N6,pt=j6,Kt=r9}}}function JS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0,Xs=0,Un=0,eA=0,On=0,tA=0,iA=0,Pn=0,rA=0,Jr=0,nA=0,sA=0,AA=0,Hn=0,oA=0,qn=0,Yn=0,aA=0,Kr=0,Jn=0,Vr=0,Kn=0,Vn=0,$A=0,lA=0,cA=0,zr=0,zn=0,gA=0,Ir=0,Zr=0,hA=0,fA=0,Wr=0,$i=0,Zn=0,uA=0,dA=0,Wn=0,jn=0,Xn=0,IA=0,li=0,jr=0,EA=0,es=0,CA=0,mA=0,BA=0,ts=0,pA=0,QA=0,yA=0,wA=0,is=0,kA=0,vA=0,Xr=0,Er=0,en=0,SA=0,Zi=0,DA=0,rs=0,tn=0,ns=0,rn=0,bA=0,ss=0,As=0,_A=0,os=0,as=0,RA=0,Cr=0,$s=0,ci=0,nn=0,mr=0,Wi=0,Br=0,Oi=0,pr=0,ls=0,Pi=0,Bi=0,pi=0,Wt=0,Qi=0,Qr=0,ji=0,Xi=0,yr=0,gi=0,xA=0,$t=0,el=0,sn=0,An=0,Th=0,tl=0,LA=0,Nh=0,jo=0,il=0,Gh=0,Uh=0,Oh=0,Xo=0,rl=0,nl=0,ea=0,on=0,sl=0,Ph=0,FA=0,er=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Al=0,wr=0,Xh=0,ef=0,ol=0,tf=0,ta=0,MA=0,ia=0,rf=0,nf=0,ra=0,al=0,$l=0,ll=0,na=0,cl=0,TA=0,sf=0,Af=0,gl=0,of=0,af=0,hl=0,$f=0,lf=0,fl=0,ul=0,dl=0,Il=0,El=0,an=0,cf=0,Cl=0,gf=0,ml=0,Bl=0,hf=0,ff=0,uf=0,sa=0,pl=0,Ql=0,cs=0,yl=0,Aa=0,df=0,wl=0,If=0,kl=0,Ef=0,Cf=0,vl=0,Sl=0,mf=0,NA=0,Bf=0,oa=0,Dl=0,bl=0,pf=0,Qf=0,yf=0,wf=0,kf=0,vf=0,GA=0,_l=0,Rl=0,xl=0,UA=0,Sf=0,Ll=0,Df=0,Fl=0,bf=0,_f=0,Ml=0,aa=0,Rf=0,xf=0,OA=0,Lf=0,PA=0,Ff=0,$a=0,Mf=0,Tf=0,Nf=0,Tl=0,Gf=0,Uf=0,Of=0,Pf=0,Nl=0,Gl=0,tr=0,Ul=0,HA=0,la=0,ca=0,$n=0,Ol=0,ln=0,Hf=0,Pl=0,qf=0,Yf=0,Jf=0,Kf=0,qA=0,ga=0,kr=0,Vf=0,zf=0,Hl=0,ha=0,ql=0,Yl=0,Zf=0,Jl=0,Wf=0,fa=0,jf=0,Xf=0,O9=0,eu=0,Kl=0,tu=0,iu=0,ua=0,ru=0,da=0,Vl=0,nu=0,su=0,zl=0,Zl=0,Au=0,Ia=0,Ea=0,Wl=0,jl=0,ou=0,Xl=0,Ca=0,au=0,ec=0,$u=0,lu=0,cu=0,gu=0,tc=0,ic=0,ma=0,YA=0,rc=0,hu=0,nc=0,sc=0,fu=0,uu=0,du=0,Ac=0,Iu=0,Eu=0,Cu=0,mu=0,Bu=0,pu=0,oc=0,Qu=0,ac=0,yu=0,cn=0,wu=0,$c=0,ku=0,gs=0,lc=0,Ba=0,vu=0,JA=0,pa=0,Su=0,Qa=0,cc=0,Du=0,bu=0,_u=0,Ru=0,xu=0,gc=0,Lu=0,Fu=0,Mu=0,KA=0,hs=0,ya=0,Tu=0,wa=0,Nu=0,Gu=0,Uu=0,hc=0,Ou=0,Pu=0,Hu=0,qu=0,Yu=0,VA=0,Ju=0,Ku=0,fc=0,Vu=0,zu=0,Zu=0,Wu=0,hi=0,uc=0,fi=0,dc=0,ka=0,ju=0,jt=0,fs=0,Xu=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,Ad=0,od=0,us=0,va=0,ad=0,Cc=0,$d=0,ld=0,zA=0,cd=0,gd=0,mc=0,Bc=0,hd=0,fd=0,gn=0,ud=0,dd=0,hn=0,Id=0,pc=0,Ed=0,Cd=0,ds=0,Qc=0,md=0,yc=0,Bd=0,ir=0,Sa=0,pd=0,wc=0,kc=0,Qd=0,yd=0,vc=0,wd=0,kd=0,vd=0,Sc=0,Sd=0,Is=0,Dd=0,fn=0,bd=0,_d=0,Da=0,Rd=0,ba=0,_a=0,xd=0,Dc=0,bc=0,Ld=0,_c=0,Rc=0,xc=0,Fd=0,Lc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Oc=0,Pc=0,Hc=0,qc=0,Od=0,Pd=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,Yc=0,xa=0,zd=0,Zd=0,Wd=0,Jc=0,Kc=0,jd=0,Vc=0,La=0,ZA=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,WA=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,fI=0,jA=0,jc=0,uI=0,dI=0,un=0,Xc=0,eg=0,Fa=0,II=0,tg=0,EI=0,ig=0,rg=0,CI=0,mI=0,BI=0,pI=0,QI=0,XA=0,Ma=0,yI=0,wI=0,kI=0,vI=0,ng=0,SI=0,sg=0,DI=0,bI=0,Ag=0,vr=0,og=0,ag=0,_I=0,$g=0,eo=0,RI=0,xI=0,LI=0,to=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ta=0,io=0,GI=0,UI=0,OI=0,gg=0,hg=0,fg=0,PI=0,HI=0,Es=0,qI=0,ug=0,YI=0,Na=0,dg=0,JI=0,KI=0,VI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,ro=0,jI=0,XI=0,eE=0,Cs=0,Cg=0,mg=0,tE=0,Bg=0,pg=0,yi=0,Qg=0,rr=0,iE=0,rE=0,nE=0,sE=0,Ga=0,no=0,yg=0,wg=0,AE=0,so=0,ms=0,oE=0,Ao=0,Ua=0,aE=0,Oa=0,$E=0,lE=0,kg=0,oo=0,vg=0,cE=0,gE=0,hE=0,fE=0,Sg=0,uE=0,j7=0,y4=0,Xt=0,dE=0,Dg=0,bg=0,Pa=0,IE=0,Sr=0,Bs=0,EE=0,CE=0,_g=0,Ha=0,mE=0,Rg=0,xg=0,Lg=0,qa=0,Ya=0,Fg=0,ps=0,Ja=0,Mg=0,BE=0,dn=0,pE=0,Tg=0,ao=0,QE=0,Ng=0,wi=0,yE=0,wE=0,kE=0,vE=0,SE=0,DE=0,ki=0,bE=0,_E=0,RE=0,Gg=0,ui=0,$o=0,Ka=0,Ug=0,Og=0,xE=0,Pg=0,Hg=0,LE=0,FE=0,qg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,Qs=0,lo=0,co=0,GE=0,Va=0,UE=0,OE=0,Kg=0,ys=0,PE=0,HE=0,za=0,Za=0,go=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ws=0,sr=0,In=0,qE=0,Ar=0,En=0,YE=0,bt=0,_t=0,Rt=0,ho=0,fo=0,Vg=0,zg=0,uo=0,t$=0,xt=0,Io=0,_r=0,i$=0,JE=0,r$=0,KE=0,n$=0,Zg=0,Eo=0,VE=0,zE=0,Co=0,ZE=0,mo=0,Cn=0,Ke=0,v4=0,Wg=0,WE=0,s$=0,jg=0,jE=0,XE=0,Bo=0,eC=0,tC=0,iC=0,rC=0,Xg=0,nC=0,sC=0,AC=0,ei=0,po=0,mn=0,A$=0,ks=0,vs=0,X7=0,Ss=0,eh=0,th=0,Qo=0,Ds=0,bs=0,_s=0,oC=0,Rs=0,or=0,ih=0,Rr=0,ti=0,o$=0,a$=0,Hi=0,$$=0,l$=0,c$=0,xr=0,o6=0,yo=0,Lr=0,rh=0,ye=0,g$=0,B8=0,xs=0,Bn=0,pn=0,F9=0,Qn=0,Fr=0,J4=0,h$=0,CB=0,aC=0,im=0,rm=0,mB=0,$C=0,xQ=0,LQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,OQ=0,PQ=0,HQ=0,qQ=0,BB=0,pB=0,YQ=0,JQ=0,KQ=0,nh=0,nm=0,di=0,sh=0,Ah=0,oh=0,ah=0,lC=0,cC=0,gC=0,hC=0,fC=0,uC=0,dC=0,IC=0,EC=0,CC=0,sm=0,wo=0,ar=0,f$=0,$h=0,u$=0,QB=0,ko=0,mC=0,d$=0,Am=0,om=0,BC=0,am=0,$m=0,lm=0,cm=0,gm=0,hm=0,fm=0,yB=0,wB=0,kB=0,vB=0,SB=0,vo=0,So=0,Do=0,bo=0,VQ=0,$r=0,t4=0,BD=0,_o=0,um=0;if(BD=m,l0=t+28|0,j=e[l0>>2]|0,j8=(j|0)==0,j8||(At=j+3456|0,ls=e[At>>2]|0,_l=(ls|0)==0,n=_l&1,gs=j+3496|0,_c=+o1[gs>>3],gg=_c>-80,gg?o1[gs>>3]=-80:(FE=_c<-200,FE&&(o1[gs>>3]=-200)),$0=j+3512|0,V2=+o1[$0>>3],s3=V2>0,s3?o1[$0>>3]=0:(m4=V2<-99999,m4&&(o1[$0>>3]=-99999)),Te=j+3396|0,b6=e[Te>>2]|0,F4=(b6|0)==0,F4))return C=-131,C|0;if(be=j+3392|0,e[be>>2]=1,_e=j+3400|0,Z8=+o1[_e>>3],f8=b6+24|0,S7=e[f8>>2]|0,ce=b6+28|0,Le=e[ce>>2]|0,ie=~~Z8,J8=S7+(ie<<2)|0,N7=e[J8>>2]|0,K8=Le+(ie<<2)|0,dt=e[K8>>2]|0,e[j>>2]=N7,Bt=j+4|0,e[Bt>>2]=dt,U7=(N7|0)==(dt|0),W7=b6+144|0,d7=e[W7>>2]|0,iA=(d7|0)>0,iA){for(aA=b6+136|0,gA=b6+140|0,jn=b6+148|0,Zi=Z8,kr=j,sm=0;;){if(pA=~~Zi,as=e[aA>>2]|0,Pi=e[gA>>2]|0,$t=e[jn>>2]|0,Uh=$t+(sm<<2)|0,Hh=e[Uh>>2]|0,wr=r4(1,1120)|0,al=Hh+(pA<<2)|0,hl=e[al>>2]|0,gf=Pi+(hl*1120|0)|0,n4(wr|0,gf|0,1120)|0,Aa=e[wr>>2]|0,Bf=(Aa|0)>0,Bf){for(Rl=wr+4|0,nm=0,fm=-1;;)if(Ca=Rl+(nm<<2)|0,rc=e[Ca>>2]|0,mu=(rc|0)>(fm|0),t0=mu?rc:fm,lc=nm+1|0,HQ=(lc|0)==(Aa|0),HQ){J=t0;break}else nm=lc,fm=t0;if(Rf=(J|0)<0,!Rf){for(Gf=wr+256|0,$n=kr+24|0,jf=wr+192|0,nu=wr+320|0,u$=0,lm=-1;;){if(kc=Gf+(u$<<2)|0,fn=e[kc>>2]|0,Rc=(fn|0)>(lm|0),z=Rc?fn:lm,Gc=e[$n>>2]|0,Hd=Gc+fn|0,e[kc>>2]=Hd,Jc=jf+(u$<<2)|0,Zc=e[Jc>>2]|0,cI=(Zc|0)==31,cI)cm=z;else for(Q9=Zc,am=0,hm=z;;)if(Fa=(nu+(u$<<5)|0)+(am<<2)|0,XA=e[Fa>>2]|0,Ag=(XA|0)>(hm|0),Y=Ag?XA:hm,lg=(XA|0)>-1,lg?(hg=e[$n>>2]|0,KI=hg+XA|0,e[Fa>>2]=KI,e0=e[Jc>>2]|0,Ua=e0):Ua=Q9,Cs=am+1|0,nE=1<>2]|0,ju=e[Ku>>2]|0,Ec=e[$n>>2]|0,gd=Ec+1|0,e[$n>>2]=gd,Ed=(kr+1824|0)+(Ec<<2)|0,e[Ed>>2]=ju,GQ=(gm|0)==0,!GQ))for(QB=0;Ya=QB+1|0,Z=e[al>>2]|0,Ng=as+(Z<<2)|0,RE=e[Ng>>2]|0,qg=RE+(Ya<<2)|0,UE=e[qg>>2]|0,nr=e[$n>>2]|0,YE=nr+1|0,e[$n>>2]=YE,Io=(kr+1824|0)+(nr<<2)|0,e[Io>>2]=UE,NQ=(Ya|0)==(gm|0),!NQ;)QB=Ya}}if(Co=kr+16|0,XE=e[Co>>2]|0,po=(kr+800|0)+(XE<<2)|0,e[po>>2]=1,bs=e[Co>>2]|0,$$=(kr+1056|0)+(bs<<2)|0,e[$$>>2]=wr,g0=e[Co>>2]|0,b0=g0+1|0,e[Co>>2]=b0,J0=sm+1|0,c1=e[W7>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+o1[_e>>3],r0=e[l0>>2]|0,Zi=W,kr=r0,sm=J0}c0=e[l0>>2]|0,Z5=c0}else Z5=j;L1=j+3520|0,q1=+o1[L1>>3],A2=b6+124|0,e2=e[A2>>2]|0,q2=b6+128|0,f5=e[q2>>2]|0,L5=~~q1,v5=+(L5|0),t5=q1-v5,K5=Z5+2868|0,U5=f5+(L5<<3)|0,k3=+o1[U5>>3],w6=~~k3,X3=e2+(w6*492|0)|0,n4(K5|0,X3|0,492)|0,A6=+o1[U5>>3],Z6=1-t5,F6=A6*Z6,M6=L5+1|0,P6=f5+(M6<<3)|0,D4=+o1[P6>>3],b4=D4*t5,x4=b4+F6,T4=~~x4,W4=+(T4|0),N4=x4-W4,U9=N4==0,G4=(T4|0)>0,yB=G4&U9,I=yB?1:N4,o4=yB<<31>>31,L=o4+T4|0,L4=1-I,h4=L+1|0,Ie=(e2+(L*492|0)|0)+4|0,H9=+s[Ie>>2],E9=H9,Ee=L4*E9,We=(e2+(h4*492|0)|0)+4|0,U4=+s[We>>2],Ne=U4,O4=I*Ne,j4=Ee+O4,Se=j4,je=Z5+2872|0,s[je>>2]=Se,Z9=(e2+(L*492|0)|0)+32|0,Ae=+s[Z9>>2],f4=Ae,P4=L4*f4,L9=(e2+(h4*492|0)|0)+32|0,a4=+s[L9>>2],_4=a4,oe=I*_4,W9=P4+oe,ae=W9,$e=Z5+2900|0,s[$e>>2]=ae,B4=(e2+(L*492|0)|0)+8|0,X4=+s[B4>>2],le=X4,C9=L4*le,c6=(e2+(h4*492|0)|0)+8|0,Ge=+s[c6>>2],$4=Ge,Ce=I*$4,p4=C9+Ce,l4=p4,U6=Z5+2876|0,s[U6>>2]=l4,De=(e2+(L*492|0)|0)+36|0,Xe=+s[De>>2],c4=Xe,k4=L4*c4,g8=(e2+(h4*492|0)|0)+36|0,q3=+s[g8>>2],y9=q3,m9=y9*I,M4=m9+k4,ee=M4,$7=Z5+2904|0,s[$7>>2]=ee,l7=(e2+(L*492|0)|0)+12|0,w7=+s[l7>>2],V8=w7,c7=V8*L4,g7=(e2+(h4*492|0)|0)+12|0,L8=+s[g7>>2],F8=L8,M8=F8*I,T8=M8+c7,z8=T8,k7=Z5+2880|0,s[k7>>2]=z8,N8=(e2+(L*492|0)|0)+40|0,G8=+s[N8>>2],U8=G8,w8=U8*L4,k8=(e2+(h4*492|0)|0)+40|0,h8=+s[k8>>2],O8=h8,P8=O8*I,W8=P8+w8,Ue=W8,Re=Z5+2908|0,s[Re>>2]=Ue,e8=(e2+(L*492|0)|0)+16|0,v8=+s[e8>>2],w9=v8,h7=w9*L4,me=(e2+(h4*492|0)|0)+16|0,f7=+s[me>>2],v7=f7,X8=v7*I,te=X8+h7,e7=te,H8=Z5+2884|0,s[H8>>2]=e7,S8=(e2+(L*492|0)|0)+44|0,t8=+s[S8>>2],H4=t8,xe=H4*L4,i8=(e2+(h4*492|0)|0)+44|0,u8=+s[i8>>2],D8=u8,j9=D8*I,r8=j9+xe,d8=r8,n8=Z5+2912|0,s[n8>>2]=d8,I8=Z5+3512|0,ge=+o1[I8>>3],Be=ge,Oe=Z5+2936|0,s[Oe>>2]=Be,Pe=b6+132|0,X9=e[Pe>>2]|0,he=j+3472|0,s8=+o1[he>>3],pe=s8,Q4=~~pe,E8=+(Q4|0),t7=pe-E8,q4=t7,I3=e[l0>>2]|0,He=(X9|0)==0;e:do if(He)C8=I3+4|0,q9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=q9,b9=e[C8>>2]|0,qe=I3+3300|0,e[qe>>2]=b9,q8=I3+3244|0,e[q8>>2]=q9,u7=I3+3304|0,e[u7>>2]=b9,i7=I3+3248|0,e[i7>>2]=q9,r7=I3+3308|0,e[r7>>2]=b9,Y8=I3+3252|0,e[Y8>>2]=q9,n7=I3+3312|0,e[n7>>2]=b9,A8=I3+3256|0,e[A8>>2]=q9,o8=I3+3316|0,e[o8>>2]=b9,b8=I3+3260|0,e[b8>>2]=q9,Y4=I3+3320|0,e[Y4>>2]=b9,s7=I3+3264|0,e[s7>>2]=q9,_8=I3+3324|0,e[_8>>2]=b9,Ye=I3+3268|0,e[Ye>>2]=q9,B9=I3+3328|0,e[B9>>2]=b9,A7=I3+3272|0,e[A7>>2]=q9,Je=I3+3332|0,e[Je>>2]=b9,q7=I3+3276|0,e[q7>>2]=q9,D7=I3+3336|0,e[D7>>2]=b9,o7=I3+3280|0,e[o7>>2]=q9,b7=I3+3340|0,e[b7>>2]=b9,ne=I3+3284|0,e[ne>>2]=q9,G7=I3+3344|0,e[G7>>2]=b9,Y7=I3+3288|0,e[Y7>>2]=q9,a8=I3+3348|0,e[a8>>2]=b9,R8=I3+3292|0,e[R8>>2]=q9,_7=I3+3352|0,e[_7>>2]=b9,Fe=I3+3296|0,e[Fe>>2]=q9,fe=I3+3356|0,e[fe>>2]=b9;else{e4=I3+3120|0,R7=X9+(Q4*240|0)|0,$r=e4,_o=R7,um=$r+60|0;do e[$r>>2]=e[_o>>2]|0,$r=$r+4|0,_o=_o+4|0;while(($r|0)<(um|0));it=I3+3180|0,Nt=(X9+(Q4*240|0)|0)+60|0,$r=it,_o=Nt,um=$r+60|0;do e[$r>>2]=e[_o>>2]|0,$r=$r+4|0,_o=_o+4|0;while(($r|0)<(um|0));if(Gt=j+3420|0,Ut=e[Gt>>2]|0,ut=(Ut|0)==0,!ut)for(J7=1-q4,K7=Q4+1|0,It=t+8|0,V7=I3+4|0,X=e[It>>2]|0,Et=+(X|0),ar=0;;){if(rt=((X9+(Q4*240|0)|0)+120|0)+(ar<<2)|0,ni=+s[rt>>2],Ot=ni,Ct=Ot*J7,mt=((X9+(K7*240|0)|0)+120|0)+(ar<<2)|0,si=+s[mt>>2],nt=si,Ai=nt*q4,Pt=Ai+Ct,Ht=Pt,qt=Ht,Yt=qt*1e3,st=Yt/Et,pt=e[I3>>2]|0,Jt=+(pt|0),z7=Jt*st,Z7=~~z7,oi=(I3+3e3|0)+(ar<<2)|0,e[oi>>2]=Z7,Kt=e[V7>>2]|0,ai=+(Kt|0),Qt=ai*st,Vt=~~Qt,yt=(I3+3060|0)+(ar<<2)|0,e[yt>>2]=Vt,wt=~~Ht,zt=(I3+2940|0)+(ar<<2)|0,e[zt>>2]=wt,kt=((X9+(Q4*240|0)|0)+180|0)+(ar<<2)|0,vt=+s[kt>>2],Zt=vt,ot=Zt*J7,O7=((X9+(K7*240|0)|0)+180|0)+(ar<<2)|0,St=+s[O7>>2],Qe=St,Dt=Qe*q4,x7=Dt+ot,at=x7,i9=at,m8=i9*1e3,I7=m8/Et,L7=e[I3>>2]|0,Yr=+(L7|0),dr=Yr*I7,Xs=~~dr,Un=(I3+3240|0)+(ar<<2)|0,e[Un>>2]=Xs,eA=e[V7>>2]|0,On=+(eA|0),tA=On*I7,Pn=~~tA,rA=(I3+3300|0)+(ar<<2)|0,e[rA>>2]=Pn,Jr=ar+1|0,OQ=(Jr|0)==15,OQ)break e;ar=Jr}for(nA=(X9+(Q4*240|0)|0)+148|0,sA=+s[nA>>2],AA=sA,Hn=1-q4,oA=AA*Hn,qn=Q4+1|0,Yn=(X9+(qn*240|0)|0)+148|0,Kr=+s[Yn>>2],Jn=Kr,Vr=Jn*q4,Kn=Vr+oA,Vn=Kn,$A=Vn,lA=$A*1e3,cA=t+8|0,zr=I3+4|0,zn=~~Vn,a0=e[cA>>2]|0,Ir=+(a0|0),Zr=lA/Ir,$h=0;hA=e[I3>>2]|0,fA=+(hA|0),Wr=fA*Zr,$i=~~Wr,Zn=(I3+3e3|0)+($h<<2)|0,e[Zn>>2]=$i,uA=e[zr>>2]|0,dA=+(uA|0),Wn=dA*Zr,Xn=~~Wn,IA=(I3+3060|0)+($h<<2)|0,e[IA>>2]=Xn,li=(I3+2940|0)+($h<<2)|0,e[li>>2]=zn,jr=$h+1|0,qQ=(jr|0)==15,!qQ;)$h=jr;for(EA=(X9+(Q4*240|0)|0)+208|0,es=+s[EA>>2],CA=es,mA=CA*Hn,BA=(X9+(qn*240|0)|0)+208|0,ts=+s[BA>>2],QA=ts,yA=QA*q4,wA=yA+mA,is=wA,kA=is,vA=kA*1e3,Xr=vA/Ir,mC=0;Er=e[I3>>2]|0,en=+(Er|0),SA=en*Xr,DA=~~SA,rs=(I3+3240|0)+(mC<<2)|0,e[rs>>2]=DA,tn=e[zr>>2]|0,ns=+(tn|0),rn=ns*Xr,bA=~~rn,ss=(I3+3300|0)+(mC<<2)|0,e[ss>>2]=bA,As=mC+1|0,UQ=(As|0)==15,!UQ;)mC=As}while(!1);for(_A=+o1[_e>>3],os=b6+92|0,RA=e[os>>2]|0,Cr=b6+100|0,$s=e[Cr>>2]|0,ci=b6+108|0,nn=e[ci>>2]|0,mr=e[l0>>2]|0,Wi=mr+2852|0,Br=e[Wi>>2]|0,Oi=~~_A,pr=mr+28|0,Bi=e[pr>>2]|0,pi=(Bi|0)>0,pi||(e[pr>>2]=1),Wt=(Br|0)==0,Wt?(Qi=r4(1,520)|0,e[Wi>>2]=Qi,vo=Qi):vo=Br,n4(vo|0,25784,520)|0,e[vo>>2]=0,Qr=mr+3460|0,ji=e[Qr>>2]|0,Xi=(ji|0)==0,Xi||(yr=vo+500|0,e[yr>>2]=1,gi=RA+(Oi<<2)|0,xA=e[gi>>2]|0,el=vo+504|0,e[el>>2]=xA,sn=$s+(Oi<<2)|0,An=e[sn>>2]|0,Th=vo+508|0,e[Th>>2]=An,tl=nn+(Oi<<3)|0,LA=+o1[tl>>3],Nh=vo+512|0,o1[Nh>>3]=LA),jo=+o1[_e>>3],il=e[os>>2]|0,Gh=e[Cr>>2]|0,Oh=e[ci>>2]|0,Xo=e[l0>>2]|0,rl=Xo+2856|0,nl=e[rl>>2]|0,ea=~~jo,on=Xo+28|0,sl=e[on>>2]|0,Ph=(sl|0)>1,Ph||(e[on>>2]=2),FA=(nl|0)==0,FA?(er=r4(1,520)|0,e[rl>>2]=er,So=er):So=nl,n4(So|0,25784,520)|0,e[So>>2]=0,qh=Xo+3460|0,Yh=e[qh>>2]|0,Jh=(Yh|0)==0,Jh||(Kh=So+500|0,e[Kh>>2]=1,Vh=il+(ea<<2)|0,zh=e[Vh>>2]|0,Zh=So+504|0,e[Zh>>2]=zh,Wh=Gh+(ea<<2)|0,jh=e[Wh>>2]|0,Al=So+508|0,e[Al>>2]=jh,Xh=Oh+(ea<<3)|0,ef=+o1[Xh>>3],ol=So+512|0,o1[ol>>3]=ef),U7||(tf=+o1[_e>>3],ta=b6+96|0,MA=e[ta>>2]|0,ia=b6+104|0,rf=e[ia>>2]|0,nf=e[ci>>2]|0,ra=e[l0>>2]|0,$l=ra+2860|0,ll=e[$l>>2]|0,na=~~tf,cl=ra+28|0,TA=e[cl>>2]|0,sf=(TA|0)>2,sf||(e[cl>>2]=3),Af=(ll|0)==0,Af?(gl=r4(1,520)|0,e[$l>>2]=gl,Do=gl):Do=ll,n4(Do|0,25784,520)|0,e[Do>>2]=1,of=ra+3460|0,af=e[of>>2]|0,$f=(af|0)==0,$f||(lf=Do+500|0,e[lf>>2]=1,fl=MA+(na<<2)|0,ul=e[fl>>2]|0,dl=Do+504|0,e[dl>>2]=ul,Il=rf+(na<<2)|0,El=e[Il>>2]|0,an=Do+508|0,e[an>>2]=El,cf=nf+(na<<3)|0,Cl=+o1[cf>>3],ml=Do+512|0,o1[ml>>3]=Cl),Bl=+o1[_e>>3],hf=e[ta>>2]|0,ff=e[ia>>2]|0,uf=e[ci>>2]|0,sa=e[l0>>2]|0,pl=sa+2864|0,Ql=e[pl>>2]|0,cs=~~Bl,yl=sa+28|0,df=e[yl>>2]|0,wl=(df|0)>3,wl||(e[yl>>2]=4),If=(Ql|0)==0,If?(kl=r4(1,520)|0,e[pl>>2]=kl,bo=kl):bo=Ql,n4(bo|0,25784,520)|0,e[bo>>2]=1,Ef=sa+3460|0,Cf=e[Ef>>2]|0,vl=(Cf|0)==0,vl||(Sl=bo+500|0,e[Sl>>2]=1,mf=hf+(cs<<2)|0,NA=e[mf>>2]|0,oa=bo+504|0,e[oa>>2]=NA,Dl=ff+(cs<<2)|0,bl=e[Dl>>2]|0,pf=bo+508|0,e[pf>>2]=bl,Qf=uf+(cs<<3)|0,yf=+o1[Qf>>3],wf=bo+512|0,o1[wf>>3]=yf)),kf=(j+3528|0)+(n<<5)|0,vf=+o1[kf>>3],GA=b6+32|0,xl=e[GA>>2]|0,UA=b6+36|0,Sf=e[UA>>2]|0,Ll=b6+44|0,Df=e[Ll>>2]|0,WC(t,vf,0,xl,Sf,Df),Fl=j+3560|0,bf=+o1[Fl>>3],_f=e[GA>>2]|0,Ml=e[UA>>2]|0,aa=b6+52|0,xf=e[aa>>2]|0,WC(t,bf,1,_f,Ml,xf),U7||(OA=j+3592|0,Lf=+o1[OA>>3],PA=e[GA>>2]|0,Ff=e[UA>>2]|0,$a=e[aa>>2]|0,WC(t,Lf,2,PA,Ff,$a),Mf=j+3624|0,Tf=+o1[Mf>>3],Nf=e[GA>>2]|0,Tl=e[UA>>2]|0,Uf=b6+48|0,Of=e[Uf>>2]|0,WC(t,Tf,3,Nf,Tl,Of)),Pf=((j+3528|0)+(n<<5)|0)+24|0,Nl=+o1[Pf>>3],Gl=b6+80|0,tr=e[Gl>>2]|0,Ul=b6+84|0,HA=e[Ul>>2]|0,la=~~Nl,ca=+(la|0),Ol=Nl-ca,ln=e[l0>>2]|0,Hf=ln+2852|0,Pl=e[Hf>>2]|0,qf=HA+(la<<3)|0,Yf=+o1[qf>>3],Jf=1-Ol,Kf=Yf*Jf,qA=la+1|0,ga=HA+(qA<<3)|0,Vf=+o1[ga>>3],zf=Vf*Ol,Hl=zf+Kf,ha=~~Hl,ql=+(ha|0),Yl=Hl-ql,Zf=Yl==0,Jl=(ha|0)>0,wB=Jl&Zf,a=wB?1:Yl,Wf=wB<<31>>31,F=Wf+ha|0,fa=1-a,Xf=F+1|0,sh=0;O9=(tr+(F*160|0)|0)+(sh<<2)|0,eu=e[O9>>2]|0,Kl=+(eu|0),tu=Kl*fa,iu=(tr+(Xf*160|0)|0)+(sh<<2)|0,ua=e[iu>>2]|0,ru=+(ua|0),da=ru*a,Vl=da+tu,su=Vl,zl=(Pl+336|0)+(sh<<2)|0,s[zl>>2]=su,Zl=sh+1|0,LQ=(Zl|0)==40,!LQ;)sh=Zl;for(Au=j+3584|0,Ia=+o1[Au>>3],Ea=~~Ia,Wl=+(Ea|0),jl=Ia-Wl,ou=ln+2856|0,Xl=e[ou>>2]|0,au=HA+(Ea<<3)|0,ec=+o1[au>>3],$u=1-jl,lu=ec*$u,cu=Ea+1|0,gu=HA+(cu<<3)|0,tc=+o1[gu>>3],ic=tc*jl,ma=ic+lu,YA=~~ma,hu=+(YA|0),nc=ma-hu,sc=nc==0,fu=(YA|0)>0,kB=fu&sc,c=kB?1:nc,uu=kB<<31>>31,M=uu+YA|0,du=1-c,Ac=M+1|0,Ah=0;Iu=(tr+(M*160|0)|0)+(Ah<<2)|0,Eu=e[Iu>>2]|0,Cu=+(Eu|0),Bu=Cu*du,pu=(tr+(Ac*160|0)|0)+(Ah<<2)|0,oc=e[pu>>2]|0,Qu=+(oc|0),ac=Qu*c,yu=ac+Bu,cn=yu,wu=(Xl+336|0)+(Ah<<2)|0,s[wu>>2]=cn,$c=Ah+1|0,FQ=($c|0)==40,!FQ;)Ah=$c;if(!U7){for(ku=j+3616|0,Ba=+o1[ku>>3],vu=b6+88|0,JA=e[vu>>2]|0,pa=~~Ba,Su=+(pa|0),Qa=Ba-Su,cc=ln+2860|0,Du=e[cc>>2]|0,bu=JA+(pa<<3)|0,_u=+o1[bu>>3],xu=1-Qa,gc=_u*xu,Lu=pa+1|0,Fu=JA+(Lu<<3)|0,Mu=+o1[Fu>>3],KA=Mu*Qa,hs=KA+gc,ya=~~hs,Tu=+(ya|0),wa=hs-Tu,Gu=wa==0,Uu=(ya|0)>0,vB=Uu&Gu,f=vB?1:wa,hc=vB<<31>>31,T=hc+ya|0,Ou=1-f,Pu=T+1|0,oh=0;Hu=(tr+(T*160|0)|0)+(oh<<2)|0,qu=e[Hu>>2]|0,Yu=+(qu|0),VA=Yu*Ou,Ju=(tr+(Pu*160|0)|0)+(oh<<2)|0,fc=e[Ju>>2]|0,Vu=+(fc|0),zu=Vu*f,Zu=zu+VA,Wu=Zu,hi=(Du+336|0)+(oh<<2)|0,s[hi>>2]=Wu,uc=oh+1|0,MQ=(uc|0)==40,!MQ;)oh=uc;for(fi=j+3648|0,dc=+o1[fi>>3],ka=~~dc,jt=+(ka|0),fs=dc-jt,Xu=ln+2864|0,ed=e[Xu>>2]|0,td=JA+(ka<<3)|0,id=+o1[td>>3],rd=1-fs,Ic=id*rd,nd=ka+1|0,sd=JA+(nd<<3)|0,Ad=+o1[sd>>3],od=Ad*fs,us=od+Ic,va=~~us,ad=+(va|0),Cc=us-ad,$d=Cc==0,ld=(va|0)>0,SB=ld&$d,E=SB?1:Cc,zA=SB<<31>>31,G=zA+va|0,cd=1-E,mc=G+1|0,ah=0;Bc=(tr+(G*160|0)|0)+(ah<<2)|0,hd=e[Bc>>2]|0,fd=+(hd|0),gn=fd*cd,ud=(tr+(mc*160|0)|0)+(ah<<2)|0,dd=e[ud>>2]|0,hn=+(dd|0),Id=hn*E,pc=Id+gn,Cd=pc,ds=(ed+336|0)+(ah<<2)|0,s[ds>>2]=Cd,Qc=ah+1|0,TQ=(Qc|0)==40,!TQ;)ah=Qc}for(md=((j+3528|0)+(n<<5)|0)+8|0,yc=+o1[md>>3],Bd=b6+40|0,ir=e[Bd>>2]|0,Sa=~~yc,pd=+(Sa|0),wc=yc-pd,Qd=ir+(Sa<<2)|0,yd=e[Qd>>2]|0,vc=+(yd|0),wd=1-wc,kd=vc*wd,vd=Sa+1|0,Sc=ir+(vd<<2)|0,Sd=e[Sc>>2]|0,Is=+(Sd|0),Dd=Is*wc,bd=Dd+kd,_d=bd,Da=Pl+32|0,s[Da>>2]=_d,Rd=j+3568|0,ba=+o1[Rd>>3],_a=~~ba,xd=+(_a|0),Dc=ba-xd,bc=ir+(_a<<2)|0,Ld=e[bc>>2]|0,xc=+(Ld|0),Fd=1-Dc,Lc=xc*Fd,Fc=_a+1|0,Md=ir+(Fc<<2)|0,Td=e[Md>>2]|0,Mc=+(Td|0),Tc=Mc*Dc,Nd=Tc+Lc,Nc=Nd,Gd=Xl+32|0,s[Gd>>2]=Nc,U7||(Ud=j+3600|0,Uc=+o1[Ud>>3],Ra=~~Uc,Oc=+(Ra|0),Pc=Uc-Oc,Hc=ln+2860|0,qc=e[Hc>>2]|0,Od=ir+(Ra<<2)|0,Pd=e[Od>>2]|0,qd=+(Pd|0),Yd=1-Pc,Jd=qd*Yd,Kd=Ra+1|0,Vd=ir+(Kd<<2)|0,Yc=e[Vd>>2]|0,xa=+(Yc|0),zd=xa*Pc,Zd=zd+Jd,Wd=Zd,Kc=qc+32|0,s[Kc>>2]=Wd,jd=j+3632|0,Vc=+o1[jd>>3],La=~~Vc,ZA=+(La|0),zc=Vc-ZA,Xd=ln+2864|0,eI=e[Xd>>2]|0,tI=ir+(La<<2)|0,iI=e[tI>>2]|0,WA=+(iI|0),rI=1-zc,nI=WA*rI,sI=La+1|0,AI=ir+(sI<<2)|0,oI=e[AI>>2]|0,aI=+(oI|0),$I=aI*zc,lI=$I+nI,Wc=lI,gI=eI+32|0,s[gI>>2]=Wc),hI=((j+3528|0)+(n<<5)|0)+16|0,fI=+o1[hI>>3],jA=b6+76|0,jc=e[jA>>2]|0,uI=b6+60|0,dI=e[uI>>2]|0,un=b6+56|0,Xc=e[un>>2]|0,_l?tg=0:(eg=j+3408|0,II=+o1[eg>>3],tg=II),jC(t,fI,0,jc,dI,Xc,tg),EI=j+3576|0,ig=+o1[EI>>3],rg=e[jA>>2]|0,CI=b6+64|0,mI=e[CI>>2]|0,BI=e[un>>2]|0,jC(t,ig,1,rg,mI,BI,0),U7?(Es=e[l0>>2]|0,qI=Es+2852|0,ug=e[qI>>2]|0,YI=Es+3496|0,Na=+o1[YI>>3],dg=Na,JI=ug+4|0,s[JI>>2]=dg,VI=Es+3504|0,zI=+o1[VI>>3],Ig=zI,ZI=ug+8|0,s[ZI>>2]=Ig,WI=Es+2856|0,Eg=e[WI>>2]|0,ro=Eg+4|0,s[ro>>2]=dg,jI=Eg+8|0,s[jI>>2]=Ig,rr=Es):(pI=j+3608|0,QI=+o1[pI>>3],Ma=e[jA>>2]|0,yI=b6+68|0,wI=e[yI>>2]|0,kI=e[un>>2]|0,jC(t,QI,2,Ma,wI,kI,0),vI=j+3640|0,ng=+o1[vI>>3],SI=e[jA>>2]|0,sg=b6+72|0,DI=e[sg>>2]|0,bI=e[un>>2]|0,jC(t,ng,3,SI,DI,bI,0),vr=e[l0>>2]|0,og=vr+2852|0,ag=e[og>>2]|0,_I=vr+3496|0,$g=+o1[_I>>3],eo=$g,RI=ag+4|0,s[RI>>2]=eo,xI=vr+3504|0,LI=+o1[xI>>3],to=LI,FI=ag+8|0,s[FI>>2]=to,MI=vr+2856|0,cg=e[MI>>2]|0,TI=cg+4|0,s[TI>>2]=eo,NI=cg+8|0,s[NI>>2]=to,Ta=vr+2860|0,io=e[Ta>>2]|0,GI=io+4|0,s[GI>>2]=eo,UI=io+8|0,s[UI>>2]=to,OI=vr+2864|0,fg=e[OI>>2]|0,PI=fg+4|0,s[PI>>2]=eo,HI=fg+8|0,s[HI>>2]=to,rr=vr),XI=+o1[_e>>3],eE=b6+152|0,Cg=e[eE>>2]|0,mg=~~XI,tE=Cg+(mg<<3)|0,Bg=e[tE>>2]|0,pg=(Cg+(mg<<3)|0)+4|0,yi=e[pg>>2]|0,Qg=e[rr>>2]|0,iE=rr+4|0,rE=e[iE>>2]|0,sE=(Qg|0)==(rE|0),o=sE?1:2,Ga=rr+8|0,no=rr+12|0,yg=t+8|0,wg=t+4|0,di=0;;){if(AE=r4(1,3208)|0,so=(rr+544|0)+(di<<2)|0,e[so>>2]=AE,ms=r4(1,16)|0,oE=(rr+32|0)+(di<<2)|0,e[oE>>2]=ms,Ao=26304+(di<<4)|0,e[ms>>2]=e[Ao>>2]|0,e[ms+4>>2]=e[Ao+4>>2]|0,e[ms+8>>2]=e[Ao+8>>2]|0,e[ms+12>>2]=e[Ao+12>>2]|0,aE=e[Ga>>2]|0,Oa=(di|0)<(aE|0),Oa||($E=di+1|0,e[Ga>>2]=$E),lE=(rr+288|0)+(di<<2)|0,e[lE>>2]=0,kg=e[so>>2]|0,oo=Bg+(di*3208|0)|0,n4(kg|0,oo|0,3208)|0,vg=e[no>>2]|0,cE=(di|0)<(vg|0),cE||(gE=di+1|0,e[no>>2]=gE),hE=e[oo>>2]|0,Sg=(hE|0)>0,Sg)for(om=0;;){uE=((Bg+(di*3208|0)|0)+1092|0)+(om<<2)|0,j7=e[uE>>2]|0,y4=e[l0>>2]|0,Xt=S9(2840)|0,dE=(y4+1568|0)+(j7<<2)|0,e[dE>>2]=Xt,Dg=(yi+(j7<<5)|0)+12|0,bg=e[Dg>>2]|0,n4(Xt|0,bg|0,2840)|0,Pa=y4+20|0,IE=e[Pa>>2]|0,Bs=(IE|0)>(j7|0),Bs||(EE=j7+1|0,e[Pa>>2]=EE),CE=(yi+(j7<<5)|0)+8|0,_g=e[CE>>2]|0,Ha=Xt+8|0,e[Ha>>2]=_g,mE=yi+(j7<<5)|0,Rg=e[mE>>2]|0,xg=(y4+1312|0)+(j7<<2)|0,e[xg>>2]=Rg,Lg=y4+3420|0,qa=e[Lg>>2]|0,Fg=(qa|0)==0,ps=Xt+12|0,Ja=e[ps>>2]|0,Mg=(Ja|0)>0;do if(Fg){if(Mg)for(Tg=(yi+(j7<<5)|0)+24|0,ao=e[Tg>>2]|0,QE=Xt+24|0,ko=0;;)if(Ar=QE+(ko<<2)|0,En=ao+(ko<<4)|0,bt=e[En>>2]|0,_t=(bt|0)==0,_t||(Rt=e[Ar>>2]|0,ho=Rt|1,e[Ar>>2]=ho),fo=(ao+(ko<<4)|0)+4|0,Vg=e[fo>>2]|0,zg=(Vg|0)==0,zg||(v2=e[Ar>>2]|0,E5=v2|2,e[Ar>>2]=E5),r5=(ao+(ko<<4)|0)+8|0,x2=e[r5>>2]|0,R2=(x2|0)==0,R2||(B2=e[Ar>>2]|0,C5=B2|4,e[Ar>>2]=C5),u5=(ao+(ko<<4)|0)+12|0,b5=e[u5>>2]|0,G5=(b5|0)==0,G5||(_5=e[Ar>>2]|0,H2=_5|8,e[Ar>>2]=H2),d5=ko+1|0,A5=e[ps>>2]|0,l5=(d5|0)<(A5|0),l5)ko=d5;else{mo=A5;break}else mo=Ja;uo=(yi+(j7<<5)|0)+16|0,t$=e[uo>>2]|0,xt=y4+24|0,_r=e[xt>>2]|0,i$=(_r|0)>0,JE=t$;e:do if(i$)for(CC=0;;){if(r$=(y4+1824|0)+(CC<<2)|0,KE=e[r$>>2]|0,n$=(KE|0)==(t$|0),n$){R=CC;break e}if(Zg=CC+1|0,Eo=(Zg|0)<(_r|0),Eo)CC=Zg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,VE=_r+1|0,e[xt>>2]=VE,R=_r),zE=Xt+20|0,e[zE>>2]=R,ZE=(y4+1824|0)+(R<<2)|0,e[ZE>>2]=JE,Cn=(mo|0)>0,!Cn)break;for(Ke=(yi+(j7<<5)|0)+24|0,v4=Xt+280|0,Fr=0,d$=0;;){if(Wg=e[Ke>>2]|0,WE=Wg+(d$<<4)|0,s$=e[WE>>2]|0,jg=(s$|0)==0,jE=s$,jg)ks=Wg,aC=Fr;else{Bo=e[xt>>2]|0,eC=(Bo|0)>0;e:do if(eC)for(fC=0;;){if(tC=(y4+1824|0)+(fC<<2)|0,iC=e[tC>>2]|0,rC=(iC|0)==(s$|0),rC){x=fC;break e}if(Xg=fC+1|0,nC=(Xg|0)<(Bo|0),nC)fC=Xg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,sC=Bo+1|0,e[xt>>2]=sC,x=Bo),AC=Fr+1|0,ei=v4+(Fr<<2)|0,e[ei>>2]=x,mn=(y4+1824|0)+(x<<2)|0,e[mn>>2]=jE,n0=e[Ke>>2]|0,ks=n0,aC=AC}if(A$=(ks+(d$<<4)|0)+4|0,vs=e[A$>>2]|0,X7=(vs|0)==0,Ss=vs,X7)E2=ks,J4=aC;else{K1=e[xt>>2]|0,P1=(K1|0)>0;e:do if(P1)for(cC=0;;){if(H1=(y4+1824|0)+(cC<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(vs|0),j1){D=cC;break e}if(r2=cC+1|0,W1=(r2|0)<(K1|0),W1)cC=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,O1=K1+1|0,e[xt>>2]=O1,D=K1),l2=aC+1|0,z1=v4+(aC<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=Ss,i0=e[Ke>>2]|0,E2=i0,J4=l2}if(s2=(E2+(d$<<4)|0)+8|0,V1=e[s2>>2]|0,g2=(V1|0)==0,a2=V1,g2)_2=E2,h$=J4;else{t2=e[xt>>2]|0,$2=(t2|0)>0;e:do if($2)for(gC=0;;){if(i2=(y4+1824|0)+(gC<<2)|0,o2=e[i2>>2]|0,X1=(o2|0)==(V1|0),X1){Q=gC;break e}if(n2=gC+1|0,u2=(n2|0)<(t2|0),u2)gC=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[xt>>2]=y2,Q=t2),S2=J4+1|0,w2=v4+(J4<<2)|0,e[w2>>2]=Q,m2=(y4+1824|0)+(Q<<2)|0,e[m2>>2]=a2,K=e[Ke>>2]|0,_2=K,h$=S2}if(M2=(_2+(d$<<4)|0)+12|0,N2=e[M2>>2]|0,d2=(N2|0)==0,J2=N2,d2)CB=h$;else{G2=e[xt>>2]|0,T2=(G2|0)>0;e:do if(T2)for(hC=0;;){if(O2=(y4+1824|0)+(hC<<2)|0,K2=e[O2>>2]|0,s5=(K2|0)==(N2|0),s5){_=hC;break e}if(P2=hC+1|0,T1=(P2|0)<(G2|0),T1)hC=P2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,j2=G2+1|0,e[xt>>2]=j2,_=G2),x5=h$+1|0,X2=v4+(h$<<2)|0,e[X2>>2]=_,D5=(y4+1824|0)+(_<<2)|0,e[D5>>2]=J2,CB=x5}if(k5=d$+1|0,O5=e[ps>>2]|0,$5=(k5|0)<(O5|0),$5)Fr=CB,d$=k5;else break}}else{if(Mg)for(BE=(yi+(j7<<5)|0)+28|0,dn=e[BE>>2]|0,pE=Xt+24|0,wo=0;;)if(wi=pE+(wo<<2)|0,yE=dn+(wo<<4)|0,wE=e[yE>>2]|0,kE=(wE|0)==0,kE||(vE=e[wi>>2]|0,SE=vE|1,e[wi>>2]=SE),DE=(dn+(wo<<4)|0)+4|0,ki=e[DE>>2]|0,bE=(ki|0)==0,bE||(n6=e[wi>>2]|0,t3=n6|2,e[wi>>2]=t3),A3=(dn+(wo<<4)|0)+8|0,x3=e[A3>>2]|0,h6=(x3|0)==0,h6||(p3=e[wi>>2]|0,Q3=p3|4,e[wi>>2]=Q3),i6=(dn+(wo<<4)|0)+12|0,W3=e[i6>>2]|0,U3=(W3|0)==0,U3||(z5=e[wi>>2]|0,v3=z5|8,e[wi>>2]=v3),c3=wo+1|0,O3=e[ps>>2]|0,$6=(c3|0)<(O3|0),$6)wo=c3;else{Jg=O3;break}else Jg=Ja;_E=(yi+(j7<<5)|0)+20|0,Gg=e[_E>>2]|0,ui=y4+24|0,$o=e[ui>>2]|0,Ka=($o|0)>0,Ug=Gg;e:do if(Ka)for(lC=0;;){if(Og=(y4+1824|0)+(lC<<2)|0,xE=e[Og>>2]|0,Pg=(xE|0)==(Gg|0),Pg){B=lC;break e}if(Hg=lC+1|0,LE=(Hg|0)<($o|0),LE)lC=Hg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Yg=$o+1|0,e[ui>>2]=Yg,B=$o),ME=Xt+20|0,e[ME>>2]=B,TE=(y4+1824|0)+(B<<2)|0,e[TE>>2]=Ug,NE=(Jg|0)>0,!NE)break;for(Qs=(yi+(j7<<5)|0)+28|0,lo=Xt+280|0,xs=0,f$=0;;){if(co=e[Qs>>2]|0,GE=co+(f$<<4)|0,Va=e[GE>>2]|0,OE=(Va|0)==0,Kg=Va,OE)ws=co,Qn=xs;else{ys=e[ui>>2]|0,PE=(ys|0)>0;e:do if(PE)for(EC=0;;){if(HE=(y4+1824|0)+(EC<<2)|0,za=e[HE>>2]|0,Za=(za|0)==(Va|0),Za){y=EC;break e}if(go=EC+1|0,Wa=(go|0)<(ys|0),Wa)EC=go;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,ja=ys+1|0,e[ui>>2]=ja,y=ys),Dr=xs+1|0,br=lo+(xs<<2)|0,e[br>>2]=y,Xa=(y4+1824|0)+(y<<2)|0,e[Xa>>2]=Kg,H=e[Qs>>2]|0,ws=H,Qn=Dr}if(e$=(ws+(f$<<4)|0)+4|0,sr=e[e$>>2]|0,In=(sr|0)==0,qE=sr,In)R5=ws,Bn=Qn;else{m5=e[ui>>2]|0,M1=(m5|0)>0;e:do if(M1)for(uC=0;;){if(c5=(y4+1824|0)+(uC<<2)|0,o5=e[c5>>2]|0,z2=(o5|0)==(sr|0),z2){v=uC;break e}if(c2=uC+1|0,B5=(c2|0)<(m5|0),B5)uC=c2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,e5=m5+1|0,e[ui>>2]=e5,v=m5),n5=Qn+1|0,g5=lo+(Qn<<2)|0,e[g5>>2]=v,Y2=(y4+1824|0)+(v<<2)|0,e[Y2>>2]=qE,V=e[Qs>>2]|0,R5=V,Bn=n5}if(h5=(R5+(f$<<4)|0)+8|0,W2=e[h5>>2]|0,a5=(W2|0)==0,L2=W2,a5)f3=R5,pn=Bn;else{p5=e[ui>>2]|0,H5=(p5|0)>0;e:do if(H5)for(dC=0;;){if(X5=(y4+1824|0)+(dC<<2)|0,I5=e[X5>>2]|0,u3=(I5|0)==(W2|0),u3){S=dC;break e}if(h3=dC+1|0,e3=(h3|0)<(p5|0),e3)dC=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=p5+1|0,e[ui>>2]=n3,S=p5),C3=Bn+1|0,F5=lo+(Bn<<2)|0,e[F5>>2]=S,V5=(y4+1824|0)+(S<<2)|0,e[V5>>2]=L2,o0=e[Qs>>2]|0,f3=o0,pn=C3}if(w3=(f3+(f$<<4)|0)+12|0,B3=e[w3>>2]|0,K3=(B3|0)==0,T3=B3,K3)F9=pn;else{y3=e[ui>>2]|0,j5=(y3|0)>0;e:do if(j5)for(IC=0;;){if(t6=(y4+1824|0)+(IC<<2)|0,R3=e[t6>>2]|0,N3=(R3|0)==(B3|0),N3){w=IC;break e}if(o3=IC+1|0,$3=(o3|0)<(y3|0),$3)IC=o3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,l3=y3+1|0,e[ui>>2]=l3,w=y3),m3=pn+1|0,q5=lo+(pn<<2)|0,e[q5>>2]=w,P5=(y4+1824|0)+(w<<2)|0,e[P5>>2]=T3,F9=m3}if(w5=f$+1|0,G3=e[ps>>2]|0,M5=(w5|0)<(G3|0),M5)xs=F9,f$=w5;else break}}while(!1);eh=y4+3480|0,th=+o1[eh>>3],Qo=th*1e3,Ds=(y4+1056|0)+(di<<2)|0,_s=e[Ds>>2]|0,oC=e[yg>>2]|0,Rs=+(oC|0),or=Rs*.5,ih=y4+(di<<2)|0,Rr=e[ih>>2]|0,ti=Rr>>1,o$=Qo>or,BB=o$?or:Qo,a$=BB/or,Hi=+(ti|0),l$=Hi*a$,c$=~~l$,xr=_s+1116|0,e[xr>>2]=c$,o6=(yi+(j7<<5)|0)+4|0,yo=e[o6>>2]|0;do if((yo|0)==2)nh=250;else if((yo|0)==1){if(Lr=e[Lg>>2]|0,rh=(Lr|0)==0,ye=y4+2996|0,g$=y4+2968|0,KQ=rh?g$:ye,JQ=e[KQ>>2]|0,YQ=+(JQ|0),pB=YQ*1e3,B8=pB>or,!B8){nh=pB;break}nh=or}else nh=BB;while(!1);u0=e[xg>>2]|0,p0=(u0|0)==2;do if(p0){if(I0=y4+12|0,w0=e[I0>>2]|0,f0=(w0|0)>0,f0)for(Am=0;;){if(E0=(y4+544|0)+(Am<<2)|0,C0=e[E0>>2]|0,d0=e[C0>>2]|0,v0=(d0|0)>0,v0)for(BC=0;;){K0=(C0+1092|0)+(BC<<2)|0,m0=e[K0>>2]|0,L0=(m0|0)==(j7|0);do if(L0){if(F0=e[wg>>2]|0,T0=(F0|0)>0,T0)mB=0,$m=0;else{$C=0;break}for(;;)if(U0=(C0+4|0)+($m<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)==(BC|0),x0=q0&1,P=x0+mB|0,D0=$m+1|0,xQ=(D0|0)==(F0|0),xQ){$C=P;break}else mB=P,$m=D0}else $C=0;while(!1);if(M0=BC+1|0,Y0=(M0|0)<(d0|0),O0=($C|0)==0,z0=Y0&O0,z0)BC=M0;else{rm=$C;break}}else rm=0;if(N0=Am+1|0,P0=(N0|0)<(w0|0),r1=(rm|0)==0,H0=P0&r1,H0)Am=N0;else{im=rm;break}}else im=0;if(e1=nh/or,S0=+(im|0),i1=S0*Hi,$1=i1*e1,f1=e[Ha>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=i5(a1,f1)|0,A1=Xt+4|0,e[A1>>2]=n1,Z0=i5(im,ti)|0,d1=(n1|0)>(Z0|0),!d1){U=A1,Z1=n1,D1=f1;break}E1=(Z0|0)%(f1|0)&-1,u1=Z0-E1|0,e[A1>>2]=u1,U=A1,Z1=u1,D1=f1}else{if(I1=nh/or,B1=I1*Hi,p1=e[Ha>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,y1=~~x1,S1=i5(y1,p1)|0,F1=Xt+4|0,e[F1>>2]=S1,G1=(S1|0)>(ti|0),!G1){U=F1,Z1=S1,D1=p1;break}w1=(ti|0)%(p1|0)&-1,U1=ti-w1|0,e[F1>>2]=U1,U=F1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),d3=om+1|0,k6=e[oo>>2]|0,v6=(d3|0)<(k6|0),v6)om=d3;else break}if(B6=di+1|0,j3=(B6|0)<(o|0),j3)di=B6;else break}return l6=j+3428|0,p6=e[l6>>2]|0,_6=(p6|0)>0,_6?(q6=t+16|0,e[q6>>2]=p6):(C6=e[l0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,f6=C6+3400|0,P3=+o1[f6>>3],D3=~~P3,H3=+(D3|0),V3=P3-H3,S6=e6+4|0,s6=e[S6>>2]|0,i3=(s6|0)==0,i3?p=-1:(O6=e[wg>>2]|0,u6=s6+(D3<<3)|0,b3=+o1[u6>>3],T6=1-V3,r6=b3*T6,Q6=D3+1|0,R6=s6+(Q6<<3)|0,J6=+o1[R6>>3],d6=J6*V3,Y6=d6+r6,L3=+(O6|0),N6=Y6*L3,VQ=~~N6,p=VQ),j6=t+16|0,e[j6>>2]=p),r9=j+3424|0,x6=e[r9>>2]|0,G6=t+20|0,e[G6>>2]=x6,D6=j+3440|0,K6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=K6,L6=(p6|0)==0,L6?s0=0:(F3=j+3444|0,X6=e[F3>>2]|0,A9=+(X6|0),W6=+(p6|0),h9=A9/W6,f9=~~h9,s0=f9),u9=t+24|0,e[u9>>2]=s0,o9=j+3420|0,a9=e[o9>>2]|0,T9=(a9|0)==0,T9?(C=0,C|0):(I6=e[l6>>2]|0,e9=j+3360|0,e[e9>>2]=I6,N9=e[r9>>2]|0,d9=j+3364|0,e[d9>>2]=N9,E4=e[D6>>2]|0,s4=j+3368|0,e[s4>>2]=E4,g4=j+3444|0,G9=e[g4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,D9=j+3448|0,I9=+o1[D9>>3],t9=j+3376|0,o1[t9>>3]=I9,C4=j+3432|0,S4=+o1[C4>>3],A4=j+3384|0,o1[A4>>3]=S4,C=0,C|0)}function KS(t,n,o,a){t=t|0,n=n|0,o=o|0,a=+a;var c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0;if(P=m,I=(o|0)<1,I)f=-131;else if(C=t+28|0,Q=e[C>>2]|0,_=a,x=_+1e-7,R=x,L=!(R>=1),E=L?R:.9998999834060669,F=Q+3416|0,s[F>>2]=E,M=E,T=Q+3400|0,p=VS(n,o,M,0,T)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return zS(t,n,o),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=JS(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 WC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0;for(B1=m,E=~~n,I=+(E|0),x=n-I,J=t+28|0,i0=e[J>>2]|0,I0=(i0+2852|0)+(o<<2)|0,F0=e[I0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),C=1-x,p=h1*C,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*x,D=y+p,Q=D,_=F0+12|0,s[_>>2]=Q,R=(a+(E*20|0)|0)+4|0,L=e[R>>2]|0,F=+(L|0),M=F*C,T=(a+(B*20|0)|0)+4|0,G=e[T>>2]|0,P=+(G|0),z=P*x,Y=z+M,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*C,a0=(a+(B*20|0)|0)+8|0,Z=e[a0>>2]|0,V=+(Z|0),o0=V*x,n0=o0+U,r0=n0,K=F0+20|0,s[K>>2]=r0,c0=(a+(E*20|0)|0)+12|0,s0=+s[c0>>2],l0=s0,j=l0*C,$0=(a+(B*20|0)|0)+12|0,g0=+s[$0>>2],u0=g0,p0=u0*x,w0=p0+j,f0=w0,E0=F0+24|0,s[E0>>2]=f0,C0=(a+(E*20|0)|0)+16|0,d0=+s[C0>>2],v0=d0,K0=v0*C,b0=(a+(B*20|0)|0)+16|0,m0=+s[b0>>2],L0=m0,T0=L0*x,U0=T0+K0,B0=U0,q0=F0+28|0,s[q0>>2]=B0,x0=c+(E<<2)|0,D0=e[x0>>2]|0,M0=+(D0|0),J0=M0*C,Y0=c+(B<<2)|0,O0=e[Y0>>2]|0,N0=+(O0|0),P0=N0*x,r1=P0+J0,H0=r1,e1=F0+496|0,s[e1>>2]=H0,u1=0;S0=(f+(E*68|0)|0)+(u1<<2)|0,i1=e[S0>>2]|0,c1=+(i1|0),$1=c1*C,f1=(f+(B*68|0)|0)+(u1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*x,n1=a1+$1,A1=n1,Z0=(F0+36|0)+(u1<<2)|0,s[Z0>>2]=A1,d1=u1+1|0,E1=(d1|0)==17,!E1;)u1=d1}function jC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;for(w2=m,w=~~n,y=+(w|0),a0=n-y,j=t+28|0,v0=e[j>>2]|0,D0=(v0+2852|0)+(o<<2)|0,S0=e[D0>>2]|0,Z0=a+(w<<2)|0,y1=e[Z0>>2]|0,P1=+(y1|0),D=1-a0,z=P1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*a0,H=e0+z,X=H,U=S0+108|0,s[U>>2]=X,Z=f+(o*12|0)|0,V=e[Z>>2]|0,o0=S0+120|0,e[o0>>2]=V,n0=(f+(o*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=S0+124|0,e[r0>>2]=i0,K=(f+(o*12|0)|0)+8|0,c0=e[K>>2]|0,s0=S0+128|0,e[s0>>2]=c0,t2=0;;)if(l0=(c+(w*204|0)|0)+(t2<<2)|0,$0=e[l0>>2]|0,g0=+($0|0),u0=g0*D,p0=(c+(Y*204|0)|0)+(t2<<2)|0,I0=e[p0>>2]|0,w0=+(I0|0),f0=w0*a0,E0=f0+u0,C0=E0,d0=(S0+132|0)+(t2<<2)|0,s[d0>>2]=C0,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,w1=e[G1>>2]|0,U1=+(w1|0),Z1=U1*a0,N1=Z1+F1,D1=N1,K1=(S0+200|0)+($2<<2)|0,s[K1>>2]=D1,H1=$2+1|0,g2=(H1|0)==17,g2){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,O1=e[W1>>2]|0,l2=+(O1|0),z1=l2*a0,f2=z1+r2,Q=f2,_=(S0+268|0)+(i2<<2)|0,s[_>>2]=Q,x=i2+1|0,a2=(x|0)==17,!a2;)i2=x;for(R=S0+132|0,L=+s[R>>2],B0=L+6,F=S0+132|0,M=L,T=M+E,G=T,P=G>2]=y2,b0=1;I=(S0+132|0)+(b0<<2)|0,B=+s[I>>2],m0=(S0+132|0)+(b0<<2)|0,L0=B,F0=L0+E,T0=F0,U0=T0>2]=o2,q0=b0+1|0,s2=(q0|0)==17,!s2;)b0=q0;for(x0=S0+200|0,M0=+s[x0>>2],J0=M0+6,Y0=S0+200|0,O0=M0,z0=O0+E,N0=z0,P0=N0>2]=n2,r1=1;C=(S0+200|0)+(r1<<2)|0,v=+s[C>>2],H0=(S0+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=S0+268|0,l1=+s[g1>>2],s1=l1+6,a1=S0+268|0,n1=l1,A1=n1+E,d1=A1,h1=d1>2]=e2,E1=1;p=(S0+268|0)+(E1<<2)|0,S=+s[p>>2],u1=(S0+268|0)+(E1<<2)|0,I1=S,B1=I1+E,p1=B1,Q1=p1>2]=u2,R1=E1+1|0,A2=(R1|0)==17,!A2;)E1=R1}function VS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0;Q1=m,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,a0=(U|0)==-1,V=(U|0)==(t|0),u1=a0|V,u1&&(o0=e0+16|0,n0=e[o0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,K=e[r0>>2]|0,c0=(K|0)<(n|0),!c0&&(s0=e[e0>>2]|0,l0=e0+8|0,j=e[l0>>2]|0,g0=+o1[j>>3],u0=g0>o,!u0&&(w0=j+(s0<<3)|0,f0=+o1[w0>>3],E0=f0>2]|0,K0=Z+12|0,M0=e[K0>>2]|0,i1=(M0|0)==-1,s1=(M0|0)==(t|0),I1=i1|s1,I1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,x=e[_>>2]|0,R=(x|0)<(n|0),!R&&(L=e[Z>>2]|0,F=Z+4|0,M=e[F>>2]|0,T=+o1[M>>3],G=P>3],t0=P>Y,!t0))))){E=P,I=L,C=$0,p=M,l1=T;break e}if(A1=d1+1|0,J=26336+(A1<<2)|0,W=(A1|0)==17,W){f=0;break}else $0=J,d1=A1}return f|0}while(!1);C0=(I|0)>0;e:do if(C0)for(v0=l1,E1=0;;){if(d0=!(E>=v0),S=E1+1|0,!d0&&(b0=p+(S<<3)|0,m0=+o1[b0>>3],L0=E>3],v0=v,E1=S}else h1=0;while(!1);return T0=(h1|0)==(I|0),T0?(U0=+(I|0),B0=U0+-.001,B1=B0):(q0=p+(h1<<3)|0,x0=+o1[q0>>3],D0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,O0=+o1[Y0>>3],z0=O0,N0=D0,P0=E-N0,r1=z0-D0,H0=r1,e1=P0/H0,S0=e1,c1=+(h1|0),$1=S0+c1,f1=$1,B1=f1),o1[c>>3]=B1,g1=e[C>>2]|0,f=g1,f|0}function zS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0;S0=m,I=t+28|0,C=e[I>>2]|0,R=C+3396|0,W=e[R>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,w0=t+8|0,e[w0>>2]=o,T0=C+3456|0,e[T0>>2]=1,N0=C+3460|0,e[N0>>2]=1,r1=C+3400|0,H0=+o1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=C+3472|0,o1[S>>3]=H0,w=C+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,x=_+(p<<3)|0,L=+o1[x>>3],F=1-v,M=L*F,T=p+1|0,G=_+(T<<3)|0,P=+o1[G>>3],z=P*v,Y=z+M,t0=C+3480|0,o1[t0>>3]=Y,c=T,f=F):(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),a0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,o0=+(V|0),n0=o0*v,i0=n0+a0,K=C+3496|0,o1[K>>3]=i0,c0=W+116|0,s0=e[c0>>2]|0,l0=s0+(p<<2)|0,j=e[l0>>2]|0,$0=+(j|0),g0=$0*f,u0=s0+(c<<2)|0,p0=e[u0>>2]|0,I0=+(p0|0),f0=I0*v,E0=f0+g0,C0=C+3504|0,o1[C0>>3]=E0,d0=C+3512|0,o1[d0>>3]=-6,v0=C+3520|0,o1[v0>>3]=H0,K0=C+3528|0,o1[K0>>3]=H0,b0=C+3536|0,o1[b0>>3]=H0,m0=C+3544|0,o1[m0>>3]=H0,L0=C+3552|0,o1[L0>>3]=H0,F0=C+3560|0,o1[F0>>3]=H0,U0=C+3568|0,o1[U0>>3]=H0,B0=C+3576|0,o1[B0>>3]=H0,q0=C+3584|0,o1[q0>>3]=H0,x0=C+3592|0,o1[x0>>3]=H0,D0=C+3600|0,o1[D0>>3]=H0,M0=C+3608|0,o1[M0>>3]=H0,J0=C+3616|0,o1[J0>>3]=H0,Y0=C+3624|0,o1[Y0>>3]=H0,O0=C+3632|0,o1[O0>>3]=H0,z0=C+3640|0,o1[z0>>3]=H0,P0=C+3648|0,o1[P0>>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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=(c|0)!=0,C=I?a:0,R=I?f:0,W=n+(C<<2)|0,r0=e[W>>2]|0,w0=520336+(r0<<2)|0,v0=e[w0>>2]|0,K0=n+(R<<2)|0,b0=e[K0>>2]|0,m0=520336+(b0<<2)|0,p=e[m0>>2]|0,B=o+(c<<2)|0,v=e[B>>2]|0,S=o+(C<<2)|0,w=e[S>>2]|0,y=o+(R<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,x=Q-_|0,L=(w|0)/2&-1,F=x+L|0,M=(v|0)/2&-1,T=M+Q|0,E=(D|0)/-4&-1,G=T+E|0,P=(D|0)/2&-1,z=G+P|0,Y=(x|0)>0,Y?(t0=Q-_|0,J=t0<<2,se(t|0,0,J|0)|0,F0=x):F0=0,e0=(F0|0)<(F|0),e0)for(H=Q+L|0,X=H-F0|0,U=X-_|0,T0=F0,q0=0;o0=v0+(q0<<2)|0,n0=+s[o0>>2],i0=t+(T0<<2)|0,K=+s[i0>>2],c0=K*n0,s[i0>>2]=c0,s0=T0+1|0,l0=q0+1|0,L0=(l0|0)==(U|0),!L0;)T0=s0,q0=l0;if(a0=(D|0)>1,a0){for(Z=G+1|0,V=(z|0)>(Z|0),B0=G,D0=P;x0=D0+-1|0,u0=p+(x0<<2)|0,p0=+s[u0>>2],I0=t+(B0<<2)|0,f0=+s[I0>>2],E0=f0*p0,s[I0>>2]=E0,C0=B0+1|0,d0=(C0|0)<(z|0),d0;)B0=C0,D0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(M0=t+(U0<<2)|0,$0=v-U0|0,g0=$0<<2,se(M0|0,0,g0|0)|0)}function WS(t,n,o){t=t|0,n=+n,o=+o;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,m=m+64|0,i0=K+32|0,n0=K,a=S9(688)|0,c=a+408|0,lS(c),D=~~n,KS(c,t,D,o)|0,z=a+440|0,oS(z),aS(z,553008,553016),X=a+456|0,Gv(X,c)|0,U=a+568|0,Tv(X,U)|0,a0=Vp(0)|0,nD(a0),Z=sD()|0,Sv(a,Z)|0,V=a+680|0,e[V>>2]=0,o0=a+684|0,e[o0>>2]=0,f=a+360|0,cS(X,z,f,i0,n0)|0,zC(a,f)|0,zC(a,i0)|0,zC(a,n0)|0,E=a+392|0,I=Zp(a,E)|0,C=(I|0)==0,C)return m=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[o0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,_=y+Q|0,x=(_|0)==0,x||(F=e[V>>2]|0,M=Ui(F,_)|0,e[V>>2]=M,T=e[o0>>2]|0,G=M+T|0,P=e[E>>2]|0,Y=e[p>>2]|0,n4(G|0,P|0,Y|0)|0,t0=Y+T|0,e[o0>>2]=t0,J=M+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,n4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[o0>>2]=H),R=Zp(a,E)|0,L=(R|0)==0,!L;);return m=K,a|0}function jS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0;C=m,Dv(t)|0,n=t+568|0,Nv(n)|0,o=t+456|0,eQ(o),a=t+440|0,$S(a),c=t+408|0,$B(c),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function XS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0;return f=m,o=t+456|0,a=tQ(o,n)|0,a|0}function eD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,o=t+456|0,Uv(o,n)|0,a=t+568|0,y=iQ(o,a)|0,P=(y|0)==1,!!P)for(a0=t+360|0,Z=t+392|0,V=t+684|0,o0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(xv(a,0)|0,Mv(a)|0,C=Xp(o,a0)|0,p=(C|0)==0,!p)for(;;){if(zC(t,a0)|0,S=Wp(t,Z)|0,w=(S|0)==0,!w)for(;D=e[V>>2]|0,Q=e[o0>>2]|0,_=Q+D|0,x=e[n0>>2]|0,R=_+x|0,L=(R|0)==0,L||(T=e[i0>>2]|0,G=Ui(T,R)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[o0>>2]|0,n4(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,n4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),F=Wp(t,Z)|0,M=(F|0)==0,!M;);if(B=Xp(o,a0)|0,v=(B|0)==0,v)break}if(E=iQ(o,a)|0,I=(E|0)==1,!I)break}}function tD(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+684|0,o=e[n>>2]|0,o|0}function iD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;return f=m,n=t+684|0,e[n>>2]=0,o=t+680|0,a=e[o>>2]|0,a|0}function XC(t,n){t=+t,n=n|0;var o=0,a=0,c=0;return c=m,o=+rD(t,n),+o}function Mh(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0;if(x3=m,m=m+688|0,t3=x3+424|0,K5=x3+192|0,j5=x3,X=i5(o,n)|0,U=(X|0)==0,U){m=x3;return}for(J=X-o|0,q1=j5+4|0,e[q1>>2]=o,e[j5>>2]=o,e2=o,f5=o,w3=2;A2=e2+o|0,T2=A2+f5|0,L5=j5+(w3<<2)|0,e[L5>>2]=T2,v5=T2>>>0>>0,t5=w3+1|0,v5;)y2=f5,f5=T2,w3=t5,e2=y2;if(a0=0-o|0,j=t+J|0,v0=(J|0)>0,v0)for(D0=(o|0)==0,S0=j,y1=1,K2=0,F5=t,U5=1;;){Z0=y1&3,K1=(Z0|0)==3;do if(K1){e[K5>>2]=F5,P1=(U5|0)>1;e:do if(P1){for(B=U5,Q=F5,O1=F5,Z5=1;;){if(H1=Q+a0|0,Y1=B+-2|0,j1=j5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+o|0,W=0-M5|0,W1=Q+W|0,l2=ft[a&15](O1,W1)|0,z1=(l2|0)>-1,z1&&(f2=ft[a&15](O1,H1)|0,s2=(f2|0)>-1,s2)){f3=Z5;break}if(E2=ft[a&15](W1,H1)|0,V1=(E2|0)>-1,g2=Z5+1|0,a2=K5+(Z5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,C=t2):(e[a2>>2]=H1,f=H1,C=Y1),$2=(C|0)>1,!$2){f3=g2;break}P=e[K5>>2]|0,B=C,Q=f,O1=P,Z5=g2}if(i2=(f3|0)<2,!i2&&(o2=K5+(f3<<2)|0,e[o2>>2]=t3,!D0))for(y=o,G2=t3;;){for(d2=y>>>0>256,n2=d2?256:y,J2=e[K5>>2]|0,n4(G2|0,J2|0,n2|0)|0,_2=J2,K3=0;S2=K5+(K3<<2)|0,w2=K3+1|0,m2=K5+(w2<<2)|0,M2=e[m2>>2]|0,n4(_2|0,M2|0,n2|0)|0,N2=_2+n2|0,e[S2>>2]=N2,e3=(w2|0)==(f3|0),!e3;)_2=M2,K3=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=y1>>>2,O2=K2<<30,s5=q2|O2,P2=K2>>>2,T1=U5+2|0,r0=s5,D1=P2,P5=T1}else{if(j2=U5+-1|0,x5=j5+(j2<<2)|0,X2=e[x5>>2]|0,D5=F5,V2=S0-D5|0,k5=X2>>>0>>0,k5){e[K5>>2]=F5,O5=(U5|0)>1;e:do if(O5){for(v=U5,_=F5,R2=F5,y3=1;;){if($5=_+a0|0,v2=v+-2|0,E5=j5+(v2<<2)|0,r5=e[E5>>2]|0,n6=r5+o|0,e0=0-n6|0,x2=_+e0|0,B2=ft[a&15](R2,x2)|0,C5=(B2|0)>-1,C5&&(u5=ft[a&15](R2,$5)|0,b5=(u5|0)>-1,b5)){B3=y3;break}if(G5=ft[a&15](x2,$5)|0,_5=(G5|0)>-1,H2=y3+1|0,d5=K5+(y3<<2)|0,_5?(e[d5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[d5>>2]=$5,E=$5,p=v2),l5=(p|0)>1,!l5){B3=H2;break}z=e[K5>>2]|0,v=p,_=E,R2=z,y3=H2}if(m5=(B3|0)<2,!m5&&(M1=K5+(B3<<2)|0,e[M1>>2]=t3,!D0))for(D=o,W2=t3;;){for(h5=D>>>0>256,o5=h5?256:D,R5=e[K5>>2]|0,n4(W2|0,R5|0,o5|0)|0,g5=R5,T3=0;c2=K5+(T3<<2)|0,B5=T3+1|0,e5=K5+(B5<<2)|0,n5=e[e5>>2]|0,n4(g5|0,n5|0,o5|0)|0,Y2=g5+o5|0,e[c2>>2]=Y2,n3=(B5|0)==(B3|0),!n3;)g5=n5,T3=B5;if(c5=(D|0)==(o5|0),c5)break e;z2=D-o5|0,t0=e[M1>>2]|0,D=z2,W2=t0}}while(!1)}else em(F5,o,a,y1,K2,U5,0,j5);if(a5=(U5|0)==1,a5){L2=K2<<1,p5=y1>>>31,H5=p5|L2,X5=y1<<1,r0=X5,D1=H5,P5=0;break}else{I5=j2>>>0>31,u3=U5+-33|0,c=I5?0:y1,x=I5?y1:K2,R=I5?u3:j2,h3=x<>>Z,o0=V|h3,n0=c<>>0>>0,c0)y1=i0,K2=D1,F5=K,U5=P5;else{M=D1,T=i0,C3=K,q5=P5;break}}else M=0,T=1,C3=t,q5=1;if(em(C3,o,a,T,M,q5,0,j5),s0=(q5|0)==1,l0=(T|0)==1,m3=l0&s0,$0=(M|0)==0,l3=$0&m3,l3){m=x3;return}else p0=T,m0=M,V5=C3,w5=q5;for(;;){if(g0=(w5|0)<2,!g0){P0=m0<<2,r1=p0>>>30,H0=r1|P0,e1=w5+-2|0,i1=p0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=j5+(e1<<2)|0,a1=e[s1>>2]|0,G3=a1+o|0,H=0-G3|0,n1=V5+H|0,A1=w5+-1|0,em(n1,o,a,g1,l1,A1,1,j5),d1=l1<<1,h1=r1&1,E1=d1|h1,u1=g1<<1,I1=u1|1,B1=V5+a0|0,em(B1,o,a,I1,E1,e1,1,j5),p0=I1,m0=E1,V5=B1,w5=e1;continue}u0=p0+-1|0,I0=(u0|0)==0;do if(I0)N0=32,A3=56;else{if(w0=u0&1,f0=(w0|0)==0,f0){for(S=u0,t6=0;;)if(E0=t6+1|0,C0=S>>>1,d0=C0&1,K0=(d0|0)==0,K0)S=C0,t6=E0;else{L=E0;break}b0=(L|0)==0,b0?A3=51:Y0=L}else A3=51;if((A3|0)==51){if(A3=0,L0=(m0|0)==0,L0){N0=64,A3=56;break}if(F0=m0&1,T0=(F0|0)==0,T0)w=m0,R3=0;else{I=0,Q1=p0,S1=m0,w1=0;break}for(;;)if(U0=R3+1|0,B0=w>>>1,q0=B0&1,x0=(q0|0)==0,x0)w=B0,R3=U0;else{F=U0,N3=R3;break}if(M0=N3+33|0,J0=(F|0)==0,J0){I=0,Q1=p0,S1=m0,w1=0;break}else Y0=M0}O0=Y0>>>0>31,O0?(N0=Y0,A3=56):(I=Y0,Q1=p0,S1=m0,w1=Y0)}while(!1);if((A3|0)==56&&(A3=0,z0=N0+-32|0,I=z0,Q1=m0,S1=0,w1=N0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=w1+w5|0,G=V5+a0|0,U1=(G1|0)==1,Z1=(L1|0)==1,o3=Z1&U1,N1=(F1|0)==0,$3=N1&o3,$3)break;p0=L1,m0=F1,V5=G,w5=G1}m=x3}function em(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0;B2=m,m=m+720|0,x2=B2+456|0,O2=B2+228|0,T2=B2,e[T2>>2]=t,U=0-n|0,a0=(a|0)!=1,m0=(c|0)!=0,Y0=m0|a0;e:do if(Y0)if($1=I+(f<<2)|0,E1=e[$1>>2]|0,F1=0-E1|0,Y1=t+F1|0,V1=ft[o&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,x=f,G=E,P2=1,R2=18;else for(w=t,M=f,P=E,d0=Y1,P0=c,D5=1,v2=a;;){if(Z=(P|0)==0,$0=(M|0)>1,$5=Z&$0,$5){if(w0=w+U|0,f0=M+-2|0,E0=I+(f0<<2)|0,C0=e[E0>>2]|0,v0=ft[o&15](w0,d0)|0,K0=(v0|0)>-1,K0){v=w,R=M,j2=D5;break e}if(E5=C0+n|0,H=0-E5|0,b0=w+H|0,L0=ft[o&15](b0,d0)|0,F0=(L0|0)>-1,F0){v=w,R=M,j2=D5;break e}}T0=D5+1|0,U0=T2+(D5<<2)|0,e[U0>>2]=d0,B0=v2+-1|0,q0=(B0|0)==0;do if(q0)A1=32,R2=15;else{if(x0=B0&1,D0=(x0|0)==0,D0){for(Q=B0,f5=0;;)if(M0=f5+1|0,J0=Q>>>1,O0=J0&1,z0=(O0|0)==0,z0)Q=J0,f5=M0;else{z=M0;break}N0=(z|0)==0,N0?R2=10:s1=z}else R2=10;if((R2|0)==10){if(R2=0,r1=(P0|0)==0,r1){A1=64,R2=15;break}if(H0=P0&1,e1=(H0|0)==0,e1)_=P0,k5=0;else{p=0,d1=v2,I1=P0,R1=0;break}for(;;)if(S0=k5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,k5=S0;else{Y=S0,O5=k5;break}if(g1=O5+33|0,l1=(Y|0)==0,l1){p=0,d1=v2,I1=P0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(A1=s1,R2=15):(p=s1,d1=v2,I1=P0,R1=s1)}while(!1);if((R2|0)==15&&(R2=0,n1=A1+-32|0,p=n1,d1=P0,I1=0,R1=A1),Z0=d1>>>p,h1=32-p|0,u1=I1<>>p,Q1=R1+M|0,x1=(B1|0)!=1,y1=(p1|0)!=0,S1=y1|x1,!S1){v=d0,R=Q1,j2=T0;break e}if(t0=e[T2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,w1=0-G1|0,U1=d0+w1|0,Z1=ft[o&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=d0,x=Q1,G=0,P2=T0,R2=18;break}else y=d0,M=Q1,P=0,d0=U1,P0=p1,D5=T0,v2=B1,w=y}else B=t,x=f,G=E,P2=1,R2=18;while(!1);if((R2|0)==18)if(D1=(G|0)==0,D1)v=B,R=x,j2=P2;else{m=B2;return}K1=(j2|0)<2;e:do if(!K1&&(P1=T2+(j2<<2)|0,e[P1>>2]=x2,H1=(n|0)==0,!H1))for(F=n,g2=x2;;){for(E2=F>>>0>256,j1=E2?256:F,A2=e[T2>>2]|0,n4(g2|0,A2|0,j1|0)|0,f2=A2,X2=0;W1=T2+(X2<<2)|0,O1=X2+1|0,l2=T2+(O1<<2)|0,z1=e[l2>>2]|0,n4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,s5=(O1|0)==(j2|0),!s5;)f2=z1,X2=O1;if(q1=(F|0)==(j1|0),q1)break e;r2=F-j1|0,e0=e[P1>>2]|0,F=r2,g2=e0}while(!1);e[O2>>2]=v,a2=(R|0)>1;e:do if(a2){for(D=R,T=v,n2=v,V2=1;;){if(t2=T+U|0,$2=D+-2|0,i2=I+($2<<2)|0,o2=e[i2>>2]|0,r5=o2+n|0,X=0-r5|0,X1=T+X|0,u2=ft[o&15](n2,X1)|0,e2=(u2|0)>-1,e2&&(S2=ft[o&15](n2,t2)|0,w2=(S2|0)>-1,w2)){T1=V2;break}if(m2=ft[o&15](X1,t2)|0,M2=(m2|0)>-1,_2=V2+1|0,N2=O2+(V2<<2)|0,M2?(e[N2>>2]=X1,d2=D+-1|0,C=X1,S=d2):(e[N2>>2]=t2,C=t2,S=$2),J2=(S|0)>1,!J2){T1=_2;break}J=e[O2>>2]|0,D=S,T=C,n2=J,V2=_2}if(G2=(T1|0)<2,G2)I0=x2;else if(q2=O2+(T1<<2)|0,e[q2>>2]=x2,V=(n|0)==0,V)I0=x2;else for(L=n,p0=x2;;){for(g0=L>>>0>256,n0=g0?256:L,u0=e[O2>>2]|0,n4(p0|0,u0|0,n0|0)|0,l0=u0,x5=0;r0=O2+(x5<<2)|0,K=x5+1|0,c0=O2+(K<<2)|0,s0=e[c0>>2]|0,n4(l0|0,s0|0,n0|0)|0,j=l0+n0|0,e[r0>>2]=j,K2=(K|0)==(T1|0),!K2;)l0=s0,x5=K;if(o0=(L|0)==(n0|0),o0){I0=x2;break e}i0=L-n0|0,W=e[q2>>2]|0,L=i0,p0=W}}else I0=x2;while(!1);m=B2}function Gi(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0;return R=m,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?(C=D?-0:0,n=C,+n):(n=_,+n))}function QQ(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,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,C=t+8388608,p=C+-8388608,S=f?I:p,B=S==0,B?(v=f?-0:0,n=v,+n):(n=S,+n))}function rD(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0;return z=m,f=(n|0)>1023,f?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(x=E*898846567431158e293,R=n+-2046|0,L=(R|0)>1023,o=L?1023:R,a=o,G=x):(a=Q,G=E)):(F=(n|0)<-1022,F?(M=t*22250738585072014e-324,T=n+1022|0,I=(T|0)<-1022,I?(C=M*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=C):(a=T,G=M)):(a=n,G=t)),v=a+1023|0,S=kQ(v|0,0,52)|0,w=H6,e[p2>>2]=S,e[p2+4>>2]=w,y=+o1[p2>>3],D=G*y,+D}function nD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0;I=m,n=t+-1|0,o=553040,a=o,e[a>>2]=n,c=o+4|0,f=c,e[f>>2]=0}function sD(){var t=0,n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=m,t=553040,n=t,C=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=$D(C|0,v|0,1284865837,1481765933)|0,w=H6,y=zs(S|0,w|0,1,0)|0,D=H6,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=H6,E|0}function S9(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0,Xs=0,Un=0,eA=0,On=0,tA=0,iA=0,Pn=0,rA=0,Jr=0,nA=0,sA=0,AA=0,Hn=0,oA=0,qn=0,Yn=0,aA=0,Kr=0,Jn=0,Vr=0,Kn=0,Vn=0,$A=0,lA=0,cA=0,zr=0,zn=0,gA=0,Ir=0,Zr=0,hA=0,fA=0,Wr=0,$i=0,Zn=0,uA=0,dA=0,Wn=0,jn=0,Xn=0,IA=0,li=0,jr=0,EA=0,es=0,CA=0,mA=0,BA=0,ts=0,pA=0,QA=0,yA=0,wA=0,is=0,kA=0,vA=0,Xr=0,Er=0,en=0,SA=0,Zi=0,DA=0,rs=0,tn=0,ns=0,rn=0,bA=0,ss=0,As=0,_A=0,os=0,as=0,RA=0,Cr=0,$s=0,ci=0,nn=0,mr=0,Wi=0,Br=0,Oi=0,pr=0,ls=0,Pi=0,Bi=0,pi=0,Wt=0,Qi=0,Qr=0,ji=0,Xi=0,yr=0,gi=0,xA=0,$t=0,el=0,sn=0,An=0,Th=0,tl=0,LA=0,Nh=0,jo=0,il=0,Gh=0,Uh=0,Oh=0,Xo=0,rl=0,nl=0,ea=0,on=0,sl=0,Ph=0,FA=0,er=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Al=0,wr=0,Xh=0,ef=0,ol=0,tf=0,ta=0,MA=0,ia=0,rf=0,nf=0,ra=0,al=0,$l=0,ll=0,na=0,cl=0,TA=0,sf=0,Af=0,gl=0,of=0,af=0,hl=0,$f=0,lf=0,fl=0,ul=0,dl=0,Il=0,El=0,an=0,cf=0,Cl=0,gf=0,ml=0,Bl=0,hf=0,ff=0,uf=0,sa=0,pl=0,Ql=0,cs=0,yl=0,Aa=0,df=0,wl=0,If=0,kl=0,Ef=0,Cf=0,vl=0,Sl=0,mf=0,NA=0,Bf=0,oa=0,Dl=0,bl=0,pf=0,Qf=0,yf=0,wf=0,kf=0,vf=0,GA=0,_l=0,Rl=0,xl=0,UA=0,Sf=0,Ll=0,Df=0,Fl=0,bf=0,_f=0,Ml=0,aa=0,Rf=0,xf=0,OA=0,Lf=0,PA=0,Ff=0,$a=0,Mf=0,Tf=0,Nf=0,Tl=0,Gf=0,Uf=0,Of=0,Pf=0,Nl=0,Gl=0,tr=0,Ul=0,HA=0,la=0,ca=0,$n=0,Ol=0,ln=0,Hf=0,Pl=0,qf=0,Yf=0,Jf=0,Kf=0,qA=0,ga=0,kr=0,Vf=0,zf=0,Hl=0,ha=0,ql=0,Yl=0,Zf=0,Jl=0,Wf=0,fa=0,jf=0,Xf=0,O9=0,eu=0,Kl=0,tu=0,iu=0,ua=0,ru=0,da=0,Vl=0,nu=0,su=0,zl=0,Zl=0,Au=0,Ia=0,Ea=0,Wl=0,jl=0,ou=0,Xl=0,Ca=0,au=0,ec=0,$u=0,lu=0,cu=0,gu=0,tc=0,ic=0,ma=0,YA=0,rc=0,hu=0,nc=0,sc=0,fu=0,uu=0,du=0,Ac=0,Iu=0,Eu=0,Cu=0,mu=0,Bu=0,pu=0,oc=0,Qu=0,ac=0,yu=0,cn=0,wu=0,$c=0,ku=0,gs=0,lc=0,Ba=0,vu=0,JA=0,pa=0,Su=0,Qa=0,cc=0,Du=0,bu=0,_u=0,Ru=0,xu=0,gc=0,Lu=0,Fu=0,Mu=0,KA=0,hs=0,ya=0,Tu=0,wa=0,Nu=0,Gu=0,Uu=0,hc=0,Ou=0,Pu=0,Hu=0,qu=0,Yu=0,VA=0,Ju=0,Ku=0,fc=0,Vu=0,zu=0,Zu=0,Wu=0,hi=0,uc=0,fi=0,dc=0,ka=0,ju=0,jt=0,fs=0,Xu=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,Ad=0,od=0,us=0,va=0,ad=0,Cc=0,$d=0,ld=0,zA=0,cd=0,gd=0,mc=0,Bc=0,hd=0,fd=0,gn=0,ud=0,dd=0,hn=0,Id=0,pc=0,Ed=0,Cd=0,ds=0,Qc=0,md=0,yc=0,Bd=0,ir=0,Sa=0,pd=0,wc=0,kc=0,Qd=0,yd=0,vc=0,wd=0,kd=0,vd=0,Sc=0,Sd=0,Is=0,Dd=0,fn=0,bd=0,_d=0,Da=0,Rd=0,ba=0,_a=0,xd=0,Dc=0,bc=0,Ld=0,_c=0,Rc=0,xc=0,Fd=0,Lc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Oc=0,Pc=0,Hc=0,qc=0,Od=0,Pd=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,Yc=0,xa=0,zd=0,Zd=0,Wd=0,Jc=0,Kc=0,jd=0,Vc=0,La=0,ZA=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,WA=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,fI=0,jA=0,jc=0,uI=0,dI=0,un=0,Xc=0,eg=0,Fa=0,II=0,tg=0,EI=0,ig=0,rg=0,CI=0,mI=0,BI=0,pI=0,QI=0,XA=0,Ma=0,yI=0,wI=0,kI=0,vI=0,ng=0,SI=0,sg=0,DI=0,bI=0,Ag=0,vr=0,og=0,ag=0,_I=0,$g=0,eo=0,RI=0,xI=0,LI=0,to=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ta=0,io=0,GI=0,UI=0,OI=0,gg=0,hg=0,fg=0,PI=0,HI=0,Es=0,qI=0,ug=0,YI=0,Na=0,dg=0,JI=0,KI=0,VI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,ro=0,jI=0,XI=0,eE=0,Cs=0,Cg=0,mg=0,tE=0,Bg=0,pg=0,yi=0,Qg=0,rr=0,iE=0,rE=0,nE=0,sE=0,Ga=0,no=0,yg=0,wg=0,AE=0,so=0,ms=0,oE=0,Ao=0,Ua=0,aE=0,Oa=0,$E=0,lE=0,kg=0,oo=0,vg=0,cE=0,gE=0,hE=0,fE=0,Sg=0,uE=0,j7=0,y4=0,Xt=0,dE=0,Dg=0,bg=0,Pa=0,IE=0,Sr=0,Bs=0,EE=0,CE=0,_g=0,Ha=0,mE=0,Rg=0,xg=0,Lg=0,qa=0,Ya=0,Fg=0,ps=0,Ja=0,Mg=0,BE=0,dn=0,pE=0,Tg=0,ao=0,QE=0,Ng=0,wi=0,yE=0,wE=0,kE=0,vE=0,SE=0,DE=0,ki=0,bE=0,_E=0,RE=0,Gg=0,ui=0,$o=0,Ka=0,Ug=0,Og=0,xE=0,Pg=0,Hg=0,LE=0,FE=0,qg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,Qs=0,lo=0,co=0,GE=0,Va=0,UE=0,OE=0,Kg=0,ys=0,PE=0,HE=0,za=0,Za=0,go=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ws=0,sr=0,In=0,qE=0,Ar=0,En=0,YE=0,bt=0,_t=0,Rt=0,ho=0,fo=0,Vg=0,zg=0,uo=0,t$=0,xt=0,Io=0,_r=0,i$=0,JE=0,r$=0,KE=0,n$=0,Zg=0,Eo=0,VE=0,zE=0,Co=0,ZE=0,mo=0,Cn=0,Ke=0,v4=0,Wg=0,WE=0,s$=0,jg=0,jE=0,XE=0,Bo=0,eC=0,tC=0,iC=0,rC=0,Xg=0,nC=0,sC=0,AC=0,ei=0,po=0,mn=0,A$=0,ks=0,vs=0,X7=0,Ss=0,eh=0,th=0,Qo=0,Ds=0,bs=0,_s=0,oC=0,Rs=0,or=0,ih=0,Rr=0,ti=0,o$=0,a$=0,Hi=0,$$=0,l$=0,c$=0,xr=0,o6=0,yo=0,Lr=0,rh=0,ye=0,g$=0,B8=0,xs=0,Bn=0,pn=0,F9=0,Qn=0,Fr=0,J4=0,h$=0;h$=m,V1=t>>>0<245;do if(V1){if(g2=t>>>0<11,g4=t+11|0,H4=g4&-8,Qe=g2?16:H4,LA=Qe>>>3,$a=e[138262]|0,KA=$a>>>LA,Pc=KA&3,Eg=(Pc|0)==0,!Eg){a2=KA&1,f3=a2^1,$3=f3+LA|0,A3=$3<<1,c3=553088+(A3<<2)|0,p0=A3+2|0,_6=553088+(p0<<2)|0,S6=e[_6>>2]|0,R6=S6+8|0,D6=e[R6>>2]|0,u9=(c3|0)==(D6|0);do if(u9)G9=1<<$3,b4=G9^-1,Ie=$a&b4,e[138262]=Ie;else if(je=e[138266]|0,ae=D6>>>0>>0,ae&&Q2(),p4=D6+12|0,m9=e[p4>>2]|0,F8=(m9|0)==(S6|0),F8){e[p4>>2]=c3,e[_6>>2]=D6;break}else Q2();while(!1);return h8=$3<<3,h7=h8|3,xe=S6+4|0,e[xe>>2]=h7,C0=h8|4,Be=S6+C0|0,q4=e[Be>>2]|0,i7=q4|1,e[Be>>2]=i7,Ke=R6,Ke|0}if(Ye=e[138264]|0,Y7=Qe>>>0>Ye>>>0,Y7){if(Gt=(KA|0)==0,!Gt){Ot=KA<>>12,Xr=CA&16,ss=Zn>>>Xr,Wi=ss>>>5,ji=Wi&8,Nh=ji|Xr,sl=ss>>>ji,Zh=sl>>>2,ia=Zh&4,Af=Nh|ia,El=sl>>>ia,pl=El>>>1,vl=pl&2,wf=Af|vl,Fl=El>>>vl,Mf=Fl>>>1,Ul=Mf&1,Jf=wf|Ul,Zf=Fl>>>Ul,ua=Jf+Zf|0,Wl=ua<<1,tc=553088+(Wl<<2)|0,U1=Wl+2|0,Ac=553088+(U1<<2)|0,cn=e[Ac>>2]|0,Qa=cn+8|0,hs=e[Qa>>2]|0,qu=(tc|0)==(hs|0);do if(qu)uc=1<>>0
>>0,ir&&Q2(),Sc=hs+12|0,xd=e[Sc>>2]|0,Td=(xd|0)==(cn|0),Td){e[Sc>>2]=tc,e[Ac>>2]=hs,y=e[138264]|0,io=y;break}else Q2();while(!1);return Hc=ua<<3,xa=Hc-Qe|0,Xd=Qe|3,aI=cn+4|0,e[aI>>2]=Xd,dI=cn+Qe|0,mI=xa|1,j1=Qe|4,SI=cn+j1|0,e[SI>>2]=mI,RI=cn+Hc|0,e[RI>>2]=xa,ug=(io|0)==0,ug||(ro=e[138267]|0,Qg=io>>>3,so=Qg<<1,vg=553088+(so<<2)|0,Dg=e[138262]|0,Rg=1<>2]|0,m2=e[138266]|0,s5=t2>>>0>>0,s5?Q2():(G=Qs,go=t2)),e[G>>2]=ro,$5=go+12|0,e[$5>>2]=ro,G5=ro+8|0,e[G5>>2]=go,z2=ro+12|0,e[z2>>2]=vg),e[138264]=xa,e[138267]=dI,Ke=Qa,Ke|0}if(a5=e[138263]|0,C3=(a5|0)==0,C3)v4=Qe;else{for(V5=0-a5|0,w3=a5&V5,B3=w3+-1|0,K3=B3>>>12,T3=K3&16,Z5=B3>>>T3,y3=Z5>>>5,j5=y3&8,t6=j5|T3,R3=Z5>>>j5,N3=R3>>>2,o3=N3&4,l3=t6|o3,m3=R3>>>o3,q5=m3>>>1,U5=q5&2,P5=l3|U5,w5=m3>>>U5,G3=w5>>>1,M5=G3&1,n6=P5|M5,t3=w5>>>M5,x3=n6+t3|0,h6=553352+(x3<<2)|0,p3=e[h6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,i6=Q3&-8,W3=i6-Qe|0,po=W3,a$=p3,g$=p3;;){if(U3=a$+16|0,z5=e[U3>>2]|0,v3=(z5|0)==0,v3)if(O3=a$+20|0,$6=e[O3>>2]|0,d3=($6|0)==0,d3){mn=po,B8=g$;break}else k6=$6;else k6=z5;w6=k6+4|0,v6=e[w6>>2]|0,B6=v6&-8,j3=B6-Qe|0,l6=j3>>>0>>0,H=l6?j3:po,A2=l6?k6:g$,po=H,a$=k6,g$=A2}p6=e[138266]|0,q6=B8>>>0>>0,q6&&Q2(),C6=B8+Qe|0,S3=B8>>>0>>0,S3||Q2(),X3=B8+24|0,e6=e[X3>>2]|0,f6=B8+12|0,P3=e[f6>>2]|0,D3=(P3|0)==(B8|0);do if(D3){if(T6=B8+20|0,r6=e[T6>>2]|0,Q6=(r6|0)==0,Q6)if(J6=B8+16|0,d6=e[J6>>2]|0,Y6=(d6|0)==0,Y6){bt=0;break}else sr=d6,ho=J6;else sr=r6,ho=T6;for(;;){if(L3=sr+20|0,Z6=e[L3>>2]|0,N6=(Z6|0)==0,!N6){sr=Z6,ho=L3;continue}if(j6=sr+16|0,r9=e[j6>>2]|0,x6=(r9|0)==0,x6){Ar=sr,zg=ho;break}else sr=r9,ho=j6}if(G6=zg>>>0>>0,G6)Q2();else{e[zg>>2]=0,bt=Ar;break}}else if(H3=B8+8|0,V3=e[H3>>2]|0,s6=V3>>>0>>0,s6&&Q2(),i3=V3+12|0,O6=e[i3>>2]|0,s3=(O6|0)==(B8|0),s3||Q2(),A6=P3+8|0,u6=e[A6>>2]|0,b3=(u6|0)==(B8|0),b3){e[i3>>2]=P3,e[A6>>2]=V3,bt=P3;break}else Q2();while(!1);K6=(e6|0)==0;do if(!K6){if(y6=B8+28|0,L6=e[y6>>2]|0,F3=553352+(L6<<2)|0,F6=e[F3>>2]|0,X6=(B8|0)==(F6|0),X6){if(e[F3>>2]=bt,VE=(bt|0)==0,VE){A9=1<>>0>>0,a9&&Q2(),T9=e6+16|0,I6=e[T9>>2]|0,M6=(I6|0)==(B8|0),M6?e[T9>>2]=bt:(e9=e6+20|0,e[e9>>2]=bt),N9=(bt|0)==0,N9)break;d9=e[138266]|0,E4=bt>>>0>>0,E4&&Q2(),s4=bt+24|0,e[s4>>2]=e6,z9=B8+16|0,D9=e[z9>>2]|0,I9=(D9|0)==0;do if(!I9)if(P6=D9>>>0>>0,P6)Q2();else{t9=bt+16|0,e[t9>>2]=D9,C4=D9+24|0,e[C4>>2]=bt;break}while(!1);if(S4=B8+20|0,A4=e[S4>>2]|0,Q9=(A4|0)==0,!Q9)if(D4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{T4=bt+20|0,e[T4>>2]=A4,W4=A4+24|0,e[W4>>2]=bt;break}}while(!1);return m4=mn>>>0<16,m4?(N4=mn+Qe|0,U9=N4|3,G4=B8+4|0,e[G4>>2]=U9,Z1=N4+4|0,o4=B8+Z1|0,L4=e[o4>>2]|0,h4=L4|1,e[o4>>2]=h4):(H9=Qe|3,E9=B8+4|0,e[E9>>2]=H9,Ee=mn|1,c0=Qe|4,Te=B8+c0|0,e[Te>>2]=Ee,l0=mn+Qe|0,We=B8+l0|0,e[We>>2]=mn,U4=e[138264]|0,Ne=(U4|0)==0,Ne||(O4=e[138267]|0,j4=U4>>>3,Se=j4<<1,Z9=553088+(Se<<2)|0,Ae=e[138262]|0,f4=1<>2]|0,oe=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(M=a4,Za=_4)),e[M>>2]=O4,$e=Za+12|0,e[$e>>2]=O4,B4=O4+8|0,e[B4>>2]=Za,X4=O4+12|0,e[X4>>2]=Z9),e[138264]=mn,e[138267]=C6),F4=B8+8|0,Ke=F4,Ke|0}}else v4=Qe}else if(le=t>>>0>4294967231,le)v4=-1;else if(C9=t+11|0,c6=C9&-8,Ge=e[138263]|0,$4=(Ge|0)==0,$4)v4=c6;else{Ce=0-c6|0,l4=C9>>>8,U6=(l4|0)==0,U6?Cn=0:(De=c6>>>0>16777215,De?Cn=31:(be=l4+1048320|0,Xe=be>>>16,c4=Xe&8,k4=l4<>>16,y9=q3&4,M4=y9|c4,ee=k4<>>16,l7=_e&2,w7=M4|l7,V8=14-w7|0,c7=ee<>>15,L8=V8+g7|0,M8=L8<<1,T8=L8+7|0,z8=c6>>>T8,Z8=z8&1,k7=Z8|M8,Cn=k7)),N8=553352+(Cn<<2)|0,G8=e[N8>>2]|0,U8=(G8|0)==0;e:do if(U8)vs=Ce,$$=0,pn=0,J4=86;else for(w8=(Cn|0)==31,k8=Cn>>>1,O8=25-k8|0,P8=w8?0:O8,W8=c6<>2]|0,Ue=f8&-8,Re=Ue-c6|0,e8=Re>>>0>>0,e8)if(v8=(Ue|0)==(c6|0),v8){Ss=Re,xr=Hi,Fr=Hi,J4=90;break e}else ks=Re,Bn=Hi;else ks=A$,Bn=xs;if(w9=Hi+20|0,me=e[w9>>2]|0,f7=Qo>>>31,v7=(Hi+16|0)+(f7<<2)|0,X8=e[v7>>2]|0,S7=(me|0)==0,te=(me|0)==(X8|0),eC=S7|te,th=eC?eh:me,e7=(X8|0)==0,H8=Qo<<1,e7){vs=ks,$$=th,pn=Bn,J4=86;break}else A$=ks,eh=th,Qo=H8,Hi=X8,xs=Bn}while(!1);if((J4|0)==86){if(S8=($$|0)==0,t8=(pn|0)==0,jE=S8&t8,jE){if(i8=2<>>12,ge=I8&16,Oe=n8>>>ge,Pe=Oe>>>5,X9=Pe&8,Le=X9|ge,he=Oe>>>X9,s8=he>>>2,pe=s8&4,Q4=Le|pe,E8=he>>>pe,t7=E8>>>1,I3=t7&2,He=Q4|I3,C8=E8>>>I3,ie=C8>>>1,q9=ie&1,re=He|q9,b9=C8>>>q9,qe=re+b9|0,q8=553352+(qe<<2)|0,u7=e[q8>>2]|0,l$=u7,Qn=0}else l$=$$,Qn=pn;r7=(l$|0)==0,r7?(X7=vs,F9=Qn):(Ss=vs,xr=l$,Fr=Qn,J4=90)}if((J4|0)==90)for(;;){if(J4=0,Y8=xr+4|0,n7=e[Y8>>2]|0,J8=n7&-8,A8=J8-c6|0,o8=A8>>>0>>0,X=o8?A8:Ss,c$=o8?xr:Fr,b8=xr+16|0,Y4=e[b8>>2]|0,s7=(Y4|0)==0,!s7){Ss=X,xr=Y4,Fr=c$,J4=90;continue}if(_8=xr+20|0,B9=e[_8>>2]|0,A7=(B9|0)==0,A7){X7=X,F9=c$;break}else Ss=X,xr=B9,Fr=c$,J4=90}if(Je=(F9|0)==0,Je)v4=c6;else if(N7=e[138264]|0,q7=N7-c6|0,D7=X7>>>0>>0,D7){o7=e[138266]|0,b7=F9>>>0>>0,b7&&Q2(),ne=F9+c6|0,G7=F9>>>0>>0,G7||Q2(),a8=F9+24|0,R8=e[a8>>2]|0,_7=F9+12|0,K8=e[_7>>2]|0,Fe=(K8|0)==(F9|0);do if(Fe){if(K7=F9+20|0,It=e[K7>>2]|0,V7=(It|0)==0,V7)if(Et=F9+16|0,rt=e[Et>>2]|0,ni=(rt|0)==0,ni){Rt=0;break}else En=rt,uo=Et;else En=It,uo=K7;for(;;){if(Ct=En+20|0,mt=e[Ct>>2]|0,si=(mt|0)==0,!si){En=mt,uo=Ct;continue}if(Bt=En+16|0,nt=e[Bt>>2]|0,Ai=(nt|0)==0,Ai){YE=En,t$=uo;break}else En=nt,uo=Bt}if(Pt=t$>>>0>>0,Pt)Q2();else{e[t$>>2]=0,Rt=YE;break}}else if(fe=F9+8|0,e4=e[fe>>2]|0,R7=e4>>>0>>0,R7&&Q2(),it=e4+12|0,Nt=e[it>>2]|0,Ut=(Nt|0)==(F9|0),Ut||Q2(),ut=K8+8|0,J7=e[ut>>2]|0,dt=(J7|0)==(F9|0),dt){e[it>>2]=K8,e[ut>>2]=e4,Rt=K8;break}else Q2();while(!1);Ht=(R8|0)==0;do if(!Ht){if(qt=F9+28|0,Yt=e[qt>>2]|0,pt=553352+(Yt<<2)|0,Jt=e[pt>>2]|0,z7=(F9|0)==(Jt|0),z7){if(e[pt>>2]=Rt,Co=(Rt|0)==0,Co){At=1<>>0>>0,ai&&Q2(),Qt=R8+16|0,yt=e[Qt>>2]|0,wt=(yt|0)==(F9|0),wt?e[Qt>>2]=Rt:(zt=R8+20|0,e[zt>>2]=Rt),kt=(Rt|0)==0,kt)break;W7=e[138266]|0,vt=Rt>>>0>>0,vt&&Q2(),Zt=Rt+24|0,e[Zt>>2]=R8,ot=F9+16|0,O7=e[ot>>2]|0,St=(O7|0)==0;do if(!St)if(x7=O7>>>0>>0,x7)Q2();else{at=Rt+16|0,e[at>>2]=O7,i9=O7+24|0,e[i9>>2]=Rt;break}while(!1);if(d7=F9+20|0,m8=e[d7>>2]|0,I7=(m8|0)==0,!I7)if(L7=e[138266]|0,Yr=m8>>>0>>0,Yr)Q2();else{dr=Rt+20|0,e[dr>>2]=m8,Xs=m8+24|0,e[Xs>>2]=Rt;break}}while(!1);eA=X7>>>0<16;e:do if(eA)On=X7+c6|0,tA=On|3,iA=F9+4|0,e[iA>>2]=tA,c1=On+4|0,Pn=F9+c1|0,rA=e[Pn>>2]|0,Jr=rA|1,e[Pn>>2]=Jr;else{if(nA=c6|3,sA=F9+4|0,e[sA>>2]=nA,AA=X7|1,r0=c6|4,oA=F9+r0|0,e[oA>>2]=AA,u0=X7+c6|0,qn=F9+u0|0,e[qn>>2]=X7,Yn=X7>>>3,aA=X7>>>0<256,aA){Kr=Yn<<1,Jn=553088+(Kr<<2)|0,Vr=e[138262]|0,Kn=1<>2]|0,gA=e[138266]|0,Ir=zn>>>0>>0,Ir?Q2():(F=zr,ja=zn)),e[F>>2]=ne,Zr=ja+12|0,e[Zr>>2]=ne,P0=c6+8|0,hA=F9+P0|0,e[hA>>2]=ja,H0=c6+12|0,fA=F9+H0|0,e[fA>>2]=Jn;break}if(Wr=X7>>>8,$i=(Wr|0)==0,$i?Dr=0:(uA=X7>>>0>16777215,uA?Dr=31:(dA=Wr+1048320|0,Wn=dA>>>16,jn=Wn&8,Xn=Wr<>>16,jr=li&4,EA=jr|jn,es=Xn<>>16,ts=BA&2,pA=EA|ts,QA=14-pA|0,yA=es<>>15,is=QA+wA|0,kA=is<<1,vA=is+7|0,Er=X7>>>vA,en=Er&1,SA=en|kA,Dr=SA)),Zi=553352+(Dr<<2)|0,g1=c6+28|0,DA=F9+g1|0,e[DA>>2]=Dr,x1=c6+16|0,rs=F9+x1|0,D1=c6+20|0,tn=F9+D1|0,e[tn>>2]=0,e[rs>>2]=0,ns=e[138263]|0,rn=1<>2]=ne,q1=c6+24|0,os=F9+q1|0,e[os>>2]=Zi,r2=c6+12|0,as=F9+r2|0,e[as>>2]=ne,O1=c6+8|0,RA=F9+O1|0,e[RA>>2]=ne;break}Cr=e[Zi>>2]|0,$s=Cr+4|0,ci=e[$s>>2]|0,nn=ci&-8,mr=(nn|0)==(X7|0);t:do if(mr)xt=Cr;else{for(Br=(Dr|0)==31,Oi=Dr>>>1,pr=25-Oi|0,ls=Br?0:pr,Pi=X7<>>31,gi=(i$+16|0)+(yr<<2)|0,Wt=e[gi>>2]|0,xA=(Wt|0)==0,xA){w=gi,JE=i$;break}if(Bi=Xa<<1,pi=Wt+4|0,Qi=e[pi>>2]|0,Qr=Qi&-8,Xi=(Qr|0)==(X7|0),Xi){xt=Wt;break t}else Xa=Bi,i$=Wt}if($t=e[138266]|0,el=w>>>0<$t>>>0,el)Q2();else{e[w>>2]=ne,f0=c6+24|0,sn=F9+f0|0,e[sn>>2]=JE,U0=c6+12|0,An=F9+U0|0,e[An>>2]=ne,O0=c6+8|0,Th=F9+O0|0,e[Th>>2]=ne;break e}}while(!1);if(tl=xt+8|0,jo=e[tl>>2]|0,il=e[138266]|0,Gh=jo>>>0>=il>>>0,Wg=xt>>>0>=il>>>0,Uh=Gh&Wg,Uh){Oh=jo+12|0,e[Oh>>2]=ne,e[tl>>2]=ne,l2=c6+8|0,Xo=F9+l2|0,e[Xo>>2]=jo,f2=c6+12|0,rl=F9+f2|0,e[rl>>2]=xt,I0=c6+24|0,nl=F9+I0|0,e[nl>>2]=0;break}else Q2()}while(!1);return ea=F9+8|0,Ke=ea,Ke|0}else v4=c6}while(!1);if(on=e[138264]|0,Ph=on>>>0>>0,!Ph)return FA=on-v4|0,er=e[138267]|0,Hh=FA>>>0>15,Hh?(qh=er+v4|0,e[138267]=qh,e[138264]=FA,Yh=FA|1,f1=v4+4|0,Jh=er+f1|0,e[Jh>>2]=Yh,Kh=er+on|0,e[Kh>>2]=FA,Vh=v4|3,zh=er+4|0,e[zh>>2]=Vh):(e[138264]=0,e[138267]=0,Wh=on|3,jh=er+4|0,e[jh>>2]=Wh,s0=on+4|0,Al=er+s0|0,wr=e[Al>>2]|0,Xh=wr|1,e[Al>>2]=Xh),ef=er+8|0,Ke=ef,Ke|0;if(ol=e[138265]|0,tf=ol>>>0>v4>>>0,tf)return ta=ol-v4|0,e[138265]=ta,MA=e[138268]|0,rf=MA+v4|0,e[138268]=rf,nf=ta|1,U=v4+4|0,ra=MA+U|0,e[ra>>2]=nf,al=v4|3,$l=MA+4|0,e[$l>>2]=al,ll=MA+8|0,Ke=ll,Ke|0;na=e[138380]|0,cl=(na|0)==0;do if(cl)if(TA=Ev(30)|0,sf=TA+-1|0,gl=sf&TA,of=(gl|0)==0,of){e[138382]=TA,e[138381]=TA,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,af=Vp(0)|0,hl=af&-16,$f=hl^1431655768,e[138380]=$f;break}else Q2();while(!1);if(lf=v4+48|0,fl=e[138382]|0,ul=v4+47|0,dl=fl+ul|0,Il=0-fl|0,an=dl&Il,cf=an>>>0>v4>>>0,!cf||(Cl=e[138372]|0,gf=(Cl|0)==0,!gf&&(ml=e[138370]|0,Bl=ml+an|0,hf=Bl>>>0<=ml>>>0,ff=Bl>>>0>Cl>>>0,Bo=hf|ff,Bo)))return Ke=0,Ke|0;uf=e[138373]|0,sa=uf&4,Ql=(sa|0)==0;e:do if(Ql){cs=e[138268]|0,yl=(cs|0)==0;t:do if(yl)J4=174;else{for(Ds=553496;;){if(Aa=e[Ds>>2]|0,df=Aa>>>0>cs>>>0,!df&&(wl=Ds+4|0,If=e[wl>>2]|0,kl=Aa+If|0,Ef=kl>>>0>cs>>>0,Ef)){v=Ds,S=wl;break}if(Cf=Ds+8|0,Sl=e[Cf>>2]|0,mf=(Sl|0)==0,mf){J4=174;break t}else Ds=Sl}if(Rf=e[138265]|0,xf=dl-Rf|0,OA=xf&Il,Lf=OA>>>0<2147483647,Lf)if(PA=Tt(OA|0)|0,Ff=e[v>>2]|0,Tf=e[S>>2]|0,Nf=Ff+Tf|0,Tl=(PA|0)==(Nf|0),n=Tl?OA:0,Tl)if(Gf=(PA|0)==-1,Gf)Lr=n;else{o6=PA,ye=n,J4=194;break e}else Eo=PA,ti=OA,yo=n,J4=184;else Lr=0}while(!1);do if((J4|0)==174)if(NA=Tt(0)|0,Bf=(NA|0)==-1,Bf)Lr=0;else if(oa=NA,Dl=e[138381]|0,bl=Dl+-1|0,pf=bl&oa,Qf=(pf|0)==0,Qf?Rr=an:(yf=bl+oa|0,kf=0-Dl|0,vf=yf&kf,GA=an-oa|0,_l=GA+vf|0,Rr=_l),Rl=e[138370]|0,xl=Rl+Rr|0,UA=Rr>>>0>v4>>>0,Sf=Rr>>>0<2147483647,XE=UA&Sf,XE){if(Ll=e[138372]|0,Df=(Ll|0)==0,!Df&&(bf=xl>>>0<=Rl>>>0,_f=xl>>>0>Ll>>>0,tC=bf|_f,tC)){Lr=0;break}if(Ml=Tt(Rr|0)|0,aa=(Ml|0)==(NA|0),ih=aa?Rr:0,aa){o6=NA,ye=ih,J4=194;break e}else Eo=Ml,ti=Rr,yo=ih,J4=184}else Lr=0;while(!1);t:do if((J4|0)==184){Uf=0-ti|0,Of=(Eo|0)!=-1,Pf=ti>>>0<2147483647,rC=Pf&Of,Nl=lf>>>0>ti>>>0,nC=Nl&rC;do if(nC)if(Gl=e[138382]|0,tr=ul-ti|0,HA=tr+Gl|0,la=0-Gl|0,ca=HA&la,$n=ca>>>0<2147483647,$n)if(Ol=Tt(ca|0)|0,ln=(Ol|0)==-1,ln){Tt(Uf|0)|0,Lr=yo;break t}else{Hf=ca+ti|0,o$=Hf;break}else o$=ti;else o$=ti;while(!1);if(Pl=(Eo|0)==-1,Pl)Lr=yo;else{o6=Eo,ye=o$,J4=194;break e}}while(!1);qf=e[138373]|0,Yf=qf|4,e[138373]=Yf,rh=Lr,J4=191}else rh=0,J4=191;while(!1);if((J4|0)==191&&(Kf=an>>>0<2147483647,Kf&&(qA=Tt(an|0)|0,ga=Tt(0)|0,kr=(qA|0)!=-1,Vf=(ga|0)!=-1,iC=kr&Vf,zf=qA>>>0>>0,sC=zf&iC,sC&&(Hl=ga,ha=qA,ql=Hl-ha|0,Yl=v4+40|0,Jl=ql>>>0>Yl>>>0,E2=Jl?ql:rh,Jl&&(o6=qA,ye=E2,J4=194)))),(J4|0)==194){Wf=e[138370]|0,fa=Wf+ye|0,e[138370]=fa,jf=e[138371]|0,Xf=fa>>>0>jf>>>0,Xf&&(e[138371]=fa),O9=e[138268]|0,eu=(O9|0)==0;e:do if(eu){for(Kl=e[138266]|0,tu=(Kl|0)==0,iu=o6>>>0>>0,AC=tu|iu,AC&&(e[138266]=o6),e[138374]=o6,e[138375]=ye,e[138377]=0,ru=e[138380]|0,e[138271]=ru,e[138270]=-1,mo=0;da=mo<<1,Vl=553088+(da<<2)|0,a0=da+3|0,nu=553088+(a0<<2)|0,e[nu>>2]=Vl,j=da+2|0,su=553088+(j<<2)|0,e[su>>2]=Vl,zl=mo+1|0,ZE=(zl|0)==32,!ZE;)mo=zl;Zl=ye+-40|0,Au=o6+8|0,Ia=Au,Ea=Ia&7,jl=(Ea|0)==0,ou=0-Ia|0,Xl=ou&7,Ca=jl?0:Xl,au=o6+Ca|0,ec=Zl-Ca|0,e[138268]=au,e[138265]=ec,$u=ec|1,V=Ca+4|0,lu=o6+V|0,e[lu>>2]=$u,l1=ye+-36|0,cu=o6+l1|0,e[cu>>2]=40,gu=e[138384]|0,e[138269]=gu}else{for(_s=553496;;){if(ic=e[_s>>2]|0,ma=_s+4|0,YA=e[ma>>2]|0,rc=ic+YA|0,hu=(o6|0)==(rc|0),hu){C=ic,p=ma,B=YA,oC=_s,J4=204;break}if(nc=_s+8|0,sc=e[nc>>2]|0,fu=(sc|0)==0,fu)break;_s=sc}if((J4|0)==204&&(uu=oC+12|0,du=e[uu>>2]|0,Iu=du&8,Eu=(Iu|0)==0,Eu&&(Cu=O9>>>0>=C>>>0,mu=O9>>>0>>0,Xg=mu&Cu,Xg))){Bu=B+ye|0,e[p>>2]=Bu,pu=e[138265]|0,oc=pu+ye|0,Qu=O9+8|0,ac=Qu,yu=ac&7,wu=(yu|0)==0,$c=0-ac|0,ku=$c&7,gs=wu?0:ku,lc=O9+gs|0,Ba=oc-gs|0,e[138268]=lc,e[138265]=Ba,vu=Ba|1,n0=gs+4|0,JA=O9+n0|0,e[JA>>2]=vu,n1=oc+4|0,pa=O9+n1|0,e[pa>>2]=40,Su=e[138384]|0,e[138269]=Su;break}for(cc=e[138266]|0,Du=o6>>>0>>0,Du?(e[138266]=o6,ds=o6):ds=cc,bu=o6+ye|0,Rs=553496;;){if(_u=e[Rs>>2]|0,Ru=(_u|0)==(bu|0),Ru){I=Rs,or=Rs,J4=212;break}if(xu=Rs+8|0,gc=e[xu>>2]|0,Lu=(gc|0)==0,Lu){bs=553496;break}else Rs=gc}if((J4|0)==212)if(Fu=or+12|0,Mu=e[Fu>>2]|0,ya=Mu&8,Tu=(ya|0)==0,Tu){e[I>>2]=o6,wa=or+4|0,Nu=e[wa>>2]|0,Gu=Nu+ye|0,e[wa>>2]=Gu,Uu=o6+8|0,hc=Uu,Ou=hc&7,Pu=(Ou|0)==0,Hu=0-hc|0,Yu=Hu&7,VA=Pu?0:Yu,Ju=o6+VA|0,d0=ye+8|0,Ku=o6+d0|0,fc=Ku,Vu=fc&7,zu=(Vu|0)==0,Zu=0-fc|0,Wu=Zu&7,hi=zu?0:Wu,v0=hi+ye|0,fi=o6+v0|0,dc=fi,ka=Ju,ju=dc-ka|0,i0=VA+v4|0,jt=o6+i0|0,fs=ju-v4|0,Xu=v4|3,g0=VA+4|0,ed=o6+g0|0,e[ed>>2]=Xu,td=(fi|0)==(O9|0);t:do if(td)id=e[138265]|0,Ic=id+fs|0,e[138265]=Ic,e[138268]=jt,nd=Ic|1,H1=i0+4|0,sd=o6+H1|0,e[sd>>2]=nd;else{if(Ec=e[138267]|0,Ad=(fi|0)==(Ec|0),Ad){od=e[138264]|0,us=od+fs|0,e[138264]=us,e[138267]=jt,va=us|1,K1=i0+4|0,ad=o6+K1|0,e[ad>>2]=va,P1=us+i0|0,Cc=o6+P1|0,e[Cc>>2]=us;break}if(A1=ye+4|0,K0=A1+hi|0,ld=o6+K0|0,zA=e[ld>>2]|0,cd=zA&3,gd=(cd|0)==1,gd){mc=zA&-8,Bc=zA>>>3,hd=zA>>>0<256;i:do if(hd){G1=hi|8,J0=G1+ye|0,fd=o6+J0|0,gn=e[fd>>2]|0,w1=ye+12|0,Y0=w1+hi|0,ud=o6+Y0|0,hn=e[ud>>2]|0,Id=Bc<<1,pc=553088+(Id<<2)|0,Ed=(gn|0)==(pc|0);do if(!Ed){if(Cd=gn>>>0>>0,Cd&&Q2(),Qc=gn+12|0,md=e[Qc>>2]|0,yc=(md|0)==(fi|0),yc)break;Q2()}while(!1);if(Bd=(hn|0)==(gn|0),Bd){Sa=1<>>0>>0,yd&&Q2(),vc=hn+8|0,wd=e[vc>>2]|0,kd=(wd|0)==(fi|0),kd){T=vc;break}Q2()}while(!1);vd=gn+12|0,e[vd>>2]=hn,e[T>>2]=gn}else{L1=hi|24,b0=L1+ye|0,Sd=o6+b0|0,Is=e[Sd>>2]|0,Y1=ye+12|0,m0=Y1+hi|0,Dd=o6+m0|0,fn=e[Dd>>2]|0,bd=(fn|0)==(fi|0);do if(bd){if(W1=hi|16,D0=A1+W1|0,Rc=o6+D0|0,xc=e[Rc>>2]|0,Fd=(xc|0)==0,Fd)if(M0=W1+ye|0,Lc=o6+M0|0,Fc=e[Lc>>2]|0,Md=(Fc|0)==0,Md){_t=0;break}else In=Fc,fo=Lc;else In=xc,fo=Rc;for(;;){if(Mc=In+20|0,Tc=e[Mc>>2]|0,Nd=(Tc|0)==0,!Nd){In=Tc,fo=Mc;continue}if(Nc=In+16|0,Gc=e[Nc>>2]|0,Gd=(Gc|0)==0,Gd){qE=In,Vg=fo;break}else In=Gc,fo=Nc}if(Ud=Vg>>>0>>0,Ud)Q2();else{e[Vg>>2]=0,_t=qE;break}}else if(F1=hi|8,L0=F1+ye|0,_d=o6+L0|0,Da=e[_d>>2]|0,Rd=Da>>>0>>0,Rd&&Q2(),ba=Da+12|0,_a=e[ba>>2]|0,Dc=(_a|0)==(fi|0),Dc||Q2(),bc=fn+8|0,Ld=e[bc>>2]|0,_c=(Ld|0)==(fi|0),_c){e[ba>>2]=fn,e[bc>>2]=Da,_t=fn;break}else Q2();while(!1);if(Uc=(Is|0)==0,Uc)break;y1=ye+28|0,F0=y1+hi|0,Ra=o6+F0|0,Oc=e[Ra>>2]|0,qc=553352+(Oc<<2)|0,Od=e[qc>>2]|0,Pd=(fi|0)==(Od|0);do if(Pd){if(e[qc>>2]=_t,zE=(_t|0)==0,!zE)break;Hd=1<>>0>>0,Vd&&Q2(),Yc=Is+16|0,zd=e[Yc>>2]|0,Zd=(zd|0)==(fi|0),Zd?e[Yc>>2]=_t:(Wd=Is+20|0,e[Wd>>2]=_t),Jc=(_t|0)==0,Jc)break i;while(!1);Kc=e[138266]|0,jd=_t>>>0>>0,jd&&Q2(),Vc=_t+24|0,e[Vc>>2]=Is,S1=hi|16,T0=S1+ye|0,La=o6+T0|0,ZA=e[La>>2]|0,zc=(ZA|0)==0;do if(!zc)if(eI=ZA>>>0>>0,eI)Q2();else{tI=_t+16|0,e[tI>>2]=ZA,iI=ZA+24|0,e[iI>>2]=_t;break}while(!1);if(q0=A1+S1|0,Zc=o6+q0|0,WA=e[Zc>>2]|0,rI=(WA|0)==0,rI)break;if(nI=e[138266]|0,sI=WA>>>0>>0,sI)Q2();else{AI=_t+20|0,e[AI>>2]=WA,oI=WA+24|0,e[oI>>2]=_t;break}}while(!1);s2=mc|hi,x0=s2+ye|0,$I=o6+x0|0,lI=mc+fs|0,jg=$I,ei=lI}else jg=fi,ei=fs;if(Wc=jg+4|0,cI=e[Wc>>2]|0,gI=cI&-2,e[Wc>>2]=gI,hI=ei|1,w0=i0+4|0,fI=o6+w0|0,e[fI>>2]=hI,E0=ei+i0|0,jA=o6+E0|0,e[jA>>2]=ei,jc=ei>>>3,uI=ei>>>0<256,uI){un=jc<<1,Xc=553088+(un<<2)|0,eg=e[138262]|0,Fa=1<>2]|0,CI=e[138266]|0,BI=rg>>>0>>0,!BI){L=ig,Wa=rg;break}Q2()}while(!1);e[L>>2]=jt,pI=Wa+12|0,e[pI>>2]=jt,B1=i0+8|0,QI=o6+B1|0,e[QI>>2]=Wa,p1=i0+12|0,XA=o6+p1|0,e[XA>>2]=Xc;break}Ma=ei>>>8,yI=(Ma|0)==0;do if(yI)br=0;else{if(wI=ei>>>0>16777215,wI){br=31;break}kI=Ma+1048320|0,vI=kI>>>16,ng=vI&8,sg=Ma<>>16,Ag=bI&4,vr=Ag|ng,og=sg<>>16,$g=_I&2,eo=vr|$g,xI=14-eo|0,LI=og<<$g,to=LI>>>15,lg=xI+to|0,FI=lg<<1,MI=lg+7|0,cg=ei>>>MI,TI=cg&1,NI=TI|FI,br=NI}while(!1);if(Ta=553352+(br<<2)|0,B0=i0+28|0,GI=o6+B0|0,e[GI>>2]=br,z0=i0+16|0,UI=o6+z0|0,N0=i0+20|0,OI=o6+N0|0,e[OI>>2]=0,e[UI>>2]=0,gg=e[138263]|0,hg=1<>2]=jt,r1=i0+24|0,Es=o6+r1|0,e[Es>>2]=Ta,e1=i0+12|0,qI=o6+e1|0,e[qI>>2]=jt,i1=i0+8|0,YI=o6+i1|0,e[YI>>2]=jt;break}Na=e[Ta>>2]|0,dg=Na+4|0,JI=e[dg>>2]|0,KI=JI&-8,VI=(KI|0)==(ei|0);i:do if(VI)_r=Na;else{for(zI=(br|0)==31,Ig=br>>>1,ZI=25-Ig|0,WI=zI?0:ZI,jI=ei<>>31,pg=(r$+16|0)+(Bg<<2)|0,Cs=e[pg>>2]|0,yi=(Cs|0)==0,yi){o=pg,KE=r$;break}if(XI=ws<<1,eE=Cs+4|0,Cg=e[eE>>2]|0,mg=Cg&-8,tE=(mg|0)==(ei|0),tE){_r=Cs;break i}else ws=XI,r$=Cs}if(rr=e[138266]|0,iE=o>>>0>>0,iE)Q2();else{e[o>>2]=jt,E1=i0+24|0,rE=o6+E1|0,e[rE>>2]=KE,u1=i0+12|0,nE=o6+u1|0,e[nE>>2]=jt,I1=i0+8|0,sE=o6+I1|0,e[sE>>2]=jt;break t}}while(!1);if(Ga=_r+8|0,no=e[Ga>>2]|0,yg=e[138266]|0,wg=no>>>0>=yg>>>0,s$=_r>>>0>=yg>>>0,AE=wg&s$,AE){ms=no+12|0,e[ms>>2]=jt,e[Ga>>2]=jt,Z0=i0+8|0,oE=o6+Z0|0,e[oE>>2]=no,d1=i0+12|0,Ao=o6+d1|0,e[Ao>>2]=_r,h1=i0+24|0,Ua=o6+h1|0,e[Ua>>2]=0;break}else Q2()}while(!1);return $1=VA|8,aE=o6+$1|0,Ke=aE,Ke|0}else bs=553496;for(;;){if(Oa=e[bs>>2]|0,$E=Oa>>>0>O9>>>0,!$E&&(lE=bs+4|0,kg=e[lE>>2]|0,oo=Oa+kg|0,cE=oo>>>0>O9>>>0,cE)){c=Oa,f=kg,E=oo;break}gE=bs+8|0,hE=e[gE>>2]|0,bs=hE}if(o0=f+-47|0,$0=f+-39|0,fE=c+$0|0,Sg=fE,uE=Sg&7,j7=(uE|0)==0,y4=0-Sg|0,Xt=y4&7,dE=j7?0:Xt,a1=o0+dE|0,bg=c+a1|0,Pa=O9+16|0,IE=bg>>>0>>0,Sr=IE?O9:bg,Bs=Sr+8|0,EE=ye+-40|0,CE=o6+8|0,_g=CE,Ha=_g&7,mE=(Ha|0)==0,xg=0-_g|0,Lg=xg&7,qa=mE?0:Lg,Ya=o6+qa|0,Fg=EE-qa|0,e[138268]=Ya,e[138265]=Fg,ps=Fg|1,Z=qa+4|0,Ja=o6+Z|0,e[Ja>>2]=ps,s1=ye+-36|0,Mg=o6+s1|0,e[Mg>>2]=40,BE=e[138384]|0,e[138269]=BE,dn=Sr+4|0,e[dn>>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]=o6,e[138375]=ye,e[138377]=0,e[138376]=Bs,Tg=Sr+28|0,e[Tg>>2]=7,ao=Sr+32|0,QE=ao>>>0>>0,QE)for(wi=Tg;Ng=wi+4|0,e[Ng>>2]=7,yE=wi+8|0,wE=yE>>>0>>0,wE;)wi=Ng;if(kE=(Sr|0)==(O9|0),!kE){if(vE=Sr,SE=O9,ki=vE-SE|0,bE=e[dn>>2]|0,_E=bE&-2,e[dn>>2]=_E,RE=ki|1,Gg=O9+4|0,e[Gg>>2]=RE,e[Sr>>2]=ki,ui=ki>>>3,$o=ki>>>0<256,$o){Ka=ui<<1,Ug=553088+(Ka<<2)|0,Og=e[138262]|0,Pg=1<>2]|0,ME=e[138266]|0,TE=Yg>>>0>>0,TE?Q2():(R=qg,za=Yg)),e[R>>2]=O9,Jg=za+12|0,e[Jg>>2]=O9,NE=O9+8|0,e[NE>>2]=za,lo=O9+12|0,e[lo>>2]=Ug;break}if(co=ki>>>8,GE=(co|0)==0,GE?nr=0:(Va=ki>>>0>16777215,Va?nr=31:(UE=co+1048320|0,OE=UE>>>16,Kg=OE&8,ys=co<>>16,$2=HE&4,i2=$2|Kg,o2=ys<<$2,X1=o2+245760|0,n2=X1>>>16,u2=n2&2,e2=i2|u2,y2=14-e2|0,S2=o2<>>15,M2=y2+w2|0,_2=M2<<1,N2=M2+7|0,d2=ki>>>N2,J2=d2&1,G2=J2|_2,nr=G2)),q2=553352+(nr<<2)|0,T2=O9+28|0,e[T2>>2]=nr,O2=O9+20|0,e[O2>>2]=0,e[Pa>>2]=0,K2=e[138263]|0,P2=1<>2]=O9,X2=O9+24|0,e[X2>>2]=q2,D5=O9+12|0,e[D5>>2]=O9,V2=O9+8|0,e[V2>>2]=O9;break}f5=e[q2>>2]|0,k5=f5+4|0,O5=e[k5>>2]|0,v2=O5&-8,E5=(v2|0)==(ki|0);t:do if(E5)Io=f5;else{for(r5=(nr|0)==31,x2=nr>>>1,R2=25-x2|0,B2=r5?0:R2,C5=ki<>>31,l5=(n$+16|0)+(A5<<2)|0,b5=e[l5>>2]|0,m5=(b5|0)==0,m5){a=l5,Zg=n$;break}if(L5=e$<<1,u5=b5+4|0,_5=e[u5>>2]|0,H2=_5&-8,d5=(H2|0)==(ki|0),d5){Io=b5;break t}else e$=L5,n$=b5}if(M1=e[138266]|0,v5=a>>>0>>0,v5)Q2();else{e[a>>2]=O9,c5=O9+24|0,e[c5>>2]=Zg,o5=O9+12|0,e[o5>>2]=O9,c2=O9+8|0,e[c2>>2]=O9;break e}}while(!1);if(B5=Io+8|0,e5=e[B5>>2]|0,n5=e[138266]|0,g5=e5>>>0>=n5>>>0,WE=Io>>>0>=n5>>>0,Y2=g5&WE,Y2){h5=e5+12|0,e[h5>>2]=O9,e[B5>>2]=O9,t5=O9+8|0,e[t5>>2]=e5,R5=O9+12|0,e[R5>>2]=Io,W2=O9+24|0,e[W2>>2]=0;break}else Q2()}}while(!1);if(L2=e[138265]|0,p5=L2>>>0>v4>>>0,p5)return H5=L2-v4|0,e[138265]=H5,X5=e[138268]|0,I5=X5+v4|0,e[138268]=I5,u3=H5|1,K=v4+4|0,h3=X5+K|0,e[h3>>2]=u3,K5=v4|3,e3=X5+4|0,e[e3>>2]=K5,n3=X5+8|0,Ke=n3,Ke|0}return F5=Kp()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0;if(_e=m,X=(t|0)==0,!X){U=t+-8|0,J2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,a9=e[y6>>2]|0,z9=a9&3,x4=(z9|0)==1,x4&&Q2(),H9=a9&-8,p=H9+-8|0,Z9=t+p|0,a0=a9&1,j=(a0|0)==0;do if(j){if(v0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-v0|0,S0=t+Q|0,Z0=v0+H9|0,y1=S0>>>0>>0,y1&&Q2(),P1=e[138267]|0,s2=(S0|0)==(P1|0),s2){if(z=H9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,K=(r0|0)==3,!K){q3=S0,y9=Z0;break}e[138264]=Z0,c0=i0&-2,e[n0>>2]=c0,s0=Z0|1,_=Q+4|0,l0=t+_|0,e[l0>>2]=s0,e[Z9>>2]=Z0;return}if(n2=v0>>>3,G2=v0>>>0<256,G2){if(Y=Q+8|0,D5=t+Y|0,B2=e[D5>>2]|0,t0=Q+12|0,m5=t+t0|0,Y2=e[m5>>2]|0,u3=n2<<1,K3=553088+(u3<<2)|0,m3=(B2|0)==(K3|0),m3||(h6=B2>>>0>>0,h6&&Q2(),$6=B2+12|0,S3=e[$6>>2]|0,O6=(S3|0)==(S0|0),O6||Q2()),Y6=(Y2|0)==(B2|0),Y6){N6=1<>>0>>0,D6&&Q2(),K6=Y2+8|0,L6=e[K6>>2]|0,F3=(L6|0)==(S0|0),F3?c=K6:Q2()),F6=B2+12|0,e[F6>>2]=Y2,e[c>>2]=B2,q3=S0,y9=Z0;break}x=Q+24|0,X6=t+x|0,A9=e[X6>>2]|0,R=Q+12|0,W6=t+R|0,h9=e[W6>>2]|0,f9=(h9|0)==(S0|0);do if(f9){if(F=Q+20|0,s4=t+F|0,g4=e[s4>>2]|0,G9=(g4|0)==0,G9)if(L=Q+16|0,D9=t+L|0,I9=e[D9>>2]|0,P6=(I9|0)==0,P6){C9=0;break}else F4=I9,Ce=D9;else F4=g4,Ce=s4;for(;;){if(t9=F4+20|0,C4=e[t9>>2]|0,S4=(C4|0)==0,!S4){F4=C4,Ce=t9;continue}if(A4=F4+16|0,Q9=e[A4>>2]|0,D4=(Q9|0)==0,D4){le=F4,p4=Ce;break}else F4=Q9,Ce=A4}if(b4=p4>>>0>>0,b4)Q2();else{e[p4>>2]=0,C9=le;break}}else if(P=Q+8|0,u9=t+P|0,o9=e[u9>>2]|0,T9=o9>>>0>>0,T9&&Q2(),I6=o9+12|0,M6=e[I6>>2]|0,e9=(M6|0)==(S0|0),e9||Q2(),N9=h9+8|0,d9=e[N9>>2]|0,E4=(d9|0)==(S0|0),E4){e[I6>>2]=h9,e[N9>>2]=o9,C9=h9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)q3=S0,y9=Z0;else{if(M=Q+28|0,W4=t+M|0,m4=e[W4>>2]|0,N4=553352+(m4<<2)|0,U9=e[N4>>2]|0,G4=(S0|0)==(U9|0),G4){if(e[N4>>2]=C9,c4=(C9|0)==0,c4){o4=1<>>0>>0,Ee&&Q2(),Te=A9+16|0,We=e[Te>>2]|0,U4=(We|0)==(S0|0),U4?e[Te>>2]=C9:(Ne=A9+20|0,e[Ne>>2]=C9),O4=(C9|0)==0,O4){q3=S0,y9=Z0;break}j4=e[138266]|0,Se=C9>>>0>>0,Se&&Q2(),je=C9+24|0,e[je>>2]=A9,T=Q+16|0,Ae=t+T|0,f4=e[Ae>>2]|0,b6=(f4|0)==0;do if(!b6)if(P4=f4>>>0>>0,P4)Q2();else{L9=C9+16|0,e[L9>>2]=f4,a4=f4+24|0,e[a4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,oe=e[_4>>2]|0,W9=(oe|0)==0,W9)q3=S0,y9=Z0;else if(ae=e[138266]|0,Z=oe>>>0>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=oe,o0=oe+24|0,e[o0>>2]=C9,q3=S0,y9=Z0;break}}}else q3=U,y9=H9;while(!1);if($0=q3>>>0>>0,$0||Q2(),D=H9+-4|0,g0=t+D|0,u0=e[g0>>2]|0,p0=u0&1,I0=(p0|0)==0,I0&&Q2(),w0=u0&2,f0=(w0|0)==0,f0){if(E0=e[138268]|0,C0=(Z9|0)==(E0|0),C0){if(d0=e[138265]|0,K0=d0+y9|0,e[138265]=K0,e[138268]=q3,b0=K0|1,m0=q3+4|0,e[m0>>2]=b0,L0=e[138267]|0,F0=(q3|0)==(L0|0),!F0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,U0=(Z9|0)==(T0|0),U0){B0=e[138264]|0,q0=B0+y9|0,e[138264]=q0,e[138267]=q3,x0=q0|1,M0=q3+4|0,e[M0>>2]=x0,J0=q3+q0|0,e[J0>>2]=q0;return}Y0=u0&-8,O0=Y0+y9|0,z0=u0>>>3,N0=u0>>>0<256;do if(N0){if(P0=t+H9|0,r1=e[P0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){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,w1=(G1|0)==(Z9|0);do if(w1){if(H=H9+12|0,W1=t+H|0,O1=e[W1>>2]|0,l2=(O1|0)==0,l2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){$4=0;break}else c6=f2,l4=z1;else c6=O1,l4=W1;for(;;){if(A2=c6+20|0,V1=e[A2>>2]|0,g2=(V1|0)==0,!g2){c6=V1,l4=A2;continue}if(a2=c6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ge=c6,U6=l4;break}else c6=t2,l4=a2}if(i2=e[138266]|0,o2=U6>>>0>>0,o2)Q2();else{e[U6>>2]=0,$4=Ge;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,r2=(j1|0)==(Z9|0),r2){e[K1>>2]=G1,e[Y1>>2]=Z1,$4=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,S2=e[y2>>2]|0,w2=(Z9|0)==(S2|0),w2){if(e[y2>>2]=$4,k4=($4|0)==0,k4){m2=1<>>0>>0,q2&&Q2(),T2=L1+16|0,O2=e[T2>>2]|0,K2=(O2|0)==(Z9|0),K2?e[T2>>2]=$4:(s5=L1+20|0,e[s5>>2]=$4),P2=($4|0)==0,P2)break;T1=e[138266]|0,j2=$4>>>0>>0,j2&&Q2(),x5=$4+24|0,e[x5>>2]=L1,S=H9+8|0,X2=t+S|0,V2=e[X2>>2]|0,f5=(V2|0)==0;do if(!f5)if(k5=V2>>>0>>0,k5)Q2();else{O5=$4+16|0,e[O5>>2]=V2,$5=V2+24|0,e[$5>>2]=$4;break}while(!1);if(w=H9+12|0,v2=t+w|0,E5=e[v2>>2]|0,r5=(E5|0)==0,!r5)if(x2=e[138266]|0,R2=E5>>>0>>0,R2)Q2();else{C5=$4+20|0,e[C5>>2]=E5,L5=E5+24|0,e[L5>>2]=$4;break}}}while(!1);if(u5=O0|1,b5=q3+4|0,e[b5>>2]=u5,G5=q3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,H2=(q3|0)==(_5|0),H2){e[138264]=O0;return}else m9=O0}else d5=u0&-2,e[g0>>2]=d5,A5=y9|1,l5=q3+4|0,e[l5>>2]=A5,M1=q3+y9|0,e[M1>>2]=y9,m9=y9;if(v5=m9>>>3,c5=m9>>>0<256,c5){o5=v5<<1,z2=553088+(o5<<2)|0,c2=e[138262]|0,B5=1<>2]|0,R5=e[138266]|0,W2=t5>>>0>>0,W2?Q2():(f=h5,$e=t5)),e[f>>2]=q3,a5=$e+12|0,e[a5>>2]=q3,L2=q3+8|0,e[L2>>2]=$e,p5=q3+12|0,e[p5>>2]=z2;return}H5=m9>>>8,X5=(H5|0)==0,X5?B4=0:(I5=m9>>>0>16777215,I5?B4=31:(h3=H5+1048320|0,K5=h3>>>16,e3=K5&8,n3=H5<>>16,V5=F5&4,w3=V5|e3,f3=n3<>>16,Z5=T3&2,y3=w3|Z5,j5=14-y3|0,t6=f3<>>15,N3=j5+R3|0,o3=N3<<1,$3=N3+7|0,l3=m9>>>$3,q5=l3&1,U5=q5|o3,B4=U5)),P5=553352+(B4<<2)|0,w5=q3+28|0,e[w5>>2]=B4,G3=q3+16|0,M5=q3+20|0,e[M5>>2]=0,e[G3>>2]=0,n6=e[138263]|0,t3=1<>2]=q3,k3=q3+24|0,e[k3>>2]=P5,Q3=q3+12|0,e[Q3>>2]=q3,i6=q3+8|0,e[i6>>2]=q3;else{W3=e[P5>>2]|0,U3=W3+4|0,z5=e[U3>>2]|0,v3=z5&-8,c3=(v3|0)==(m9|0);t:do if(c3)De=W3;else{for(O3=(B4|0)==31,d3=B4>>>1,w6=25-d3|0,k6=O3?0:w6,v6=m9<>>31,e6=(be+16|0)+(X3<<2)|0,l6=e[e6>>2]|0,f6=(l6|0)==0,f6){n=e6,Xe=be;break}if(B6=X4<<1,j3=l6+4|0,p6=e[j3>>2]|0,_6=p6&-8,q6=(_6|0)==(m9|0),q6){De=l6;break t}else X4=B6,be=l6}if(P3=e[138266]|0,D3=n>>>0>>0,D3)Q2();else{e[n>>2]=q3,H3=q3+24|0,e[H3>>2]=Xe,V3=q3+12|0,e[V3>>2]=q3,S6=q3+8|0,e[S6>>2]=q3;break e}}while(!1);if(s6=De+8|0,i3=e[s6>>2]|0,s3=e[138266]|0,A6=i3>>>0>=s3>>>0,g8=De>>>0>=s3>>>0,u6=A6&g8,u6){b3=i3+12|0,e[b3>>2]=q3,e[s6>>2]=q3,T6=q3+8|0,e[T6>>2]=i3,r6=q3+12|0,e[r6>>2]=De,Q6=q3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(R6=e[138270]|0,J6=R6+-1|0,e[138270]=J6,d6=(J6|0)==0,d6)ee=553504;else return;for(;M4=e[ee>>2]|0,L3=(M4|0)==0,Z6=M4+8|0,!L3;)ee=Z6;e[138270]=-1}}function r4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=m,a=(t|0)==0,a?D=0:(c=i5(n,t)|0,I=n|t,C=I>>>0>65535,C?(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)||se(v|0,0,D|0)|0,v|0}function Ui(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0;return Y=m,o=(t|0)==0,o?(a=S9(n)|0,P=a,P|0):(y=n>>>0>4294967231,y?(x=Kp()|0,e[x>>2]=12,P=0,P|0):(R=n>>>0<11,L=n+11|0,F=L&-8,M=R?16:F,T=t+-8|0,G=AD(T,M)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(P=0,P|0):(C=t+-4|0,p=e[C>>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,n4(E|0,t|0,_|0)|0,I2(t),P=E,P|0)):(f=G+8|0,P=f,P|0)))}function AD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0;if(V5=m,T=t+4|0,G=e[T>>2]|0,w1=G&-8,r2=t+w1|0,a2=e[138266]|0,w2=G&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,K5=h3&u3,K2=t>>>0>>0,e3=K5&K2,e3||Q2(),_=w1|4,O5=t+_|0,b5=e[O5>>2]|0,o5=b5&1,P=(o5|0)==0,P&&Q2(),Z=(w2|0)==0,Z)return $0=n>>>0<256,$0?(I5=0,I5|0):(K0=n+4|0,M0=w1>>>0>>0,!M0&&(i1=w1-n|0,d1=e[138382]|0,S1=d1<<1,F1=i1>>>0>S1>>>0,!F1)?(I5=t,I5|0):(I5=0,I5|0));if(G1=w1>>>0>>0,!G1)return U1=w1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,D1=G&1,K1=D1|n,P1=K1|2,e[T>>2]=P1,Q=n+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[O5>>2]|0,j1=Y1|1,e[O5>>2]=j1,yQ(N1,U1),I5=t,I5|0):(I5=t,I5|0);if(W1=e[138268]|0,O1=(r2|0)==(W1|0),O1)return l2=e[138265]|0,z1=l2+w1|0,f2=z1>>>0>n>>>0,f2?(s2=z1-n|0,E2=t+n|0,A2=G&1,V1=A2|n,g2=V1|2,e[T>>2]=g2,D=n+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,I5=t,I5|0):(I5=0,I5|0);if(i2=e[138267]|0,o2=(r2|0)==(i2|0),o2)return X1=e[138264]|0,n2=X1+w1|0,u2=n2>>>0>>0,u2?(I5=0,I5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(S2=t+n|0,m2=t+n2|0,M2=G&1,_2=M2|n,N2=_2|2,e[T>>2]=N2,S=n+4|0,d2=t+S|0,J2=e2|1,e[d2>>2]=J2,e[m2>>2]=e2,y=n2+4|0,G2=t+y|0,q2=e[G2>>2]|0,T2=q2&-2,e[G2>>2]=T2,n3=S2,C3=e2):(O2=G&1,s5=O2|n2,P2=s5|2,e[T>>2]=P2,v=n2+4|0,T1=t+v|0,j2=e[T1>>2]|0,x5=j2|1,e[T1>>2]=x5,n3=0,C3=0),e[138264]=C3,e[138267]=n3,I5=t,I5|0);if(X2=b5&2,D5=(X2|0)==0,!D5||(V2=b5&-8,f5=V2+w1|0,k5=f5>>>0>>0,k5))return I5=0,I5|0;$5=f5-n|0,v2=b5>>>3,E5=b5>>>0<256;do if(E5){if(p=w1+8|0,r5=t+p|0,x2=e[r5>>2]|0,B=w1+12|0,R2=t+B|0,B2=e[R2>>2]|0,C5=v2<<1,L5=553088+(C5<<2)|0,u5=(x2|0)==(L5|0),u5||(G5=x2>>>0>>0,G5&&Q2(),_5=x2+12|0,H2=e[_5>>2]|0,d5=(H2|0)==(r2|0),d5||Q2()),A5=(B2|0)==(x2|0),A5){l5=1<>>0>>0,z2&&Q2(),c2=B2+8|0,B5=e[c2>>2]|0,e5=(B5|0)==(r2|0),e5?a=c2:Q2()),n5=x2+12|0,e[n5>>2]=B2,e[a>>2]=x2}else{c=w1+24|0,g5=t+c|0,Y2=e[g5>>2]|0,w=w1+12|0,h5=t+w|0,t5=e[h5>>2]|0,R5=(t5|0)==(r2|0);do if(R5){if(R=w1+20|0,a0=t+R|0,V=e[a0>>2]|0,o0=(V|0)==0,o0)if(x=w1+16|0,n0=t+x|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){L2=0;break}else W2=i0,p5=n0;else W2=V,p5=a0;for(;;){if(K=W2+20|0,c0=e[K>>2]|0,s0=(c0|0)==0,!s0){W2=c0,p5=K;continue}if(l0=W2+16|0,j=e[l0>>2]|0,g0=(j|0)==0,g0){a5=W2,H5=p5;break}else W2=j,p5=l0}if(u0=H5>>>0>>0,u0)Q2();else{e[H5>>2]=0,L2=a5;break}}else if(C=w1+8|0,z=t+C|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=t5+8|0,X=e[H>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=t5,e[H>>2]=Y,L2=t5;break}else Q2();while(!1);if(p0=(Y2|0)==0,!p0){if(f=w1+28|0,I0=t+f|0,w0=e[I0>>2]|0,f0=553352+(w0<<2)|0,E0=e[f0>>2]|0,C0=(r2|0)==(E0|0),C0){if(e[f0>>2]=L2,X5=(L2|0)==0,X5){d0=1<>>0>>0,F0&&Q2(),T0=Y2+16|0,U0=e[T0>>2]|0,B0=(U0|0)==(r2|0),B0?e[T0>>2]=L2:(q0=Y2+20|0,e[q0>>2]=L2),x0=(L2|0)==0,x0)break;D0=e[138266]|0,J0=L2>>>0>>0,J0&&Q2(),Y0=L2+24|0,e[Y0>>2]=Y2,E=w1+16|0,O0=t+E|0,z0=e[O0>>2]|0,N0=(z0|0)==0;do if(!N0)if(P0=z0>>>0>>0,P0)Q2();else{r1=L2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=L2;break}while(!1);if(I=w1+20|0,e1=t+I|0,S0=e[e1>>2]|0,c1=(S0|0)==0,!c1)if($1=e[138266]|0,f1=S0>>>0<$1>>>0,f1)Q2();else{g1=L2+20|0,e[g1>>2]=S0,l1=S0+24|0,e[l1>>2]=L2;break}}}while(!1);return s1=$5>>>0<16,s1?(a1=G&1,n1=f5|a1,A1=n1|2,e[T>>2]=A1,M=f5|4,Z0=t+M|0,h1=e[Z0>>2]|0,E1=h1|1,e[Z0>>2]=E1,I5=t,I5|0):(u1=t+n|0,I1=G&1,B1=I1|n,p1=B1|2,e[T>>2]=p1,L=n+4|0,Q1=t+L|0,R1=$5|3,e[Q1>>2]=R1,F=f5|4,x1=t+F|0,y1=e[x1>>2]|0,L1=y1|1,e[x1>>2]=L1,yQ(u1,$5),I5=t,I5|0)}function yQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0;p4=m,V=t+n|0,o0=t+4|0,O2=e[o0>>2]|0,f6=O2&1,Y6=(f6|0)==0;do if(Y6){if(L6=e[t>>2]|0,T9=O2&3,D9=(T9|0)==0,D9)return;if(T4=0-L6|0,E9=t+T4|0,n0=L6+n|0,p0=e[138266]|0,L0=E9>>>0>>0,L0&&Q2(),O0=e[138267]|0,f1=(E9|0)==(O0|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=E9,a=n0;break}e[138264]=n0,c0=i0&-2,e[Z9>>2]=c0,s0=n0|1,R=4-L6|0,l0=t+R|0,e[l0>>2]=s0,e[V>>2]=n0;return}if(u1=L6>>>3,G1=L6>>>0<256,G1){if(J=8-L6|0,j1=t+J|0,g2=e[j1>>2]|0,W=12-L6|0,S2=t+W|0,K2=e[S2>>2]|0,O5=u1<<1,b5=553088+(O5<<2)|0,o5=(g2|0)==(b5|0),o5||(W2=g2>>>0>>0,W2&&Q2(),n3=g2+12|0,j5=e[n3>>2]|0,w5=(j5|0)==(E9|0),w5||Q2()),i6=(K2|0)==(g2|0),i6){v6=1<>>0>>0,T6&&Q2(),r6=K2+8|0,Q6=e[r6>>2]|0,R6=(Q6|0)==(E9|0),R6?C=r6:Q2()),J6=g2+12|0,e[J6>>2]=K2,e[C>>2]=g2,o=E9,a=n0;break}L=24-L6|0,d6=t+L|0,L3=e[d6>>2]|0,F=12-L6|0,Z6=t+F|0,N6=e[Z6>>2]|0,j6=(N6|0)==(E9|0);do if(j6){if(M=16-L6|0,T=M+4|0,A9=t+T|0,W6=e[A9>>2]|0,h9=(W6|0)==0,h9)if(f9=t+M|0,u9=e[f9>>2]|0,o9=(u9|0)==0,o9){a4=0;break}else P4=u9,ae=f9;else P4=W6,ae=A9;for(;;){if(a9=P4+20|0,I6=e[a9>>2]|0,M6=(I6|0)==0,!M6){P4=I6,ae=a9;continue}if(e9=P4+16|0,N9=e[e9>>2]|0,d9=(N9|0)==0,d9){L9=P4,$e=ae;break}else P4=N9,ae=e9}if(E4=$e>>>0>>0,E4)Q2();else{e[$e>>2]=0,a4=L9;break}}else if(t0=8-L6|0,r9=t+t0|0,x6=e[r9>>2]|0,G6=x6>>>0>>0,G6&&Q2(),D6=x6+12|0,K6=e[D6>>2]|0,y6=(K6|0)==(E9|0),y6||Q2(),F3=N6+8|0,F6=e[F3>>2]|0,X6=(F6|0)==(E9|0),X6){e[D6>>2]=N6,e[F3>>2]=x6,a4=N6;break}else Q2();while(!1);if(s4=(L3|0)==0,s4)o=E9,a=n0;else{if(P=28-L6|0,g4=t+P|0,G9=e[g4>>2]|0,z9=553352+(G9<<2)|0,I9=e[z9>>2]|0,P6=(E9|0)==(I9|0),P6){if(e[z9>>2]=a4,c6=(a4|0)==0,c6){t9=1<>>0>>0,D4&&Q2(),b4=L3+16|0,x4=e[b4>>2]|0,W4=(x4|0)==(E9|0),W4?e[b4>>2]=a4:(m4=L3+20|0,e[m4>>2]=a4),N4=(a4|0)==0,N4){o=E9,a=n0;break}U9=e[138266]|0,G4=a4>>>0>>0,G4&&Q2(),o4=a4+24|0,e[o4>>2]=L3,z=16-L6|0,L4=t+z|0,h4=e[L4>>2]|0,Ie=(h4|0)==0;do if(!Ie)if(H9=h4>>>0>>0,H9)Q2();else{Ee=a4+16|0,e[Ee>>2]=h4,Te=h4+24|0,e[Te>>2]=a4;break}while(!1);if(Y=z+4|0,We=t+Y|0,U4=e[We>>2]|0,Ne=(U4|0)==0,Ne)o=E9,a=n0;else if(O4=e[138266]|0,j4=U4>>>0>>0,j4)Q2();else{Se=a4+20|0,e[Se>>2]=U4,je=U4+24|0,e[je>>2]=a4,o=E9,a=n0;break}}}else o=t,a=n;while(!1);if(j=e[138266]|0,$0=V>>>0>>0,$0&&Q2(),y=n+4|0,g0=t+y|0,u0=e[g0>>2]|0,I0=u0&2,w0=(I0|0)==0,w0){if(f0=e[138268]|0,E0=(V|0)==(f0|0),E0){if(C0=e[138265]|0,d0=C0+a|0,e[138265]=d0,e[138268]=o,v0=d0|1,K0=o+4|0,e[K0>>2]=v0,b0=e[138267]|0,m0=(o|0)==(b0|0),!m0)return;e[138267]=0,e[138264]=0;return}if(F0=e[138267]|0,T0=(V|0)==(F0|0),T0){U0=e[138264]|0,B0=U0+a|0,e[138264]=B0,e[138267]=o,q0=B0|1,x0=o+4|0,e[x0>>2]=q0,D0=o+B0|0,e[D0>>2]=B0;return}M0=u0&-8,J0=M0+a|0,Y0=u0>>>3,z0=u0>>>0<256;do if(z0){if(_=n+8|0,N0=t+_|0,P0=e[N0>>2]|0,x=n+12|0,r1=t+x|0,H0=e[r1>>2]|0,e1=Y0<<1,S0=553088+(e1<<2)|0,i1=(P0|0)==(S0|0),i1||(c1=P0>>>0>>0,c1&&Q2(),$1=P0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(P0|0),s1){a1=1<>>0>>0,h1&&Q2(),E1=H0+8|0,I1=e[E1>>2]|0,B1=(I1|0)==(V|0),B1?I=E1:Q2()),p1=P0+12|0,e[p1>>2]=H0,e[I>>2]=P0}else{G=n+24|0,Q1=t+G|0,R1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,y1=e[x1>>2]|0,S1=(y1|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,O1=(W1|0)==0,O1){W9=0;break}else _4=W1,B4=r2;else _4=q1,B4=H1;for(;;){if(l2=_4+20|0,z1=e[l2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=l2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,A2=(E2|0)==0,A2){oe=_4,X4=B4;break}else _4=E2,B4=s2}if(V1=X4>>>0>>0,V1)Q2();else{e[X4>>2]=0,W9=oe;break}}else if(Q=n+8|0,L1=t+Q|0,F1=e[L1>>2]|0,w1=F1>>>0>>0,w1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(V|0),N1||Q2(),D1=y1+8|0,K1=e[D1>>2]|0,P1=(K1|0)==(V|0),P1){e[U1>>2]=y1,e[D1>>2]=F1,W9=y1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if(a0=n+28|0,t2=t+a0|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,Ge=(W9|0)==0,Ge){n2=1<<$2,u2=n2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,m2=R1>>>0>>0,m2&&Q2(),M2=R1+16|0,_2=e[M2>>2]|0,N2=(_2|0)==(V|0),N2?e[M2>>2]=W9:(d2=R1+20|0,e[d2>>2]=W9),J2=(W9|0)==0,J2)break;G2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),T2=W9+24|0,e[T2>>2]=R1,Z=n+16|0,s5=t+Z|0,P2=e[s5>>2]|0,T1=(P2|0)==0;do if(!T1)if(j2=P2>>>0>>0,j2)Q2();else{x5=W9+16|0,e[x5>>2]=P2,X2=P2+24|0,e[X2>>2]=W9;break}while(!1);if(D=n+20|0,D5=t+D|0,V2=e[D5>>2]|0,f5=(V2|0)==0,!f5)if(k5=e[138266]|0,$5=V2>>>0>>0,$5)Q2();else{v2=W9+20|0,e[v2>>2]=V2,E5=V2+24|0,e[E5>>2]=W9;break}}}while(!1);if(r5=J0|1,x2=o+4|0,e[x2>>2]=r5,R2=o+J0|0,e[R2>>2]=J0,B2=e[138267]|0,C5=(o|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else L5=u0&-2,e[g0>>2]=L5,u5=a|1,G5=o+4|0,e[G5>>2]=u5,_5=o+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,d5=c>>>0<256,d5){A5=H2<<1,l5=553088+(A5<<2)|0,m5=e[138262]|0,M1=1<>2]|0,e5=e[138266]|0,n5=B5>>>0>>0,n5?Q2():(p=c2,Ae=B5)),e[p>>2]=o,g5=Ae+12|0,e[g5>>2]=o,Y2=o+8|0,e[Y2>>2]=Ae,h5=o+12|0,e[h5>>2]=l5;return}if(t5=c>>>8,R5=(t5|0)==0,R5?f4=0:(a5=c>>>0>16777215,a5?f4=31:(L2=t5+1048320|0,p5=L2>>>16,H5=p5&8,X5=t5<>>16,h3=u3&4,K5=h3|H5,e3=X5<>>16,V5=F5&2,w3=K5|V5,f3=14-w3|0,B3=e3<>>15,T3=f3+K3|0,Z5=T3<<1,y3=T3+7|0,t6=c>>>y3,R3=t6&1,N3=R3|Z5,f4=N3)),o3=553352+(f4<<2)|0,$3=o+28|0,e[$3>>2]=f4,l3=o+16|0,m3=o+20|0,e[m3>>2]=0,e[l3>>2]=0,q5=e[138263]|0,U5=1<>2]=o,n6=o+24|0,e[n6>>2]=o3,t3=o+12|0,e[t3>>2]=o,A3=o+8|0,e[A3>>2]=o;return}x3=e[o3>>2]|0,h6=x3+4|0,p3=e[h6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)F4=x3;else{for(W3=(f4|0)==31,U3=f4>>>1,z5=25-U3|0,v3=W3?0:z5,c3=c<>>31,l6=(le+16|0)+(j3<<2)|0,d3=e[l6>>2]|0,p6=(d3|0)==0,p6){f=l6,C9=le;break}if(O3=b6<<1,$6=d3+4|0,w6=e[$6>>2]|0,k6=w6&-8,B6=(k6|0)==(c|0),B6){F4=d3;break e}else b6=O3,le=d3}_6=e[138266]|0,q6=f>>>0<_6>>>0,q6&&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=F4+8|0,D3=e[e6>>2]|0,H3=e[138266]|0,V3=D3>>>0>=H3>>>0,$4=F4>>>0>=H3>>>0,S6=V3&$4,S6||Q2(),s6=D3+12|0,e[s6>>2]=o,e[e6>>2]=o,i3=o+8|0,e[i3>>2]=D3,O6=o+12|0,e[O6>>2]=F4,s3=o+24|0,e[s3>>2]=0}function oD(){e[6410]=P9}function se(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 j$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function wQ(t,n){t=t|0,n=n|0;var o=0,a=0;a=t+(j$(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 kQ(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,H6=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):(H6=0,n>>>o-32|0)}function n4(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;if((o|0)>=4096)return Iv(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 n4(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 Ws(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,H6=f,c|0|0}function Fb(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):(H6=(n|0)<0?-1:0,n>>o-32|0)}function vQ(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 aD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return o=t&65535,a=n&65535,c=i5(a,o)|0,f=t>>>16,E=(c>>>16)+(i5(a,f)|0)|0,I=n>>>16,C=i5(I,o)|0,H6=((E>>>16)+(i5(I,f)|0)|0)+(((E&65535)+C|0)>>>16)|0,0|(E+C<<16|c&65535)|0}function Mb(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,C=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,C=Ws(c^t,f^n,c,f)|0,p=H6,B=Ws(E^o,I^a,E,I)|0,v=E^c,S=I^f,w=tm(C,p,B,H6,0)|0,y=Ws(w^v,H6^S,v,S)|0,y|0}function Tb(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,m=m+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,C=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Ws(f^t,E^n,f,E)|0,B=H6,v=Ws(I^o,C^a,I,C)|0,tm(p,B,v,H6,c)|0,S=Ws(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=H6,m=y,H6=w,S|0}function $D(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,C=0;return c=t,f=o,E=aD(c,f)|0,I=H6,C=i5(n,f)|0,H6=((i5(a,c)|0)+C|0)+I|I&0,0|E&-1|0}function Nb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0;return c=tm(t,n,o,a,0)|0,c|0}function Gb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0;return f=m,m=m+8|0,c=f|0,tm(t,n,o,a,c)|0,m=f,H6=e[c+4>>2]|0,e[c>>2]|0|0}function tm(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;if(f=t,E=n,I=E,C=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,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0):(v&&(e[c>>2]=(f>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(f>>>0)/(C>>>0)>>>0,H6=D0,x0|0);S=(B|0)==0;do if(C|0){if(!S){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,a0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}if(x=C-1|0,x&C|0){L=(Vs(C|0)|0)+33|0,F=L-(Vs(I|0)|0)|0,M=64-F|0,T=32-F|0,G=T>>31,P=F-32|0,z=P>>31,Z=F,a0=T-1>>31&I>>>(P>>>0)|(I<>>(F>>>0))&z,U=z&I>>>(F>>>0),X=f<>>(P>>>0))&G|f<>31;break}return c|0&&(e[c>>2]=x&f,e[c+4>>2]=0),(C|0)==1?(D0=E|n&0,x0=0|t&-1,H6=D0,x0|0):(R=vQ(C|0)|0,D0=0|I>>>(R>>>0),x0=I<<32-R|f>>>(R>>>0)|0,H6=D0,x0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(I>>>0)/(C>>>0)>>>0,H6=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,H6=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|n&0),D0=0,x0=I>>>((vQ(B|0)|0)>>>0),H6=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,a0=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,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}while(!1);if(!(Z|0))T0=H,F0=X,L0=U,m0=a0,b0=0,K0=0;else{for(V=0|o&-1,o0=p|a&0,n0=zs(V|0,o0|0,-1,-1)|0,i0=H6,j=H,l0=X,s0=U,c0=a0,K=Z,r0=0;$0=l0>>>31|j<<1,g0=r0|l0<<1,u0=0|(c0<<1|j>>>31),p0=c0>>>31|s0<<1|0,Ws(n0,i0,u0,p0)|0,I0=H6,w0=I0>>31|((I0|0)<0?-1:0)<<1,f0=w0&1,E0=Ws(u0,p0,w0&V,(((I0|0)<0?-1:0)>>31|((I0|0)<0?-1:0)<<1)&o0)|0,C0=E0,d0=H6,v0=K-1|0,v0|0;)j=$0,l0=g0,s0=d0,c0=C0,K=v0,r0=f0;T0=$0,F0=g0,L0=d0,m0=C0,b0=0,K0=f0}return U0=F0,B0=0,q0=T0|B0,c|0&&(e[c>>2]=0|m0,e[c+4>>2]=L0|0),D0=(0|U0)>>>31|q0<<1|(B0<<1|U0>>>31)&0|b0,x0=(U0<<1|0)&-2|K0,H6=D0,x0|0}function lD(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 cD(t,n){t=t|0,n=n|0,js[t&7](n|0)}function gD(t,n,o){t=t|0,n=n|0,o=o|0,IB[t&3](n|0,o|0)}function hD(t,n){return t=t|0,n=n|0,bQ[t&1](n|0)|0}function fD(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0,_Q[t&1](n|0,o|0,a|0)}function uD(t,n,o,a,c,f,E,I,C){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,C=C|0,RQ[t&3](n|0,o|0,a|0,c|0,f|0,E|0,I|0,C|0)|0}function dD(t,n,o){return t=t|0,n=n|0,o=o|0,ft[t&15](n|0,o|0)|0}function ID(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 ED(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,qr(0),0}function fB(t){t=t|0,qr(1)}function SQ(t,n){t=t|0,n=n|0,qr(2)}function CD(t){return t=t|0,qr(3),0}function mD(t,n,o){t=t|0,n=n|0,o=o|0,qr(4)}function DQ(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,qr(5),0}function X$(t,n){return t=t|0,n=n|0,qr(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,qr(7),0}var dB=[ED,sS,Hv,qv],js=[fB,iS,rS,uS,SS,DS,fB,fB],IB=[SQ,Xv,bS,SQ],bQ=[CD,dS],_Q=[mD,hS],RQ=[DQ,LS,NS,DQ],ft=[X$,eS,tS,nS,fS,IS,_S,RS,AS,vS,qS,X$,X$,X$,X$,X$],EB=[uB,xS,FS,MS,TS,GS,uB,uB];return{_memmove:Wo,_strlen:j$,_strcat:wQ,_free:I2,_i64Add:zs,_encoder_clear:jS,_encoder_transfer_data:iD,_encoder_data_len:tD,_memset:se,_malloc:S9,_memcpy:n4,_encoder_init:WS,_encoder_process:eD,_bitshift64Lshr:Zs,_bitshift64Shl:kQ,_strcpy:hB,_encoder_analysis_buffer:XS,runPostSets:oD,stackAlloc:mv,stackSave:Bv,stackRestore:pv,establishStackSpace:Qv,setThrew:yv,setTempRet0:wv,getTempRet0:kv,dynCall_iiiii:lD,dynCall_vi:cD,dynCall_vii:gD,dynCall_ii:hD,dynCall_viii:fD,dynCall_iiiiiiiii:uD,dynCall_iii:dD,dynCall_iiiiii:ID}}(A.asmGlobalArg,A.asmLibraryArg,xi),lb=A.runPostSets=K9.runPostSets,tv=A._strlen=K9._strlen,iv=A._strcat=K9._strcat,tB=A._free=K9._free,cb=A._encoder_init=K9._encoder_init,rv=A._i64Add=K9._i64Add,nv=A._memmove=K9._memmove,gb=A._encoder_transfer_data=K9._encoder_transfer_data,hb=A._encoder_process=K9._encoder_process,fb=A._encoder_data_len=K9._encoder_data_len,sv=A._memset=K9._memset,bh=A._malloc=K9._malloc,Av=A._memcpy=K9._memcpy,ub=A._encoder_clear=K9._encoder_clear,ov=A._bitshift64Lshr=K9._bitshift64Lshr,db=A._encoder_analysis_buffer=K9._encoder_analysis_buffer,av=A._strcpy=K9._strcpy,$v=A._bitshift64Shl=K9._bitshift64Shl,Ib=A.dynCall_iiiii=K9.dynCall_iiiii,Eb=A.dynCall_vi=K9.dynCall_vi,Cb=A.dynCall_vii=K9.dynCall_vii,mb=A.dynCall_ii=K9.dynCall_ii,Bb=A.dynCall_viii=K9.dynCall_viii,pb=A.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,Qb=A.dynCall_iii=K9.dynCall_iii,yb=A.dynCall_iiiiii=K9.dynCall_iiiiii;N.stackAlloc=K9.stackAlloc,N.stackSave=K9.stackSave,N.stackRestore=K9.stackRestore,N.establishStackSpace=K9.establishStackSpace,N.setTempRet0=K9.setTempRet0,N.getTempRet0=K9.getTempRet0;var wb=function(){var i={math:{}};i.math.Long=function(q,k0){this.low_=q|0,this.high_=k0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var k0=i.math.Long.IntCache_[q];if(k0)return k0}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,k0){return new i.math.Long(q,k0)},i.math.Long.fromString=function(q,k0){if(q.length==0)throw Error("number format error: empty string");var j0=k0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+q);for(var C2=i.math.Long.fromNumber(Math.pow(j0,8)),W5=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_,k0=31;k0>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 k0=this.isNegative(),j0=q.isNegative();return k0&&!j0?-1:!k0&&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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,W5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,z4=0,tt=0,zi=0;return zi+=W5+M9,tt+=zi>>>16,zi&=65535,tt+=C2+V6,z4+=tt>>>16,tt&=65535,z4+=j0+_3,x9+=z4>>>16,z4&=65535,x9+=k0+N5,x9&=65535,i.math.Long.fromBits(tt<<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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,W5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,z4=0,tt=0,zi=0;return zi+=W5*M9,tt+=zi>>>16,zi&=65535,tt+=C2*M9,z4+=tt>>>16,tt&=65535,tt+=W5*V6,z4+=tt>>>16,tt&=65535,z4+=j0*M9,x9+=z4>>>16,z4&=65535,z4+=C2*V6,x9+=z4>>>16,z4&=65535,z4+=W5*_3,x9+=z4>>>16,z4&=65535,x9+=k0*M9+j0*V6+C2*_3+W5*N5,x9&=65535,i.math.Long.fromBits(tt<<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 k0=this.shiftRight(1),j0=k0.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)),C2=j0.add(N5.div(q));return C2}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 W5=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),V6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(N5);)j0-=V6,M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);M9.isZero()&&(M9=i.math.Long.ONE),W5=W5.add(M9),N5=N5.subtract(x9)}return W5},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 k0=this.low_;if(q<32){var j0=this.high_;return i.math.Long.fromBits(k0<>>32-q)}else return i.math.Long.fromBits(0,k0<>>q|k0<<32-q,k0>>q)}else return i.math.Long.fromBits(k0>>q-32,k0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var k0=this.high_;if(q<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>q|k0<<32-q,k0>>>q)}else return q==32?i.math.Long.fromBits(k0,0):i.math.Long.fromBits(k0>>>q-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,O=(d&16777215)==15715070;function e(q,k0,j0){q!=null&&(typeof q=="number"?this.fromNumber(q,k0,j0):k0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,k0))}function W0(){return new e(null)}function t1(q,k0,j0,C2,W5,N5){for(;--N5>=0;){var _3=k0*this[q++]+j0[C2]+W5;W5=Math.floor(_3/67108864),j0[C2++]=_3&67108863}return W5}function b2(q,k0,j0,C2,W5,N5){for(var _3=k0&32767,V6=k0>>15;--N5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,z4=V6*M9+x9*_3;M9=_3*M9+((z4&32767)<<15)+j0[C2]+(W5&1073741823),W5=(M9>>>30)+(z4>>>15)+V6*x9+(W5>>>30),j0[C2++]=M9&1073741823}return W5}function s(q,k0,j0,C2,W5,N5){for(var _3=k0&16383,V6=k0>>14;--N5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,z4=V6*M9+x9*_3;M9=_3*M9+((z4&16383)<<14)+j0[C2]+W5,W5=(M9>>28)+(z4>>14)+V6*x9,j0[C2++]=M9&268435455}return W5}O&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):O&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--k0)q[k0]=this[k0];q.t=this.t,q.s=this.s}function y8(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 k0=W0();return k0.fromInt(q),k0}function c8(q,k0){var j0;if(k0==16)j0=4;else if(k0==8)j0=3;else if(k0==256)j0=8;else if(k0==2)j0=1;else if(k0==32)j0=5;else if(k0==4)j0=2;else{this.fromRadix(q,k0);return}this.t=0,this.s=0;for(var C2=q.length,W5=!1,N5=0;--C2>=0;){var _3=j0==8?q[C2]&255:P9(q,C2);if(_3<0){q.charAt(C2)=="-"&&(W5=!0);continue}W5=!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 Ti(q){if(this.s<0)return"-"+this.negate().toString(q);var k0;if(q==16)k0=4;else if(q==8)k0=3;else if(q==2)k0=1;else if(q==32)k0=5;else if(q==4)k0=2;else return this.toRadix(q);var j0=(1<0)for(V6>V6)>0&&(W5=!0,N5=R9(C2));_3>=0;)V6>(V6+=this.DB-k0)):(C2=this[_3]>>(V6-=k0)&j0,V6<=0&&(V6+=this.DB,--_3)),C2>0&&(W5=!0),W5&&(N5+=R9(C2));return W5?N5:"0"}function Ni(){var q=W0();return e.ZERO.subTo(this,q),q}function ur(){return this.s<0?this.negate():this}function z$(q){var k0=this.s-q.s;if(k0!=0)return k0;var j0=this.t;if(k0=j0-q.t,k0!=0)return this.s<0?-k0:k0;for(;--j0>=0;)if((k0=this[j0]-q[j0])!=0)return k0;return 0}function KC(q){var k0=1,j0;return(j0=q>>>16)!=0&&(q=j0,k0+=16),(j0=q>>8)!=0&&(q=j0,k0+=8),(j0=q>>4)!=0&&(q=j0,k0+=4),(j0=q>>2)!=0&&(q=j0,k0+=2),(j0=q>>1)!=0&&(q=j0,k0+=1),k0}function kp(){return this.t<=0?0:this.DB*(this.t-1)+KC(this[this.t-1]^this.s&this.DM)}function vp(q,k0){var j0;for(j0=this.t-1;j0>=0;--j0)k0[j0+q]=this[j0];for(j0=q-1;j0>=0;--j0)k0[j0]=0;k0.t=this.t+q,k0.s=this.s}function Sp(q,k0){for(var j0=q;j0=0;--V6)k0[V6+N5+1]=this[V6]>>C2|_3,_3=(this[V6]&W5)<=0;--V6)k0[V6]=0;k0[N5]=_3,k0.t=this.t+N5+1,k0.s=this.s,k0.clamp()}function bp(q,k0){k0.s=this.s;var j0=Math.floor(q/this.DB);if(j0>=this.t){k0.t=0;return}var C2=q%this.DB,W5=this.DB-C2,N5=(1<>C2;for(var _3=j0+1;_3>C2;C2>0&&(k0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(q.t>=this.DB;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2-=q.s}k0.s=C2<0?-1:0,C2<-1?k0[j0++]=this.DV+C2:C2>0&&(k0[j0++]=C2),k0.t=j0,k0.clamp()}function _p(q,k0){var j0=this.abs(),C2=q.abs(),W5=j0.t;for(k0.t=W5+C2.t;--W5>=0;)k0[W5]=0;for(W5=0;W5=0;)q[j0]=0;for(j0=0;j0=k0.DV&&(q[j0+k0.t]-=k0.DV,q[j0+k0.t+1]=1)}q.t>0&&(q[q.t-1]+=k0.am(j0,k0[j0],q,2*j0,0,1)),q.s=0,q.clamp()}function xp(q,k0,j0){var C2=q.abs();if(!(C2.t<=0)){var W5=this.abs();if(W5.t0?(C2.lShiftTo(M9,N5),W5.lShiftTo(M9,j0)):(C2.copyTo(N5),W5.copyTo(j0));var x9=N5.t,z4=N5[x9-1];if(z4!=0){var tt=z4*(1<1?N5[x9-2]>>this.F2:0),zi=this.FV/tt,Yp=(1<=0&&(j0[j0.t++]=1,j0.subTo(Tt,j0)),e.ONE.dlShiftTo(x9,Tt),Tt.subTo(N5,N5);N5.t=0;){var VC=j0[--Zo]==z4?this.DM:Math.floor(j0[Zo]*zi+(j0[Zo-1]+Jp)*Yp);if((j0[Zo]+=N5.am(0,VC,j0,Rh,0,x9))0&&j0.rShiftTo(M9,j0),_3<0&&e.ZERO.subTo(j0,j0)}}}function Lp(q){var k0=W0();return this.abs().divRemTo(q,null,k0),this.s<0&&k0.compareTo(e.ZERO)>0&&q.subTo(k0,k0),k0}function Ko(q){this.m=q}function Fp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function Mp(q){return q}function Tp(q){q.divRemTo(this.m,null,q)}function Np(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}function Vo(q,k0){q.squareTo(k0),this.reduce(k0)}Ko.prototype.convert=Fp,Ko.prototype.revert=Mp,Ko.prototype.reduce=Tp,Ko.prototype.mulTo=Np,Ko.prototype.sqrTo=Vo;function Vi(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var k0=q&3;return k0=k0*(2-(q&15)*k0)&15,k0=k0*(2-(q&255)*k0)&255,k0=k0*(2-((q&65535)*k0&65535))&65535,k0=k0*(2-q*k0%this.DV)%this.DV,k0>0?this.DV-k0:-k0}function Tn(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(k0,k0),k0}function zo(q){var k0=W0();return q.copyTo(k0),this.reduce(k0),k0}function Nn(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var k0=0;k0>15)*this.mpl&this.um)<<15)&q.DM;for(j0=k0+this.m.t,q[j0]+=this.m.am(0,C2,q,k0,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 Gp(q,k0){q.squareTo(k0),this.reduce(k0)}function Up(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}Tn.prototype.convert=_h,Tn.prototype.revert=zo,Tn.prototype.reduce=Nn,Tn.prototype.mulTo=Up,Tn.prototype.sqrTo=Gp;function Op(){return(this.t>0?this[0]&1:this.s)==0}function Ks(q,k0){if(q>4294967295||q<1)return e.ONE;var j0=W0(),C2=W0(),W5=k0.convert(this),N5=KC(q)-1;for(W5.copyTo(j0);--N5>=0;)if(k0.sqrTo(j0,C2),(q&1<0)k0.mulTo(C2,W5,j0);else{var _3=j0;j0=C2,C2=_3}return k0.revert(j0)}function Pp(q,k0){var j0;return q<256||k0.isEven()?j0=new Ko(k0):j0=new Tn(k0),this.exp(q,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=y8,e.prototype.fromString=c8,e.prototype.clamp=V4,e.prototype.dlShiftTo=vp,e.prototype.drShiftTo=Sp,e.prototype.lShiftTo=Dp,e.prototype.rShiftTo=bp,e.prototype.subTo=H6,e.prototype.multiplyTo=_p,e.prototype.squareTo=Rp,e.prototype.divRemTo=xp,e.prototype.invDigit=Vi,e.prototype.isEven=Op,e.prototype.exp=Ks,e.prototype.toString=Ti,e.prototype.negate=Ni,e.prototype.abs=ur,e.prototype.compareTo=z$,e.prototype.bitLength=kp,e.prototype.mod=Lp,e.prototype.modPowInt=Pp,e.ZERO=V9(0),e.ONE=V9(1);function Gn(q,k0){this.fromInt(0),k0==null&&(k0=10);for(var j0=this.chunkSize(k0),C2=Math.pow(k0,j0),W5=!1,N5=0,_3=0,V6=0;V6=j0&&(this.dMultiply(C2),this.dAddOffset(_3,0),N5=0,_3=0)}N5>0&&(this.dMultiply(Math.pow(k0,N5)),this.dAddOffset(_3,0)),W5&&e.ZERO.subTo(this,this)}function Hr(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 i5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Hp(q,k0){if(q!=0){for(;this.t<=k0;)this[this.t++]=0;for(this[k0]+=q;this[k0]>=this.DV;)this[k0]-=this.DV,++k0>=this.t&&(this[this.t++]=0),++this[k0]}}function Vs(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var k0=this.chunkSize(q),j0=Math.pow(q,k0),C2=V9(j0),W5=W0(),N5=W0(),_3="";for(this.divRemTo(C2,W5,N5);W5.signum()>0;)_3=(j0+N5.intValue()).toString(q).substr(1)+_3,W5.divRemTo(C2,W5,N5);return N5.intValue().toString(q)+_3}function qr(){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;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2+=q.s}k0.s=C2<0?-1:0,C2>0?k0[j0++]=C2:C2<-1&&(k0[j0++]=this.DV+C2),k0.t=j0,k0.clamp()}e.prototype.fromRadix=Gn,e.prototype.chunkSize=Hr,e.prototype.signum=rB,e.prototype.dMultiply=i5,e.prototype.dAddOffset=Hp,e.prototype.toRadix=Vs,e.prototype.intValue=qr,e.prototype.addTo=qp;var ri={abs:function(q,k0){var j0=new i.math.Long(q,k0),C2;j0.isNegative()?C2=j0.negate():C2=j0,_9[Q8>>2]=C2.low_,_9[Q8+4>>2]=C2.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,k0){var j0=new e;j0.fromString(k0.toString(),10);var C2=new e;j0.multiplyTo(ri.two32,C2);var W5=new e;W5.fromString(q.toString(),10);var N5=new e;return W5.addTo(C2,N5),N5},stringify:function(q,k0,j0){var C2=new i.math.Long(q,k0).toString();if(j0&&C2[0]=="-"){ri.ensureTemps();var W5=new e;W5.fromString(C2,10),C2=new e,ri.two64.addTo(W5,C2),C2=C2.toString(10)}return C2},fromString:function(q,k0,j0,C2,W5){ri.ensureTemps();var N5=new e;N5.fromString(q,k0);var _3=new e;_3.fromString(j0,10);var V6=new e;if(V6.fromString(C2,10),W5&&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(V6)>0&&(N5=V6,x9=!0);var z4=i.math.Long.fromString(N5.toString());if(_9[Q8>>2]=z4.low_,_9[Q8+4>>2]=z4.high_,x9)throw"range error"}};return ri}();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 pp,JC=null,lv=!1;Fi=function i(){A.calledRun||iB(),A.calledRun||(Fi=i)},A.callMain=A.callMain=function($){K4(B7==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(UC.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++)O.push(0)}var O=[E3(Pr(A.thisProgram),"i8",Ho)];d();for(var e=0;e0||(Sh(),B7>0)||A.calledRun)return;function $(){A.calledRun||(A.calledRun=!0,!G0&&(Ps(),hp(),g&&JC!==null&&A.printErr("pre-main prep time: "+(Date.now()-JC)+" ms"),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A._main&&wp&&A.callMain(i),P$()))}A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),$()},1)):$()}A.run=A.run=iB;function Qp(i,$){if(!($&&A.noExitRuntime))throw A.noExitRuntime||(G0=!0,v1=i,Ci=pp,OC(),A.onExit&&A.onExit(i)),u?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):h0&&typeof quit=="function"&&quit(i),new Jo(i)}A.exit=A.exit=Qp;var yp=[];function Js(i){i!==void 0?(A.print(i),A.printErr(i),i=JSON.stringify(i)):i="",G0=!0,v1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+TC()+$;throw yp&&yp.forEach(function(d){h=d(h,i)}),h}if(A.abort=A.abort=Js,A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();var wp=!0;A.noInitialRun&&(wp=!1),iB();var cv=A._encoder_init,gv=A._encoder_clear,hv=A._encoder_analysis_buffer,fv=A._encoder_process,uv=A._encoder_data_len,dv=A._encoder_transfer_data,mi=A.HEAPU8,J$=A.HEAPU32,K$=A.HEAPF32,V$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=cv(this.numChannels,i,h)};V$.prototype.encode=function(i){for(var $=i[0].length,h=hv(this.encoder,$)>>2,d=0;d>2);this.process($)},V$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},V$.prototype.cancel=V$.prototype.cleanup=function(){gv(this.encoder),delete this.encoder,delete this.oggBuffers},V$.prototype.process=function(i){fv(this.encoder,i);var $=uv(this.encoder);if($>0){var h=dv(this.encoder);this.oggBuffers.push(new Uint8Array(mi.subarray(h,h+$)))}},Ym.OggVorbisEncoder=V$}};typeof window<"u"&&window===self&&Ym.init();function Ck(A,r,l,g){let u=new Ym.OggVorbisEncoder(l,r,g);u.encode(A);let b=u.finish(),h0=b.reduce((y0,m1)=>y0+m1.length,0),_0=new Uint8Array(h0),Q0=0;for(let y0 of b)_0.set(y0,Q0),Q0+=y0.length;return _0}document.body.classList.add("load");var mk=!1,Rn=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=Ck;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(),J5(u)}sfError;async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let N of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(N,"innerText",N.getAttribute("translate-path"));for(let N of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(N,"innerText",N.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(N,"title",N.getAttribute("translate-path-title")+".description");let u=mk?"synthetizer/worklet_system/worklet_processor.js":Gm;mk&&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),_0=await(await fetch(b)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(_0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new lh(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",N=>{this.sfError&&this.sfError(N)}),await this.synth.isReady,this.midHandler=new bm,this.wml=new _m(this.synth),this.keyboard=new yC(this.channelColors,this.synth);let Q0=document.getElementById("note_canvas");Q0.width=window.innerWidth*window.devicePixelRatio,Q0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new Si(this.channelColors,this.synth,Q0,this.audioDelay),this.renderer.render(!0);let y0=!1,m1=()=>{if(Q0.width=window.innerWidth*window.devicePixelRatio,Q0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),wn){if(window.innerWidth/window.innerHeight>1){if(!y0){let N=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");y0=!0,N.parentElement.insertBefore(V0,N)}}else if(y0){let N=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");y0=!1,N.parentElement.insertBefore(N,V0)}}this.renderer.render(!1,!0)};m1(),window.addEventListener("resize",m1.bind(this)),window.addEventListener("orientationchange",m1.bind(this)),wn&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Tr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new Tm(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ls(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ei(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case et.cinematicMode:this.seq&&this.seq.pause();let V0=window.prompt(`Cinematic mode activated! +`));if(!$)return null;i.input=Pr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(A.print(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.print(Ns(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(A.printErr(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(A.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(F2.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 O=k.createNode(i,$,h,d);return k.isDir(O.mode)?(O.node_ops=v9.ops_table.dir.node,O.stream_ops=v9.ops_table.dir.stream,O.contents={}):k.isFile(O.mode)?(O.node_ops=v9.ops_table.file.node,O.stream_ops=v9.ops_table.file.stream,O.usedBytes=0,O.contents=null):k.isLink(O.mode)?(O.node_ops=v9.ops_table.link.node,O.stream_ops=v9.ops_table.link.stream):k.isChrdev(O.mode)&&(O.node_ops=v9.ops_table.chrdev.node,O.stream_ops=v9.ops_table.chrdev.stream),O.timestamp=Date.now(),i&&(i.contents[$]=O),O},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(O.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[F2.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 O in d.contents)throw new k.ErrnoError(F2.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(F2.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(F2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,O){var e=i.node.contents;if(O>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-O,d);if(K4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(O,O+W0),h);else for(var t1=0;t10||O+dT5.timestamp)&&(O.push(y5),d++)});var e=[];if(Object.keys($.entries).forEach(function(y5){var p2=$.entries[y5],T5=i.entries[y5];T5||(e.push(y5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([p7.DB_STORE_NAME],"readwrite"),o1=s.objectStore(p7.DB_STORE_NAME);function m(y5){if(y5)return m.errored?void 0:(m.errored=!0,h(y5));if(++t1>=d)return h(null)}s.onerror=function(y5){m(this.error),y5.preventDefault()},O.sort().forEach(function(y5){$.type==="local"?p7.loadRemoteEntry(o1,y5,function(p2,T5){if(p2)return m(p2);p7.storeLocalEntry(y5,T5,m)}):p7.loadLocalEntry(y5,function(p2,T5){if(p2)return m(p2);p7.storeRemoteEntry(o1,y5,T5,m)})}),e.sort().reverse().forEach(function(y5){$.type==="local"?p7.removeLocalEntry(y5,m):p7.removeRemoteEntry(o1,y5,m)})}},l8={isWindows:!1,staticInit:function(){l8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(u),l8.createNode(null,"/",l8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(F2.EINVAL);var O=k.createNode(i,$,h);return O.node_ops=l8.node_ops,O.stream_ops=l8.stream_ops,O},getMode:function(i){var $;try{$=Q7.lstatSync(i),l8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(F2[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(),l9.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 l8.flagsToPermissionStringMap?l8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=l8.realPath(i),h;try{h=Q7.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(F2[d.code]):d}return l8.isWindows&&!h.blksize&&(h.blksize=4096),l8.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=l8.realPath(i);try{if($.mode!==void 0&&(Q7.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Q7.utimesSync(h,d,d)}$.size!==void 0&&Q7.truncateSync(h,$.size)}catch(O){throw O.code?new k.ErrnoError(F2[O.code]):O}},lookup:function(i,$){var h=l9.join2(l8.realPath(i),$),d=l8.getMode(h);return l8.createNode(i,$,d)},mknod:function(i,$,h,d){var O=l8.createNode(i,$,h,d),e=l8.realPath(O);try{k.isDir(O.mode)?Q7.mkdirSync(e,O.mode):Q7.writeFileSync(e,"",{mode:O.mode})}catch(W0){throw W0.code?new k.ErrnoError(F2[W0.code]):W0}return O},rename:function(i,$,h){var d=l8.realPath(i),O=l9.join2(l8.realPath($),h);try{Q7.renameSync(d,O)}catch(e){throw e.code?new k.ErrnoError(F2[e.code]):e}},unlink:function(i,$){var h=l9.join2(l8.realPath(i),$);try{Q7.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(F2[d.code]):d}},rmdir:function(i,$){var h=l9.join2(l8.realPath(i),$);try{Q7.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(F2[d.code]):d}},readdir:function(i){var $=l8.realPath(i);try{return Q7.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(F2[h.code]):h}},symlink:function(i,$,h){var d=l9.join2(l8.realPath(i),$);try{Q7.symlinkSync(h,d)}catch(O){throw O.code?new k.ErrnoError(F2[O.code]):O}},readlink:function(i){var $=l8.realPath(i);try{return $=Q7.readlinkSync($),$=Bp.relative(Bp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(F2[h.code]):h}}},stream_ops:{open:function(i){var $=l8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Q7.openSync($,l8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(F2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Q7.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(F2[$.code]):$}},read:function(i,$,h,d,O){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Q7.readSync(i.nfd,e,0,d,O)}catch(b2){throw new k.ErrnoError(F2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(F2.ELOOP);for(var O=l9.normalizeArray(i.split("/").filter(function(y5){return!!y5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(F2.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,$),O=k.nameTable[d];O;O=O.name_next){var e=O.name;if(O.parent.id===i.id&&e===$)return O}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,o1){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=o1},k.FSNode.prototype={};var O=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&O)===O},set:function(t1){t1?this.mode|=O:this.mode&=~O}},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)?F2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:F2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return F2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var O=k.nodePermissions(i,"wx");if(O)return O;if(h){if(!k.isDir(d.mode))return F2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return F2.EBUSY}else if(k.isDir(d.mode))return F2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?F2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?F2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):F2.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(F2.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 O in i)d[O]=i[O];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(F2.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 O(e){if(e)return O.errored?void 0:(O.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return O(null);e.type.syncfs(e,i,O)})},mount:function(i,$,h){var d=h==="/",O=!h,e;if(d&&k.root)throw new k.ErrnoError(F2.EBUSY);if(!d&&!O){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(F2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(F2.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(F2.EINVAL);var h=$.node,d=h.mounted,O=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;O.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);K4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),O=d.node,e=l9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(F2.EINVAL);var W0=k.mayCreate(O,e);if(W0)throw new k.ErrnoError(W0);if(!O.node_ops.mknod)throw new k.ErrnoError(F2.EPERM);return O.node_ops.mknod(O,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(!l9.resolve(i))throw new k.ErrnoError(F2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(F2.ENOENT);var O=l9.basename($),e=k.mayCreate(d,O);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(F2.EPERM);return d.node_ops.symlink(d,O,i)},rename:function(i,$){var h=l9.dirname(i),d=l9.dirname($),O=l9.basename(i),e=l9.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(F2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(F2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(F2.EXDEV);var s=k.lookupNode(t1,O),o1=l9.relative(i,d);if(o1.charAt(0)!==".")throw new k.ErrnoError(F2.EINVAL);if(o1=l9.relative($,h),o1.charAt(0)!==".")throw new k.ErrnoError(F2.ENOTEMPTY);var m;try{m=k.lookupNode(b2,e)}catch{}if(s!==m){var y5=k.isDir(s.mode),p2=k.mayDelete(t1,O,y5);if(p2)throw new k.ErrnoError(p2);if(p2=m?k.mayDelete(b2,e,y5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(F2.EPERM);if(k.isMountpoint(s)||m&&k.isMountpoint(m))throw new k.ErrnoError(F2.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=l9.basename(i),O=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(F2.EPERM);if(k.isMountpoint(O))throw new k.ErrnoError(F2.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(O);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(F2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=l9.basename(i),O=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===F2.EISDIR&&(e=F2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(F2.EPERM);if(k.isMountpoint(O))throw new k.ErrnoError(F2.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(O);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(F2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(F2.EINVAL);return l9.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(F2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(F2.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 O=k.lookupPath(i,{follow:!h});d=O.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(F2.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(F2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var O;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});O=e.node}else O=i;if(!O.node_ops.setattr)throw new k.ErrnoError(F2.EPERM);O.node_ops.setattr(O,{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(F2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(F2.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(F2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(F2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(F2.EINVAL);var O=k.nodePermissions(h,"w");if(O)throw new k.ErrnoError(O);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(F2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(F2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),O=d.node;O.node_ops.setattr(O,{timestamp:Math.max($,h)})},open:function(i,$,h,d,O){if(i==="")throw new k.ErrnoError(F2.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=l9.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(F2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(F2.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,O);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(m){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+m.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(F2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,O){if(d<0||O<0)throw new k.ErrnoError(F2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(F2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(F2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(F2.EINVAL);var e=!0;if(typeof O>"u")O=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(F2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,O);return e||(i.position+=W0),W0},write:function(i,$,h,d,O,e){if(d<0||O<0)throw new k.ErrnoError(F2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(F2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(F2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(F2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof O>"u")O=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(F2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,O,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(F2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(F2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(F2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(F2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,O,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(F2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(F2.ENODEV);return i.stream_ops.mmap(i,$,h,d,O,e,W0)},msync:function(i,$,h,d,O){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,O)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(F2.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),O=k.stat(i),e=O.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 O=new Uint8Array(Gs($)+1),e=xn($,O,0,O.length);k.write(d,O,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(F2.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,O,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Mn.register(k.makedev(5,0),Mn.default_tty_ops),Mn.register(k.makedev(6,0),Mn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else 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[Sk>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Dk>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[bk>>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 O in F2)if(F2[O]===d){this.code=O;break}},this.setErrno($),this.message=vk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[F2.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||y5<0)){var p2=y5%this.chunkSize,T5=y5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(y5){this.getter=y5},e.prototype.cacheLength=function(){var y5=new XMLHttpRequest;if(y5.open("HEAD",h,!1),y5.send(null),!(y5.status>=200&&y5.status<300||y5.status===304))throw new Error("Couldn't load "+h+". Status: "+y5.status);var p2=Number(y5.getResponseHeader("Content-length")),T5,R9=(T5=y5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",P9=1024*1024;R9||(P9=p2);var I4=function(V9,c8){if(V9>c8)throw new Error("invalid range ("+V9+", "+c8+") or no bytes requested!");if(c8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var V4=new XMLHttpRequest;if(V4.open("GET",h,!1),p2!==P9&&V4.setRequestHeader("Range","bytes="+V9+"-"+c8),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||[]):Pr(V4.responseText||"",!0)},y8=this;y8.setDataGetter(function(V9){var c8=V9*P9,V4=(V9+1)*P9-1;if(V4=Math.min(V4,p2-1),typeof y8.chunks[V9]>"u"&&(y8.chunks[V9]=I4(c8,V4)),typeof y8.chunks[V9]>"u")throw new Error("doXHR failed!");return y8.chunks[V9]}),this._length=p2,this._chunkSize=P9,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 b2=k.createFile(i,$,t1,d,O);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={},o1=Object.keys(b2.stream_ops);return o1.forEach(function(m){var y5=b2.stream_ops[m];s[m]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(F2.EIO);return y5.apply(null,arguments)}}),s.read=function(y5,p2,T5,R9,P9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(F2.EIO);var I4=y5.node.contents;if(P9>=I4.length)return 0;var y8=Math.min(I4.length-P9,R9);if(K4(y8>=0),I4.slice)for(var V9=0;V9=0;d--){var O=i[d];O==="."?i.splice(d,1):O===".."?(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=l9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=l9.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 l9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return l9.normalize(i.join("/"))},join2:function(i,$){return l9.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=l9.normalizeArray(i.split("/").filter(function(O){return!!O}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=l9.resolve(i).substr(1),$=l9.resolve($).substr(1);function h(s){for(var o1=0;o1=0&&s[m]==="";m--);return o1>m?[]:s.slice(o1,m-o1+1)}for(var d=h(i.split("/")),O=h($.split("/")),e=Math.min(d.length,O.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,o1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=o1:(o1=o1+.5,J1.mainLoop.remainingBlockers=(8*s+o1)/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"&&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"?N.dynCall("vi",i,[d]):N.dynCall("v",i)}),!(e0?qC(0,1e3/$):qC(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,Cp(h,0,!1,J1.mainLoop.arg,!0),qC(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,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){N.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 m=J1.URLObject.createObjectURL(s),y5=new Image;y5.onload=function(){K4(y5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=y5.width,T5.height=y5.height;var R9=T5.getContext("2d");R9.drawImage(y5,0,0),A.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(m),t1&&t1(e)},y5.onerror=function(T5){console.log("Image "+m+" could not be decoded"),b2&&b2()},y5.src=m},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,b2){var s=!1;function o1(R9){s||(s=!0,A.preloadedAudios[W0]=R9,t1&&t1(e))}function m(){s||(s=!0,A.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var y5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return m()}var p2=J1.URLObject.createObjectURL(y5),T5=new Audio;T5.addEventListener("canplaythrough",function(){o1(T5)},!1),T5.onerror=function(P9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(y8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c8="=",V4="",Ti=0,Ni=0,ur=0;ur=6;){var z$=Ti>>Ni-6&63;Ni-=6,V4+=V9[z$]}return Ni==2?(V4+=V9[(Ti&3)<<4],V4+=c8+c8):Ni==4&&(V4+=V9[(Ti&15)<<2],V4+=c8),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 m()},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(O){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),O.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&A.ctx&&i==A.canvas)return A.ctx;var O,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&&(O=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else O=i.getContext("2d");return O?(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=O,$&&GL.makeContextCurrent(e),A.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),O):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 O(){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",O,!1),document.addEventListener("mozfullscreenchange",O,!1),document.addEventListener("webkitfullscreenchange",O,!1),document.addEventListener("MSFullscreenChange",O,!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,O=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-(O+$.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 o1=J1.touches[W0.identifier];o1||(o1=s),J1.lastTouches[W0.identifier]=o1,J1.touches[W0.identifier]=s}return}var m=i.pageX-(O+$.left),y5=i.pageY-(e+$.top);m=m*(h/$.width),y5=y5*(d/$.height),J1.mouseMovementX=m-J1.mouseX,J1.mouseMovementY=y5-J1.mouseY,J1.mouseX=m,J1.mouseY=y5}},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(O){K4(O,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(O)),d||hr("al "+i)},function(O){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Fn("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=J$[SDL.screen+N.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+N.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=J$[SDL.screen+N.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+N.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,O=h;if(A.forcedAspectRatio&&A.forcedAspectRatio>0&&(d/O>2]=$),$}function Yk(){A.printErr("missing function: floor0_exportbundle"),Js(-1)}if(qs=N.staticAlloc(4),_9[qs>>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,O){return J1.createContext($,h,d,O)},k.staticInit(),U$.unshift(function(){!A.noFSInit&&!k.init.initialized&&k.init()}),wh.push(function(){k.ignorePermissions=!1}),O$.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,U$.unshift(function(){Mn.init()}),O$.push(function(){Mn.shutdown()}),u)var Q7=void 0,Bp=void 0;yh=Ci=N.alignMemory(Ur),M$=!0,T$=yh+GC,N$=Ri=N.alignMemory(T$),K4(N$>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 Fb(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 wv(t){t=t|0,H6=t}function kv(){return H6|0}function sB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0;E=m,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 vv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0;R=m,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,C=I&f,p=C&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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;P0=m,f=o>>>0>32;do if(!f){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,n0=t0+-4|0,p0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,p0)T=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,C=Ui(z0,I)|0,p=(C|0)==0,p))break;e[O0>>2]=C,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,S=e[t>>2]|0,w=C+S|0,e[a>>2]=w,T=w}y=8+(o<<2)|0,D=e[y>>2]|0,Q=D&n,x=t+4|0,R=e[x>>2]|0,L=R+o|0,F=Q<>0]|0,G=M&255,P=G|F,z=P&255,d[T>>0]=z,Y=(L|0)>7;do if(Y&&(J=e[x>>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,a0=(L|0)>15,a0&&(Z=e[x>>2]|0,V=16-Z|0,o0=Q>>>V,i0=o0&255,r0=e[a>>2]|0,K=r0+2|0,d[K>>0]=i0,c0=(L|0)>23,c0&&(s0=e[x>>2]|0,l0=24-s0|0,j=Q>>>l0,$0=j&255,g0=e[a>>2]|0,u0=g0+3|0,d[u0>>0]=$0,I0=(L|0)>31,I0))))if(w0=e[x>>2]|0,f0=(w0|0)==0,f0){b0=e[a>>2]|0,m0=b0+4|0,d[m0>>0]=0;break}else{E0=32-w0|0,C0=Q>>>E0,d0=C0&255,v0=e[a>>2]|0,K0=v0+4|0,d[K0>>0]=d0;break}while(!1);F0=(L|0)/8&-1,T0=e[t>>2]|0,U0=T0+F0|0,e[t>>2]=U0,B0=e[a>>2]|0,q0=B0+F0|0,e[a>>2]=q0,x0=L&7,e[x>>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 AB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;f=m,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 ht(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0;if(v0=m,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,g0=V+n|0,p0=e[t>>2]|0,I0=t+16|0,w0=e[I0>>2]|0,f0=w0+-4|0,f=(p0|0)<(f0|0),!f){if(E=g0+7|0,I=E>>3,C=w0-I|0,p=(p0|0)>(C|0),p)return o=-1,o|0;if(B=(g0|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,_=(g0|0)>8,_?(x=S+1|0,R=d[x>>0]|0,L=R&255,F=8-V|0,M=L<16,G?(P=S+2|0,Y=d[P>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=S+3|0,U=d[X>>0]|0,a0=U&255,Z=24-V|0,o0=a0<>0]|0,s0=c0&255,l0=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,x=(S|0)>(_|0),x){B=t+12|0,e[B>>2]=0,e[t>>2]=y,R=1,e[o>>2]=R;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,C=S+c|0,e[t>>2]=C,p=v&7,R=p,e[o>>2]=R;return}}function Z4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;D0=m,C=n>>>0>32;do if(C)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,m0=c;else{if(p=8+(n<<2)|0,L=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,f0=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=f0+7|0,S=v>>3,w=T0-S|0,y=(L0|0)>(w|0),y){f=t,E=e0,m0=T0;break}if(D=(f0|0)==0,D)return o=0,o|0}return Q=t+12|0,_=e[Q>>2]|0,x=d[_>>0]|0,R=x&255,F=R>>>K,M=(f0|0)>8,M?(T=_+1|0,G=d[T>>0]|0,P=G&255,z=8-K|0,Y=P<16,J?(W=_+2|0,H=d[W>>0]|0,X=H&255,U=16-K|0,a0=X<24,V?(o0=_+3|0,n0=d[o0>>0]|0,i0=n0&255,r0=24-K|0,c0=i0<>0]|0,u0=g0&255,p0=32-K|0,I0=u0<>2]=d0,v0=L0+C0|0,e[t>>2]=v0,K0=f0&7,e[e0>>2]=K0,o=E0,o|0}while(!1);return b0=t+12|0,e[b0>>2]=0,e[f>>2]=m0,e[E>>2]=1,o=-1,o|0}function y7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0;return C=m,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 zp(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+8|0,o=e[n>>2]|0,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0;if(M=m,c=(t|0)==0,c)return o=-1,o|0;se(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,x=(w|0)==0;do if(x)I=y;else{if(R=(y|0)==0,E=(Q|0)==0,L=E|R,L){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 C=(I|0)==0,C||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),se(t|0,0,360)|0,o=-1,o|0}function Dv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0;return v=m,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,C=e[I>>2]|0,p=(C|0)==0,p||I2(C),se(t|0,0,360)|0),0}function bv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0;if(T0=m,n=(t|0)==0,!n){if(o=e[t>>2]|0,w=o+22|0,d[w>>0]=0,G=e[t>>2]|0,a0=G+23|0,d[a0>>0]=0,j=e[t>>2]|0,w0=j+24|0,d[w0>>0]=0,f0=e[t>>2]|0,E0=f0+25|0,d[E0>>0]=0,C0=t+4|0,a=e[C0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,v0=0,m0=0;;)if(v=v0<<8,S=v0>>>24,y=f+m0|0,D=d[y>>0]|0,Q=D&255,_=Q^S,x=144+(_<<2)|0,R=e[x>>2]|0,L=R^v,F=m0+1|0,M=(F|0)<(a|0),M)v0=L,m0=F;else{d0=L;break}else d0=0;if(E=t+12|0,I=e[E>>2]|0,C=(I|0)>0,C)for(p=t+8|0,B=e[p>>2]|0,b0=d0,L0=0;;)if(T=b0<<8,P=b0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^P,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^T,X=L0+1|0,U=(X|0)<(I|0),U)b0=H,L0=X;else{K0=H;break}else K0=d0;Z=K0&255,V=e[t>>2]|0,o0=V+22|0,d[o0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,K=r0+23|0,d[K>>0]=i0,c0=K0>>>16,s0=c0&255,l0=e[t>>2]|0,$0=l0+24|0,d[$0>>0]=s0,g0=K0>>>24,u0=g0&255,p0=e[t>>2]|0,I0=p0+25|0,d[I0>>0]=u0}}function _v(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0;if(d2=m,j=(t|0)==0,j||(v0=e[t>>2]|0,D0=(v0|0)==0,D0))return I=-1,I|0;if(S0=(n|0)==0,S0)return I=0,I|0;Z0=(o|0)>0;e:do if(Z0){for(u2=0,y2=0;;){if(y1=(n+(y2<<3)|0)+4|0,P1=e[y1>>2]|0,s2=(P1|0)<0,y=2147483647-P1|0,P=(u2|0)>(y|0),M2=s2|P,M2){I=-1;break}if(Z=P1+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,c0=t+12|0,s0=e[c0>>2]|0,l0=(s0|0)==0,w=t+8|0,l0||($0=e[w>>2]|0,g0=$0-s0|0,e[w>>2]=g0,u0=($0|0)==(s0|0),u0||(p0=v0+s0|0,Wo(v0|0,p0|0,g0|0)|0),e[c0>>2]=0),I0=t+4|0,w0=e[I0>>2]|0,f0=w0-n2|0,E0=e[w>>2]|0,C0=(f0|0)>(E0|0);do if(!C0){if(d0=2147483647-n2|0,K0=(w0|0)>(d0|0),K0)return b0=e[t>>2]|0,m0=(b0|0)==0,m0||I2(b0),L0=t+16|0,F0=e[L0>>2]|0,T0=(F0|0)==0,T0||I2(F0),U0=t+20|0,B0=e[U0>>2]|0,q0=(B0|0)==0,q0||I2(B0),se(t|0,0,360)|0,I=-1,I|0;if(x0=w0+n2|0,M0=(x0|0)<2147482623,J0=x0+1024|0,E=M0?J0:x0,Y0=e[t>>2]|0,O0=Ui(Y0,E)|0,z0=(O0|0)==0,!z0){e[I0>>2]=E,e[t>>2]=O0;break}return N0=e[t>>2]|0,P0=(N0|0)==0,P0||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),se(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Rv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(Z0)for(p=e[w>>2]|0,p1=p,S2=0;I1=e[t>>2]|0,B1=I1+p1|0,Q1=n+(S2<<3)|0,R1=e[Q1>>2]|0,x1=(n+(S2<<3)|0)+4|0,S1=e[x1>>2]|0,n4(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,w1=S2+1|0,e2=(w1|0)==(o|0),!e2;)p1=G1,S2=w1;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(d1=t+352|0,h1=t+20|0,E1=e[h1>>2]|0,u1=(r0|0)>1,m2=0;U1=a1+m2|0,Z1=A1+(U1<<2)|0,e[Z1>>2]=255,N1=d1,D1=N1,K1=e[D1>>2]|0,H1=N1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=E1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=K1,O1=r2+4|0,l2=O1,e[l2>>2]=Y1,z1=m2+1|0,f2=(z1|0)<(r0|0),f2;)m2=z1;_2=u1?r0:1,B=d1,a2=E1,w2=_2}else C=t+20|0,v=e[C>>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,g2=a2+(A2<<3)|0,t2=g2,$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,x=A1+(a1<<2)|0,R=e[x>>2]|0,L=R|256,e[x>>2]=L,F=a1+K|0,e[s1>>2]=F,M=t+344|0,T=M,G=T,z=e[G>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=zs(z|0,J|0,1,0)|0,e0=H6,H=M,X=H,e[X>>2]=W,U=H+4|0,a0=U,e[a0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(o0=t+328|0,e[o0>>2]=1,I=0,I|0)}function zC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0;return x=m,m=m+16|0,Q=x,o=e[n>>2]|0,e[Q>>2]=o,a=n+4|0,C=e[a>>2]|0,p=Q+4|0,e[p>>2]=C,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=_v(t,Q,1,v,D,E)|0,m=x,I|0}function Zp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0;return c=m,o=jp(t,n,1,4096)|0,o|0}function Wp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0;return x=m,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(o=0,o|0):(C=t+328|0,p=e[C>>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=jp(t,n,D,4096)|0,o=y,o|0)}function Rv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;return $0=m,c=t+24|0,f=e[c>>2]|0,Q=f-n|0,Y=t+28|0,o0=e[Y>>2]|0,r0=(Q|0)>(o0|0),r0?(a=0,a|0):(K=2147483647-n|0,c0=(f|0)>(K|0),c0?(s0=e[t>>2]|0,l0=(s0|0)==0,l0||I2(s0),E=t+16|0,I=e[E>>2]|0,C=(I|0)==0,C||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),se(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,x=o<<2,R=Ui(_,x)|0,L=(R|0)==0,L?(F=e[t>>2]|0,M=(F|0)==0,M||I2(F),T=e[D>>2]|0,G=(T|0)==0,G||I2(T),P=t+20|0,z=e[P>>2]|0,t0=(z|0)==0,t0||I2(z),se(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=R,J=t+20|0,W=e[J>>2]|0,e0=o<<3,H=Ui(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,a0=(U|0)==0,a0||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),se(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=H,e[c>>2]=o,a=0,a|0))))}function jp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0;if(w5=m,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,V2=(q2|0)==0;e:do if(V2)for(I0=t+16|0,$3=0;;){if(F0=($3|0)<(c|0),!F0){I=o,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,q5=$3,P5=14;break e}if(z0=e[I0>>2]|0,H0=z0+($3<<2)|0,e1=e[H0>>2]|0,S0=e1&255,i1=(S0|0)==255,$1=$3+1|0,i1)$3=$1;else{I=o,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,q5=$1,P5=14;break}}else if(x=(c|0)>0,x){for(J=t+16|0,i0=t+20|0,C5=0,v5=-1,c5=-1,o5=-1,z2=-1,c2=-1,B5=-1,e5=-1,n5=-1,j5=0,R3=0,m3=0;;){if(f1=(C5|0)>(a|0),g1=(j5|0)>3,T3=f1&g1,T3){E=1,G5=v5,_5=c5,H2=o5,d5=z2,A5=c2,l5=B5,m5=e5,M1=n5,l3=m3;break}if(l1=e[J>>2]|0,s1=l1+(m3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,A1=n1+C5|0,Z0=(n1|0)==255,Z0?(g5=v5,Y2=c5,h5=o5,t5=z2,R5=c2,W2=B5,a5=e5,L2=n5,t6=0,N3=R3):(d1=e[i0>>2]|0,E1=d1+(m3<<3)|0,u1=E1,I1=u1,B1=e[I1>>2]|0,p1=u1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,y1=B1&255,S1=Zs(B1|0,R1|0,8)|0,F1=H6,G1=S1&255,w1=Zs(B1|0,R1|0,16)|0,U1=H6,Z1=w1&255,N1=Zs(B1|0,R1|0,24)|0,D1=H6,K1=N1&255,P1=R1&255,H1=Zs(B1|0,R1|0,40)|0,Y1=H6,j1=H1&255,r2=Zs(B1|0,R1|0,48)|0,W1=H6,O1=r2&255,l2=Zs(B1|0,R1|0,56)|0,z1=H6,f2=l2&255,g5=y1,Y2=Z1,h5=K1,t5=P1,R5=j1,W2=O1,a5=f2,L2=G1,t6=x1,N3=x1),s2=m3+1|0,E2=(s2|0)<(c|0),E2)C5=A1,v5=g5,c5=Y2,o5=h5,z2=t5,c2=R5,B5=W2,e5=a5,n5=L2,j5=t6,R3=N3,m3=s2;else{E=o,G5=g5,_5=Y2,H2=h5,d5=t5,A5=R5,l5=W2,m5=a5,M1=L2,l3=s2;break}}V1=(l3|0)==255,V1?(n3=G5,C3=_5,F5=H2,V5=d5,w3=A5,f3=l5,B3=m5,K3=M1,U5=255):(I=E,p5=G5,H5=_5,X5=H2,I5=d5,u3=A5,h3=l5,K5=m5,e3=M1,q5=l3,P5=14)}else I=o,p5=-1,H5=-1,X5=-1,I5=-1,u3=-1,h3=-1,K5=-1,e3=-1,q5=0,P5=14;while(!1);if((P5|0)==14){if(g2=(I|0)==0,g2)return f=0,f|0;n3=p5,C3=H5,F5=X5,V5=I5,w3=u3,f3=h3,B3=K5,K3=e3,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,C=V2?y2:u2,o3=C&255,d[$2>>0]=o3,S2=t+328|0,w2=e[S2>>2]|0,m2=(w2|0)!=0,M2=(_|0)==(U5|0),Z5=m2&M2,Z5&&(p=V2?y2:u2,_2=p|4,N2=_2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,J2=t+47|0,d[J2>>0]=K3,G2=t+48|0,d[G2>>0]=C3,T2=t+49|0,d[T2>>0]=F5,O2=t+50|0,d[O2>>0]=V5,K2=t+51|0,d[K2>>0]=w3,s5=t+52|0,d[s5>>0]=f3,P2=t+53|0,d[P2>>0]=B3,T1=t+336|0,j2=e[T1>>2]|0,x5=j2&255,X2=t+54|0,d[X2>>0]=x5,D5=j2>>>8,f5=D5&255,k5=t+55|0,d[k5>>0]=f5,O5=j2>>>16,$5=O5&255,v2=t+56|0,d[v2>>0]=$5,E5=j2>>>24,r5=E5&255,x2=t+57|0,d[x2>>0]=r5,R2=t+340|0,B2=e[R2>>2]|0,R=(B2|0)==-1,R?(e[R2>>2]=0,F=0):F=B2,L=F+1|0,e[R2>>2]=L,M=F&255,T=t+58|0,d[T>>0]=M,G=F>>>8,P=G&255,z=t+59|0,d[z>>0]=P,Y=F>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=F>>>24,H=e0&255,X=t+61|0,d[X>>0]=H,U=t+62|0,a0=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]=a0,V=(U5|0)>0,V){if(o0=e[o2>>2]|0,n0=o0&255,r0=t+67|0,d[r0>>0]=n0,K=o0&255,b5=(U5|0)==1,b5)B=K;else for(s0=1,w0=K;;)if(S=e[i2>>2]|0,c0=S+(s0<<2)|0,l0=e[c0>>2]|0,j=l0&255,$0=s0+27|0,g0=(t+40|0)+$0|0,d[g0>>0]=j,u0=l0&255,p0=u0+w0|0,f0=s0+1|0,u5=(f0|0)==(U5|0),u5){B=p0;break}else s0=f0,w0=p0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,m0=w,B0=y,x0=D,L5=B}else m0=L1,B0=_,x0=o2,L5=0;return e[n>>2]=a2,E0=U5+27|0,C0=t+324|0,e[C0>>2]=E0,d0=n+4|0,e[d0>>2]=E0,v0=t+12|0,K0=e[v0>>2]|0,b0=m0+K0|0,L0=n+8|0,e[L0>>2]=b0,T0=n+12|0,e[T0>>2]=L5,U0=B0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,D0=U0<<2,Wo(x0|0,q0|0,D0|0)|0,M0=t+20|0,J0=e[M0>>2]|0,Y0=J0+(U5<<3)|0,O0=e[Q>>2]|0,N0=O0<<3,Wo(J0|0,Y0|0,N0|0)|0,P0=e[v0>>2]|0,r1=P0+L5|0,e[v0>>2]=r1,bv(n),f=1,f|0}function xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0;return H0=m,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,ht(V),g0=c+16|0,b0=e[g0>>2]|0,ht(b0),J0=c+20|0,N0=e[J0>>2]|0,ht(N0),P0=c+24|0,f=e[P0>>2]|0,ht(f),E=c+28|0,I=e[E>>2]|0,ht(I),C=c+32|0,p=e[C>>2]|0,ht(p),B=c+36|0,v=e[B>>2]|0,ht(v),S=c+40|0,w=e[S>>2]|0,ht(w),y=c+44|0,Q=e[y>>2]|0,ht(Q),_=c+48|0,x=e[_>>2]|0,ht(x),R=c+52|0,L=e[R>>2]|0,ht(L),F=c+56|0,M=e[F>>2]|0,ht(M),T=c+60|0,G=e[T>>2]|0,ht(G),P=c+64|0,Y=e[P>>2]|0,ht(Y),t0=c+68|0,J=e[t0>>2]|0,ht(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=bQ[H&1](t)|0,U=(X|0)==0,U?(a0=(n|0)==0,a0?(o=0,o|0):(Z=xh(t)|0,o0=(Z|0)==0,o0?(n0=t+4|0,i0=zp(n0)|0,e[n>>2]=i0,r0=y7(n0)|0,K=n+4|0,e[K>>2]=r0,c0=n+8|0,e[c0>>2]=0,s0=t+44|0,l0=e[s0>>2]|0,j=n+12|0,e[j>>2]=l0,$0=t+48|0,u0=$0,p0=u0,I0=e[p0>>2]|0,w0=u0+4|0,f0=w0,E0=e[f0>>2]|0,C0=n+16|0,d0=C0,v0=d0,e[v0>>2]=I0,K0=d0+4|0,m0=K0,e[m0>>2]=E0,L0=t+56|0,F0=L0,T0=F0,U0=e[T0>>2]|0,B0=F0+4|0,q0=B0,x0=e[q0>>2]|0,D0=n+24|0,M0=D0,Y0=M0,e[Y0>>2]=U0,O0=M0+4|0,z0=O0,e[z0>>2]=x0,o=0,o|0):(o=-131,o|0))):(o=X,o|0)}function Lv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0;I0=m,o=t+28|0,a=e[o>>2]|0,u0=n,w0=u0+48|0;do e[u0>>2]=0,u0=u0+4|0;while((u0|0)<(w0|0));y=a+3372|0,P=e[y>>2]|0,Z=(P|0)>0,Z&&(s0=t+8|0,l0=e[s0>>2]|0,j=e[a>>2]|0,$0=j>>1,g0=a+4|0,c=e[g0>>2]|0,f=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=f,e[n>>2]=1,I=a+3360|0,C=e[I>>2]|0,p=+(C|0),B=+($0|0),v=p*B,S=+(l0|0),w=v/S,D=+Gi(w),Q=~~D,_=n+12|0,e[_>>2]=Q,x=a+3364|0,R=e[x>>2]|0,L=+(R|0),F=L*B,M=F/S,T=+Gi(M),G=~~T,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=+Gi(e0),X=~~H,U=n+20|0,e[U>>2]=X,a0=n+32|0,o1[a0>>3]=7,V=+(P|0),o0=a+3376|0,n0=+o1[o0>>3],i0=V*n0,r0=~~i0,K=n+8|0,e[K>>2]=r0,c0=n+4|0,e[c0>>2]=r0)}function Fv(t){t=t|0;var n=0,o=0,a=0,c=0;a=m,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function xh(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,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,C=(I|0)!=0,n=C&1,n|0}function Mv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0;if(S6=m,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,c2=e[_5>>2]|0,L2=v2+4|0,F5=e[L2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=c2+112|0,M=+o1[v>>3],X=+Gi(M),s0=~~X,C0=(B+12|0)+(s0<<2)|0,q0=e[C0>>2]|0,H0=y7(q0)|0,n1=H0<<3,R1=t+28|0,D1=e[R1>>2]|0,f2=(D1|0)==0,X1=c2+96|0,d2=e[X1>>2]|0,f2?(x5=c2+100|0,D5=e[x5>>2]|0,U=d2,w0=x5,d0=D5):(V2=c2+104|0,f5=e[V2>>2]|0,k5=c2+100|0,O5=e[k5>>2]|0,$5=i5(f5,d2)|0,E5=i5(f5,O5)|0,U=$5,w0=k5,d0=E5),r5=M5+(D1<<2)|0,x2=e[r5>>2]|0,R2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),u5=M5+3376|0,b5=+o1[u5>>3],G5=L5*b5,H2=~~G5,d5=c2+80|0,A5=e[d5>>2]|0,l5=(A5|0)==0,m5=c2+120|0,l5)return M1=e[m5>>2]|0,v5=(M1|0)==0,v5?(e[m5>>2]=t,o=0,o|0):(o=-1,o|0);if(e[m5>>2]=t,c5=c2+92|0,o5=e[c5>>2]|0,z2=(o5|0)>0,z2){f2?a5=o5:(B5=c2+104|0,e5=e[B5>>2]|0,n5=i5(e5,o5)|0,a5=n5),g5=M5+3384|0,Y2=+o1[g5>>3],h5=15/Y2,t5=c2+84|0,R5=e[t5>>2]|0,W2=n1-a5|0,p5=R5+W2|0,H5=(p5|0)>(H2|0);e:do if(H5)if(X5=(s0|0)>0,I5=(n1|0)>(a5|0),v6=I5&X5,v6)if(u3=n1-a5|0,h3=u3+R5|0,K5=(h3|0)>(H2|0),K5)for(U3=s0;;){if(e3=U3+-1|0,n3=(B+12|0)+(e3<<2)|0,C3=e[n3>>2]|0,V5=y7(C3)|0,w3=V5<<3,f3=(U3|0)>1,B3=(w3|0)>(a5|0),k6=B3&f3,!k6){z5=e3;break e}if(I=e[t5>>2]|0,K3=w3-a5|0,T3=K3+I|0,Z5=(T3|0)>(H2|0),Z5)U3=e3;else{z5=e3;break}}else z5=s0;else z5=s0;else if(y3=(p5|0)<(H2|0),y3)if(j5=s0+1|0,t6=(j5|0)<15,N3=(n1|0)<(a5|0),j3=N3&t6,j3)if(o3=n1-a5|0,$3=o3+R5|0,l3=($3|0)<(H2|0),l3)for(q5=j5;;){if(m3=(B+12|0)+(q5<<2)|0,U5=e[m3>>2]|0,P5=y7(U5)|0,w5=P5<<3,G3=q5+1|0,n6=(G3|0)<15,t3=(w5|0)<(a5|0),B6=t3&n6,!B6){z5=q5;break e}if(E=e[t5>>2]|0,A3=w5-a5|0,x3=A3+E|0,h6=(x3|0)<(H2|0),h6)q5=G3;else{z5=q5;break}}else z5=s0;else z5=s0;else z5=s0;while(!1);p3=+(z5|0),k3=+o1[v>>3],Q3=p3-k3,i6=+Gi(Q3),W3=+(R2|0),S=i6/W3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*S,_=-h5,x=Q<_,C6=x?_:Q,R=C6>h5,S3=R?h5:C6,L=S3/D,F=L*W3,T=F+k3,o1[v>>3]=T,G=+Gi(T),P=~~G,z=(B+12|0)+(P<<2)|0,Y=e[z>>2]|0,t0=y7(Y)|0,J=t0<<3,C=e[X1>>2]|0,W=C,v3=P,X3=J}else W=d2,v3=s0,X3=n1;e0=(W|0)>0,H=(X3|0)<(U|0),l6=H&e0;e:do if(l6)if(a0=c2+88|0,Z=e[a0>>2]|0,V=X3-U|0,o0=V+Z|0,n0=(o0|0)<0,n0)for(c3=v3,e6=X3;;){if(i0=c3+1|0,r0=(c3|0)>13,r0){O3=i0,f6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,c0=e[K>>2]|0,l0=y7(c0)|0,j=l0<<3,$0=e[a0>>2]|0,g0=j-U|0,u0=g0+$0|0,p0=(u0|0)<0,p0)c3=i0,e6=j;else{O3=i0,f6=j;break}}else O3=v3,f6=X3;else O3=v3,f6=X3;while(!1);I0=e[w0>>2]|0,f0=(I0|0)>0,E0=(f6|0)>(d0|0),p6=E0&f0;e:do if(p6)if(v0=c2+88|0,K0=e[v0>>2]|0,b0=f6-d0|0,m0=b0+K0|0,L0=e[B2>>2]|0,F0=(m0|0)>(L0|0),F0)for($6=O3,P3=f6;;){if(T0=$6+-1|0,U0=($6|0)<1,U0){d3=T0,D3=P3;break e}if(B0=(B+12|0)+(T0<<2)|0,x0=e[B0>>2]|0,D0=y7(x0)|0,M0=D0<<3,J0=e[v0>>2]|0,Y0=M0-d0|0,O0=Y0+J0|0,z0=e[B2>>2]|0,N0=(O0|0)>(z0|0),N0)$6=T0,P3=M0;else{d3=T0,D3=M0;break}}else d3=O3,D3=f6;else d3=O3,D3=f6;while(!1);if(P0=(d3|0)<0,P0)r1=e[B2>>2]|0,e1=c2+88|0,S0=e[e1>>2]|0,i1=r1+d0|0,c1=i1-S0|0,$1=(c1|0)/8&-1,f1=c2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=y7(l1)|0,a1=(s1|0)>($1|0),a1?(A1=e[g1>>2]|0,Z0=$1<<3,vv(A1,Z0),d1=e[g1>>2]|0,h1=y7(d1)|0,E1=h1<<3,H3=E1):H3=D3;else{if(u1=c2+88|0,I1=e[u1>>2]|0,B1=U+7|0,p1=B1-I1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,y1=c2+124|0,e[y1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=y7(L1)|0,G1=Q1-F1|0,w1=(G1|0)>0,U1=e[S1>>2]|0,w1)for(N1=U1,w6=G1;;)if(Z1=w6+-1|0,U2(N1,0,8),K1=(w6|0)>1,P1=e[S1>>2]|0,K1)N1=P1,w6=Z1;else{f=P1;break}else f=U1;H1=y7(f)|0,q1=H1<<3,H3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?V3=37:(r2=e[w0>>2]|0,W1=(r2|0)>0,W1&&(V3=37));do if((V3|0)==37){if(O1=(d0|0)>0,l2=(H3|0)>(d0|0),_6=O1&l2,_6){s2=H3-d0|0,E2=c2+88|0,A2=e[E2>>2]|0,V1=s2+A2|0,e[E2>>2]=V1;break}if(g2=(U|0)>0,a2=(H3|0)<(U|0),q6=g2&a2,q6){t2=H3-U|0,$2=c2+88|0,i2=e[$2>>2]|0,o2=t2+i2|0,e[$2>>2]=o2;break}if(n2=c2+88|0,u2=e[n2>>2]|0,e2=(u2|0)>(H2|0),e2)if(O1){y2=H3-d0|0,S2=u2+y2|0,w2=(S2|0)<(H2|0),n=w2?H2:S2,e[n2>>2]=n;break}else{e[n2>>2]=H2;break}else if(g2){m2=H3-U|0,M2=u2+m2|0,_2=(M2|0)>(H2|0),a=_2?H2:M2,e[n2>>2]=a;break}else{e[n2>>2]=H2;break}}while(!1);return N2=e[c5>>2]|0,J2=(N2|0)>0,J2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?P2=N2:(T2=c2+104|0,O2=e[T2>>2]|0,K2=i5(O2,N2)|0,P2=K2),s5=H3-P2|0,T1=c2+84|0,j2=e[T1>>2]|0,X2=s5+j2|0,e[T1>>2]=X2,o=0,o|0):(o=0,o|0)}function Xp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0;return d0=m,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):(g0=(n|0)==0,g0||(u0=z+104|0,p0=e[u0>>2]|0,I0=z+64|0,w0=e[I0>>2]|0,f=w0+104|0,E=e[f>>2]|0,I=E+80|0,C=e[I>>2]|0,E0=(C|0)==0,E0?f0=7:(p=c+124|0,B=e[p>>2]|0,f0=B),v=(p0+12|0)+(f0<<2)|0,S=e[v>>2]|0,w=zp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=y7(y)|0,_=n+4|0,e[_>>2]=Q,x=n+8|0,e[x>>2]=0,R=z+44|0,L=e[R>>2]|0,F=n+12|0,e[F>>2]=L,M=z+48|0,T=M,G=T,P=e[G>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,H=e0,e[H>>2]=P,X=e0+4|0,U=X,e[U>>2]=J,a0=z+56|0,Z=a0,o0=Z,n0=e[o0>>2]|0,i0=Z+4|0,r0=i0,K=e[r0>>2]|0,c0=n+24|0,s0=c0,l0=s0,e[l0>>2]=n0,j=s0+4|0,$0=j,e[$0>>2]=K),e[D>>2]=0,o=1,o|0)}function Tv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0;F=m,R=n,M=R+112|0;do e[R>>2]=0,R=R+4|0;while((R|0)<(M|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=r4(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,x=0;;)if(f=(x|0)==7,f){e[c>>2]=D,sB(D),x=8;continue}else{if(E=r4(1,20)|0,I=Q+(x<<2)|0,e[I>>2]=E,sB(E),C=x+1|0,_=(C|0)==15,_)break;x=C;continue}return 0}function H7(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0;return Y=m,o=n+7|0,a=o&-8,y=t+72|0,R=e[y>>2]|0,L=R+a|0,F=t+76|0,M=e[F>>2]|0,T=(L|0)>(M|0),G=t+68|0,P=e[G>>2]|0,T?(c=(P|0)==0,c||(f=P,E=S9(8)|0,I=t+80|0,C=e[I>>2]|0,p=C+R|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=f,e[B>>2]=E),e[F>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,x=_+a|0,e[y>>2]=x,D|0):(Q=P,_=R,D=Q+_|0,x=_+a|0,e[y>>2]=x,D|0)}function Nv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(Z=m,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,P=(G|0)==0,!P)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,C=e[I>>2]|0,p=C+f|0,B=Ui(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),x=(c|0)==0,x){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(R=(c+12|0)+(H<<2)|0,L=e[R>>2]|0,AB(L),F=(H|0)==7,F){H=8;continue}if(M=e[R>>2]|0,I2(M),T=H+1|0,e0=(T|0)==15,e0)break;H=T}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 Gv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=m,a=Ov(t,n,1)|0,c=(a|0)==0,c?(C=t+104|0,p=e[C>>2]|0,B=CS(n)|0,v=p+60|0,e[v>>2]=B,S=r4(1,180)|0,e[p>>2]=S,Jv(S,n),w=p+80|0,Lv(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 eQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0;if(G2=m,B=(t|0)==0,!B){if(v=t+4|0,C0=e[v>>2]|0,q0=(C0|0)!=0,q0?(H0=C0+28|0,n1=e[H0>>2]|0,B0=n1):B0=0,R1=t+104|0,D1=e[R1>>2]|0,z1=(D1|0)!=0,z1){if(o2=e[D1>>2]|0,S=(o2|0)==0,S||(Kv(o2),T=e[D1>>2]|0,I2(T)),U=D1+12|0,l0=e[U>>2]|0,u0=(l0|0)==0,u0||(p0=e[l0>>2]|0,gB(p0),I0=e[U>>2]|0,w0=e[I0>>2]|0,I2(w0),f0=e[U>>2]|0,I2(f0)),E0=D1+16|0,d0=e[E0>>2]|0,v0=(d0|0)==0,v0||(K0=e[d0>>2]|0,gB(K0),b0=e[E0>>2]|0,m0=e[b0>>2]|0,I2(m0),L0=e[E0>>2]|0,I2(L0)),F0=D1+48|0,T0=e[F0>>2]|0,U0=(T0|0)==0,!U0){if(x0=(B0|0)==0,x0)u1=T0;else if(D0=B0+16|0,M0=e[D0>>2]|0,J0=(M0|0)>0,J0){if(Y0=B0+800|0,O0=e[Y0>>2]|0,z0=25640+(O0<<2)|0,N0=e[z0>>2]|0,P0=N0+16|0,r1=e[P0>>2]|0,e1=e[T0>>2]|0,js[r1&7](e1),S0=e[D0>>2]|0,i1=(S0|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,js[a1&7](Z0),d1=$1+1|0,h1=e[D0>>2]|0,E1=(d1|0)<(h1|0),E1;)$1=d1;o=e[F0>>2]|0,u1=o}else u1=T0;I2(u1)}if(I1=D1+52|0,B1=e[I1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(B0|0)==0,Q1)V1=B1;else if(x1=B0+20|0,y1=e[x1>>2]|0,S1=(y1|0)>0,S1){if(L1=B0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,w1=e[G1>>2]|0,U1=w1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,js[Z1&7](N1),K1=e[x1>>2]|0,P1=(K1|0)>1,P1)for(q1=1;a=e[I1>>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,O1=e[W1>>2]|0,l2=a+(q1<<2)|0,f2=e[l2>>2]|0,js[O1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,A2=(s2|0)<(E2|0),A2;)q1=s2;c=e[I1>>2]|0,V1=c}else V1=B1;I2(V1)}if(g2=D1+56|0,a2=e[g2>>2]|0,t2=(a2|0)==0,!t2){if($2=(B0|0)==0,$2)_2=a2;else if(i2=B0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if($Q(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(S2=1;f=e[g2>>2]|0,y2=f+(S2*52|0)|0,$Q(y2),w2=S2+1|0,m2=e[i2>>2]|0,M2=(w2|0)<(m2|0),M2;)S2=w2;E=e[g2>>2]|0,_2=E}else _2=a2;I2(_2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||mS(y),Q=D1+80|0,Fv(Q),_=D1+20|0,CQ(_),x=D1+32|0,CQ(x)}if(R=t+8|0,L=e[R>>2]|0,F=(L|0)==0,!F){if(q0)if(M=C0+4|0,G=e[M>>2]|0,P=(G|0)>0,P){for(Y=L,g0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=g0:(I2(t0),C=e[M>>2]|0,H=C),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[R>>2]|0,Y=I,g0=H,N2=W;p=e[R>>2]|0,X=p}else X=L;else X=L;I2(X),a0=t+12|0,Z=e[a0>>2]|0,V=(Z|0)==0,V||I2(Z)}z1&&(o0=D1+64|0,n0=e[o0>>2]|0,i0=(n0|0)==0,i0||I2(n0),r0=D1+68|0,K=e[r0>>2]|0,c0=(K|0)==0,c0||I2(K),s0=D1+72|0,j=e[s0>>2]|0,$0=(j|0)==0,$0||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 tQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0;if(q0=m,I=t+4|0,C=e[I>>2]|0,R=t+104|0,W=e[R>>2]|0,r0=W+64|0,w0=e[r0>>2]|0,m0=(w0|0)==0,m0||I2(w0),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=C+4|0,f=e[o>>2]|0,X=f,B0=11;else if(x=n<<1,L=w+x|0,e[D>>2]=L,F=C+4|0,M=e[F>>2]|0,T=(M|0)>0,T)if(G=t+8|0,P=e[G>>2]|0,z=e[P>>2]|0,Y=L<<2,t0=Ui(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[F>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,o0=e[G>>2]|0,n0=o0+(i0<<2)|0,K=e[n0>>2]|0,c0=a<<2,s0=Ui(K,c0)|0,l0=e[G>>2]|0,j=l0+(i0<<2)|0,e[j>>2]=s0,$0=i0+1|0,g0=e[F>>2]|0,u0=($0|0)<(g0|0),u0)i0=$0;else{X=g0,B0=11;break}else X=e0,B0=11;if((B0|0)==11&&(U=(X|0)>0,U)){for(a0=t+8|0,Z=e[S>>2]|0,V=t+12|0,U0=0;;)if(p0=e[a0>>2]|0,I0=p0+(U0<<2)|0,f0=e[I0>>2]|0,E0=f0+(Z<<2)|0,C0=e[V>>2]|0,d0=C0+(U0<<2)|0,e[d0>>2]=E0,v0=U0+1|0,K0=(v0|0)<(X|0),K0)U0=v0;else{c=V;break}return b0=e[c>>2]|0,b0|0}return E=t+12|0,c=E,b0=e[c>>2]|0,b0|0}function Uv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=t+4|0,C=e[I>>2]|0,R=C+28|0,W=e[R>>2]|0,r0=(n|0)<1,!r0)return p0=t+20|0,I0=e[p0>>2]|0,f0=I0+n|0,E0=t+16|0,C0=e[E0>>2]|0,d0=(f0|0)>(C0|0),d0?(a=-131,m=O0,a|0):(e[p0>>2]=f0,v0=t+28|0,K0=e[v0>>2]|0,b0=(K0|0)==0,!b0||(m0=t+48|0,L0=e[m0>>2]|0,F0=f0-L0|0,U0=W+4|0,B0=e[U0>>2]|0,q0=(F0|0)>(B0|0),!q0)?(a=0,m=O0,a|0):(rQ(t),a=0,m=O0,a|0));if(w0=m,m=m+128|0,T0=t+28|0,x0=e[T0>>2]|0,D0=(x0|0)==0,D0&&rQ(t),M0=W+4|0,p=e[M0>>2]|0,B=p*3|0,tQ(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,_=C+4|0,x=e[_>>2]|0,L=(x|0)>0,!L)return a=0,m=O0,a|0;for(F=t+8|0,M=S,J0=0;;){if(T=(M|0)>64,T?(G=e[M0>>2]|0,P=(M|0)>(G|0),o=P?G:M,z=e[F>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=M-o|0,J=t0+(f<<2)|0,+nQ(J,w0,o,32),e0=e[F>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,a0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,o0=V-U|0,sQ(w0,Z,32,a0,o0)):(n0=e[F>>2]|0,i0=n0+(J0<<2)|0,K=e[i0>>2]|0,c0=K+(M<<2)|0,s0=e[v>>2]|0,l0=s0-M|0,j=l0<<2,se(c0|0,0,j|0)|0),$0=J0+1|0,g0=e[_>>2]|0,u0=($0|0)<(g0|0),!u0){a=0;break}c=e[w>>2]|0,M=c,J0=$0}return m=O0,a|0}function iQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0;if(s4=m,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,w5=e[s2>>2]|0,i6=t+104|0,v6=e[i6>>2]|0,f6=v6+60|0,u6=e[f6>>2]|0,N6=t+48|0,X6=e[N6>>2]|0,w=t+40|0,G=e[w>>2]|0,a0=w5+(G<<2)|0,j=e[a0>>2]|0,v0=(j|0)/2&-1,D0=X6-v0|0,S0=n+104|0,Z0=e[S0>>2]|0,y1=t+28|0,P1=e[y1>>2]|0,E2=(P1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,D5=(G2|0)==-1,D5))return a=0,a|0;B2=Vv(t)|0,m5=(B2|0)==-1;do if(m5){if(Y2=e[u2>>2]|0,u3=(Y2|0)==0,u3)return a=0,a|0;K3=t+44|0,e[K3>>2]=0,f=K3,U3=0;break}else if(m3=e[w5>>2]|0,G3=w5+4|0,M5=e[G3>>2]|0,n6=(m3|0)==(M5|0),t3=t+44|0,n6){e[t3>>2]=0,f=t3,U3=0;break}else{e[t3>>2]=B2,f=t3,U3=B2;break}while(!1);if(A3=e[N6>>2]|0,x3=e[w>>2]|0,h6=w5+(x3<<2)|0,p3=e[h6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+A3|0,W3=w5+(U3<<2)|0,z5=e[W3>>2]|0,v3=(z5|0)/4&-1,c3=Q3+v3|0,O3=(z5|0)/2&-1,$6=c3+O3|0,d3=t+20|0,w6=e[d3>>2]|0,k6=(w6|0)<($6|0),k6)return a=0,a|0;if(B6=n+84|0,j3=e[B6>>2]|0,l6=(j3|0)==0,!l6)for(d9=j3;p6=d9+4|0,_6=e[p6>>2]|0,q6=e[d9>>2]|0,I2(q6),I2(d9),C6=(_6|0)==0,!C6;)d9=_6;S3=n+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(P3=n+68|0,D3=e[P3>>2]|0,H3=n+76|0,V3=e[H3>>2]|0,S6=V3+X3|0,s6=Ui(D3,S6)|0,e[P3>>2]=s6,i3=e[S3>>2]|0,O6=e[H3>>2]|0,s3=O6+i3|0,e[H3>>2]=s3,e[S3>>2]=0),A6=n+72|0,e[A6>>2]=0,e[B6>>2]=0,b3=t+36|0,T6=e[b3>>2]|0,r6=n+24|0,e[r6>>2]=T6,Q6=e[w>>2]|0,R6=n+28|0,e[R6>>2]=Q6,J6=e[f>>2]|0,d6=n+32|0,e[d6>>2]=J6,Y6=(Q6|0)==0;do if(Y6)if(r9=zv(t)|0,x6=(r9|0)==0,G6=Z0+8|0,x6){e[G6>>2]=1;break}else{e[G6>>2]=0;break}else if(L3=(T6|0)==0,Z6=(J6|0)==0,N9=L3|Z6,j6=Z0+8|0,N9){e[j6>>2]=0;break}else{e[j6>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,K6=t+64|0,y6=K6,L6=y6,F3=e[L6>>2]|0,F6=y6+4|0,A9=F6,W6=e[A9>>2]|0,h9=zs(F3|0,W6|0,1,0)|0,f9=H6,u9=K6,o9=u9,e[o9>>2]=h9,a9=u9+4|0,T9=a9,e[T9>>2]=f9,I6=n+56|0,M6=I6,y=M6,e[y>>2]=F3,D=M6+4|0,Q=D,e[Q>>2]=W6,_=t+56|0,x=_,R=x,L=e[R>>2]|0,F=x+4|0,M=F,T=e[M>>2]|0,P=n+48|0,z=P,Y=z,e[Y>>2]=L,t0=z+4|0,J=t0,e[J>>2]=T,W=e[w>>2]|0,e0=w5+(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[u6>>2],o0=Z>V,o0?(s[u6>>2]=Z,n0=Z):n0=V,i0=+QS(n0,t),s[u6>>2]=i0,s[U>>2]=i0,r0=S+4|0,K=e[r0>>2]|0,c0=K<<2,s0=c0+7|0,l0=s0&-8,$0=e[A6>>2]|0,g0=l0+$0|0,u0=n+76|0,p0=e[u0>>2]|0,I0=(g0|0)>(p0|0),w0=n+68|0,f0=e[w0>>2]|0,I0?(E0=(f0|0)==0,E0||(C0=f0,d0=S9(8)|0,K0=e[S3>>2]|0,b0=K0+$0|0,e[S3>>2]=b0,m0=e[B6>>2]|0,L0=d0+4|0,e[L0>>2]=m0,e[d0>>2]=C0,e[B6>>2]=d0),e[u0>>2]=l0,F0=S9(l0)|0,e[w0>>2]=F0,e[A6>>2]=0,c=e[r0>>2]|0,U0=F0,B0=0,M0=c,N0=l0):(U0=f0,B0=$0,M0=K,N0=p0),T0=U0+B0|0,q0=B0+l0|0,e[A6>>2]=q0,e[n>>2]=T0,x0=M0<<2,J0=x0+7|0,Y0=J0&-8,O0=Y0+q0|0,z0=(O0|0)>(N0|0),z0?(P0=(U0|0)==0,P0||(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[u0>>2]=Y0,f1=S9(Y0)|0,e[w0>>2]=f1,e[A6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,P5=Y0):(l1=U0,s1=q0,n1=M0,P5=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(d1=t+8|0,Q1=a1,x1=P5,S1=l1,e9=0;;){if(h1=e[X>>2]|0,E1=h1+D0|0,u1=E1<<2,I1=u1+7|0,B1=I1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,w1=e[S3>>2]|0,U1=w1+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[u0>>2]=B1,D1=S9(B1)|0,e[w0>>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,r2=j1+(e9<<2)|0,e[r2>>2]=K1,W1=e[Z0>>2]|0,O1=W1+(e9<<2)|0,l2=e[O1>>2]|0,z1=e[d1>>2]|0,f2=z1+(e9<<2)|0,A2=e[f2>>2]|0,n4(l2|0,A2|0,u1|0)|0,V1=e[Z0>>2]|0,g2=V1+(e9<<2)|0,a2=e[g2>>2]|0,t2=a2+(D0<<2)|0,$2=e[n>>2]|0,i2=$2+(e9<<2)|0,e[i2>>2]=t2,o2=e9+1|0,X1=e[r0>>2]|0,n2=(o2|0)<(X1|0),!n2)break e;I=e[A6>>2]|0,C=e[u0>>2]|0,p=e[w0>>2]|0,Q1=I,x1=C,S1=p,e9=o2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(S2=e[N6>>2]|0,w2=(S2|0)<(e2|0),!w2))return e[u2>>2]=-1,m2=n+44|0,e[m2>>2]=1,a=1,a|0;if(M2=w5+4|0,_2=e[M2>>2]|0,N2=(_2|0)/2&-1,d2=c3-N2|0,J2=(d2|0)>0,!J2)return a=1,a|0;if(q2=e[v6>>2]|0,Zv(q2,d2),T2=e[d3>>2]|0,O2=T2-d2|0,e[d3>>2]=O2,K2=e[r0>>2]|0,s5=(K2|0)>0,s5&&(P2=t+8|0,T1=e[P2>>2]|0,j2=e[T1>>2]|0,x5=j2+(d2<<2)|0,X2=O2<<2,Wo(j2|0,x5|0,X2|0)|0,V2=e[r0>>2]|0,f5=(V2|0)>1,f5))for($5=1;B=e[d3>>2]|0,k5=e[P2>>2]|0,O5=k5+($5<<2)|0,v2=e[O5>>2]|0,E5=v2+(d2<<2)|0,r5=B<<2,Wo(v2|0,E5|0,r5|0)|0,x2=$5+1|0,R2=e[r0>>2]|0,C5=(x2|0)<(R2|0),C5;)$5=x2;return L5=e[w>>2]|0,e[b3>>2]=L5,u5=e[f>>2]|0,e[w>>2]=u5,e[N6>>2]=N2,b5=e[u2>>2]|0,G5=(b5|0)==0,G5?(f3=(d2|0)<0,B3=f3<<31>>31,T3=_,Z5=T3,y3=e[Z5>>2]|0,j5=T3+4|0,t6=j5,R3=e[t6>>2]|0,N3=zs(y3|0,R3|0,d2|0,B3|0)|0,o3=H6,$3=_,l3=$3,e[l3>>2]=N3,q5=$3+4|0,U5=q5,e[U5>>2]=o3,a=1,a|0):(_5=b5-d2|0,H2=(_5|0)<1,o=H2?-1:_5,e[u2>>2]=o,d5=(o|0)>(N2|0),d5?(a5=(d2|0)<0,L2=a5<<31>>31,p5=_,H5=p5,X5=e[H5>>2]|0,I5=p5+4|0,h3=I5,K5=e[h3>>2]|0,e3=zs(X5|0,K5|0,d2|0,L2|0)|0,n3=H6,C3=_,F5=C3,e[F5>>2]=e3,V5=C3+4|0,w3=V5,e[w3>>2]=n3,a=1,a|0):(A5=o+d2|0,l5=A5-N2|0,M1=(l5|0)<0,v5=M1<<31>>31,c5=_,o5=c5,z2=e[o5>>2]|0,c2=c5+4|0,B5=c2,e5=e[B5>>2]|0,n5=zs(z2|0,e5|0,l5|0,v5|0)|0,g5=H6,h5=_,t5=h5,e[t5>>2]=n5,R5=h5+4|0,W2=R5,e[W2>>2]=g5,a=1,a|0))}function Ov(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0;if(t5=m,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,O1=e[Z1>>2]|0,$2=(O1|0)<1,$2)||(M2=e[B>>2]|0,P2=(M2|0)<64,P2)||(v2=B+4|0,_5=e[v2>>2]|0,v=(_5|0)<(M2|0),v))return a=1,a|0;M=B+3656|0,X=e[M>>2]|0,Y2=t,R5=Y2+112|0;do e[Y2>>2]=0,Y2=Y2+4|0;while((Y2|0)<(R5|0));s0=r4(1,136)|0,C0=t+104|0,e[C0>>2]=s0,q0=t+4|0,e[q0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,I1=T7(n1)|0,B1=s0+44|0,e[B1>>2]=I1,Q1=r4(1,4)|0,R1=s0+12|0,e[R1>>2]=Q1,x1=r4(1,4)|0,y1=s0+16|0,e[y1>>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,cB(S1,G1),w1=e[y1>>2]|0,U1=e[w1>>2]|0,N1=e[v2>>2]|0,D1=N1>>X,cB(U1,D1),K1=e[B>>2]|0,P1=T7(K1)|0,H1=P1+-7|0,q1=s0+4|0,e[q1>>2]=H1,Y1=e[v2>>2]|0,j1=T7(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,l2=(o|0)==0;e:do if(l2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(u5=B+24|0,b5=e[u5>>2]|0,G5=r4(b5,56)|0,e[B2>>2]=G5,H2=e[u5>>2]|0,d5=(H2|0)>0,d5)){for(E1=H2,B5=0;;){if(A5=(B+1824|0)+(B5<<2)|0,l5=e[A5>>2]|0,m5=(l5|0)==0,m5){M1=E1;break}if(c5=e[B2>>2]|0,o5=c5+(B5*56|0)|0,z2=HS(o5,l5)|0,S=(z2|0)==0,!S){h5=20;break}if(w=e[A5>>2]|0,hB(w),e[A5>>2]=0,y=B5+1|0,D=e[u5>>2]|0,Q=(y|0)<(D|0),Q)E1=D,B5=y;else break e}if((h5|0)==20&&(I=e[u5>>2]|0,M1=I),v5=(M1|0)>0,v5)for(u1=M1,g5=0;s1=(B+1824|0)+(g5<<2)|0,a1=e[s1>>2]|0,A1=(a1|0)==0,A1?h1=u1:(hB(a1),e[s1>>2]=0,C=e[u5>>2]|0,h1=C),Z0=g5+1|0,d1=(Z0|0)<(h1|0),d1;)u1=h1,g5=Z0;return eQ(t),a=-1,a|0}}else{if(z1=s0+20|0,f2=e[B>>2]|0,EQ(z1,f2),s2=s0+32|0,E2=e[v2>>2]|0,EQ(s2,E2),A2=B+2848|0,V1=e[A2>>2]|0,g2=(V1|0)==0,g2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=r4(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,IQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,S2=c+(w2*56|0)|0,m2=(B+1824|0)+(w2<<2)|0,_2=e[m2>>2]|0,IQ(S2,_2)|0,N2=w2+1|0,d2=e[a2>>2]|0,J2=(N2|0)<(d2|0),J2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,T2=r4(q2,52)|0,O2=s0+56|0,e[O2>>2]=T2,K2=e[G2>>2]|0,s5=(K2|0)>0;t:do if(s5)for(T1=B+2868|0,j2=n+8|0,X2=T2,c2=0;;){if(x5=X2+(c2*52|0)|0,D5=(B+2852|0)+(c2<<2)|0,V2=e[D5>>2]|0,f5=e[V2>>2]|0,k5=B+(f5<<2)|0,O5=e[k5>>2]|0,$5=(O5|0)/2&-1,E5=e[j2>>2]|0,pS(x5,V2,T1,$5,E5),r5=c2+1|0,x2=e[G2>>2]|0,R2=(r5|0)<(x2|0),!R2)break t;f=e[O2>>2]|0,X2=f,c2=r5}while(!1);e[t>>2]=1}while(!1);if(_=e[v2>>2]|0,x=t+16|0,e[x>>2]=_,R=n+4|0,L=e[R>>2]|0,F=L<<2,T=S9(F)|0,G=t+8|0,e[G>>2]=T,P=S9(F)|0,z=t+12|0,e[z>>2]=P,Y=(L|0)>0,Y&&(t0=r4(_,4)|0,e[T>>2]=t0,J=(L|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,a0=(U|0)<(L|0),a0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,o0=e[v2>>2]|0,n0=(o0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,K=B+16|0,c0=e[K>>2]|0,l0=r4(c0,4)|0,j=s0+48|0,e[j>>2]=l0,$0=B+20|0,g0=e[$0>>2]|0,u0=r4(g0,4)|0,p0=s0+52|0,e[p0>>2]=u0,I0=e[K>>2]|0,w0=(I0|0)>0,w0)for(e5=0;d0=(B+800|0)+(e5<<2)|0,v0=e[d0>>2]|0,K0=25640+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0+8|0,L0=e[m0>>2]|0,F0=(B+1056|0)+(e5<<2)|0,T0=e[F0>>2]|0,U0=ft[L0&15](t,T0)|0,B0=e[j>>2]|0,x0=B0+(e5<<2)|0,e[x0>>2]=U0,D0=e5+1|0,M0=e[K>>2]|0,J0=(D0|0)<(M0|0),J0;)e5=D0;if(f0=e[$0>>2]|0,E0=(f0|0)>0,E0)n5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(n5<<2)|0,O0=e[Y0>>2]|0,z0=25648+(O0<<2)|0,N0=e[z0>>2]|0,P0=N0+8|0,r1=e[P0>>2]|0,e1=(B+1568|0)+(n5<<2)|0,S0=e[e1>>2]|0,i1=ft[r1&15](t,S0)|0,c1=e[p0>>2]|0,$1=c1+(n5<<2)|0,e[$1>>2]=i1,f1=n5+1|0,g1=e[$0>>2]|0,l1=(f1|0)<(g1|0),l1)n5=f1;else{a=0;break}return a|0}function rQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0;if(b0=m,m=m+64|0,c=b0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,n=Y,o0=m,m=m+((1*n|0)+15&-16)|0,u0=t+28|0,e[u0>>2]=1,I0=t+48|0,w0=e[I0>>2]|0,f0=Q-w0|0,E0=(f0|0)>32,!E0){m=b0;return}if(E=t+4|0,I=e[E>>2]|0,C=I+4|0,p=e[C>>2]|0,B=(p|0)>0,!B){m=b0;return}for(v=t+8|0,S=Q,C0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,D=y+(C0<<2)|0,_=e[D>>2]|0,d0=0;x=d0^-1,R=S+x|0,L=_+(R<<2)|0,F=e[L>>2]|0,M=o0+(d0<<2)|0,e[M>>2]=F,T=d0+1|0,G=(S|0)>(T|0),G;)d0=T;if(P=e[I0>>2]|0,z=S-P|0,+nQ(o0,c,z,16),t0=e[f>>2]|0,J=e[I0>>2]|0,o=t0-J|0,W=o0+(o<<2)|0,a=o+-16|0,e0=o0+(a<<2)|0,sQ(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,a0=U+(C0<<2)|0,Z=e[a0>>2]|0,v0=0;V=o0+(v0<<2)|0,n0=e[V>>2]|0,i0=v0^-1,r0=H+i0|0,K=Z+(r0<<2)|0,e[K>>2]=n0,c0=v0+1|0,s0=(H|0)>(c0|0),s0;)v0=c0;if(l0=C0+1|0,j=e[E>>2]|0,$0=j+4|0,g0=e[$0>>2]|0,p0=(l0|0)<(g0|0),p0)S=H,C0=l0;else break}m=b0}function Pv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0;o2=m,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),a0=e[I>>2]|0,j=(a0|0)>1;e:do if(j)for(v0=t+8|0,D0=e[v0>>2]|0,c=d[D0>>0]|0,S0=c,O1=1;;){if(Z0=S0<<24>>24==0,Z0){W1=O1;break e}if(y1=D0+O1|0,C=d[y1>>0]|0,D=C<<24>>24>24,D){W1=O1;break e}if(Q=O1+1|0,_=(Q|0)<(a0|0),_)S0=C,O1=Q;else{W1=Q;break}}else W1=1;while(!1);x=(W1|0)==(a0|0);e:do if(x){if(U2(n,1,1),R=t+8|0,L=e[R>>2]|0,F=d[L>>0]|0,M=F<<24>>24,T=M+-1|0,U2(n,T,5),P=e[I>>2]|0,z=(P|0)>1,z)for(y=P,H1=0,z1=1;;){if(Y=e[R>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,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,o0=n0-q1|0,i0=T7(o0)|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,c0=(K|0)<(s0|0),c0)y=s0,H1=Y1,z1=K;else{a=s0,P1=Y1,l2=K;break}}else a=P,P1=0,l2=1;l0=l2-P1|0,$0=a-P1|0,g0=T7($0)|0,U2(n,l0,g0)}else{U2(n,0,1),u0=e[I>>2]|0,p0=(u0|0)>0;t:do if(p0)for(I0=t+8|0,w0=e[I0>>2]|0,s2=0;;){if(f0=w0+s2|0,E0=d[f0>>0]|0,C0=E0<<24>>24==0,C0){f2=s2;break t}if(d0=s2+1|0,K0=(d0|0)<(u0|0),K0)s2=d0;else{f2=d0;break}}else f2=0;while(!1);if(b0=(f2|0)==(u0|0),b0){if(U2(n,0,1),m0=e[I>>2]|0,L0=(m0|0)>0,!L0)break;for(F0=t+8|0,E2=0;;)if(T0=e[F0>>2]|0,U0=T0+E2|0,B0=d[U0>>0]|0,q0=B0<<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),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(N0=t+8|0,A2=0;P0=e[N0>>2]|0,r1=P0+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),d1=e[n1>>2]|0,(d1|0)==2|(d1|0)==1)i2=28;else if(d1|0)return o=-1,o|0;do if((i2|0)==28){if(h1=t+32|0,E1=e[h1>>2]|0,u1=(E1|0)==0,u1)return o=-1,o|0;if(I1=t+16|0,B1=e[I1>>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)w1=US(t)|0,$2=w1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=i5(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,g2=(B|0)>-1,t2=0-B|0,v=g2?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 Lh(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0;return z=m,c=(n|0)<0,c||(f=t+12|0,Q=e[f>>2]|0,x=Q+4|0,R=e[x>>2]|0,L=(R|0)>(n|0),!L)?(a=0,a|0):(F=t+20|0,M=e[F>>2]|0,T=M+(n<<2)|0,G=e[T>>2]|0,E=Q+8|0,I=e[E>>2]|0,C=I+n|0,p=d[C>>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 ZC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0;return w=m,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=Fh(t,n)|0,I=(E|0)>-1,!I)?(o=-1,o|0):(C=t+24|0,p=e[C>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,o=v,o|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0;if(j=m,C=t+8|0,p=e[C>>2]|0,L=(p|0)>0,!L)return c=0,m=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,a0=m,m=m+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,r0=0;;){if(T=Fh(t,o)|0,G=(T|0)==-1,G){c=-1;break}if(P=e[V>>2]|0,z=e[t>>2]|0,Y=i5(z,T)|0,t0=P+(Y<<2)|0,J=a0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,H=(W|0)<(X|0),H)r0=W;else{o0=z;break e}}return m=j,c|0}else o0=e0;while(!1);if(E=(o0|0)<1,I=Z^1,n0=E|I,n0)return c=0,m=j,c|0;for(K=0,s0=0;;){for(c0=0;w=a0+(c0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],_=c0+s0|0,x=n+(_<<2)|0,R=+s[x>>2],F=R+Q,s[x>>2]=F,M=c0+1|0,i0=(M|0)==(X|0),!i0;)c0=M;if(B=K+1|0,v=s0+X|0,S=(B|0)<(o0|0),S)K=B,s0=v;else{c=0;break}}return m=j,c|0}function qv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0;if(j2=m,Y=t+8|0,t0=e[Y>>2]|0,l0=(t0|0)>0,!l0)return c=0,c|0;if(d0=e[t>>2]|0,x0=(d0|0)>8,x0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(K1=t+16|0,X1=0;;){if(Z=Fh(t,o)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(o0=e[K1>>2]|0,n0=e[t>>2]|0,i0=i5(n0,Z)|0,r0=(n0|0)>0,r0){for(K=(n0|0)>1,P2=K?n0:1,u2=X1,d2=0;c0=d2+1|0,z=d2+i0|0,s0=o0+(z<<2)|0,j=+s[s0>>2],$0=u2+1|0,g0=n+(u2<<2)|0,u0=+s[g0>>2],p0=u0+j,s[g0>>2]=p0,I0=(c0|0)<(n0|0),I0;)u2=$0,d2=c0;f2=X1+P2|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=Fh(t,o)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,a0=e[t>>2]|0,a0|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:{C=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,s5=0;break t}case 2:{S=H,x=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,w0=E<<3,f0=f+(w0<<2)|0,E0=+s[f0>>2],C0=e2+1|0,v0=n+(e2<<2)|0,K0=+s[v0>>2],b0=K0+E0,s[v0>>2]=b0,F0=w0,U0=f,y2=C0,J2=1,T1=14):(T1|0)==13?(T1=0,m0=I*7|0,F0=m0,U0=w,y2=e2,J2=0,T1=14):(T1|0)==15?(T1=0,Y0=C*6|0,z0=Y0,P0=y,S2=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,E1=B<<2,I1=E1,p1=Q,m2=e2,T2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,w1=F1,Z1=_,M2=e2,O2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,O1=x,_2=e2,K2=0,T1=24),(T1|0)==14&&(T1=0,L0=J2+1|0,P=J2+F0|0,T0=U0+(P<<2)|0,B0=+s[T0>>2],q0=y2+1|0,D0=n+(y2<<2)|0,M0=+s[D0>>2],J0=M0+B0,s[D0>>2]=J0,z0=F0,P0=U0,S2=q0,G2=L0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,N0=P0+(G<<2)|0,r1=+s[N0>>2],H0=S2+1|0,S0=n+(S2<<2)|0,i1=+s[S0>>2],c1=i1+r1,s[S0>>2]=c1,g1=z0,s1=P0,w2=H0,q2=O0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,T=q2+g1|0,l1=s1+(T<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,d1=+s[Z0>>2],h1=d1+a1,s[Z0>>2]=h1,I1=g1,p1=s1,m2=n1,T2=f1,T1=20),(T1|0)==20&&(T1=0,u1=T2+1|0,M=T2+I1|0,B1=p1+(M<<2)|0,Q1=+s[B1>>2],R1=m2+1|0,y1=n+(m2<<2)|0,S1=+s[y1>>2],L1=S1+Q1,s[y1>>2]=L1,w1=I1,Z1=p1,M2=R1,O2=u1,T1=22),(T1|0)==22&&(T1=0,G1=O2+1|0,F=O2+w1|0,U1=Z1+(F<<2)|0,N1=+s[U1>>2],D1=M2+1|0,P1=n+(M2<<2)|0,H1=+s[P1>>2],q1=H1+N1,s[P1>>2]=q1,r2=w1,O1=Z1,_2=D1,K2=G1,T1=24),(T1|0)==24&&(T1=0,j1=K2+1|0,L=K2+r2|0,W1=O1+(L<<2)|0,l2=+s[W1>>2],z1=_2+1|0,s2=n+(_2<<2)|0,E2=+s[s2>>2],A2=E2+l2,s[s2>>2]=A2,V1=r2,a2=O1,N2=z1,s5=j1),R=s5+V1|0,g2=a2+(R<<2)|0,t2=+s[g2>>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 Yv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0;if(l0=m,B=t+8|0,v=e[B>>2]|0,M=(v|0)>0,!M||(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=Fh(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=i5(y,Z)|0,Q=(y|0)>0,Q)for(n0=V,K=i0,c0=0;;)if(p=c0+D|0,_=w+(p<<2)|0,x=+s[_>>2],R=n0+1|0,L=n+(n0<<2)|0,F=e[L>>2]|0,T=F+(K<<2)|0,G=+s[T>>2],P=G+x,s[T>>2]=P,z=(R|0)==(a|0),Y=z&1,C=Y+K|0,E=z?0:R,t0=c0+1|0,J=(t0|0)<(y|0),J)n0=E,K=C,c0=t0;else{o0=E,r0=C;break}else o0=V,r0=i0;if(a0=(r0|0)<(H|0),a0)V=o0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function Fh(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0;h1=m,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,o0=oB(n,Y)|0,u0=(o0|0)>-1;do if(u0){if(m0=t+32|0,Y0=e[m0>>2]|0,c1=Y0+(o0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,C=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,l1=C;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,x=d[_>>0]|0,R=x<<24>>24,aB(n,R),o=w,o|0}else L=t+8|0,F=e[L>>2]|0,f1=F,l1=0;while(!1);if(M=oB(n,f)|0,T=(M|0)<0,G=(f|0)>1,P=T&G,P)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=T,n1=M,A1=f;if(a)return o=-1,o|0;if(H=n1>>>16,X=n1<<16,U=H|X,a0=U>>>8,Z=a0&16711935,V=U<<8,n0=V&-16711936,i0=Z|n0,r0=i0>>>4,K=r0&252645135,c0=i0<<4,s0=c0&-252645136,l0=K|s0,j=l0>>>2,$0=j&858993459,g0=l0<<2,p0=g0&-858993460,I0=$0|p0,w0=I0>>>1,f0=w0&1431655765,E0=I0<<1,C0=E0&-1431655766,d0=f0|C0,v0=f1-l1|0,K0=(v0|0)>1,K0)for(b0=t+20|0,L0=e[b0>>2]|0,T0=v0,g1=f1,a1=l1;;)if(F0=T0>>1,U0=F0+a1|0,B0=L0+(U0<<2)|0,q0=e[B0>>2]|0,x0=q0>>>0>d0>>>0,D0=x0?0:F0,M0=D0+a1|0,J0=x0?F0:0,O0=g1-J0|0,z0=O0-M0|0,N0=(z0|0)>1,N0)T0=z0,g1=O0,a1=M0;else{s1=M0;break}else s1=l1;return P0=t+28|0,r1=e[P0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,S0=e1<<24>>24,i1=(S0|0)>(A1|0),i1?(aB(n,A1),o=-1,o|0):(aB(n,S0),o=s1,o|0)}function Jv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;for(c1=m,p=n+28|0,B=e[p>>2]|0,F=n+4|0,H=e[F>>2]|0,c0=t+4|0,e[c0>>2]=128,E0=t+8|0,e[E0>>2]=64,B0=B+2932|0,Y0=e[B0>>2]|0,O0=t+12|0,e[O0>>2]=Y0,e[t>>2]=H,z0=t+164|0,e[z0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|0)/2&-1,y=t+176|0,e[y>>2]=w,D=r4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,cB(_,128),x=e[Q>>2]|0,H0=0;R=+(H0|0),L=R*.024736950028266088,M=+Nn(+L),T=M,G=x+(H0<<2)|0,P=T*T,s[G>>2]=P,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,a0=t+92|0,e[a0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,o0=t+120|0,e[o0>>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,S0=0;;){if(K=s0<<2,l0=S9(K)|0,j=((t+40|0)+(S0<<4)|0)+8|0,e[j>>2]=l0,$0=(s0|0)>0,$0){for(g0=+(s0|0),u0=((t+40|0)+(S0<<4)|0)+12|0,C=+s[u0>>2],b0=C,e1=0;;)if(p0=+(e1|0),I0=p0+.5,w0=I0/g0,f0=w0*3.141592653589793,C0=+Nn(+f0),d0=C0,v0=l0+(e1<<2)|0,s[v0>>2]=d0,K0=b0+d0,m0=e1+1|0,N0=(m0|0)==(s0|0),N0){o=K0;break}else b0=K0,e1=m0;s[u0>>2]=o,E=u0,F0=o}else c=((t+40|0)+(S0<<4)|0)+12|0,I=+s[c>>2],E=c,F0=I;if(L0=1/F0,s[E>>2]=L0,T0=S0+1|0,P0=(T0|0)==7,P0)break;a=((t+40|0)+(T0<<4)|0)+4|0,f=e[a>>2]|0,s0=f,S0=T0}U0=H*7|0,q0=r4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,D0=e[z0>>2]|0,M0=r4(D0,4)|0,J0=t+160|0,e[J0>>2]=M0}function Kv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0;T=m,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,x=e[_>>2]|0,I2(x),R=t+96|0,L=e[R>>2]|0,I2(L),F=t+112|0,a=e[F>>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),C=t+36|0,p=e[C>>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),se(t|0,0,180)|0}function Vv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,f=t+4|0,E=e[f>>2]|0,L=E+28|0,e0=e[L>>2]|0,K=e0+2868|0,f0=t+104|0,U0=e[f0>>2]|0,P0=e[U0>>2]|0,s1=P0+168|0,p1=e[s1>>2]|0,I=P0+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,x=D+2|0,R=P0+164|0,F=e[R>>2]|0,M=(x|0)>(F|0),M&&(e[R>>2]=x,T=P0+160|0,G=e[T>>2]|0,P=x<<2,z=Ui(G,P)|0,e[T>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=P0+156|0,J=P0+160|0,W=t+8|0,H=P0+40|0,X=P0+152|0,D1=n;;){if(U=e[t0>>2]|0,a0=U+1|0,Z=(U|0)>23,a=Z?24:a0,e[t0>>2]=a,V=e[P0>>2]|0,o0=(V|0)>0,o0){for(N1=0,q1=0;;)if(c0=e[W>>2]|0,s0=c0+(N1<<2)|0,l0=e[s0>>2]|0,j=e[I>>2]|0,$0=i5(j,D1)|0,g0=l0+($0<<2)|0,u0=e[X>>2]|0,p0=N1*7|0,I0=u0+(p0*144|0)|0,w0=Wv(P0,K,g0,H,I0)|0,E0=w0|q1,C0=N1+1|0,d0=e[P0>>2]|0,v0=(C0|0)<(d0|0),v0)N1=C0,q1=E0;else{c=E0;break}K0=D1+2|0,b0=e[J>>2]|0,m0=b0+(K0<<2)|0,e[m0>>2]=0,L0=c&1,F0=(L0|0)==0,F0||(T0=b0+(D1<<2)|0,e[T0>>2]=1,B0=D1+1|0,q0=b0+(B0<<2)|0,e[q0>>2]=1),x0=c&2,D0=(x0|0)==0,D0||(M0=b0+(D1<<2)|0,e[M0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,O0=b0+(Y0<<2)|0,e[O0>>2]=1)),z0=c&4,N0=(z0|0)==0,N0||(e[t0>>2]=-1)}else n0=D1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=D1+1|0,Z1=(r1|0)==(Q|0),Z1)break;D1=r1}if(H0=e[I>>2]|0,e1=i5(H0,Q)|0,e[s1>>2]=e1,S0=t+48|0,i1=e[S0>>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,d1=a1+Z0|0,h1=e[e0>>2]|0,E1=(h1|0)/4&-1,u1=d1+E1|0,I1=P0+176|0,B1=e[I1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return o=-1,o|0;for(x1=P0+160|0,K1=B1;;){if(L1=(K1|0)<(u1|0),!L1){o=1,Y1=22;break}if(e[I1>>2]=K1,F1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,w1=G1+(F1<<2)|0,U1=e[w1>>2]|0,C=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&C,y1=H0+K1|0,H1){P1=K1,Y1=21;break}if(S1=(y1|0)<(Q1|0),S1)K1=y1;else{o=-1,Y1=22;break}}return(Y1|0)==21?(B=P0+172|0,e[B>>2]=P1,o=0,o|0):(Y1|0)==22?o|0:0}function zv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0;if(E0=m,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,o0=e[Y>>2]|0,s0=o0+28|0,l0=e[s0>>2]|0,j=t+48|0,$0=e[j>>2]|0,g0=t+40|0,E=e[g0>>2]|0,I=l0+(E<<2)|0,C=e[I>>2]|0,p=(C|0)/4&-1,B=$0-p|0,v=p+$0|0,S=(E|0)==0,S?(G=e[l0>>2]|0,P=(G|0)/4&-1,o=P,a=P):(w=t+36|0,y=e[w>>2]|0,D=l0+(y<<2)|0,_=e[D>>2]|0,x=(_|0)/4&-1,R=t+44|0,L=e[R>>2]|0,F=l0+(L<<2)|0,M=e[F>>2]|0,T=(M|0)/4&-1,o=T,a=x),u0=B-a|0,p0=v+o|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(u0|0),W=(t0|0)<(p0|0),w0=J&W,w0)return n=1,n|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(u0|0)/(H|0)&-1,U=(p0|0)/(H|0)&-1,a0=(X|0)<(U|0),!a0)return n=0,n|0;for(Z=Q+160|0,V=e[Z>>2]|0,I0=X;;){if(r0=V+(I0<<2)|0,K=e[r0>>2]|0,c0=(K|0)==0,n0=I0+1|0,!c0){n=1,f0=9;break}if(i0=(n0|0)<(U|0),i0)I0=n0;else{n=0,f0=9;break}}return(f0|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0;if(G=m,o=t+168|0,a=e[o>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,x=_+2|0,R=(n|0)/(Q|0)&-1,L=t+160|0,F=e[L>>2]|0,M=F+(R<<2)|0,c=x-R|0,f=c<<2,Wo(F|0,M|0,f|0)|0,E=e[o>>2]|0,I=E-n|0,e[o>>2]=I,C=t+172|0,p=e[C>>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[C>>2]=v,S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0;if(d3=m,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,M2=+s[$2>>2],P2=t0<<2,_=P2,v2=m,m=m+((1*_|0)+15&-16)|0,_5=t+156|0,c2=e[_5>>2]|0,L2=(c2|0)>5,F5=(c2|0)/2&-1,f=L2?F5:2,J=n+60|0,i0=+s[J>>2],I0=F5+-2|0,F0=+(I0|0),z0=i0-F0,g1=z0<0,h6=g1?0:z0,I1=h6>i0,p3=I1?i0:h6,w1=(t0|0)>0,w1)for(r2=t+36|0,a2=e[r2>>2]|0,P5=0;i2=o+(P5<<2)|0,o2=+s[i2>>2],X1=a2+(P5<<2)|0,n2=+s[X1>>2],u2=n2*o2,e2=v2+(P5<<2)|0,s[e2>>2]=u2,y2=P5+1|0,m3=(y2|0)==(t0|0),!m3;)P5=y2;S2=t+16|0,AQ(S2,v2,v2),w2=+s[v2>>2],m2=w2*w2,_2=m2,N2=v2+4|0,d2=+s[N2>>2],J2=d2,G2=J2*J2,q2=G2*.7,T2=q2+_2,O2=v2+8|0,K2=+s[O2>>2],s5=K2,T1=s5*s5,j2=T1*.2,x5=T2+j2,X2=x5,D5=c+140|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5?(k5=c+136|0,O5=+s[k5>>2],$5=O5+X2,E5=c+132|0,s[E5>>2]=$5,s[k5>>2]=X2,M=E5,H2=$5):(r5=c+132|0,x2=+s[r5>>2],R2=x2+X2,s[r5>>2]=R2,B2=c+136|0,C5=+s[B2>>2],L5=C5+X2,s[B2>>2]=L5,M=r5,H2=R2),u5=(c+72|0)+(V2<<2)|0,b5=+s[u5>>2],G5=H2-b5,s[M>>2]=G5,s[u5>>2]=X2,d5=e[D5>>2]|0,A5=d5+1|0,l5=(d5|0)>13,E=l5?0:A5,e[D5>>2]=E,m5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(v5=H2*.0625,c5=(s[p2>>2]=v5,e[p2>>2]|0),o5=c5&2147483647,z2=+(o5>>>0),B5=z2*7177114298428933e-22,e5=B5+-764.6162109375,n5=e5,g5=n5*.5,Y2=g5+-15,h5=Y2,x=h5,L0=w2,w5=0;;){if(m0=L0*L0,T0=w5|1,U0=v2+(T0<<2)|0,B0=+s[U0>>2],q0=B0*B0,x0=q0+m0,D0=(s[p2>>2]=x0,e[p2>>2]|0),M0=D0&2147483647,J0=+(M0>>>0),Y0=J0*35885571492144663e-23,O0=Y0+-382.30810546875,N0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=w5+2|0,S0=(e1|0)<(m5|0),!S0)break e;i1=x+-8,L=v2+(e1<<2)|0,F=+s[L>>2],x=i1,L0=F,w5=e1}while(!1);if(t5=(f|0)>0,t5)A3=0,U3=0;else{for(t3=0,W3=0;;){if(c1=(a+(t3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(t3<<4)|0,s1=e[l1>>2]|0,a1=(a+(t3<<4)|0)+8|0,n1=e[a1>>2]|0,o3=0,G3=0;;)if(A1=s1+G3|0,Z0=v2+(A1<<2)|0,d1=+s[Z0>>2],h1=n1+(G3<<2)|0,E1=+s[h1>>2],u1=E1*d1,B1=u1+o3,p1=G3+1|0,Q1=(p1|0)<($1|0),Q1)o3=B1,G3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(t3<<4)|0)+12|0,x1=+s[R1>>2],y1=x1*R3,S1=(c+(t3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(t3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=y1U1,v=D1?U1:y1,K1=v+-99999,P1=N1+99999,H1=(c+(t3*144|0)|0)+(L1<<2)|0,s[H1>>2]=y1,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)+(t3<<2)|0,O1=+s[W1>>2],l2=O1+p3,z1=P1>l2,f2=W3|5,z5=z1?f2:W3,s2=(n+32|0)+(t3<<2)|0,E2=+s[s2>>2],A2=E2-p3,V1=K1>2]|0,a5=(W2|0)>0,a5)for(p0=a+(A3<<4)|0,n0=e[p0>>2]|0,w0=(a+(A3<<4)|0)+8|0,s0=e[w0>>2]|0,$3=0,M5=0;;)if(o0=n0+M5|0,r0=v2+(o0<<2)|0,K=+s[r0>>2],c0=s0+(M5<<2)|0,l0=+s[c0>>2],j=l0*K,$0=j+$3,g0=M5+1|0,u0=(g0|0)<(W2|0),u0)$3=$0,M5=g0;else{N3=$0;break}else N3=0;for(f0=(a+(A3<<4)|0)+12|0,E0=+s[f0>>2],h3=E0*N3,e3=(c+(A3*144|0)|0)+68|0,u3=e[e3>>2]|0,C0=(u3|0)<1,B=C0?16:-1,C=B+u3|0,d0=(c+(A3*144|0)|0)+(C<<2)|0,v0=+s[d0>>2],K0=h3v0,S=b0?v0:h3,n6=0,x3=C,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,T=Z?X:Q3,V=n6+1|0,q5=(V|0)==(f|0),q5){R=a0,G=T;break}else n6=V,x3=w,k3=a0,Q3=T;if(p5=S-G,H5=X5-R,I5=(c+(A3*144|0)|0)+(u3<<2)|0,s[I5>>2]=h3,K5=e[e3>>2]|0,n3=K5+1|0,C3=(K5|0)>15,Q=C3?0:n3,e[e3>>2]=Q,V5=(n+4|0)+(A3<<2)|0,w3=+s[V5>>2],f3=w3+p3,B3=H5>f3,K3=U3|5,v3=B3?K3:U3,T3=(n+32|0)+(A3<<2)|0,Z5=+s[T3>>2],y3=Z5-p3,j5=p5>2]|0,m2=n+1288|0,j3=e[m2>>2]|0,F3=n+1284|0,I6=e[F3>>2]|0,I9=(I6|0)>0,I9){for(g8=0;W4=p4+(g8<<2)|0,e[W4>>2]=-200,Ee=g8+1|0,Ce=(Ee|0)==(I6|0),!Ce;)g8=Ee;if(I9){for(q3=0;f4=l4+(q3<<2)|0,e[f4>>2]=-200,W=q3+1|0,$4=(W|0)==(I6|0),!$4;)q3=W;if(I9){for(r0=I6<<2,se(F8|0,0,r0|0)|0,y9=0;w0=De+(y9<<2)|0,e[w0>>2]=1,T0=y9+1|0,Ge=(T0|0)==(I6|0),!Ge;)y9=T0;if(I9){if(l1=I6<<2,se(z8|0,-1,l1|0)|0,B1=(I6|0)>1,!B1)return te=0,m=e4,te|0;for(U1=j3+-1|0,W1=J+1112|0,t2=I6+-1|0,F=e[n>>2]|0,m4=F,m9=0,me=0;;){D4=m9+1|0,b4=n+(D4<<2)|0,x4=e[b4>>2]|0,T4=U6+(m9*56|0)|0,Fe=T4,R7=Fe+56|0;do e[Fe>>2]=0,Fe=Fe+4|0;while((Fe|0)<(R7|0));if(e[T4>>2]=m4,N4=(U6+(m9*56|0)|0)+4|0,e[N4>>2]=x4,U9=(x4|0)<(j3|0),e7=U9?x4:U1,G4=(e7|0)<(m4|0),G4)w8=0,j8=0,S8=0,D8=0,I8=0,Le=0,t7=0,q9=0,J8=0,_8=0,q7=0,Y7=0;else for(k4=m4,h8=0,Ue=0,H4=0,j9=0,Be=0,s8=0,I3=0,b9=0,o8=0,B9=0,o7=0,R8=0;;){o4=a+(k4<<2)|0,P=+s[o4>>2],L4=P*7.314285755157471,h4=L4+1023.5,Ie=~~h4,H9=(Ie|0)>1023,E9=(Ie|0)<0,E=E9?0:Ie,v=H9?1023:E,Te=(v|0)==0;do if(Te)P8=h8,e8=Ue,i8=H4,d8=j9,Pe=Be,Q4=s8,C8=I3,q8=b9,Y4=o8,Je=B9,ne=o7,K8=R8;else if(We=o+(k4<<2)|0,U4=+s[We>>2],Ne=+s[W1>>2],O4=Ne+U4,j4=!(O4>=P),j4){oe=k4+s8|0,W9=v+R8|0,ae=i5(k4,k4)|0,$e=ae+j9|0,B4=i5(v,v)|0,e0=B4+B9|0,H=i5(v,k4)|0,X=H+b9|0,U=Ue+1|0,P8=h8,e8=U,i8=H4,d8=$e,Pe=Be,Q4=oe,C8=I3,q8=X,Y4=o8,Je=e0,ne=o7,K8=W9;break}else{Se=k4+Be|0,je=v+o7|0,Z9=i5(k4,k4)|0,Ae=Z9+H4|0,b6=i5(v,v)|0,P4=b6+o8|0,L9=i5(v,k4)|0,a4=L9+I3|0,_4=h8+1|0,P8=_4,e8=Ue,i8=Ae,d8=j9,Pe=Se,Q4=s8,C8=a4,q8=b9,Y4=P4,Je=B9,ne=je,K8=R8;break}while(!1);if(a0=k4+1|0,Z=(k4|0)<(e7|0),Z)k4=a0,h8=P8,Ue=e8,H4=i8,j9=d8,Be=Pe,s8=Q4,I3=C8,b9=q8,o8=Y4,B9=Je,o7=ne,R8=K8;else{w8=P8,j8=e8,S8=i8,D8=d8,I8=Pe,Le=Q4,t7=C8,q9=q8,J8=Y4,_8=Je,q7=ne,Y7=K8;break}}if(V=(U6+(m9*56|0)|0)+8|0,e[V>>2]=I8,o0=(U6+(m9*56|0)|0)+12|0,e[o0>>2]=q7,n0=(U6+(m9*56|0)|0)+16|0,e[n0>>2]=S8,i0=(U6+(m9*56|0)|0)+20|0,e[i0>>2]=J8,K=(U6+(m9*56|0)|0)+24|0,e[K>>2]=t7,c0=(U6+(m9*56|0)|0)+28|0,e[c0>>2]=w8,s0=(U6+(m9*56|0)|0)+32|0,e[s0>>2]=Le,l0=(U6+(m9*56|0)|0)+36|0,e[l0>>2]=Y7,j=(U6+(m9*56|0)|0)+40|0,e[j>>2]=D8,$0=(U6+(m9*56|0)|0)+44|0,e[$0>>2]=_8,g0=(U6+(m9*56|0)|0)+48|0,e[g0>>2]=q9,u0=(U6+(m9*56|0)|0)+52|0,e[u0>>2]=j8,p0=w8+me|0,c6=(D4|0)==(t2|0),c6){f7=p0;break}else m4=x4,m9=D4,me=p0}}else fe=9}else fe=9}else fe=9}else fe=9;if((fe|0)==9){if(N0=(I6|0)==0,!N0)return te=0,m=e4,te|0;M2=U6+4|0,Fe=U6,R7=Fe+56|0;do e[Fe>>2]=0,Fe=Fe+4|0;while((Fe|0)<(R7|0));if(e[M2>>2]=j3,P2=(j3|0)<1,P2)U8=0,W8=0,H8=0,u8=0,n8=0,X9=0,E8=0,ie=0,n7=0,s7=0,N7=0,G7=0;else for(v2=J+1112|0,c4=0,k8=0,f8=0,t8=0,ce=0,ge=0,he=0,q4=0,re=0,A8=0,Ye=0,D7=0,a8=0;;){_5=a+(c4<<2)|0,G=+s[_5>>2],c2=G*7.314285755157471,L2=c2+1023.5,F5=~~L2,R3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,B=R3?1023:f,U3=(B|0)==0;do if(U3)O8=k8,Re=f8,xe=t8,r8=ce,Oe=ge,pe=he,He=q4,qe=re,b8=A8,A7=Ye,b7=D7,_7=a8;else if(l6=o+(c4<<2)|0,H3=+s[l6>>2],r6=+s[v2>>2],r9=r6+H3,x6=!(r9>=G),x6){h9=c4+he|0,f9=B+a8|0,u9=i5(c4,c4)|0,o9=u9+ce|0,a9=i5(B,B)|0,T9=a9+Ye|0,M6=i5(B,c4)|0,e9=M6+re|0,N9=f8+1|0,O8=k8,Re=N9,xe=t8,r8=o9,Oe=ge,pe=h9,He=q4,qe=e9,b8=A8,A7=T9,b7=D7,_7=f9;break}else{G6=c4+ge|0,D6=B+D7|0,K6=i5(c4,c4)|0,y6=K6+t8|0,L6=i5(B,B)|0,F6=L6+A8|0,X6=i5(B,c4)|0,A9=X6+q4|0,W6=k8+1|0,O8=W6,Re=f8,xe=y6,r8=ce,Oe=G6,pe=he,He=A9,qe=re,b8=F6,A7=Ye,b7=D6,_7=a8;break}while(!1);if(d9=c4+1|0,C9=(d9|0)==(j3|0),C9){U8=O8,W8=Re,H8=xe,u8=r8,n8=Oe,X9=pe,E8=He,ie=qe,n7=b8,s7=A7,N7=b7,G7=_7;break}else c4=d9,k8=O8,f8=Re,t8=xe,ce=r8,ge=Oe,he=pe,q4=He,re=qe,A8=b8,Ye=A7,D7=b7,a8=_7}E4=U6+8|0,e[E4>>2]=n8,s4=U6+12|0,e[s4>>2]=N7,g4=U6+16|0,e[g4>>2]=H8,G9=U6+20|0,e[G9>>2]=n7,z9=U6+24|0,e[z9>>2]=E8,D9=U6+28|0,e[D9>>2]=U8,P6=U6+32|0,e[P6>>2]=X9,t9=U6+36|0,e[t9>>2]=G7,C4=U6+40|0,e[C4>>2]=u8,S4=U6+44|0,e[S4>>2]=s7,A4=U6+48|0,e[A4>>2]=ie,Q9=U6+52|0,e[Q9>>2]=W8,f7=U8}if(I0=(f7|0)==0,I0)return te=0,m=e4,te|0;e[r7>>2]=-200,e[Y8>>2]=-200,f0=I6+-1|0,$B(U6,f0,r7,Y8,J)|0,E0=e[r7>>2]|0,e[p4>>2]=E0,e[l4>>2]=E0,C0=e[Y8>>2]|0,d0=l4+4|0,e[d0>>2]=C0,v0=p4+4|0,e[v0>>2]=C0,K0=(I6|0)>2;do if(K0){b0=J+1112|0,m0=J+1096|0,L0=J+1100|0,F0=J+1104|0,M4=2;e:for(;;){U0=(n+520|0)+(M4<<2)|0,B0=e[U0>>2]|0,q0=F8+(B0<<2)|0,x0=e[q0>>2]|0,D0=De+(B0<<2)|0,M0=e[D0>>2]|0,J0=z8+(x0<<2)|0,Y0=e[J0>>2]|0,O0=(Y0|0)==(M0|0);t:do if(!O0){if(z0=(n+520|0)+(x0<<2)|0,P0=e[z0>>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,S0=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=l4+(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)),d1=p4+(M0<<2)|0,h1=e[d1>>2]|0,E1=(h1|0)<0,u1=l4+(M0<<2)|0,I1=e[u1>>2]|0,E1?Q=I1:(p1=(I1|0)<0,p1?Q=h1:(Q1=I1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,y1=(Q|0)==-1,v7=x1|y1,v7){fe=38;break e}S1=Q-y|0,L1=c1-S0|0,_e=(S1|0)>-1,w9=0-S1|0,F1=_e?S1:w9,G1=(S1|0)/(L1|0)&-1,w1=S1>>31,Z1=w1|1,N1=a+(S0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,K1=D1+1023.5,P1=~~K1,H1=(P1|0)>1023,q1=(P1|0)<0,I=q1?0:P1,S=H1?1023:I,Y1=i5(G1,L1)|0,l7=(Y1|0)>-1,h7=0-Y1|0,j1=l7?Y1:h7,r2=F1-j1|0,O1=y-S|0,l2=i5(O1,O1)|0,z1=o+(S0<<2)|0,f2=+s[z1>>2],s2=+s[b0>>2],E2=s2+f2,A2=!(E2>=Y),A2?fe=42:(V1=+(y|0),g2=+s[m0>>2],a2=g2+V1,$2=+(S|0),i2=a2<$2,i2||(o2=+s[L0>>2],X1=V1-o2,n2=X1>$2,n2||(fe=42)));i:do if((fe|0)==42){if(fe=0,u2=S0+1|0,e2=(u2|0)<(c1|0),e2)for(d2=u2,X4=0,k7=l2,G8=1,u7=y;;){if(y2=X4+r2|0,S2=(y2|0)<(L1|0),w2=S2?0:Z1,_2=S2?0:L1,F4=y2-_2|0,L=u7+G1|0,i7=L+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],J2=z*7.314285755157471,G2=J2+1023.5,q2=~~G2,T2=(q2|0)>1023,O2=(q2|0)<0,C=O2?0:q2,D=T2?1023:C,K2=i7-D|0,s5=i5(K2,K2)|0,T1=s5+k7|0,j2=G8+1|0,x5=o+(d2<<2)|0,X2=+s[x5>>2],D5=X2+s2,V2=D5>=z,f5=(D|0)!=0,X8=V2&f5,X8&&(k5=+(i7|0),O5=+s[m0>>2],$5=O5+k5,E5=+(D|0),r5=$5>2],R2=k5-x2,B2=R2>E5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,X4=F4,k7=T1,G8=j2,u7=i7;else{Z8=T1,N8=j2;break}}else Z8=l2,N8=1;if(u5=+s[m0>>2],b5=u5*u5,G5=+(N8|0),H2=b5/G5,d5=+s[F0>>2],A5=H2>d5,!A5&&(l5=+s[L0>>2],m5=l5*l5,M1=m5/G5,v5=M1>d5,!v5&&(c5=(Z8|0)/(N8|0)&-1,o5=+(c5|0),z2=o5>d5,z2)))break;$3=p4+(M4<<2)|0,e[$3>>2]=-200,l3=l4+(M4<<2)|0,e[l3>>2]=-200;break t}while(!1);if(e[M8>>2]=-200,e[T8>>2]=-200,e[be>>2]=-200,e[Xe>>2]=-200,B5=U6+(P0*56|0)|0,e5=B0-P0|0,n5=$B(B5,e5,M8,T8,J)|0,g5=U6+(B0*56|0)|0,Y2=H0-B0|0,h5=$B(g5,Y2,be,Xe,J)|0,t5=(n5|0)!=0,t5&&(e[M8>>2]=y,R5=e[be>>2]|0,e[T8>>2]=R5),W2=(h5|0)==0,!W2&&(a5=e[T8>>2]|0,e[be>>2]=a5,e[Xe>>2]=Q,t5)){p5=p4+(M4<<2)|0,e[p5>>2]=-200,H5=l4+(M4<<2)|0,e[H5>>2]=-200;break}if(X5=e[M8>>2]|0,e[s1>>2]=X5,I5=(x0|0)==0,I5&&(e[p4>>2]=X5),u3=e[T8>>2]|0,h3=p4+(M4<<2)|0,e[h3>>2]=u3,K5=e[be>>2]|0,e3=l4+(M4<<2)|0,e[e3>>2]=K5,n3=e[Xe>>2]|0,e[d1>>2]=n3,C3=(M0|0)==1,C3&&(e[d0>>2]=n3),V5=K5&u3,w3=(V5|0)>-1,w3){f3=(B0|0)>0;i:do if(f3)for(V8=B0;;){if(w7=V8+-1|0,K3=De+(w7<<2)|0,T3=e[K3>>2]|0,Z5=(T3|0)==(M0|0),!Z5)break i;if(e[K3>>2]=M4,y3=(V8|0)>1,y3)V8=w7;else break}while(!1);if(g7=B0+1|0,B3=(g7|0)<(I6|0),B3)for(L8=g7;;){if(j5=F8+(L8<<2)|0,t6=e[j5>>2]|0,N3=(t6|0)==(x0|0),!N3)break t;if(e[j5>>2]=M4,c7=L8+1|0,o3=(c7|0)<(I6|0),o3)L8=c7;else break}}}while(!1);if(m3=M4+1|0,q5=(m3|0)<(I6|0),q5)M4=m3;else{fe=68;break}}if((fe|0)==38)Cv(1);else if((fe|0)==68){M=e[p4>>2]|0,T=e[l4>>2]|0,w5=M,n6=T;break}}else w5=E0,n6=E0;while(!1);if(U5=I6<<2,P5=H7(t,U5)|0,G3=(w5|0)<0,G3?w=n6:(t3=(n6|0)<0,t3?w=w5:(A3=n6+w5|0,x3=A3>>1,w=x3)),e[P5>>2]=w,h6=e[v0>>2]|0,p3=(h6|0)<0,k3=e[d0>>2]|0,p3?x=k3:(Q3=(k3|0)<0,Q3?x=h6:(i6=k3+h6|0,W3=i6>>1,x=W3)),z5=P5+4|0,e[z5>>2]=x,K0)ee=2;else return te=P5,m=e4,te|0;for(;;)if(v3=ee+-2|0,c3=(n+1032|0)+(v3<<2)|0,O3=e[c3>>2]|0,$6=(n+780|0)+(v3<<2)|0,d3=e[$6>>2]|0,w6=(J+836|0)+(O3<<2)|0,k6=e[w6>>2]|0,v6=(J+836|0)+(d3<<2)|0,B6=e[v6>>2]|0,p6=P5+(O3<<2)|0,_6=e[p6>>2]|0,q6=P5+(d3<<2)|0,C6=e[q6>>2]|0,S3=(J+836|0)+(ee<<2)|0,X3=e[S3>>2]|0,e6=_6&32767,f6=C6&32767,P3=f6-e6|0,D3=B6-k6|0,$7=(P3|0)>-1,v8=0-P3|0,V3=$7?P3:v8,S6=X3-k6|0,s6=i5(V3,S6)|0,i3=(s6|0)/(D3|0)&-1,O6=(P3|0)<0,s3=0-i3|0,R=O6?s3:i3,_=R+e6|0,A6=p4+(ee<<2)|0,u6=e[A6>>2]|0,b3=(u6|0)<0,T6=l4+(ee<<2)|0,Q6=e[T6>>2]|0,b3?p=Q6:(R6=(Q6|0)<0,R6?p=u6:(J6=Q6+u6|0,d6=J6>>1,p=d6)),Y6=(p|0)<0,L3=(_|0)==(p|0),S7=Y6|L3,Z6=_|32768,c=S7?Z6:p,N6=P5+(ee<<2)|0,e[N6>>2]=c,j6=ee+1|0,le=(j6|0)==(I6|0),le){te=P5;break}else ee=j6;return m=e4,te|0}function x8(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;if(o0=m,f=n+1284|0,E=e[f>>2]|0,_=(o|0)!=0,z=(a|0)!=0,a0=_&z,!a0)return Z=0,Z|0;if(Y=E<<2,t0=H7(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,C=i5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=i5(v,c)|0,w=C+32768|0,y=w+S|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,x=e[e0>>2]|0,R=x&32768,L=(R|0)==0,L||(F=e[p>>2]|0,M=F&32768,T=(M|0)==0,T||(G=D|32768,e[Q>>2]=G)),P=U+1|0,X=(P|0)==(E|0),X){Z=t0;break}else U=P;return Z|0}function jv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0;if(F6=m,m=m+336|0,x6=F6+64|0,c3=F6+32|0,L3=F6,D=o+1296|0,Q=e[D>>2]|0,g2=o+1284|0,x2=e[g2>>2]|0,A5=n+64|0,n5=e[A5>>2]|0,X5=n5+4|0,f3=e[X5>>2]|0,$3=f3+28|0,A3=e[$3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),x5=n+36|0,X2=e[x5>>2]|0,D5=(X2|0)/2&-1,V2=D5<<2,se(c|0,0,V2|0)|0,E=0,m=F6,E|0;if(p0=(x2|0)>0,p0)for(L0=Q+832|0,f6=0;O0=a+(f6<<2)|0,f1=e[O0>>2]|0,u1=f1&32767,G1=e[L0>>2]|0,(G1|0)==4?(K2=u1>>>4,G6=K2):(G1|0)==1?(j1=u1>>>2,G6=j1):(G1|0)==2?(a2=u1>>>3,G6=a2):(G1|0)==3?(w2=(u1>>>0)/12&-1,G6=w2):G6=u1,f5=f1&32768,k5=f5|G6,e[O0>>2]=k5,O5=f6+1|0,C6=(O5|0)==(x2|0),!C6;)f6=O5;if($5=e[a>>2]|0,e[x6>>2]=$5,v2=a+4|0,E5=e[v2>>2]|0,r5=x6+4|0,e[r5>>2]=E5,R2=(x2|0)>2,B2=o+1292|0,R2){for(P3=2;;){if(C5=P3+-2|0,L5=(o+1032|0)+(C5<<2)|0,u5=e[L5>>2]|0,b5=(o+780|0)+(C5<<2)|0,G5=e[b5>>2]|0,_5=(Q+836|0)+(u5<<2)|0,H2=e[_5>>2]|0,d5=(Q+836|0)+(G5<<2)|0,l5=e[d5>>2]|0,m5=a+(u5<<2)|0,M1=e[m5>>2]|0,v5=a+(G5<<2)|0,c5=e[v5>>2]|0,o5=(Q+836|0)+(P3<<2)|0,z2=e[o5>>2]|0,c2=M1&32767,B5=c5&32767,e5=B5-c2|0,g5=l5-H2|0,H3=(e5|0)>-1,Z6=0-e5|0,Y2=H3?e5:Z6,h5=z2-H2|0,t5=i5(Y2,h5)|0,R5=(t5|0)/(g5|0)&-1,W2=(e5|0)<0,a5=0-R5|0,C=W2?a5:R5,I=C+c2|0,L2=a+(P3<<2)|0,p5=e[L2>>2]|0,H5=p5&32768,I5=(H5|0)!=0,u3=(p5|0)==(I|0),r9=I5|u3,r9)h3=I|32768,e[L2>>2]=h3,K5=x6+(P3<<2)|0,e[K5>>2]=0;else{e3=e[B2>>2]|0,n3=e3-I|0,C3=(n3|0)<(I|0),f=C3?n3:I,F5=p5-I|0,V5=(F5|0)<0;do if(V5)if(w3=0-f|0,B3=(F5|0)<(w3|0),B3){K3=F5^-1,T3=f+K3|0,D6=T3;break}else{Z5=F5<<1,y3=Z5^-1,D6=y3;break}else if(j5=(f|0)>(F5|0),j5){R3=F5<<1,D6=R3;break}else{t6=f+F5|0,D6=t6;break}while(!1);N3=x6+(P3<<2)|0,e[N3>>2]=D6,e[m5>>2]=c2,o3=e[v5>>2]|0,l3=o3&32767,e[v5>>2]=l3}if(m3=P3+1|0,q6=(m3|0)==(x2|0),q6)break;P3=m3}v=e[x6>>2]|0,S=e[r5>>2]|0,i6=v,v3=S}else i6=$5,v3=E5;if(U2(t,1,1),q5=o+1308|0,U5=e[q5>>2]|0,P5=U5+1|0,e[q5>>2]=P5,w5=e[B2>>2]|0,G3=w5+-1|0,M5=T7(G3)|0,n6=M5<<1,t3=o+1304|0,x3=e[t3>>2]|0,h6=x3+n6|0,e[t3>>2]=h6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=T7(k3)|0,U2(t,i6,Q3),W3=e[B2>>2]|0,U3=W3+-1|0,z5=T7(U3)|0,U2(t,v3,z5),x=e[Q>>2]|0,R=(x|0)>0,R)for(L=o+1300|0,D3=0,s6=2;;){if(F=(Q+4|0)+(D3<<2)|0,M=e[F>>2]|0,T=(Q+128|0)+(M<<2)|0,G=e[T>>2]|0,P=(Q+192|0)+(M<<2)|0,z=e[P>>2]|0,Y=1<>2]=0,e[c3+4>>2]=0,e[c3+8>>2]=0,e[c3+12>>2]=0,e[c3+16>>2]=0,e[c3+20>>2]=0,e[c3+24>>2]=0,e[c3+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;$0=((Q+320|0)+(M<<5)|0)+(s3<<2)|0,g0=e[$0>>2]|0,u0=(g0|0)<0,u0?y=1:(I0=(A3+1824|0)+(g0<<2)|0,w0=e[I0>>2]|0,f0=w0+4|0,E0=e[f0>>2]|0,y=E0),C0=L3+(s3<<2)|0,e[C0>>2]=y,d0=s3+1|0,v0=(d0|0)<(Y|0),v0;)s3=d0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,w6=0,A6=0;;)if(K0=c3+(A6<<2)|0,b0=e[K0>>2]|0,m0=b0<>2]|0,T6=0;;){if(H=L3+(T6<<2)|0,X=e[H>>2]|0,a0=(U|0)<(X|0),a0){r6=T6,F3=31;break}if(Z=T6+1|0,V=(Z|0)<(Y|0),V)T6=Z;else{F3=33;break}}if((F3|0)==31?(F3=0,o0=c3+(u6<<2)|0,e[o0>>2]=r6,r0=r6):(F3|0)==33&&(F3=0,p=c3+(u6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<<$6,K=i0|k6,c0=$6+z|0,s0=u6+1|0,_6=(s0|0)==(G|0),_6){d3=K;break}else $6=c0,k6=K,u6=s0}}else d3=0;while(!1);B0=(Q+256|0)+(M<<2)|0,q0=e[B0>>2]|0,x0=t0+(q0*56|0)|0,D0=Lh(x0,d3,t)|0,M0=e[L>>2]|0,J0=M0+D0|0,e[L>>2]=J0}if(Y0=(G|0)>0,Y0)for(b3=0;z0=c3+(b3<<2)|0,N0=e[z0>>2]|0,P0=((Q+320|0)+(M<<5)|0)+(N0<<2)|0,r1=e[P0>>2]|0,H0=(r1|0)>-1,H0&&(e1=b3+s6|0,S0=x6+(e1<<2)|0,i1=e[S0>>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=Lh(l1,i1,t)|0,a1=e[t3>>2]|0,n1=a1+s1|0,e[t3>>2]=n1)),A1=b3+1|0,p6=(A1|0)==(G|0),!p6;)b3=A1;if(Z0=G+s6|0,d1=D3+1|0,h1=e[Q>>2]|0,E1=(d1|0)<(h1|0),E1)D3=d1,s6=Z0;else break}if(I1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=i5(p1,I1)|0,R1=n+28|0,x1=e[R1>>2]|0,y1=A3+(x1<<2)|0,S1=e[y1>>2]|0,L1=(S1|0)/2&-1,F1=e[g2>>2]|0,w1=(F1|0)>1,w1)for(X3=0,i3=1,Q6=0,d6=Q1;;){if(K1=(o+260|0)+(i3<<2)|0,P1=e[K1>>2]|0,H1=a+(P1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,r2=(Y1|0)==(q1|0),r2)if(W1=e[B1>>2]|0,O1=i5(W1,q1)|0,l2=(Q+836|0)+(P1<<2)|0,z1=e[l2>>2]|0,f2=O1-d6|0,s2=z1-Q6|0,V3=(f2|0)>-1,N6=0-f2|0,E2=V3?f2:N6,A2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=i5(A2,s2)|0,S6=($2|0)>-1,j6=0-$2|0,i2=S6?$2:j6,o2=E2-i2|0,X1=(L1|0)>(z1|0),K6=X1?z1:L1,n2=(K6|0)>(Q6|0),n2&&(u2=c+(Q6<<2)|0,e[u2>>2]=d6),e2=Q6+1|0,y2=(e2|0)<(K6|0),y2)for(d2=e2,v6=0,y6=d6;;)if(S2=v6+o2|0,m2=(S2|0)<(s2|0),M2=m2?0:t2,_2=m2?0:s2,B6=S2-_2|0,B=y6+A2|0,L6=B+M2|0,N2=c+(d2<<2)|0,e[N2>>2]=L6,J2=d2+1|0,l6=(J2|0)==(K6|0),l6){e6=z1,R6=z1,Y6=O1;break}else d2=J2,v6=B6,y6=L6;else e6=z1,R6=z1,Y6=O1;else e6=X3,R6=Q6,Y6=d6;if(G2=i3+1|0,q2=e[g2>>2]|0,T2=(G2|0)<(q2|0),T2)X3=e6,i3=G2,Q6=R6,d6=Y6;else{S3=e6,J6=Y6;break}}else S3=0,J6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(S3|0)<(N1|0),D1)O6=S3;else return E=1,m=F6,E|0;for(;;)if(O2=c+(O6<<2)|0,e[O2>>2]=J6,s5=O6+1|0,P2=e[U1>>2]|0,T1=(P2|0)/2&-1,j2=(s5|0)<(T1|0),j2)O6=s5;else{E=1;break}return m=F6,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0;if(s5=m,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,I0=e[i0>>2]|0,F0=(n|0)>0,F0)for(z0=c+1108|0,g1=+s[z0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(I1=(t+(X1*56|0)|0)+52|0,w1=e[I1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,M=v+w1|0,H=+(M|0),X=H*g1,U=v+1|0,a0=+(U|0),Z=X/a0,V=Z,o0=V+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,K=+(r0|0),c0=(t+(X1*56|0)|0)+8|0,s0=e[c0>>2]|0,l0=+(s0|0),j=l0*o0,$0=K+w2,g0=$0+j,u0=(t+(X1*56|0)|0)+36|0,p0=e[u0>>2]|0,w0=+(p0|0),f0=(t+(X1*56|0)|0)+12|0,E0=e[f0>>2]|0,C0=+(E0|0),d0=C0*o0,v0=w0+q2,K0=v0+d0,b0=(t+(X1*56|0)|0)+40|0,m0=e[b0>>2]|0,L0=+(m0|0),T0=(t+(X1*56|0)|0)+16|0,U0=e[T0>>2]|0,B0=+(U0|0),q0=B0*o0,x0=L0+u2,D0=x0+q0,M0=(t+(X1*56|0)|0)+48|0,J0=e[M0>>2]|0,Y0=+(J0|0),O0=(t+(X1*56|0)|0)+24|0,N0=e[O0>>2]|0,P0=+(N0|0),r1=P0*o0,H0=Y0+N2,e1=H0+r1,S0=+(w1|0),i1=+(v|0),c1=o0*i1,$1=S0+t2,f1=$1+c1,l1=X1+1|0,o2=(l1|0)==(n|0),o2){a2=f1,n2=D0,S2=g0,_2=e1,G2=K0;break}else t2=f1,X1=l1,u2=D0,w2=g0,N2=e1,q2=K0;else a2=0,n2=0,S2=0,_2=0,G2=0;return s1=e[o>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),A1=S2+n1,Z0=+(s1|0),d1=Z0+G2,h1=i5(p,p)|0,E1=+(h1|0),u1=n2+E1,B1=i5(s1,p)|0,p1=+(B1|0),Q1=p1+_2,R1=a2+1,$2=R1,e2=u1,m2=A1,d2=Q1,T2=d1):($2=a2,e2=n2,m2=S2,d2=_2,T2=G2),x1=e[a>>2]|0,y1=(x1|0)>-1,y1?(S1=+(I0|0),L1=m2+S1,F1=+(x1|0),G1=F1+T2,U1=i5(I0,I0)|0,Z1=+(U1|0),N1=e2+Z1,D1=i5(x1,I0)|0,K1=+(D1|0),P1=K1+d2,H1=$2+1,i2=H1,y2=N1,M2=L1,J2=P1,O2=G1):(i2=$2,y2=e2,M2=m2,J2=d2,O2=T2),q1=y2*i2,Y1=M2*M2,j1=q1-Y1,W1=j1>0,W1?(O1=O2*y2,l2=M2*J2,z1=O1-l2,f2=z1/j1,s2=J2*i2,E2=M2*O2,A2=s2-E2,V1=A2/j1,g2=+(p|0),S=V1*g2,w=S+f2,y=+Gi(w),D=~~y,e[o>>2]=D,Q=+(I0|0),_=V1*Q,x=_+f2,R=+Gi(x),L=~~R,e[a>>2]=L,F=e[o>>2]|0,T=(F|0)>1023,T?(e[o>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=L,W=F),P=(G|0)>1023,P?(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,C=e[a>>2]|0,t0=C):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 Xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0;if(S0=m,E=t+836|0,I=t+840|0,x=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,I0=(i0|0)>0,I0){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(B0=t+128|0,q0=t+192|0,C=t+256|0,p=t+320|0,Y0=0;;){if(_=B0+(Y0<<2)|0,R=e[_>>2]|0,L=R+-1|0,U2(n,L,3),F=q0+(Y0<<2)|0,M=e[F>>2]|0,U2(n,M,2),T=e[F>>2]|0,G=(T|0)==0,G?(z0=0,e1=8):(P=C+(Y0<<2)|0,z=e[P>>2]|0,U2(n,z,8),c=e[F>>2]|0,Y=(c|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),H=z0+1|0,X=e[F>>2]|0,U=1<>2]|0,n0=o0+-1|0,U2(n,n0,2),r0=x+-1|0,K=T7(r0)|0,U2(n,K,4),c0=T7(r0)|0,s0=e[t>>2]|0,l0=(s0|0)>0,!!l0)for(j=t+4|0,$0=t+128|0,T0=s0,x0=0,O0=0,N0=0;;){if(g0=j+(O0<<2)|0,u0=e[g0>>2]|0,p0=$0+(u0<<2)|0,w0=e[p0>>2]|0,f0=w0+x0|0,E0=(N0|0)<(f0|0),E0){for(r1=N0;C0=r1+2|0,d0=E+(C0<<2)|0,v0=e[d0>>2]|0,U2(n,v0,c0),K0=r1+1|0,D0=(K0|0)==(f0|0),!D0;)r1=K0;f=e[t>>2]|0,L0=f,P0=f0}else L0=T0,P0=N0;if(b0=O0+1|0,m0=(b0|0)<(L0|0),m0)T0=L0,x0=f0,O0=b0,N0=P0;else break}}function eS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0;z1=m,m=m+272|0,O1=z1,D=t+28|0,Q=e[D>>2]|0,Y=r4(1,1120)|0,o0=Z4(n,5)|0,e[Y>>2]=o0,u0=(o0|0)>0;e:do if(u0){for(m0=Y+4|0,Z1=0,r2=-1;;){if(R=Z4(n,4)|0,L=m0+(Z1<<2)|0,e[L>>2]=R,F=(R|0)<0,F)break e;if(M=(r2|0)<(R|0),c=M?R:r2,T=Z1+1|0,G=e[Y>>2]|0,P=(T|0)<(G|0),P)Z1=T,r2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,E1=Y+192|0,F1=Y+256|0,_=Q+24|0,x=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=E1+(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,a0=F1+(N1<<2)|0,e[a0>>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($0=Z4(n,8)|0,g0=$0+-1|0,p0=(x+(N1<<5)|0)+(H1<<2)|0,e[p0>>2]=g0,I0=($0|0)<0,I0||(w0=e[_>>2]|0,f0=($0|0)>(w0|0),l0=H1+1|0,f0))break e;if(c0=e[e0>>2]|0,s0=1<>2]=v0,b0=Z4(n,4)|0,L0=(b0|0)<0,!L0)){if(F0=e[Y>>2]|0,T0=(F0|0)>0,T0)for(U0=Y+4|0,B0=Y+128|0,q0=Y+836|0,x0=1<>2]|0,J0=B0+(M0<<2)|0,O0=e[J0>>2]|0,z0=O0+U1|0,N0=(z0|0)>63,N0)break e;if(P0=(q1|0)<(z0|0),P0){for(j1=q1;;){if(r1=Z4(n,b0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=r1,S0=(r1|0)>-1,i1=(r1|0)<(x0|0),W1=S0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(z0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,D1=g1,q1=Y1;else{C=q0,p=x0,w1=z0;break}}else w=Y+836|0,y=1<>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=w1+2|0,A1=(w1|0)>-2,A1)for(K1=0;Z0=C+(K1<<2)|0,d1=O1+(K1<<2)|0,e[d1>>2]=Z0,h1=K1+1|0,u1=(h1|0)<(n1|0),u1;)K1=h1;Mh(O1,n1,4,8),I1=(n1|0)>1;t:do if(I1){for(v=e[O1>>2]|0,S=e[v>>2]|0,y1=S,P1=1;Q1=O1+(P1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(y1|0)==(x1|0),B1=P1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)y1=x1,P1=B1;else break t;if(L1=(Y|0)==0,L1)o=0;else break e;return m=z1,o|0}while(!1);return o=Y,m=z1,o|0}while(!1);return I2(Y),o=0,m=z1,o|0}function tS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0;if(L1=m,m=m+272|0,y1=L1,a=r4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,V=e[z>>2]|0,g0=a+1288|0,e[g0>>2]=V,b0=e[n>>2]|0,J0=(b0|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,C=f+(I<<2)|0,p=e[C>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(b0|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?(F=w,p1=o,S1=7):(Mh(y1,w,4,8),B1=o)}else r1=a+1284|0,e[r1>>2]=2,F=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,x=y1+(l1<<2)|0,e[x>>2]=_,R=l1+1|0,L=(R|0)<(F|0),L;)l1=R;for(Mh(y1,F,4,8),M=D,T=a+260|0,s1=0;Y=y1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-M|0,e0=W>>2,H=T+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(F|0),U;)s1=X;for(G=a+260|0,P=a+520|0,a1=0;Z=G+(a1<<2)|0,o0=e[Z>>2]|0,n0=P+(o0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(F|0),r0;)a1=i0;for(a0=a+260|0,n1=0;;)if(K=a0+(n1<<2)|0,c0=e[K>>2]|0,s0=D+(c0<<2)|0,l0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=l0,$0=n1+1|0,u0=($0|0)<(F|0),u0)n1=$0;else{B1=p1;break}}if(p0=n+832|0,I0=e[p0>>2]|0,(I0|0)==4?(C0=a+1292|0,e[C0>>2]=64):(I0|0)==2?(f0=a+1292|0,e[f0>>2]=128):(I0|0)==1?(w0=a+1292|0,e[w0>>2]=256):(I0|0)==3&&(E0=a+1292|0,e[E0>>2]=86),d0=(B1|0)>0,!d0)return m=L1,a|0;for(v0=a+1032|0,K0=a+780|0,A1=0;;){for(m0=A1+2|0,L0=D+(m0<<2)|0,F0=e[L0>>2]|0,T0=e[g0>>2]|0,S0=1,$1=T0,Z0=0,d1=0,u1=0;;)if(U0=D+(Z0<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)>(u1|0),x0=(B0|0)<(F0|0),R1=q0&x0,h1=R1?Z0:d1,I1=R1?B0:u1,D0=(B0|0)<($1|0),M0=(B0|0)>(F0|0),x1=D0&M0,i1=x1?Z0:S0,f1=x1?B0:$1,Y0=Z0+1|0,O0=(Y0|0)<(m0|0),O0)S0=i1,$1=f1,Z0=Y0,d1=h1,u1=I1;else{c1=i1,E1=h1;break}if(z0=v0+(A1<<2)|0,e[z0>>2]=E1,N0=K0+(A1<<2)|0,e[N0>>2]=c1,P0=A1+1|0,e1=(P0|0)==(B1|0),e1)break;A1=P0}return m=L1,a|0}function iS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function rS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function nS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;if(w2=m,f=n+1296|0,E=e[f>>2]|0,r0=t+64|0,w0=e[r0>>2]|0,T0=w0+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,x=Z4(I,1)|0,J=(x|0)==1,!J)return o=0,o|0;U=n+1284|0,a0=e[U>>2]|0,Z=a0<<2,V=H7(t,Z)|0,o0=n+1292|0,n0=e[o0>>2]|0,i0=n0+-1|0,K=T7(i0)|0,c0=Z4(I,K)|0,e[V>>2]=c0,s0=e[o0>>2]|0,l0=s0+-1|0,j=T7(l0)|0,$0=Z4(I,j)|0,g0=V+4|0,e[g0>>2]=$0,u0=e[E>>2]|0,p0=(u0|0)>0;e:do if(p0){i2=0,n2=2;t:for(;;){if(d0=(E+4|0)+(i2<<2)|0,v0=e[d0>>2]|0,K0=(E+128|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=(E+192|0)+(v0<<2)|0,L0=e[m0>>2]|0,F0=1<>2]|0,x0=W1+(q0*56|0)|0,D0=ZC(x0,I)|0,M0=(D0|0)==-1,M0){o=0,S2=25;break}else t2=D0;if(J0=(b0|0)>0,J0)for(Y0=F0+-1|0,$2=t2,u2=0;;){if(O0=$2&Y0,z0=((E+320|0)+(v0<<5)|0)+(O0<<2)|0,P0=e[z0>>2]|0,r1=$2>>L0,H0=(P0|0)>-1,H0){if(e1=W1+(P0*56|0)|0,S0=ZC(e1,I)|0,i1=u2+n2|0,c1=V+(i1<<2)|0,e[c1>>2]=S0,$1=(S0|0)==-1,$1){o=0,S2=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)<(b0|0),a1)$2=r1,u2=s1;else break}if(n1=b0+n2|0,A1=i2+1|0,Z0=e[E>>2]|0,d1=(A1|0)<(Z0|0),d1)i2=A1,n2=n1;else break e}if((S2|0)==25)return o|0}while(!1);if(I0=e[U>>2]|0,f0=(I0|0)>2,!f0)return o=V,o|0;for(E0=n+1032|0,C0=n+780|0,o2=2;;){if(h1=o2+-2|0,E1=E0+(h1<<2)|0,u1=e[E1>>2]|0,I1=(E+836|0)+(u1<<2)|0,p1=e[I1>>2]|0,Q1=C0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,y1=e[x1>>2]|0,S1=V+(u1<<2)|0,L1=e[S1>>2]|0,F1=V+(R1<<2)|0,G1=e[F1>>2]|0,w1=(E+836|0)+(o2<<2)|0,Z1=e[w1>>2]|0,N1=L1&32767,D1=G1&32767,K1=D1-N1|0,P1=y1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=i5(H1,q1)|0,j1=(Y1|0)/(P1|0)&-1,r2=(K1|0)<0,O1=0-j1|0,c=r2?O1:j1,a=c+N1|0,l2=e[o0>>2]|0,z1=l2-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,g2=V1<<1,a2=(s2|0)<(g2|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(C=(z1|0)>(a|0),C){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);R=y2+a|0,L=R&32767,e[f2>>2]=L,F=e[E1>>2]|0,M=V+(F<<2)|0,T=e[M>>2]|0,G=T&32767,e[M>>2]=G,P=e[Q1>>2]|0,z=V+(P<<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 sS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0;if(w1=m,E=n+1296|0,I=e[E>>2]|0,x=t+64|0,J=e[x>>2]|0,i0=J+4|0,I0=e[i0>>2]|0,F0=I0+28|0,z0=e[F0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,C=z0+(f1<<2)|0,p=e[C>>2]|0,B=(p|0)/2&-1,v=(o|0)==0,v)return c1=B<<2,se(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=i5(y,S)|0,Q=(D|0)<0,_=(D|0)>255,R=_?255:D,L=Q?0:R,F=n+1284|0,M=e[F>>2]|0,T=(M|0)>1,T)for(G=n+260|0,A1=0,E1=1,I1=0,Q1=L;;){if(t0=G+(E1<<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(a0=(I+836|0)+(W<<2)|0,Z=e[a0>>2]|0,V=i5(y,H)|0,o0=(V|0)<0,n0=(V|0)>255,r0=n0?255:V,K=o0?0:r0,c0=K-Q1|0,s0=Z-I1|0,d1=(c0|0)>-1,x1=0-c0|0,l0=d1?c0:x1,j=(c0|0)/(s0|0)&-1,$0=c0>>31,g0=$0|1,u0=i5(j,s0)|0,h1=(u0|0)>-1,y1=0-u0|0,p0=h1?u0:y1,w0=l0-p0|0,f0=(B|0)>(Z|0),S1=f0?Z:B,E0=(S1|0)>(I1|0),E0&&(C0=1768+(Q1<<2)|0,d0=+s[C0>>2],v0=a+(I1<<2)|0,K0=+s[v0>>2],b0=K0*d0,s[v0>>2]=b0),m0=I1+1|0,L0=(m0|0)<(S1|0),L0)for(J0=m0,g1=0,L1=Q1;;)if(T0=g1+w0|0,U0=(T0|0)<(s0|0),B0=U0?0:g0,q0=U0?0:s0,l1=T0-q0|0,f=L1+j|0,F1=f+B0|0,x0=1768+(F1<<2)|0,D0=+s[x0>>2],M0=a+(J0<<2)|0,Y0=+s[M0>>2],O0=Y0*D0,s[M0>>2]=O0,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=I1,R1=Q1;if(P0=E1+1|0,r1=(P0|0)<(M|0),r1)A1=Z0,E1=P0,I1=B1,Q1=R1;else{n1=Z0,p1=R1;break}}else n1=0,p1=L;if(P=(n1|0)<(B|0),!P)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],u1=n1;;)if(H0=a+(u1<<2)|0,e1=+s[H0>>2],S0=e1*Y,s[H0>>2]=S0,i1=u1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else u1=i1;return c|0}function AS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return C=m,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 oS(t){t=t|0;var n=0,o=0;o=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function aS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;o0=m,c=j$(n|0)|0,f=j$(o|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=m,m=m+((1*a|0)+15&-16)|0,fB(J|0,n|0)|0,Z=j$(J|0)|0,a0=J+Z|0,d[a0>>0]=61,d[a0+1>>0]=0,wQ(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=Ui(W,U)|0,e[t>>2]=E,I=t+4|0,C=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Ui(C,v)|0,e[I>>2]=S,w=j$(J|0)|0,y=e[e0>>2]|0,D=S+(y<<2)|0,e[D>>2]=w,_=w+1|0,x=S9(_)|0,R=e[t>>2]|0,L=R+(y<<2)|0,e[L>>2]=x,F=e[t>>2]|0,M=F+(y<<2)|0,T=e[M>>2]|0,fB(T|0,J|0)|0,G=e[e0>>2]|0,P=G+1|0,e[e0>>2]=P,z=e[t>>2]|0,t0=z+(P<<2)|0,e[t0>>2]=0,m=o0}function $S(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0;if(Y=m,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(x=t+8|0,R=e[x>>2]|0,L=(R|0)>0,L){for(_=R,M=f,P=0;F=M+(P<<2)|0,T=e[F>>2]|0,G=(T|0)==0,G?C=_:(I2(T),o=e[x>>2]|0,C=o),E=P+1|0,I=(E|0)<(C|0),!!I;)n=e[t>>2]|0,_=C,M=n,P=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 lS(t){t=t|0;var n=0,o=0,a=0,c=0;c=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=r4(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0;if(B1=m,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,p0=(n0|0)>0,p0)for(g1=n0,A1=0;n1=(E+32|0)+(A1<<2)|0,I=e[n1>>2]|0,C=(I|0)==0,C?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,O0=e[L0>>2]|0,f1=(O0|0)>0,f1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,x=(Q|0)==0,x?Y=l1:(R=(E+288|0)+(Z0<<2)|0,L=e[R>>2]|0,F=25664+(L<<2)|0,M=e[F>>2]|0,T=M+8|0,G=e[T>>2]|0,js[G&7](Q),o=e[L0>>2]|0,Y=o),P=Z0+1|0,z=(P|0)<(Y|0),z;)l1=Y,Z0=P;if(S=E+16|0,w=e[S>>2]|0,y=(w|0)>0,y)for(s1=w,d1=0;H=(E+1056|0)+(d1<<2)|0,X=e[H>>2]|0,U=(X|0)==0,U?s0=s1:(a0=(E+800|0)+(d1<<2)|0,Z=e[a0>>2]|0,V=25640+(Z<<2)|0,o0=e[V>>2]|0,i0=o0+12|0,r0=e[i0>>2]|0,js[r0&7](X),a=e[S>>2]|0,s0=a),K=d1+1|0,c0=(K|0)<(s0|0),c0;)s1=s0,d1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;u0=(E+1568|0)+(h1<<2)|0,I0=e[u0>>2]|0,w0=(I0|0)==0,w0?F0=a1:(f0=(E+1312|0)+(h1<<2)|0,E0=e[f0>>2]|0,C0=25648+(E0<<2)|0,d0=e[C0>>2]|0,v0=d0+12|0,K0=e[v0>>2]|0,js[K0&7](I0),c=e[J>>2]|0,F0=c),b0=h1+1|0,m0=(b0|0)<(F0|0),m0;)a1=F0,h1=b0;if(l0=E+24|0,j=e[l0>>2]|0,$0=(j|0)>0,g0=E+2848|0,$0)for(E1=0;T0=(E+1824|0)+(E1<<2)|0,U0=e[T0>>2]|0,B0=(U0|0)==0,B0||hB(U0),q0=e[g0>>2]|0,x0=(q0|0)==0,x0||(D0=q0+(E1*56|0)|0,PS(D0)),M0=E1+1|0,J0=e[l0>>2]|0,Y0=(M0|0)<(J0|0),Y0;)E1=M0;if(z0=e[g0>>2]|0,N0=(z0|0)==0,N0||I2(z0),P0=E+28|0,r1=e[P0>>2]|0,H0=(r1|0)>0,H0)for(u1=0;e1=(E+2852|0)+(u1<<2)|0,S0=e[e1>>2]|0,BS(S0),i1=u1+1|0,c1=e[P0>>2]|0,$1=(i1|0)<(c1|0),$1;)u1=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 cS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0;if(z2=m,m=m+32|0,M1=z2,C=t+4|0,p=e[C>>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,m=z2,f|0;if(l2=p+4|0,i2=e[l2>>2]|0,_2=(i2|0)<1,_2)v5=-129,o5=27;else if(sB(M1),T1=p+28|0,E5=e[T1>>2]|0,B=(E5|0)==0,B)v5=-130,o5=27;else if(F=e[E5>>2]|0,H=(F|0)<64,H)v5=-130,o5=27;else if(c0=E5+4|0,E0=e[c0>>2]|0,B0=(E0|0)<(F|0),B0)v5=-130,o5=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[l2>>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),d1=p+20|0,h1=e[d1>>2]|0,U2(M1,h1,32),E1=e[E5>>2]|0,u1=E1+-1|0,I1=T7(u1)|0,U2(M1,I1,4),B1=e[c0>>2]|0,p1=B1+-1|0,R1=T7(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,y1=e[x1>>2]|0,S1=(y1|0)==0,S1||I2(y1),L1=y7(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,w1=e[G1>>2]|0,U1=y7(M1)|0,n4(F1|0,w1|0,U1|0)|0,Z1=e[x1>>2]|0,e[o>>2]=Z1,D1=y7(M1)|0,K1=o+4|0,e[K1>>2]=D1,P1=o+8|0,e[P1>>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,ht(M1),gS(M1,n),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),r2=y7(M1)|0,W1=S9(r2)|0,e[q1>>2]=W1,O1=e[G1>>2]|0,z1=y7(M1)|0,n4(W1|0,O1|0,z1|0)|0,f2=e[q1>>2]|0,e[a>>2]=f2,s2=y7(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,g2=V1,a2=g2,e[a2>>2]=1,t2=g2+4|0,$2=t2,e[$2>>2]=0,ht(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,S2=(y2|0)>0,S2)for(H2=0;;){if(N2=(o2+1824|0)+(H2<<2)|0,d2=e[N2>>2]|0,J2=Pv(d2,M1)|0,G2=(J2|0)==0,m2=H2+1|0,!G2)break e;if(w2=e[n2>>2]|0,M2=(m2|0)<(w2|0),M2)H2=m2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=o2+16|0,T2=e[q2>>2]|0,O2=T2+-1|0,U2(M1,O2,6),K2=e[q2>>2]|0,s5=(K2|0)>0,s5)for(d5=0;;){if(P2=(o2+800|0)+(d5<<2)|0,j2=e[P2>>2]|0,U2(M1,j2,16),x5=e[P2>>2]|0,X2=25640+(x5<<2)|0,D5=e[X2>>2]|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5)break e;if(k5=(o2+1056|0)+(d5<<2)|0,O5=e[k5>>2]|0,EB[V2&3](O5,M1),$5=d5+1|0,v2=e[q2>>2]|0,r5=($5|0)<(v2|0),r5)d5=$5;else break}if(x2=o2+20|0,R2=e[x2>>2]|0,B2=R2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,L5=(C5|0)>0,L5)for(A5=0;u5=(o2+1312|0)+(A5<<2)|0,b5=e[u5>>2]|0,U2(M1,b5,16),G5=e[u5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(o2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,EB[S&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,_=(D|0)<(Q|0),_;)A5=D;if(x=o2+12|0,R=e[x>>2]|0,L=R+-1|0,U2(M1,L,6),M=e[x>>2]|0,T=(M|0)>0,T)for(l5=0;G=(o2+288|0)+(l5<<2)|0,P=e[G>>2]|0,U2(M1,P,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)+(l5<<2)|0,e0=e[W>>2]|0,_Q[J&1](p,e0,M1),X=l5+1|0,U=e[x>>2]|0,a0=(X|0)<(U|0),a0;)l5=X;if(Z=o2+8|0,V=e[Z>>2]|0,o0=V+-1|0,U2(M1,o0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(m5=0;r0=(o2+32|0)+(m5<<2)|0,K=e[r0>>2]|0,s0=e[K>>2]|0,U2(M1,s0,1),l0=e[r0>>2]|0,j=l0+4|0,$0=e[j>>2]|0,U2(M1,$0,16),g0=e[r0>>2]|0,u0=g0+8|0,p0=e[u0>>2]|0,U2(M1,p0,16),I0=e[r0>>2]|0,w0=I0+12|0,f0=e[w0>>2]|0,U2(M1,f0,8),C0=m5+1|0,d0=e[Z>>2]|0,v0=(C0|0)<(d0|0),v0;)m5=C0;return U2(M1,1,1),K0=Q1+72|0,b0=e[K0>>2]|0,m0=(b0|0)==0,m0||I2(b0),L0=y7(M1)|0,F0=S9(L0)|0,e[K0>>2]=F0,T0=e[G1>>2]|0,U0=y7(M1)|0,n4(F0|0,T0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=y7(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,O0=Y0,e[O0>>2]=2,z0=Y0+4|0,N0=z0,e[N0>>2]=0,AB(M1),f=0,m=z2,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,c5=-130}return(o5|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,c5=v5),AB(M1),P0=e[I>>2]|0,H0=(P0|0)==0,H0||I2(P0),e1=Q1+68|0,S0=e[e1>>2]|0,i1=(S0|0)==0,i1||I2(S0),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=c5,m=z2,f|0}function gS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0;for(i0=m,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,x=d[o>>0]|0,J=x<<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),a0=e[X>>2]|0,Z=(a0|0)>0,!Z){U2(t,1,1);return}for(V=n+4|0,o0=0;;){if(C=e[n>>2]|0,p=C+(o0<<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+(o0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(o0<<2)|0,_=e[Q>>2]|0,R=(_|0)==0,!R)for(L=e[n>>2]|0,F=L+(o0<<2)|0,M=e[F>>2]|0,a=M,f=_;T=f+-1|0,G=a+1|0,P=d[a>>0]|0,z=P<<24>>24,U2(t,z,8),Y=(T|0)==0,!Y;)a=G,f=T;if(t0=o0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)o0=t0;else break}U2(t,1,1)}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0;if(Y1=m,C=a+1|0,p=C<<3,c=p,L=m,m=m+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=m,m=m+((1*f|0)+15&-16)|0,f0=(C|0)==0,f0)T=0;else{for(U0=a;;){if(P0=(U0|0)<(o|0),P0)for(E1=0,L1=U0;;)if(s1=t+(L1<<2)|0,d1=+s[s1>>2],B=d1,v=L1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,D=y*B,Q=D+E1,_=L1+1|0,S1=(_|0)==(o|0),S1){h1=Q;break}else E1=Q,L1=_;else h1=0;if(x=L+(U0<<3)|0,o1[x>>3]=h1,R=U0+-1|0,F=(U0|0)==0,F)break;U0=R}I=+o1[L>>3],T=I}if(M=T*1.0000000001,G=T*1e-9,P=G+1e-10,z=(a|0)>0,z)I1=M,F1=0;else return Q1=M,Z0=Q1,m=Y1,+Z0;for(;;){if(w1=F1+1|0,Y=I1>3],U=-X,a0=(F1|0)>0,a0){for(U1=0,P1=U;;)if(o0=K+(U1<<3)|0,n0=+o1[o0>>3],i0=F1-U1|0,r0=L+(i0<<3)|0,c0=+o1[r0>>3],s0=c0*n0,l0=P1-s0,j=U1+1|0,y1=(j|0)==(F1|0),y1){E=l0;break}else U1=j,P1=l0;if($0=E/I1,g0=K+(F1<<3)|0,o1[g0>>3]=$0,u0=(F1|0)/2&-1,p0=(F1|0)>1,p0){for(I0=F1+-1|0,w0=(u0|0)>1,N1=0;E0=K+(N1<<3)|0,C0=+o1[E0>>3],d0=I0-N1|0,v0=K+(d0<<3)|0,K0=+o1[v0>>3],b0=K0*$0,m0=b0+C0,o1[E0>>3]=m0,L0=C0*$0,F0=+o1[v0>>3],T0=F0+L0,o1[v0>>3]=T0,B0=N1+1|0,q0=(B0|0)<(u0|0),q0;)N1=B0;H1=w0?u0:1,O0=$0,Z1=H1}else O0=$0,Z1=0}else Z=U/I1,V=K+(F1<<3)|0,o1[V>>3]=Z,O0=Z,Z1=0;if(x0=F1&1,D0=(x0|0)==0,D0||(M0=K+(Z1<<3)|0,J0=+o1[M0>>3],Y0=J0*O0,z0=Y0+J0,o1[M0>>3]=z0),N0=O0*O0,r1=1-N0,H0=r1*I1,e1=(w1|0)<(a|0),e1)I1=H0,F1=w1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,se(t0|0,0,W|0)|0,p1=B1),z)u1=.99,D1=0;else return Q1=p1,Z0=Q1,m=Y1,+Z0;for(;S0=K+(D1<<3)|0,i1=+o1[S0>>3],c1=i1*u1,o1[S0>>3]=c1,$1=u1*.99,f1=D1+1|0,x1=(f1|0)==(a|0),!x1;)u1=$1,D1=f1;if(z)K1=0;else return Q1=p1,Z0=Q1,m=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,m=Y1,+Z0}function sQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(V=m,I=c+o|0,C=I<<2,f=C,R=m,m=m+((1*f|0)+15&-16)|0,F=(n|0)==0,M=(o|0)>0,F?M&&(G=o<<2,se(R|0,0,G|0)|0):M&&(T=o<<2,n4(R|0,n|0,T|0)|0),P=(c|0)>0,!P){m=V;return}if(z=(o|0)>0,z)W=0,e0=o;else{Y=c<<2,se(R|0,0,Y|0)|0,se(a|0,0,Y|0)|0,m=V;return}for(;;){for(X=W,U=o,a0=0;;)if(S=X+1|0,w=R+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],x=_*y,L=a0-x,t0=(S|0)==(e0|0),t0){E=L;break}else X=S,U=D,a0=L;if(p=R+(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}m=V}function hS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0;if(v0=m,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),o0=n+1156|0,g0=e[o0>>2]|0,u0=(g0|0)>0,u0){if(U2(o,1,1),p0=e[o0>>2]|0,I0=p0+-1|0,U2(o,I0,8),w0=e[o0>>2]|0,E=(w0|0)>0,E)for(I=n+1160|0,C=t+4|0,p=n+2184|0,f0=0;B=I+(f0<<2)|0,v=e[B>>2]|0,S=e[C>>2]|0,w=S+-1|0,y=T7(w)|0,U2(o,v,y),D=p+(f0<<2)|0,_=e[D>>2]|0,x=e[C>>2]|0,R=x+-1|0,L=T7(R)|0,U2(o,_,L),F=f0+1|0,M=e[o0>>2]|0,T=(F|0)<(M|0),T;)f0=F}else U2(o,0,1);if(U2(o,0,2),G=e[n>>2]|0,P=(G|0)>1,P){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,E0=0;a0=W+(E0<<2)|0,Z=e[a0>>2]|0,U2(o,Z,4),V=E0+1|0,n0=e[z>>2]|0,i0=(V|0)<(n0|0),i0;)E0=V;a=e[n>>2]|0,e0=a,d0=13}}else e0=G,d0=13;if(!((d0|0)==13&&(H=(e0|0)>0,!H)))for(X=n+1028|0,U=n+1092|0,C0=0;U2(o,0,8),r0=X+(C0<<2)|0,K=e[r0>>2]|0,U2(o,K,8),c0=U+(C0<<2)|0,s0=e[c0>>2]|0,U2(o,s0,8),l0=C0+1|0,j=e[n>>2]|0,$0=(l0|0)<(j|0),$0;)C0=l0}function fS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,c=r4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,se(c|0,0,3208)|0,Y=t+4|0,o0=e[Y>>2]|0,u0=(o0|0)<1;e:do if(u0)a1=24;else if(m0=Z4(n,1)|0,Y0=(m0|0)<0,Y0)a1=24;else{if(H0=(m0|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(C=Z4(n,1)|0,p=(C|0)<0,!p){if(B=(C|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,M=a,S0=0;;){if(F=M+-1|0,T=T7(F)|0,G=Z4(n,T)|0,P=D+(S0<<2)|0,e[P>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=T7(t0)|0,W=Z4(n,J)|0,e0=_+(S0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(a0=e[Y>>2]|0,Z=(G|0)<(a0|0),V=(W|0)<(a0|0),f1=Z&V,R=S0+1|0,!f1))break e;if(x=e[w>>2]|0,L=(R|0)<(x|0),L)M=a0,S0=R;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(c0=e[Y>>2]|0,s0=(c0|0)>0,s0)for(l0=c+4|0,i1=0;;){if(d0=Z4(n,4)|0,v0=l0+(i1<<2)|0,e[v0>>2]=d0,K0=e[c>>2]|0,b0=(d0|0)>=(K0|0),L0=(d0|0)<0,g1=L0|b0,E0=i1+1|0,g1)break e;if(f0=e[Y>>2]|0,C0=(E0|0)<(f0|0),C0)i1=E0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&($0=(j|0)>0,!$0))return o=c,o|0;for(g0=c+1028|0,p0=Q+16|0,I0=c+1092|0,w0=Q+20|0,c1=0;;){if(Z4(n,8)|0,B0=Z4(n,8)|0,q0=g0+(c1<<2)|0,e[q0>>2]=B0,x0=e[p0>>2]|0,D0=(B0|0)>=(x0|0),M0=(B0|0)<0,l1=M0|D0,l1||(J0=Z4(n,8)|0,O0=I0+(c1<<2)|0,e[O0>>2]=J0,z0=e[w0>>2]|0,N0=(J0|0)>=(z0|0),P0=(J0|0)<0,s1=P0|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 uS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function dS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0,Xs=0,Un=0,eA=0,On=0,tA=0,iA=0,Pn=0,rA=0,Jr=0,nA=0,sA=0,AA=0,Hn=0,oA=0,qn=0,Yn=0,aA=0,Kr=0,Jn=0,Vr=0,Kn=0,Vn=0,$A=0,lA=0,cA=0,zr=0,zn=0,gA=0,Ir=0,Zr=0,hA=0,fA=0,Wr=0,$i=0,Zn=0,uA=0,dA=0,Wn=0,jn=0,Xn=0,IA=0,li=0,jr=0,EA=0,es=0,CA=0,mA=0,BA=0,ts=0,pA=0,QA=0,yA=0,wA=0,is=0,kA=0,vA=0,Xr=0,Er=0,en=0,SA=0,Zi=0,DA=0,rs=0,tn=0,ns=0,rn=0,bA=0,ss=0,As=0,_A=0,os=0,as=0,RA=0,Cr=0,$s=0,ci=0,nn=0,mr=0,Wi=0,Br=0,Oi=0,pr=0,ls=0,Pi=0,Bi=0,pi=0,Wt=0,Qi=0,Qr=0,ji=0,Xi=0,yr=0,gi=0,xA=0,$t=0,el=0,sn=0,An=0;if(sn=m,_=t+64|0,x=e[_>>2]|0,t2=x+4|0,U3=e[t2>>2]|0,_4=U3+28|0,Y4=e[_4>>2]|0,hA=x+104|0,li=e[hA>>2]|0,wA=t+104|0,tn=e[wA>>2]|0,R=t+36|0,W=e[R>>2]|0,r0=U3+4|0,w0=e[r0>>2]|0,T0=w0<<2,a=T0,N0=m,m=m+((1*a|0)+15&-16)|0,l1=H7(t,T0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=H7(t,U1)|0,$2=e[r0>>2]|0,M2=$2<<2,P2=H7(t,M2)|0,v2=tn+4|0,_5=+s[v2>>2],c2=e[r0>>2]|0,L2=c2<<2,c=L2,F5=m,m=m+((1*c|0)+15&-16)|0,R3=tn+8|0,M5=e[R3>>2]|0,z5=t+28|0,l6=e[z5>>2]|0,H3=(Y4+544|0)+(l6<<2)|0,r6=e[H3>>2]|0,x6=li+56|0,h9=e[x6>>2]|0,E4=(l6|0)!=0,A4=E4?2:0,D=A4+M5|0,o4=h9+(D*52|0)|0,O4=t+40|0,e[O4>>2]=l6,oe=(c2|0)>0,oe)for($4=+(W|0),q3=4/$4,g7=(s[p2>>2]=q3,e[p2>>2]|0),w8=(W|0)/2&-1,v8=w8<<2,S8=g7&2147483647,n8=+(S8>>>0),Q4=n8*7177114298428933e-22,qe=Q4+-764.6162109375,s7=qe,ne=s7+.345,it=ne,rt=li+4|0,qt=t+24|0,ai=t+32|0,O7=it+-764.6162109375,Yr=W+-1|0,nA=(Yr|0)>1,Kn=it+-382.30810546875,pr=_5,Pi=0;;){if(fA=e[t>>2]|0,Wr=fA+(Pi<<2)|0,$i=e[Wr>>2]|0,Zn=H7(t,v8)|0,uA=W1+(Pi<<2)|0,e[uA>>2]=Zn,dA=H7(t,v8)|0,Wn=l1+(Pi<<2)|0,e[Wn>>2]=dA,jn=e[qt>>2]|0,Xn=e[z5>>2]|0,IA=e[ai>>2]|0,ZS($i,rt,Y4,jn,Xn,IA),jr=e[z5>>2]|0,EA=(li+12|0)+(jr<<2)|0,es=e[EA>>2]|0,CA=e[es>>2]|0,mA=e[Wn>>2]|0,AQ(CA,$i,mA),BA=e[z5>>2]|0,ts=(li+20|0)+(BA*12|0)|0,YS(ts,$i),pA=e[$i>>2]|0,QA=pA&2147483647,yA=+(QA>>>0),is=yA*7177114298428933e-22,kA=O7+is,vA=kA,Xr=vA+.345,Er=Xr,s[$i>>2]=Er,en=F5+(Pi<<2)|0,s[en>>2]=Er,nA)for(P=Er,Qr=1;;)if(SA=$i+(Qr<<2)|0,Zi=+s[SA>>2],DA=Zi*Zi,rs=Qr+1|0,ns=$i+(rs<<2)|0,rn=+s[ns>>2],bA=rn*rn,ss=bA+DA,As=(s[p2>>2]=ss,e[p2>>2]|0),_A=As&2147483647,os=+(_A>>>0),as=os*35885571492144663e-23,RA=Kn+as,Cr=RA,L=Cr+.345,F=L,M=rs>>1,T=$i+(M<<2)|0,s[T>>2]=F,G=F>P,G?(s[en>>2]=F,Ir=F):Ir=P,z=Qr+2|0,Y=(z|0)<(Yr|0),Y)P=Ir,Qr=z;else{J=Ir;break}else J=Er;if(t0=J>0,t0?(s[en>>2]=0,H=0):H=J,e0=H>pr,ls=e0?H:pr,X=Pi+1|0,U=e[r0>>2]|0,a0=(X|0)<(U|0),a0)pr=ls,Pi=X;else{p=v8,v=w8,Oi=ls;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,Oi=_5;Z=H7(t,p)|0,V=H7(t,p)|0,o0=e[r0>>2]|0,n0=(o0|0)>0;e:do if(n0){if(i0=(W|0)>1,K=li+48|0,i0)pi=0;else{for(Bi=0;;){e6=(r6+4|0)+(Bi<<2)|0,f6=e[e6>>2]|0,P3=l1+(Bi<<2)|0,D3=e[P3>>2]|0,V3=e[t>>2]|0,S6=V3+(Bi<<2)|0,s6=e[S6>>2]|0,i3=s6+(v<<2)|0,e[O4>>2]=l6,O6=H7(t,60)|0,s3=P2+(Bi<<2)|0,e[s3>>2]=O6,$t=O6,An=$t+60|0;do e[$t>>2]=0,$t=$t+4|0;while(($t|0)<(An|0));if(lQ(o4,i3,Z),A6=F5+(Bi<<2)|0,u6=+s[A6>>2],cQ(o4,s6,V,Oi,u6),W$(o4,Z,V,1,s6,D3,i3),b3=(r6+1028|0)+(f6<<2)|0,T6=e[b3>>2]|0,Q6=(Y4+800|0)+(T6<<2)|0,R6=e[Q6>>2]|0,J6=(R6|0)==1,!J6){o=-1;break}if(d6=e[K>>2]|0,Y6=d6+(T6<<2)|0,L3=e[Y6>>2]|0,Z6=Z$(t,L3,i3,s6)|0,N6=e[s3>>2]|0,j6=N6+28|0,e[j6>>2]=Z6,r9=xh(t)|0,G6=(r9|0)==0,G6||(D6=e[s3>>2]|0,K6=D6+28|0,y6=e[K6>>2]|0,L6=(y6|0)==0,L6||(W$(o4,Z,V,2,s6,D3,i3),F3=e[b3>>2]|0,F6=e[K>>2]|0,X6=F6+(F3<<2)|0,A9=e[X6>>2]|0,W6=Z$(t,A9,i3,s6)|0,f9=e[s3>>2]|0,u9=f9+56|0,e[u9>>2]=W6,W$(o4,Z,V,0,s6,D3,i3),o9=e[b3>>2]|0,a9=e[K>>2]|0,T9=a9+(o9<<2)|0,I6=e[T9>>2]|0,M6=Z$(t,I6,i3,s6)|0,e9=e[s3>>2]|0,e[e9>>2]=M6,N9=e[b3>>2]|0,d9=e[K>>2]|0,s4=d9+(N9<<2)|0,g4=e[s4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,D9=G9+28|0,I9=e[D9>>2]|0,P6=x8(t,g4,z9,I9,9362)|0,t9=e[s3>>2]|0,C4=t9+4|0,e[C4>>2]=P6,S4=e[b3>>2]|0,Q9=e[K>>2]|0,D4=Q9+(S4<<2)|0,b4=e[D4>>2]|0,x4=e[s3>>2]|0,T4=e[x4>>2]|0,W4=x4+28|0,m4=e[W4>>2]|0,N4=x8(t,b4,T4,m4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,L4=e[b3>>2]|0,h4=e[K>>2]|0,Ie=h4+(L4<<2)|0,H9=e[Ie>>2]|0,E9=e[s3>>2]|0,Ee=e[E9>>2]|0,Te=E9+28|0,We=e[Te>>2]|0,U4=x8(t,H9,Ee,We,28086)|0,Ne=e[s3>>2]|0,j4=Ne+12|0,e[j4>>2]=U4,Se=e[b3>>2]|0,je=e[K>>2]|0,Z9=je+(Se<<2)|0,Ae=e[Z9>>2]|0,f4=e[s3>>2]|0,b6=e[f4>>2]|0,P4=f4+28|0,L9=e[P4>>2]|0,a4=x8(t,Ae,b6,L9,37449)|0,W9=e[s3>>2]|0,ae=W9+16|0,e[ae>>2]=a4,$e=e[b3>>2]|0,B4=e[K>>2]|0,X4=B4+($e<<2)|0,F4=e[X4>>2]|0,le=e[s3>>2]|0,C9=e[le>>2]|0,c6=le+28|0,Ge=e[c6>>2]|0,Ce=x8(t,F4,C9,Ge,46811)|0,p4=e[s3>>2]|0,l4=p4+20|0,e[l4>>2]=Ce,U6=e[b3>>2]|0,De=e[K>>2]|0,be=De+(U6<<2)|0,Xe=e[be>>2]|0,c4=e[s3>>2]|0,k4=e[c4>>2]|0,g8=c4+28|0,y9=e[g8>>2]|0,m9=x8(t,Xe,k4,y9,56173)|0,M4=e[s3>>2]|0,ee=M4+24|0,e[ee>>2]=m9,$7=e[b3>>2]|0,_e=e[K>>2]|0,l7=_e+($7<<2)|0,w7=e[l7>>2]|0,V8=e[s3>>2]|0,c7=V8+28|0,L8=e[c7>>2]|0,F8=V8+56|0,M8=e[F8>>2]|0,T8=x8(t,w7,L8,M8,9362)|0,z8=e[s3>>2]|0,Z8=z8+32|0,e[Z8>>2]=T8,k7=e[b3>>2]|0,N8=e[K>>2]|0,G8=N8+(k7<<2)|0,U8=e[G8>>2]|0,k8=e[s3>>2]|0,h8=k8+28|0,O8=e[h8>>2]|0,P8=k8+56|0,W8=e[P8>>2]|0,j8=x8(t,U8,O8,W8,18724)|0,f8=e[s3>>2]|0,Ue=f8+36|0,e[Ue>>2]=j8,Re=e[b3>>2]|0,e8=e[K>>2]|0,w9=e8+(Re<<2)|0,h7=e[w9>>2]|0,me=e[s3>>2]|0,f7=me+28|0,v7=e[f7>>2]|0,X8=me+56|0,S7=e[X8>>2]|0,te=x8(t,h7,v7,S7,28086)|0,e7=e[s3>>2]|0,H8=e7+40|0,e[H8>>2]=te,t8=e[b3>>2]|0,H4=e[K>>2]|0,xe=H4+(t8<<2)|0,i8=e[xe>>2]|0,u8=e[s3>>2]|0,D8=u8+28|0,ce=e[D8>>2]|0,j9=u8+56|0,r8=e[j9>>2]|0,d8=x8(t,i8,ce,r8,37449)|0,I8=e[s3>>2]|0,ge=I8+44|0,e[ge>>2]=d8,Be=e[b3>>2]|0,Oe=e[K>>2]|0,Pe=Oe+(Be<<2)|0,X9=e[Pe>>2]|0,Le=e[s3>>2]|0,he=Le+28|0,s8=e[he>>2]|0,pe=Le+56|0,E8=e[pe>>2]|0,t7=x8(t,X9,s8,E8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=t7,He=e[b3>>2]|0,C8=e[K>>2]|0,ie=C8+(He<<2)|0,q9=e[ie>>2]|0,re=e[s3>>2]|0,b9=re+28|0,q8=e[b9>>2]|0,u7=re+56|0,i7=e[u7>>2]|0,r7=x8(t,q9,q8,i7,56173)|0,Y8=e[s3>>2]|0,n7=Y8+52|0,e[n7>>2]=r7)),J8=Bi+1|0,A8=e[r0>>2]|0,o8=(J8|0)<(A8|0),o8)Bi=J8;else{B=K,_8=A8;break e}}return m=sn,o|0}for(;;){_6=(r6+4|0)+(pi<<2)|0,u0=e[_6>>2]|0,q6=l1+(pi<<2)|0,$0=e[q6>>2]|0,C6=e[t>>2]|0,S3=C6+(pi<<2)|0,j=e[S3>>2]|0,c0=j+(v<<2)|0,e[O4>>2]=l6,X3=H7(t,60)|0,m0=P2+(pi<<2)|0,e[m0>>2]=X3,$t=X3,An=$t+60|0;do e[$t>>2]=0,$t=$t+4|0;while(($t|0)<(An|0));for(ji=0;W3=$0+(ji<<2)|0,v3=e[W3>>2]|0,c3=v3&2147483647,O3=+(c3>>>0),$6=O3*7177114298428933e-22,d3=$6+-764.6162109375,w6=d3,k6=w6+.345,v6=k6,Q=ji+v|0,B6=j+(Q<<2)|0,s[B6>>2]=v6,j3=ji+1|0,p6=(j3|0)<(v|0),p6;)ji=j3;if(lQ(o4,c0,Z),s0=F5+(pi<<2)|0,l0=+s[s0>>2],cQ(o4,j,V,Oi,l0),W$(o4,Z,V,1,j,$0,c0),g0=(r6+1028|0)+(u0<<2)|0,p0=e[g0>>2]|0,I0=(Y4+800|0)+(p0<<2)|0,f0=e[I0>>2]|0,E0=(f0|0)==1,!E0){o=-1;break}if(C0=e[K>>2]|0,d0=C0+(p0<<2)|0,v0=e[d0>>2]|0,K0=Z$(t,v0,c0,j)|0,b0=e[m0>>2]|0,L0=b0+28|0,e[L0>>2]=K0,F0=xh(t)|0,U0=(F0|0)==0,U0||(B0=e[m0>>2]|0,q0=B0+28|0,x0=e[q0>>2]|0,D0=(x0|0)==0,D0||(W$(o4,Z,V,2,j,$0,c0),M0=e[g0>>2]|0,J0=e[K>>2]|0,Y0=J0+(M0<<2)|0,O0=e[Y0>>2]|0,z0=Z$(t,O0,c0,j)|0,P0=e[m0>>2]|0,r1=P0+56|0,e[r1>>2]=z0,W$(o4,Z,V,0,j,$0,c0),H0=e[g0>>2]|0,e1=e[K>>2]|0,S0=e1+(H0<<2)|0,i1=e[S0>>2]|0,c1=Z$(t,i1,c0,j)|0,$1=e[m0>>2]|0,e[$1>>2]=c1,f1=e[g0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[m0>>2]|0,A1=e[n1>>2]|0,Z0=n1+28|0,d1=e[Z0>>2]|0,h1=x8(t,a1,A1,d1,9362)|0,E1=e[m0>>2]|0,u1=E1+4|0,e[u1>>2]=h1,I1=e[g0>>2]|0,p1=e[K>>2]|0,Q1=p1+(I1<<2)|0,R1=e[Q1>>2]|0,x1=e[m0>>2]|0,y1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=x8(t,R1,y1,L1,18724)|0,G1=e[m0>>2]|0,w1=G1+8|0,e[w1>>2]=F1,Z1=e[g0>>2]|0,N1=e[K>>2]|0,D1=N1+(Z1<<2)|0,K1=e[D1>>2]|0,P1=e[m0>>2]|0,H1=e[P1>>2]|0,q1=P1+28|0,Y1=e[q1>>2]|0,j1=x8(t,K1,H1,Y1,28086)|0,r2=e[m0>>2]|0,O1=r2+12|0,e[O1>>2]=j1,l2=e[g0>>2]|0,z1=e[K>>2]|0,f2=z1+(l2<<2)|0,s2=e[f2>>2]|0,E2=e[m0>>2]|0,A2=e[E2>>2]|0,V1=E2+28|0,g2=e[V1>>2]|0,a2=x8(t,s2,A2,g2,37449)|0,i2=e[m0>>2]|0,o2=i2+16|0,e[o2>>2]=a2,X1=e[g0>>2]|0,n2=e[K>>2]|0,u2=n2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[m0>>2]|0,S2=e[y2>>2]|0,w2=y2+28|0,m2=e[w2>>2]|0,_2=x8(t,e2,S2,m2,46811)|0,N2=e[m0>>2]|0,d2=N2+20|0,e[d2>>2]=_2,J2=e[g0>>2]|0,G2=e[K>>2]|0,q2=G2+(J2<<2)|0,T2=e[q2>>2]|0,O2=e[m0>>2]|0,K2=e[O2>>2]|0,s5=O2+28|0,T1=e[s5>>2]|0,j2=x8(t,T2,K2,T1,56173)|0,x5=e[m0>>2]|0,X2=x5+24|0,e[X2>>2]=j2,D5=e[g0>>2]|0,V2=e[K>>2]|0,f5=V2+(D5<<2)|0,k5=e[f5>>2]|0,O5=e[m0>>2]|0,$5=O5+28|0,E5=e[$5>>2]|0,r5=O5+56|0,x2=e[r5>>2]|0,R2=x8(t,k5,E5,x2,9362)|0,B2=e[m0>>2]|0,C5=B2+32|0,e[C5>>2]=R2,L5=e[g0>>2]|0,u5=e[K>>2]|0,b5=u5+(L5<<2)|0,G5=e[b5>>2]|0,H2=e[m0>>2]|0,d5=H2+28|0,A5=e[d5>>2]|0,l5=H2+56|0,m5=e[l5>>2]|0,M1=x8(t,G5,A5,m5,18724)|0,v5=e[m0>>2]|0,c5=v5+36|0,e[c5>>2]=M1,o5=e[g0>>2]|0,z2=e[K>>2]|0,B5=z2+(o5<<2)|0,e5=e[B5>>2]|0,n5=e[m0>>2]|0,g5=n5+28|0,Y2=e[g5>>2]|0,h5=n5+56|0,t5=e[h5>>2]|0,R5=x8(t,e5,Y2,t5,28086)|0,W2=e[m0>>2]|0,a5=W2+40|0,e[a5>>2]=R5,p5=e[g0>>2]|0,H5=e[K>>2]|0,X5=H5+(p5<<2)|0,I5=e[X5>>2]|0,u3=e[m0>>2]|0,h3=u3+28|0,K5=e[h3>>2]|0,e3=u3+56|0,n3=e[e3>>2]|0,C3=x8(t,I5,K5,n3,37449)|0,V5=e[m0>>2]|0,w3=V5+44|0,e[w3>>2]=C3,f3=e[g0>>2]|0,B3=e[K>>2]|0,K3=B3+(f3<<2)|0,T3=e[K3>>2]|0,Z5=e[m0>>2]|0,y3=Z5+28|0,j5=e[y3>>2]|0,t6=Z5+56|0,N3=e[t6>>2]|0,o3=x8(t,T3,j5,N3,46811)|0,$3=e[m0>>2]|0,l3=$3+48|0,e[l3>>2]=o3,m3=e[g0>>2]|0,q5=e[K>>2]|0,U5=q5+(m3<<2)|0,P5=e[U5>>2]|0,w5=e[m0>>2]|0,G3=w5+28|0,n6=e[G3>>2]|0,t3=w5+56|0,A3=e[t3>>2]|0,x3=x8(t,P5,n6,A3,56173)|0,h6=e[m0>>2]|0,p3=h6+52|0,e[p3>>2]=x3)),k3=pi+1|0,Q3=e[r0>>2]|0,i6=(k3|0)<(Q3|0),i6)pi=k3;else{B=K,_8=Q3;break e}}return m=sn,o|0}else y=li+48|0,B=y,_8=o0;while(!1);for(s[v2>>2]=Oi,b8=_8<<2,f=b8,Ye=m,m=m+((1*f|0)+15&-16)|0,E=b8,B9=m,m=m+((1*E|0)+15&-16)|0,A7=xh(t)|0,Je=(A7|0)!=0,N7=Je?0:7,q7=li+44|0,D7=t+24|0,o7=t+32|0,b7=Y4+2868|0,G7=li+52|0,gi=N7;;){if(Y7=(tn+12|0)+(gi<<2)|0,a8=e[Y7>>2]|0,U2(a8,0,1),R8=e[q7>>2]|0,U2(a8,l6,R8),_7=e[z5>>2]|0,K8=(_7|0)==0,K8||(Fe=e[D7>>2]|0,U2(a8,Fe,1),fe=e[o7>>2]|0,U2(a8,fe,1)),e4=e[r0>>2]|0,R7=(e4|0)>0,R7)for(Wt=0;;)if(Nt=(r6+4|0)+(Wt<<2)|0,Gt=e[Nt>>2]|0,Ut=W1+(Wt<<2)|0,ut=e[Ut>>2]|0,J7=(r6+1028|0)+(Gt<<2)|0,dt=e[J7>>2]|0,K7=e[B>>2]|0,It=K7+(dt<<2)|0,V7=e[It>>2]|0,Et=P2+(Wt<<2)|0,ni=e[Et>>2]|0,Ot=ni+(gi<<2)|0,Ct=e[Ot>>2]|0,mt=jv(a8,t,V7,Ct,ut)|0,si=N0+(Wt<<2)|0,e[si>>2]=mt,Bt=Wt+1|0,nt=e[r0>>2]|0,Ai=(Bt|0)<(nt|0),Ai)Wt=Bt;else{I=nt;break}else I=e4;if(Pt=e[z5>>2]|0,Ht=((Y4+3240|0)+(Pt*60|0)|0)+(gi<<2)|0,Yt=e[Ht>>2]|0,yS(gi,b7,o4,r6,l1,W1,N0,Yt,I),st=e[r6>>2]|0,pt=(st|0)>0,pt)for(Qi=0;;){if(Jt=(r6+1092|0)+(Qi<<2)|0,z7=e[Jt>>2]|0,At=e[r0>>2]|0,U7=(At|0)>0,U7)for(Zr=At,ci=0,Xi=0;;)if(Z7=(r6+4|0)+(Xi<<2)|0,oi=e[Z7>>2]|0,Kt=(oi|0)==(Qi|0),Kt?(Qt=B9+(ci<<2)|0,Vt=N0+(Xi<<2)|0,yt=e[Vt>>2]|0,xA=(yt|0)!=0,n=xA&1,e[Qt>>2]=n,wt=W1+(Xi<<2)|0,zt=e[wt>>2]|0,kt=ci+1|0,W7=Ye+(ci<<2)|0,e[W7>>2]=zt,C=e[r0>>2]|0,ot=C,nn=kt):(ot=Zr,nn=ci),vt=Xi+1|0,Zt=(vt|0)<(ot|0),Zt)Zr=ot,ci=nn,Xi=vt;else{$s=nn;break}else $s=0;if(St=(Y4+1312|0)+(z7<<2)|0,Qe=e[St>>2]|0,Dt=25648+(Qe<<2)|0,x7=e[Dt>>2]|0,at=x7+20|0,i9=e[at>>2]|0,d7=e[G7>>2]|0,m8=d7+(z7<<2)|0,I7=e[m8>>2]|0,L7=CB[i9&7](t,I7,Ye,B9,$s)|0,dr=e[r0>>2]|0,Xs=(dr|0)>0,Xs)for(Wi=0,yr=0;;)if(Un=(r6+4|0)+(yr<<2)|0,eA=e[Un>>2]|0,On=(eA|0)==(Qi|0),On?(tA=W1+(yr<<2)|0,iA=e[tA>>2]|0,Pn=Wi+1|0,rA=Ye+(Wi<<2)|0,e[rA>>2]=iA,Br=Pn):Br=Wi,Jr=yr+1|0,sA=(Jr|0)<(dr|0),sA)Wi=Br,yr=Jr;else{mr=Br;break}else mr=0;if(AA=e[St>>2]|0,Hn=25648+(AA<<2)|0,oA=e[Hn>>2]|0,qn=oA+24|0,Yn=e[qn>>2]|0,aA=e[G7>>2]|0,Kr=aA+(z7<<2)|0,Jn=e[Kr>>2]|0,RQ[Yn&3](a8,t,Jn,Ye,B9,mr,L7,Qi)|0,Vr=Qi+1|0,Vn=e[r6>>2]|0,$A=(Vr|0)<(Vn|0),$A)Qi=Vr;else break}if(lA=gi+1|0,cA=xh(t)|0,zr=(cA|0)!=0,zn=zr?14:7,gA=(gi|0)<(zn|0),gA)gi=lA;else{o=0;break}}return m=sn,o|0}function IS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0;if(L2=m,S=t+64|0,w=e[S>>2]|0,E1=w+4|0,F1=e[E1>>2]|0,Y1=F1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,T2=e[y2>>2]|0,f5=t+28|0,L5=e[f5>>2]|0,y=V1+(L5<<2)|0,P=e[y>>2]|0,Z=t+36|0,e[Z>>2]=P,$0=F1+4|0,K0=e[$0>>2]|0,M0=K0<<2,c=M0,i1=m,m=m+((1*c|0)+15&-16)|0,f=M0,Z0=m,m=m+((1*f|0)+15&-16)|0,E=M0,d1=m,m=m+((1*E|0)+15&-16)|0,I=M0,h1=m,m=m+((1*I|0)+15&-16)|0,u1=e[$0>>2]|0,I1=(u1|0)>0,I1)for(B1=n+4|0,p1=n+1028|0,Q1=T2+48|0,R1=P<<1,x1=R1&2147483646,z2=0;;)if(U1=B1+(z2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,K1=(V1+800|0)+(D1<<2)|0,P1=e[K1>>2]|0,H1=25640+(P1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,O1=W1+(D1<<2)|0,l2=e[O1>>2]|0,z1=ft[r2&15](t,l2)|0,f2=h1+(z2<<2)|0,e[f2>>2]=z1,s2=d1+(z2<<2)|0,W2=(z1|0)!=0,o=W2&1,e[s2>>2]=o,E2=e[t>>2]|0,A2=E2+(z2<<2)|0,g2=e[A2>>2]|0,se(g2|0,0,x1|0)|0,a2=z2+1|0,t2=e[$0>>2]|0,$2=(a2|0)<(t2|0),$2)z2=a2;else{n1=t2;break}else n1=u1;if(y1=n+1156|0,S1=e[y1>>2]|0,L1=(S1|0)>0,L1)for(G1=n+1160|0,w1=n+2184|0,c2=0;e2=G1+(c2<<2)|0,S2=e[e2>>2]|0,w2=d1+(S2<<2)|0,m2=e[w2>>2]|0,M2=(m2|0)==0,_2=w1+(c2<<2)|0,N2=e[_2>>2]|0,M2?(d2=d1+(N2<<2)|0,J2=e[d2>>2]|0,G2=(J2|0)==0,G2||(a5=10)):a5=10,(a5|0)==10&&(a5=0,e[w2>>2]=1,q2=d1+(N2<<2)|0,e[q2>>2]=1),O2=c2+1|0,K2=(O2|0)<(S1|0),K2;)c2=O2;if(i2=e[n>>2]|0,o2=(i2|0)>0,o2){for(X1=n+1092|0,n2=T2+52|0,u2=n+4|0,s5=n1,B5=0;;){if(P2=(s5|0)>0,P2)for(A1=s5,c5=0,h5=0;;)if(T1=u2+(h5<<2)|0,j2=e[T1>>2]|0,x5=(j2|0)==(B5|0),x5?(X2=d1+(h5<<2)|0,D5=e[X2>>2]|0,V2=Z0+(c5<<2)|0,R5=(D5|0)!=0,a=R5&1,e[V2>>2]=a,k5=e[t>>2]|0,O5=k5+(h5<<2)|0,$5=e[O5>>2]|0,v2=c5+1|0,E5=i1+(c5<<2)|0,e[E5>>2]=$5,B=e[$0>>2]|0,R2=B,o5=v2):(R2=A1,o5=c5),r5=h5+1|0,x2=(r5|0)<(R2|0),x2)A1=R2,c5=o5,h5=r5;else{v5=o5;break}else v5=0;if(B2=X1+(B5<<2)|0,C5=e[B2>>2]|0,u5=(V1+1312|0)+(C5<<2)|0,b5=e[u5>>2]|0,G5=25648+(b5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,d5=e[H2>>2]|0,A5=e[n2>>2]|0,l5=A5+(C5<<2)|0,m5=e[l5>>2]|0,CB[d5&7](t,m5,i1,Z0,v5)|0,M1=B5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[$0>>2]|0,s5=p,B5=M1}v=e[y1>>2]|0,_=v}else _=S1;if(x=(_|0)>0,x)for(R=n+1160|0,L=e[t>>2]|0,F=n+2184|0,M=(P|0)/2&-1,T=(P|0)>1,n5=_;;){if(e5=n5+-1|0,e0=R+(e5<<2)|0,H=e[e0>>2]|0,X=L+(H<<2)|0,U=e[X>>2]|0,a0=F+(e5<<2)|0,V=e[a0>>2]|0,o0=L+(V<<2)|0,n0=e[o0>>2]|0,T)for(t5=0;;){i0=U+(t5<<2)|0,r0=+s[i0>>2],K=n0+(t5<<2)|0,c0=+s[K>>2],s0=r0>0,l0=c0>0;do if(s0)if(l0){s[i0>>2]=r0,j=r0-c0,s[K>>2]=j;break}else{s[K>>2]=r0,g0=c0+r0,s[i0>>2]=g0;break}else if(l0){s[i0>>2]=r0,u0=c0+r0,s[K>>2]=u0;break}else{s[K>>2]=r0,p0=r0-c0,s[i0>>2]=p0;break}while(!1);if(I0=t5+1|0,w0=(I0|0)<(M|0),w0)t5=I0;else break}if(G=(n5|0)>1,G)n5=e5;else break}if(z=e[$0>>2]|0,Y=(z|0)>0,!Y)return m=L2,0;for(t0=n+4|0,J=n+1028|0,W=T2+48|0,g5=0;;)if(E0=e[t>>2]|0,C0=E0+(g5<<2)|0,d0=e[C0>>2]|0,v0=t0+(g5<<2)|0,b0=e[v0>>2]|0,m0=J+(b0<<2)|0,L0=e[m0>>2]|0,F0=(V1+800|0)+(L0<<2)|0,T0=e[F0>>2]|0,U0=25640+(T0<<2)|0,B0=e[U0>>2]|0,q0=B0+24|0,x0=e[q0>>2]|0,D0=e[W>>2]|0,J0=D0+(L0<<2)|0,Y0=e[J0>>2]|0,O0=h1+(g5<<2)|0,z0=e[O0>>2]|0,IB[x0&3](t,Y0,z0,d0)|0,N0=g5+1|0,P0=e[$0>>2]|0,r1=(N0|0)<(P0|0),r1)g5=N0;else{C=P0;break}if(f0=(C|0)>0,!f0)return m=L2,0;for(Y2=0;H0=e[t>>2]|0,e1=H0+(Y2<<2)|0,S0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(T2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,ES(g1,S0,S0),l1=Y2+1|0,s1=e[$0>>2]|0,a1=(l1|0)<(s1|0),a1;)Y2=l1;return m=L2,0}function cB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0;if(y1=m,o=(n|0)/4&-1,a=o<<2,y=S9(a)|0,P=o+n|0,Z=P<<2,$0=S9(Z)|0,K0=n>>1,M0=+(n|0),i1=M0,d1=+Hr(+i1),c=d1*1.4426950408889634,f=+Gi(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,C=t+8|0,e[C>>2]=$0,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;F=B1<<2,M=+(F|0),T=S*M,G=+zo(+T),z=G,Y=B1<<1,t0=$0+(Y<<2)|0,s[t0>>2]=z,J=+Nn(+T),W=J,e0=-W,H=Y|1,X=$0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),a0=Q*U,V=+zo(+a0),o0=V,n0=Y+K0|0,i0=$0+(n0<<2)|0,s[i0>>2]=o0,r0=+Nn(+a0),K=r0,c0=n0+1|0,s0=$0+(c0<<2)|0,s[s0>>2]=K,l0=B1+1|0,j=(l0|0)<(o|0),j;)B1=l0;if(_=(n|0)/8&-1,x=(n|0)>7,!x){Z0=4/M0,h1=t+16|0,s[h1>>2]=Z0;return}for(R=+(n|0),L=3.141592653589793/R,p1=0;g0=p1<<2,u0=g0|2,p0=+(u0|0),I0=L*p0,w0=+zo(+I0),f0=w0*.5,E0=f0,C0=p1<<1,d0=C0+n|0,v0=$0+(d0<<2)|0,s[v0>>2]=E0,b0=+Nn(+I0),m0=b0*-.5,L0=m0,F0=d0+1|0,T0=$0+(F0<<2)|0,s[T0>>2]=L0,U0=p1+1|0,B0=(U0|0)<(_|0),B0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=Z0;return}for(;;){for(z0=Y0,E1=0,R1=0;;)if(O0=z0&Q1,N0=(O0|0)==0,P0=1<>H0,S0=(e1|0)==0,S0){I1=u1;break}else z0=e1,E1=u1,R1=H0;if(c1=I1^-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]=I1,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 gB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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 ES(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0;for(O3=m,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,J2=n+(a<<2)|0,c=I+W1|0,X2=o+(c<<2)|0,R2=t+8|0,l5=e[R2>>2]|0,g5=l5+(W1<<2)|0,l3=g5,U5=J2,k3=X2;I5=k3+-16|0,B3=U5+8|0,C=+s[B3>>2],R=l3+12|0,W=+s[R>>2],r0=C*W,w0=-r0,T0=+s[U5>>2],N0=l3+8|0,l1=+s[N0>>2],B1=l1*T0,U1=w0-B1,s[I5>>2]=U1,O1=+s[U5>>2],$2=+s[R>>2],y2=$2*O1,S2=+s[B3>>2],w2=+s[N0>>2],m2=w2*S2,M2=y2-m2,_2=k3+-12|0,s[_2>>2]=M2,N2=U5+24|0,d2=+s[N2>>2],G2=l3+4|0,q2=+s[G2>>2],T2=d2*q2,O2=-T2,K2=U5+16|0,s5=+s[K2>>2],P2=+s[l3>>2],T1=P2*s5,j2=O2-T1,x5=k3+-8|0,s[x5>>2]=j2,D5=+s[K2>>2],V2=+s[G2>>2],f5=V2*D5,k5=+s[N2>>2],O5=+s[l3>>2],$5=O5*k5,v2=f5-$5,E5=k3+-4|0,s[E5>>2]=v2,r5=U5+-32|0,x2=l3+16|0,B2=r5>>>0>>0,!B2;)l3=x2,U5=r5,k3=I5;for(C5=o+(I<<2)|0,f=I+-8|0,L5=n+(f<<2)|0,m3=g5,P5=L5,Q3=X2;u5=m3+-16|0,b5=P5+16|0,G5=+s[b5>>2],_5=m3+-4|0,H2=+s[_5>>2],d5=H2*G5,A5=P5+24|0,m5=+s[A5>>2],M1=m3+-8|0,v5=+s[M1>>2],c5=v5*m5,o5=c5+d5,s[Q3>>2]=o5,z2=+s[b5>>2],c2=+s[M1>>2],B5=c2*z2,e5=+s[A5>>2],n5=+s[_5>>2],Y2=n5*e5,h5=B5-Y2,t5=Q3+4|0,s[t5>>2]=h5,R5=+s[P5>>2],W2=m3+-12|0,a5=+s[W2>>2],L2=a5*R5,p5=P5+8|0,H5=+s[p5>>2],X5=+s[u5>>2],u3=X5*H5,h3=u3+L2,K5=Q3+8|0,s[K5>>2]=h3,e3=+s[P5>>2],n3=+s[u5>>2],C3=n3*e3,F5=+s[p5>>2],V5=+s[W2>>2],w3=V5*F5,f3=C3-w3,K3=Q3+12|0,s[K3>>2]=f3,T3=P5+-32|0,Z5=Q3+16|0,y3=T3>>>0>>0,!y3;)m3=u5,P5=T3,Q3=Z5;for(n6=t+4|0,t3=e[n6>>2]|0,oQ(t3,l5,C5,I),A3=e[t>>2]|0,x3=e[R2>>2]|0,h6=t+12|0,p3=e[h6>>2]|0,aQ(A3,x3,p3,o),j5=e[R2>>2]|0,t6=j5+(I<<2)|0,q5=t6,w5=o,i6=X2,z5=X2;R3=i6+-16|0,N3=+s[w5>>2],o3=q5+4|0,$3=+s[o3>>2],p=$3*N3,B=w5+4|0,v=+s[B>>2],S=+s[q5>>2],w=S*v,y=p-w,D=i6+-4|0,s[D>>2]=y,Q=+s[w5>>2],_=+s[q5>>2],x=_*Q,L=+s[B>>2],F=+s[o3>>2],M=F*L,T=x+M,G=-T,s[z5>>2]=G,P=w5+8|0,z=+s[P>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=w5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],a0=U*H,Z=J-a0,V=i6+-8|0,s[V>>2]=Z,o0=+s[P>>2],n0=+s[X>>2],i0=n0*o0,K=+s[e0>>2],c0=+s[Y>>2],s0=c0*K,l0=i0+s0,j=-l0,$0=z5+4|0,s[$0>>2]=j,g0=w5+16|0,u0=+s[g0>>2],p0=q5+20|0,I0=+s[p0>>2],f0=I0*u0,E0=w5+20|0,C0=+s[E0>>2],d0=q5+16|0,v0=+s[d0>>2],K0=v0*C0,b0=f0-K0,m0=i6+-12|0,s[m0>>2]=b0,L0=+s[g0>>2],F0=+s[d0>>2],U0=F0*L0,B0=+s[E0>>2],q0=+s[p0>>2],x0=q0*B0,D0=U0+x0,M0=-D0,J0=z5+8|0,s[J0>>2]=M0,Y0=w5+24|0,O0=+s[Y0>>2],z0=q5+28|0,P0=+s[z0>>2],r1=P0*O0,H0=w5+28|0,e1=+s[H0>>2],S0=q5+24|0,i1=+s[S0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[S0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[z0>>2],A1=n1*a1,Z0=s1+A1,d1=-Z0,h1=z5+12|0,s[h1>>2]=d1,E1=z5+16|0,u1=w5+32|0,I1=q5+32|0,p1=u1>>>0>>0,p1;)q5=I1,w5=u1,i6=R3,z5=E1;for(Q1=o+(W1<<2)|0,G3=X2,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=G3+-16|0,y1=G3+-4|0,S1=+s[y1>>2],L1=W3+-4|0,s[L1>>2]=S1,F1=-S1,s[v3>>2]=F1,G1=G3+-8|0,w1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=w1,N1=-w1,D1=v3+4|0,s[D1>>2]=N1,K1=G3+-12|0,P1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=P1,q1=-P1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,r2=-j1,l2=v3+12|0,s[l2>>2]=r2,z1=v3+16|0,f2=z1>>>0>>0,f2)G3=x1,W3=R1,v3=z1;else{M5=X2,U3=X2;break}for(;s2=U3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[s2>>2]=A2,V1=M5+8|0,g2=e[V1>>2]|0,a2=U3+-12|0,e[a2>>2]=g2,t2=M5+4|0,i2=e[t2>>2]|0,o2=U3+-8|0,e[o2>>2]=i2,X1=e[M5>>2]|0,n2=U3+-4|0,e[n2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,U3=s2}function AQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0;if(H5=m,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=m,m=m+((1*a|0)+15&-16)|0,l2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,_2=t+8|0,T1=e[_2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=n+(f<<2)|0,g0=a1+-1|0,b0=g0>>>1,J0=b0<<1,O0=y+-2|0,z0=O0-J0|0,N0=c+-4|0,P0=b0<<2,H0=N0-P0|0,r5=D,b5=0,g5=i2,R5=V;e1=g5+-16|0,S0=r5+-8|0,i1=g5+-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=r5+-4|0,Z0=+s[A1>>2],d1=n1*Z0,h1=+s[S0>>2],E1=h1*f1,u1=E1+d1,v=b5+y|0,I1=N1+(v<<2)|0,s[I1>>2]=u1,B1=+s[S0>>2],p1=B1*n1,R1=+s[A1>>2],x1=R1*f1,y1=p1-x1,S1=b5|1,S=S1+y|0,L1=N1+(S<<2)|0,s[L1>>2]=y1,F1=R5+16|0,G1=b5+2|0,w1=(G1|0)<(a1|0),w1;)r5=S0,b5=G1,g5=e1,R5=F1;U1=J0+2|0,c2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,P2=z0,E5=c2,u5=U1,n5=B5}else P2=y,E5=D,u5=0,n5=i2;if(Z1=n+4|0,D1=y-a1|0,K1=(u5|0)<(D1|0),K1){for(P1=y+-1|0,H1=P1-u5|0,q1=H1-a1|0,Y1=q1>>>1,j1=Y1<<1,r2=u5+j1|0,W1=Y1<<2,O1=W1+5|0,z1=-2-j1|0,R2=E5,_5=u5,Y2=n5,a5=Z1;f2=R2+-8|0,s2=Y2+-16|0,E2=Y2+-8|0,A2=+s[E2>>2],V1=+s[a5>>2],g2=A2-V1,a2=+s[s2>>2],t2=a5+8|0,$2=+s[t2>>2],o2=a2-$2,X1=R2+-4|0,n2=+s[X1>>2],u2=o2*n2,e2=+s[f2>>2],y2=e2*g2,S2=y2+u2,C=_5+y|0,w2=N1+(C<<2)|0,s[w2>>2]=S2,m2=+s[f2>>2],M2=m2*o2,N2=+s[X1>>2],d2=N2*g2,J2=M2-d2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=J2,T2=a5+16|0,O2=_5+2|0,K2=(O2|0)<(D1|0),K2;)R2=f2,_5=O2,Y2=s2,a5=T2;s5=r2+2|0,o5=n+(O1<<2)|0,B=P2+z1|0,z2=T1+(B<<2)|0,x2=z2,G5=s5,W2=o5}else x2=E5,G5=u5,W2=Z1;if(j2=(G5|0)<(y|0),j2)for(x5=n+(w<<2)|0,B2=x2,H2=G5,h5=x5,L2=W2;X2=B2+-8|0,D5=h5+-16|0,V2=h5+-8|0,f5=+s[V2>>2],k5=-f5,O5=+s[L2>>2],$5=k5-O5,v2=+s[D5>>2],Q=-v2,_=L2+8|0,x=+s[_>>2],R=Q-x,L=B2+-4|0,F=+s[L>>2],M=R*F,T=+s[X2>>2],G=T*$5,P=G+M,E=H2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=P,t0=+s[X2>>2],J=t0*R,W=+s[L>>2],e0=W*$5,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,a0=L2+16|0,Z=H2+2|0,o0=(Z|0)<(y|0),o0;)B2=X2,H2=Z,h5=D5,L2=a0;if(A5=t+4|0,l5=e[A5>>2]|0,oQ(l5,T1,l2,y),c5=e[t>>2]|0,m5=e[_2>>2]|0,M1=t+12|0,v5=e[M1>>2]|0,aQ(c5,m5,v5,N1),n0=(r1|0)>0,!n0){m=H5;return}for(i0=o+(y<<2)|0,r0=e[_2>>2]|0,K=r0+(y<<2)|0,c0=t+16|0,C5=K,d5=0,e5=N1,t5=i0;s0=t5+-4|0,l0=+s[e5>>2],j=+s[C5>>2],$0=j*l0,u0=e5+4|0,p0=+s[u0>>2],I0=C5+4|0,w0=+s[I0>>2],f0=w0*p0,E0=f0+$0,C0=+s[c0>>2],d0=E0*C0,v0=o+(d5<<2)|0,s[v0>>2]=d0,K0=+s[e5>>2],m0=+s[I0>>2],L0=m0*K0,F0=+s[u0>>2],T0=+s[C5>>2],U0=T0*F0,B0=L0-U0,q0=+s[c0>>2],x0=B0*q0,s[s0>>2]=x0,D0=e5+8|0,M0=C5+8|0,Y0=d5+1|0,L5=(Y0|0)==(r1|0),!L5;)C5=M0,d5=Y0,e5=D0,t5=s0;m=H5}function oQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0;if(dr=m,u0=t+-6|0,p0=(t|0)>6,p0)for(I=a+-8|0,O5=o+(I<<2)|0,b3=a>>1,B=b3+-8|0,V8=o+(B<<2)|0,c=n,d7=O5,I7=V8;a8=d7+24|0,Ut=+s[a8>>2],Ct=I7+24|0,pt=+s[Ct>>2],yt=Ut-pt,I0=d7+28|0,F0=+s[I0>>2],z0=I7+28|0,g1=+s[z0>>2],I1=F0-g1,w1=pt+Ut,s[a8>>2]=w1,r2=+s[z0>>2],a2=r2+F0,s[I0>>2]=a2,w2=c+4|0,K2=+s[w2>>2],$5=K2*I1,G5=+s[c>>2],z2=G5*yt,a5=z2+$5,s[Ct>>2]=a5,C3=+s[c>>2],t6=C3*I1,G3=+s[w2>>2],W3=G3*yt,B6=t6-W3,s[z0>>2]=B6,P3=d7+16|0,T6=+s[P3>>2],r9=I7+16|0,W6=+s[r9>>2],d9=T6-W6,S4=d7+20|0,G4=+s[S4>>2],Ne=I7+20|0,a4=+s[Ne>>2],c6=G4-a4,k4=W6+T6,s[P3>>2]=k4,c7=+s[Ne>>2],U8=c7+G4,s[S4>>2]=U8,e8=c+20|0,H8=+s[e8>>2],d8=H8*c6,pe=c+16|0,b9=+s[pe>>2],b8=b9*d9,o7=b8+d8,s[r9>>2]=o7,Y7=+s[pe>>2],R8=Y7*c6,_7=+s[e8>>2],K8=_7*d9,Fe=R8-K8,s[Ne>>2]=Fe,fe=d7+8|0,e4=+s[fe>>2],R7=I7+8|0,it=+s[R7>>2],Nt=e4-it,Gt=d7+12|0,ut=+s[Gt>>2],J7=I7+12|0,dt=+s[J7>>2],K7=ut-dt,It=it+e4,s[fe>>2]=It,V7=+s[J7>>2],Et=V7+ut,s[Gt>>2]=Et,rt=c+36|0,ni=+s[rt>>2],Ot=ni*K7,mt=c+32|0,si=+s[mt>>2],Bt=si*Nt,nt=Bt+Ot,s[R7>>2]=nt,Ai=+s[mt>>2],Pt=Ai*K7,Ht=+s[rt>>2],qt=Ht*Nt,Yt=Pt-qt,s[J7>>2]=Yt,st=+s[d7>>2],Jt=+s[I7>>2],z7=st-Jt,At=d7+4|0,U7=+s[At>>2],Z7=I7+4|0,oi=+s[Z7>>2],Kt=U7-oi,ai=Jt+st,s[d7>>2]=ai,Qt=+s[Z7>>2],Vt=Qt+U7,s[At>>2]=Vt,wt=c+52|0,zt=+s[wt>>2],kt=zt*Kt,W7=c+48|0,vt=+s[W7>>2],Zt=vt*z7,ot=Zt+kt,s[I7>>2]=ot,O7=+s[W7>>2],St=O7*Kt,Qe=+s[wt>>2],w0=Qe*z7,f0=St-w0,s[Z7>>2]=f0,E0=d7+-32|0,C0=I7+-32|0,d0=c+64|0,v0=C0>>>0>>0,!v0;)c=d0,d7=E0,I7=C0;if(K0=(u0|0)>1,K0)for(x7=1;;){if(b0=1<>x7,T0=4<>1,v=U0+-8|0,T=T0+1|0,a0=T0<<1,i0=a0|1,c0=T0*3|0,l0=c0+1|0,$0=T0<<2,at=0;;){for(q0=i5(at,L0)|0,x0=o+(q0<<2)|0,E=C+q0|0,D0=o+(E<<2)|0,o0=v+q0|0,M0=o+(o0<<2)|0,f=n,m8=D0,L7=M0;J0=m8+24|0,Y0=+s[J0>>2],O0=L7+24|0,N0=+s[O0>>2],P0=Y0-N0,r1=m8+28|0,H0=+s[r1>>2],e1=L7+28|0,S0=+s[e1>>2],i1=H0-S0,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*P0,Z0=A1+a1,s[O0>>2]=Z0,d1=+s[f>>2],h1=d1*i1,E1=+s[l1>>2],u1=E1*P0,B1=h1-u1,s[e1>>2]=B1,p1=f+(T0<<2)|0,Q1=m8+16|0,R1=+s[Q1>>2],x1=L7+16|0,y1=+s[x1>>2],S1=R1-y1,L1=m8+20|0,F1=+s[L1>>2],G1=L7+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=y1+R1,s[Q1>>2]=N1,D1=+s[G1>>2],K1=D1+F1,s[L1>>2]=K1,P1=f+(T<<2)|0,H1=+s[P1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,O1=+s[p1>>2],l2=O1*Z1,z1=+s[P1>>2],f2=z1*S1,s2=l2-f2,s[G1>>2]=s2,E2=f+(a0<<2)|0,A2=m8+8|0,V1=+s[A2>>2],g2=L7+8|0,t2=+s[g2>>2],$2=V1-t2,i2=m8+12|0,o2=+s[i2>>2],X1=L7+12|0,n2=+s[X1>>2],u2=o2-n2,e2=t2+V1,s[A2>>2]=e2,y2=+s[X1>>2],S2=y2+o2,s[i2>>2]=S2,m2=f+(i0<<2)|0,M2=+s[m2>>2],_2=M2*u2,N2=+s[E2>>2],d2=N2*$2,J2=d2+_2,s[g2>>2]=J2,G2=+s[E2>>2],q2=G2*u2,T2=+s[m2>>2],O2=T2*$2,s5=q2-O2,s[X1>>2]=s5,P2=f+(c0<<2)|0,T1=+s[m8>>2],j2=+s[L7>>2],x5=T1-j2,X2=m8+4|0,D5=+s[X2>>2],V2=L7+4|0,f5=+s[V2>>2],k5=D5-f5,v2=j2+T1,s[m8>>2]=v2,E5=+s[V2>>2],r5=E5+D5,s[X2>>2]=r5,x2=f+(l0<<2)|0,R2=+s[x2>>2],B2=R2*k5,C5=+s[P2>>2],L5=C5*x5,u5=L5+B2,s[L7>>2]=u5,b5=+s[P2>>2],_5=b5*k5,H2=+s[x2>>2],d5=H2*x5,A5=_5-d5,s[V2>>2]=A5,l5=f+($0<<2)|0,m5=m8+-32|0,M1=L7+-32|0,v5=M1>>>0>>0,!v5;)f=l5,m8=m5,L7=M1;if(c5=at+1|0,o5=(c5|0)<(b0|0),o5)at=c5;else break}if(c2=x7+1|0,Dt=(c2|0)==(u0|0),Dt)break;x7=c2}if(B0=(a|0)>0,B0)i9=0;else return;for(;B5=o+(i9<<2)|0,p=i9|30,e5=o+(p<<2)|0,n5=+s[e5>>2],M=i9|14,g5=o+(M<<2)|0,Y2=+s[g5>>2],h5=n5-Y2,U=i9|31,t5=o+(U<<2)|0,R5=+s[t5>>2],n0=i9|15,W2=o+(n0<<2)|0,L2=+s[W2>>2],p5=R5-L2,H5=Y2+n5,s[e5>>2]=H5,X5=L2+R5,s[t5>>2]=X5,s[g5>>2]=h5,s[W2>>2]=p5,r0=i9|28,I5=o+(r0<<2)|0,u3=+s[I5>>2],K=i9|12,h3=o+(K<<2)|0,K5=+s[h3>>2],e3=u3-K5,s0=i9|29,n3=o+(s0<<2)|0,F5=+s[n3>>2],j=i9|13,V5=o+(j<<2)|0,w3=+s[V5>>2],f3=F5-w3,B3=K5+u3,s[I5>>2]=B3,K3=w3+F5,s[n3>>2]=K3,T3=e3*.9238795042037964,Z5=f3*.3826834261417389,y3=T3-Z5,s[h3>>2]=y3,j5=e3*.3826834261417389,R3=f3*.9238795042037964,N3=R3+j5,s[V5>>2]=N3,g0=i9|26,o3=o+(g0<<2)|0,$3=+s[o3>>2],S=i9|10,l3=o+(S<<2)|0,m3=+s[l3>>2],q5=$3-m3,w=i9|27,U5=o+(w<<2)|0,P5=+s[U5>>2],y=i9|11,w5=o+(y<<2)|0,M5=+s[w5>>2],n6=P5-M5,t3=m3+$3,s[o3>>2]=t3,A3=M5+P5,s[U5>>2]=A3,x3=q5-n6,h6=x3*.7071067690849304,s[l3>>2]=h6,p3=n6+q5,k3=p3*.7071067690849304,s[w5>>2]=k3,D=i9|24,Q3=o+(D<<2)|0,i6=+s[Q3>>2],Q=i9|8,U3=o+(Q<<2)|0,z5=+s[U3>>2],v3=i6-z5,_=i9|25,c3=o+(_<<2)|0,O3=+s[c3>>2],x=i9|9,$6=o+(x<<2)|0,d3=+s[$6>>2],w6=O3-d3,k6=z5+i6,s[Q3>>2]=k6,v6=d3+O3,s[c3>>2]=v6,j3=v3*.3826834261417389,l6=w6*.9238795042037964,p6=j3-l6,_6=w6*.3826834261417389,q6=v3*.9238795042037964,C6=_6+q6,R=i9|22,S3=o+(R<<2)|0,X3=+s[S3>>2],L=i9|6,e6=o+(L<<2)|0,f6=+s[e6>>2],D3=X3-f6,F=i9|7,H3=o+(F<<2)|0,V3=+s[H3>>2],G=i9|23,S6=o+(G<<2)|0,s6=+s[S6>>2],i3=V3-s6,O6=f6+X3,s[S3>>2]=O6,s3=s6+V3,s[S6>>2]=s3,s[e6>>2]=i3,s[H3>>2]=D3,P=i9|4,A6=o+(P<<2)|0,u6=+s[A6>>2],z=i9|20,r6=o+(z<<2)|0,Q6=+s[r6>>2],R6=u6-Q6,Y=i9|5,J6=o+(Y<<2)|0,d6=+s[J6>>2],t0=i9|21,Y6=o+(t0<<2)|0,L3=+s[Y6>>2],Z6=d6-L3,N6=Q6+u6,s[r6>>2]=N6,j6=L3+d6,s[Y6>>2]=j6,x6=Z6*.9238795042037964,G6=R6*.3826834261417389,D6=x6+G6,K6=Z6*.3826834261417389,y6=R6*.9238795042037964,L6=K6-y6,J=i9|2,F3=o+(J<<2)|0,F6=+s[F3>>2],W=i9|18,X6=o+(W<<2)|0,A9=+s[X6>>2],h9=F6-A9,e0=i9|3,f9=o+(e0<<2)|0,u9=+s[f9>>2],H=i9|19,o9=o+(H<<2)|0,a9=+s[o9>>2],T9=u9-a9,I6=A9+F6,s[X6>>2]=I6,M6=a9+u9,s[o9>>2]=M6,e9=T9+h9,N9=e9*.7071067690849304,E4=T9-h9,s4=E4*.7071067690849304,g4=+s[B5>>2],X=i9|16,G9=o+(X<<2)|0,z9=+s[G9>>2],D9=g4-z9,Z=i9|1,I9=o+(Z<<2)|0,P6=+s[I9>>2],V=i9|17,t9=o+(V<<2)|0,C4=+s[t9>>2],A4=P6-C4,Q9=z9+g4,s[G9>>2]=Q9,D4=C4+P6,s[t9>>2]=D4,b4=A4*.3826834261417389,x4=D9*.9238795042037964,T4=b4+x4,W4=A4*.9238795042037964,m4=D9*.3826834261417389,N4=W4-m4,U9=N4-C6,o4=T4-p6,L4=T4+p6,h4=N4+C6,Ie=o4+U9,H9=U9-o4,E9=+s[w5>>2],Ee=s4-E9,Te=+s[l3>>2],We=Te-N9,U4=Te+N9,O4=E9+s4,j4=+s[h3>>2],Se=j4-D6,je=+s[V5>>2],Z9=je-L6,Ae=j4+D6,f4=je+L6,b6=Se-Z9,P4=Z9+Se,L9=+s[g5>>2],_4=L9-i3,oe=+s[W2>>2],W9=oe-D3,ae=i3+L9,$e=D3+oe,B4=_4+Ee,X4=_4-Ee,F4=b6+Ie,le=F4*.7071067690849304,C9=b6-Ie,Ge=C9*.7071067690849304,$4=le+B4,s[e6>>2]=$4,Ce=B4-le,s[A6>>2]=Ce,p4=P4-H9,l4=p4*.7071067690849304,U6=W9-We,De=l4+X4,s[B5>>2]=De,be=X4-l4,s[F3>>2]=be,Xe=P4+H9,c4=Xe*.7071067690849304,g8=W9+We,q3=U6+Ge,s[f9>>2]=q3,y9=U6-Ge,s[I9>>2]=y9,m9=g8+c4,s[H3>>2]=m9,M4=g8-c4,s[J6>>2]=M4,ee=ae+U4,$7=ae-U4,_e=L4+Ae,l7=Ae-L4,w7=ee+_e,s[g5>>2]=w7,g7=ee-_e,s[h3>>2]=g7,L8=f4-h4,F8=$e-O4,M8=$7+L8,s[U3>>2]=M8,T8=$7-L8,s[l3>>2]=T8,z8=f4+h4,Z8=$e+O4,k7=F8+l7,s[w5>>2]=k7,N8=F8-l7,s[$6>>2]=N8,G8=Z8+z8,s[W2>>2]=G8,w8=Z8-z8,s[V5>>2]=w8,k8=+s[c3>>2],h8=D4-k8,O8=+s[Q3>>2],P8=Q9-O8,W8=O8+Q9,j8=k8+D4,f8=P8+h8,Ue=h8-P8,Re=+s[o9>>2],v8=+s[U5>>2],w9=Re-v8,h7=+s[o3>>2],me=+s[X6>>2],f7=h7-me,v7=me+h7,X8=v8+Re,S7=+s[I5>>2],te=+s[r6>>2],e7=S7-te,S8=+s[n3>>2],t8=+s[Y6>>2],H4=S8-t8,xe=te+S7,i8=t8+S8,u8=e7-H4,D8=H4+e7,ce=+s[e5>>2],j9=+s[S3>>2],r8=ce-j9,n8=+s[t5>>2],I8=+s[S6>>2],ge=n8-I8,Be=j9+ce,Oe=I8+n8,Pe=r8+w9,X9=r8-w9,Le=u8+f8,he=Le*.7071067690849304,s8=u8-f8,Q4=s8*.7071067690849304,E8=he+Pe,s[S3>>2]=E8,t7=Pe-he,s[r6>>2]=t7,q4=D8-Ue,I3=q4*.7071067690849304,He=ge-f7,C8=I3+X9,s[G9>>2]=C8,ie=X9-I3,s[X6>>2]=ie,q9=D8+Ue,re=q9*.7071067690849304,qe=ge+f7,q8=He+Q4,s[o9>>2]=q8,u7=He-Q4,s[t9>>2]=u7,i7=qe+re,s[S6>>2]=i7,r7=qe-re,s[Y6>>2]=r7,Y8=Be+v7,n7=Be-v7,J8=xe+W8,A8=xe-W8,o8=Y8+J8,s[e5>>2]=o8,Y4=Y8-J8,s[I5>>2]=Y4,s7=i8-j8,_8=Oe-X8,Ye=n7+s7,s[Q3>>2]=Ye,B9=n7-s7,s[o3>>2]=B9,A7=i8+j8,Je=Oe+X8,N7=_8+A8,s[U5>>2]=N7,q7=_8-A8,s[c3>>2]=q7,D7=Je+A7,s[t5>>2]=D7,b7=Je-A7,s[n3>>2]=b7,ne=i9+32|0,G7=(ne|0)<(a|0),G7;)i9=ne}function aQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0;for(E1=m,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,A1=o,Z0=a,d1=w;a0=e[A1>>2]|0,c=a0+S|0,j=a+(c<<2)|0,v0=A1+4|0,D0=e[v0>>2]|0,f=D0+S|0,S0=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],x=+s[S0>>2],R=x+_,L=+s[n1>>2],F=R*L,M=n1+4|0,T=+s[M>>2],P=T*Q,z=P+F,Y=T*R,t0=L*Q,J=Y-t0,W=d1+-16|0,e0=D+a1,H=e0*.5,X=_-x,U=X*.5,Z=z+H,s[Z0>>2]=Z,V=H-z,o0=d1+-8|0,s[o0>>2]=V,n0=J+U,i0=Z0+4|0,s[i0>>2]=n0,r0=J-U,K=d1+-4|0,s[K>>2]=r0,c0=A1+8|0,s0=e[c0>>2]|0,C=s0+S|0,l0=a+(C<<2)|0,$0=A1+12|0,g0=e[$0>>2]|0,p=g0+S|0,u0=a+(p<<2)|0,B=C+1|0,p0=a+(B<<2)|0,I0=+s[p0>>2],v=p+1|0,w0=a+(v<<2)|0,f0=+s[w0>>2],E0=I0-f0,C0=+s[l0>>2],d0=+s[u0>>2],K0=d0+C0,b0=n1+8|0,m0=+s[b0>>2],L0=K0*m0,F0=n1+12|0,T0=+s[F0>>2],U0=T0*E0,B0=U0+L0,q0=T0*K0,x0=m0*E0,M0=q0-x0,J0=f0+I0,Y0=J0*.5,O0=C0-d0,z0=O0*.5,N0=B0+Y0,P0=Z0+8|0,s[P0>>2]=N0,r1=Y0-B0,s[W>>2]=r1,H0=M0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=M0-z0,c1=d1+-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,d1=W}function CS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,n=t+28|0,o=e[n>>2]|0,a=o+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,C=c+8|0,e[C>>2]=a,c|0}function mS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,!n&&I2(t)}function BS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function pS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0;e9=m,I6=t,N9=I6+48|0;do e[I6>>2]=0,I6=I6+4|0;while((I6|0)<(N9|0));_=e[o>>2]|0,x=t+36|0,e[x>>2]=_,t2=+(_|0),X5=t2*8,f3=X5,$3=+Hr(+f3),A3=$3*1.4426950408889634,c3=+Gi(A3),_6=c3+-1,S6=~~_6,R=t+32|0,e[R>>2]=S6,W=+(c|0),r0=W*.25,w0=r0,T0=w0*.5,N0=+(a|0),l1=T0/N0,B1=+Hr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=S6+1|0,M2=1<<$2,P2=+(M2|0),v2=P2*W1,_5=+(_|0),c2=v2-_5,a5=~~c2,L2=t+28|0,e[L2>>2]=a5,p5=+(a|0),H5=p5+.25,I5=H5*W,u3=I5,h3=u3*.5,K5=h3/N0,e3=+Hr(+K5),n3=e3*1.4426950216293335,C3=n3+-5.965784072875977,F5=P2*C3,V5=F5+.5,w3=~~V5,B3=1-a5|0,K3=B3+w3|0,T3=t+40|0,e[T3>>2]=K3,Z5=a<<2,y3=S9(Z5)|0,j5=t+16|0,e[j5>>2]=y3,t6=S9(Z5)|0,R3=t+20|0,e[R3>>2]=t6,N3=S9(Z5)|0,o3=t+24|0,e[o3>>2]=N3,l3=t+4|0,e[l3>>2]=n,e[t>>2]=a,m3=t+44|0,e[m3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(P5=(c|0)<38e3,P5){s[q5>>2]=.9399999976158142;break}w5=(c|0)>46e3,w5&&(s[q5>>2]=1.274999976158142)}while(!1);G3=N0*2,M5=+(c|0),n6=(a|0)>0,p3=n6,K6=0,W6=0;e:for(;;){for(p=p3^1,y6=K6;;){if(Q3=y6+1|0,i6=+(Q3|0),W3=i6*.08664337545633316,U3=W3+2.7488713472395148,z5=+Gn(+U3),v3=G3*z5,O3=v3/M5,$6=+Gi(O3),d3=~~$6,C=(d3|0)<=(W6|0),J6=C|p,!J6){E=Q3,I=d3,L6=y6;break}if(w6=(Q3|0)<87,w6)y6=Q3;else{A9=W6;break e}}for(k6=1272+(L6<<2)|0,v6=+s[k6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],l6=j3-v6,p6=I-W6|0,q6=+(p6|0),C6=l6/q6,S3=W6-I|0,X3=W6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,t3=W6-T9|0,R6=v6,h9=W6;f6=R6+100,P3=y3+(h9<<2)|0,s[P3>>2]=f6,D3=R6+C6,H3=h9+1|0,N6=(H3|0)==(t3|0),!N6;)R6=D3,h9=H3;if(x3=(t3|0)<(a|0),h6=(E|0)<87,h6)p3=x3,K6=E,W6=t3;else{A9=t3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;T6=f9+-1|0,r6=y3+(T6<<2)|0,Q6=e[r6>>2]|0,L=y3+(f9<<2)|0,e[L>>2]=Q6,F=f9+1|0,Z6=(F|0)==(a|0),!Z6;)f9=F;if(V3=(a|0)>0,V3){for(s6=a<<1,i3=(c|0)/(s6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,A6=n+124|0,u6=n+116|0,b3=n+112|0,x6=1,F3=0,u9=-99;;){Y=i5(i3,F3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Ks(+e0),X=H*13.100000381469727,U=i5(Y,Y)|0,a0=+(U|0),Z=a0*18499999754340024e-24,V=Z,o0=+Ks(+V),n0=o0*2.240000009536743,i0=n0+X,K=t0*9999999747378752e-20,c0=K,s0=i0+c0,l0=s0,j=s3+u9|0,$0=(j|0)<(F3|0);e:do if($0)for(g0=+s[b3>>2],u0=l0-g0,p0=u0,a9=u9;;){if(I0=i5(a9,i3)|0,f0=+(I0|0),E0=f0*.0007399999885819852,C0=E0,d0=+Ks(+C0),v0=d0*13.100000381469727,K0=i5(I0,I0)|0,b0=+(K0|0),m0=b0*18499999754340024e-24,L0=m0,F0=+Ks(+L0),U0=F0*2.240000009536743,B0=f0*9999999747378752e-20,q0=B0,x0=v0+q0,D0=x0+U0,M0=D0(a|0);e:do if(J0)G6=x6;else for(Y0=e[A6>>2]|0,O0=Y0+F3|0,D6=x6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=i5(D6,i3)|0,S0=+(e1|0),i1=S0*.0007399999885819852,c1=i1,$1=+Ks(+c1),f1=$1*13.100000381469727,g1=i5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,A1=+Ks(+n1),Z0=A1*2.240000009536743,d1=S0*9999999747378752e-20,h1=d1,E1=f1+h1,u1=E1+Z0,I1=+s[u6>>2],p1=I1+l0,Q1=p1,R1=u1>2]=F1,w1=F3+1|0,L3=(w1|0)==(a|0),L3)break;x6=G6,F3=w1,u9=o9}if(V3)for(M=M5*.5,T=e[R>>2]|0,G=T+1|0,P=1<>2]=O1,z1=F6+1|0,Y6=(z1|0)==(a|0),Y6){w=M;break}else F6=z1;else M6=19}else M6=19;if((M6|0)==19&&(Q=M5*.5,w=Q),f2=n+36|0,s2=w/N0,E2=s2,A2=n+24|0,V1=+s[A2>>2],g2=n+28|0,a2=+s[g2>>2],i2=wS(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(Z5)|0,e[X1>>2]=u2,e2=S9(Z5)|0,y2=X1+4|0,e[y2>>2]=e2,S2=S9(Z5)|0,w2=X1+8|0,e[w2>>2]=S2,!!V3)for(m2=e[l3>>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,X6=0;_2=+(X6|0),N2=_2+.5,d2=N2*M5,J2=d2/G3,G2=+Hr(+J2),q2=G2*2.885390043258667,T2=q2+-11.931568145751953,O2=T2,K2=O2<0,j6=K2?0:O2,f=j6>=16,r9=f?16:j6,s5=~~r9,T1=+(s5|0),j2=r9-T1,x5=j2,X2=1-x5,D5=s5+1|0,V2=(m2+132|0)+(s5<<2)|0,f5=+s[V2>>2],k5=f5,O5=k5*X2,$5=(m2+132|0)+(D5<<2)|0,E5=+s[$5>>2],r5=E5*j2,x2=r5,R2=x2+O5,B2=R2,C5=S+(X6<<2)|0,s[C5>>2]=B2,L5=(m2+200|0)+(s5<<2)|0,u5=+s[L5>>2],b5=u5,G5=b5*X2,H2=(m2+200|0)+(D5<<2)|0,d5=+s[H2>>2],A5=d5*j2,l5=A5,m5=l5+G5,M1=m5,v5=y+(X6<<2)|0,s[v5>>2]=M1,c5=(m2+268|0)+(s5<<2)|0,o5=+s[c5>>2],z2=o5,B5=z2*X2,e5=(m2+268|0)+(D5<<2)|0,n5=+s[e5>>2],g5=n5*j2,Y2=g5,h5=Y2+B5,t5=h5,R5=D+(X6<<2)|0,s[R5>>2]=t5,W2=X6+1|0,d6=(W2|0)==(a|0),!d6;)X6=W2}function $Q(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;if(N0=m,o=(t|0)==0,!o){if(a=t+16|0,y=e[a>>2]|0,P=(y|0)==0,P||I2(y),Z=t+20|0,$0=e[Z>>2]|0,K0=($0|0)==0,K0||I2($0),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(C=f,Y0=0;I=C+(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,x=_+(Y0<<2)|0,R=e[x>>2]|0,L=R+8|0,F=e[L>>2]|0,I2(F),M=e[c>>2]|0,T=M+(Y0<<2)|0,G=e[T>>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,a0=e[U>>2]|0,V=a0+20|0,o0=e[V>>2]|0,I2(o0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,K=r0+24|0,c0=e[K>>2]|0,I2(c0),s0=e[c>>2]|0,l0=s0+(Y0<<2)|0,j=e[l0>>2]|0,g0=j+28|0,u0=e[g0>>2]|0,I2(u0),p0=e[c>>2]|0,I0=p0+(Y0<<2)|0,w0=e[I0>>2]|0,I2(w0),f0=Y0+1|0,J0=(f0|0)==17,!J0;)n=e[c>>2]|0,C=n,Y0=f0;E0=e[c>>2]|0,I2(E0)}C0=t+12|0,d0=e[C0>>2]|0,v0=(d0|0)==0,v0||(b0=e[d0>>2]|0,I2(b0),m0=e[C0>>2]|0,L0=m0+4|0,F0=e[L0>>2]|0,I2(F0),T0=e[C0>>2]|0,U0=T0+8|0,B0=e[U0>>2]|0,I2(B0),q0=e[C0>>2]|0,I2(q0)),O0=t,P0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0))}}function lQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0;if(I0=m,E=e[t>>2]|0,I=E<<2,f=I,x=m,m=m+((1*f|0)+15&-16)|0,J=t+24|0,o0=e[J>>2]|0,gQ(E,o0,n,o,140,-1),n0=(E|0)>0,n0)for($0=0;i0=n+($0<<2)|0,r0=+s[i0>>2],K=o+($0<<2)|0,c0=+s[K>>2],C=r0-c0,p=x+($0<<2)|0,s[p>>2]=C,B=$0+1|0,l0=(B|0)==(E|0),!l0;)$0=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,gQ(E,v,x,o,0,D),n0)g0=0;else{m=I0;return}for(;_=n+(g0<<2)|0,R=+s[_>>2],L=x+(g0<<2)|0,F=+s[L>>2],M=R-F,s[L>>2]=M,T=g0+1|0,j=(T|0)==(E|0),!j;)g0=T;if(!n0){m=I0;return}for(Q=e[S>>2]|0,u0=0;G=o+(u0<<2)|0,P=+s[G>>2],z=P,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=x+(u0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,a0=+s[U>>2],Z=a0+X,s[G>>2]=Z,V=u0+1|0,s0=(V|0)==(E|0),!s0;)u0=V;m=I0}function cQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0;if(I5=m,F=e[t>>2]|0,M=t+40|0,l1=e[M>>2]|0,B1=l1<<2,I=B1,U1=m,m=m+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,m2=t2+4|0,s5=+s[m2>>2],$5=s5+c,T=(l1|0)>0,T)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,l0=A5+1|0,d0=(l0|0)<(l1|0),d0;)A5=l0;if(x0=t2+8|0,e1=+s[x0>>2],c1=$50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,c5=0;s1=g1+(c5<<2)|0,a1=+s[s1>>2],n1=a1+G5,A1=o+(c5<<2)|0,s[A1>>2]=n1,Z0=c5+1|0,H2=(Z0|0)==(F|0),!H2;)c5=Z0;if(d1=t+8|0,h1=e[d1>>2]|0,E1=t2+496|0,u1=+s[E1>>2],I1=u1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,y1=t+28|0,l5=0;;){S1=n+(l5<<2)|0,L1=+s[S1>>2],F1=Q1+(l5<<2)|0,G1=e[F1>>2]|0,v5=l5,n5=L1;e:for(;;)for(m5=v5;;){if(w1=m5+1|0,Z1=(w1|0)<(F|0),!Z1){v=0,w=w1,M1=m5,g5=n5;break e}if(N1=Q1+(w1<<2)|0,D1=e[N1>>2]|0,K1=(D1|0)==(G1|0),!K1){v=1,w=w1,M1=m5,g5=n5;break e}if(P1=n+(w1<<2)|0,H1=+s[P1>>2],q1=H1>n5,q1){v5=w1,n5=H1;continue e}else m5=w1}if(Y1=g5+6,j1=o+(M1<<2)|0,r2=+s[j1>>2],O1=Y1>r2,O1&&(l2=e[R1>>2]|0,z1=G1>>l2,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,g2=I1+g5,a2=g2,$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,S2=e[y2>>2]|0,w2=S2+4|0,M2=+s[w2>>2],_2=~~M2,N2=+s[S2>>2],d2=~~N2,J2=(d2|0)<(_2|0),J2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,T2=e[y1>>2]|0,O2=q2-T2|0,K2=+(O2|0),P2=V1>>1,T1=+(P2|0),j2=N2+-16,x5=+(V1|0),X2=j2*x5,D5=X2-T1,V2=D5+K2,f5=~~V2,d5=d2,H5=f5;k5=(H5|0)>0,k5&&(L=d5+2|0,O5=S2+(L<<2)|0,v2=+s[O5>>2],E5=v2+g5,r5=U1+(H5<<2)|0,x2=+s[r5>>2],R2=x2>2]=E5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),L5=d5+1|0,u5=(L5|0)<(_2|0),a5=u5&C5,a5;)d5=L5,H5=B2;if(v)l5=w;else{x=x1;break}}else X5=7}else X5=7;(X5|0)==7&&(Q=t+36|0,x=Q),b5=e[x>>2]|0,kS(U1,b5,l1),G=e[t>>2]|0,P=(G|0)>1;e:do if(P)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,a0=e[W1>>2]|0,Z=a0+32|0,K=1,j=J,z2=0,L2=X;;){n0=U1+(L2<<2)|0,i0=+s[n0>>2],r0=t0+(K<<2)|0,c0=e[r0>>2]|0,s0=c0+j|0,$0=s0>>1,g0=$0-H|0,u0=+s[Z>>2],p0=i0>u0,Y2=p0?u0:i0,I0=(L2|0)<(g0|0);t:do if(I0)for(C=L2,t5=Y2;;){for(w0=t5==-9999,p=C;;){if(f0=p+1|0,E0=U1+(f0<<2)|0,C0=+s[E0>>2],v0=C0>-9999,v0){if(K0=C0=(G|0),T0=(j|0)>(L0|0),R5=F0|T0;t:do if(R5)c2=z2;else for(B5=z2;;){if(U0=o+(B5<<2)|0,B0=+s[U0>>2],q0=B0>2]=h5),D0=B5+1|0,M0=(D0|0)<(G|0),!M0){c2=D0;break t}if(D=t0+(D0<<2)|0,R=e[D>>2]|0,J0=(R|0)>(L0|0),J0){c2=D0;break}else B5=D0}while(!1);if(V=c2+1|0,o0=(V|0)<(G|0),!o0){o5=c2;break e}y=t0+(c2<<2)|0,_=e[y>>2]|0,K=V,j=_,z2=c2,L2=p5}else o5=0;while(!1);if(Y0=e[M>>2]|0,O0=Y0+-1|0,z0=U1+(O0<<2)|0,N0=+s[z0>>2],P0=(o5|0)<(G|0),P0)e5=o5;else{m=I5;return}for(;r1=o+(e5<<2)|0,H0=+s[r1>>2],S0=H0>2]=N0),i1=e5+1|0,_5=(i1|0)==(G|0),!_5;)e5=i1;m=I5}function W$(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0;if(b0=m,C=e[t>>2]|0,p=t+4|0,L=e[p>>2]|0,e0=(L+12|0)+(a<<2)|0,K=+s[e0>>2],u0=(C|0)>0,!!u0)for(p0=t+48|0,I0=+s[p0>>2],w0=t+12|0,f0=e[w0>>2]|0,B=f0+(a<<2)|0,v=e[B>>2]|0,S=L+108|0,w=(a|0)==1,y=I0,D=y*.005,Q=y*3e-4,d0=0;_=n+(d0<<2)|0,x=+s[_>>2],R=v+(d0<<2)|0,F=+s[R>>2],M=F+x,T=+s[S>>2],G=M>T,v0=G?T:M,P=o+(d0<<2)|0,z=+s[P>>2],Y=z+K,t0=v0>2]=I,w&&(W=E+(d0<<2)|0,H=+s[W>>2],X=v0-H,U=X>-17.200000762939453,a0=X+17.200000762939453,Z=a0,U?(V=D*Z,o0=1-V,n0=o0,i0=n0<0,i0?E0=9999999747378752e-20:E0=n0):(r0=Q*Z,c0=1-r0,s0=c0,E0=s0),l0=f+(d0<<2)|0,j=+s[l0>>2],$0=j*E0,s[l0>>2]=$0),g0=d0+1|0,C0=(g0|0)==(C|0),!C0;)d0=g0}function QS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0;return T=m,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,x=D+(_<<2)|0,R=e[x>>2]|0,L=(R|0)/2&-1,F=+(L|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),C=F/I,p=D+2936|0,B=+s[p>>2],v=B*C,S=v+t,w=S<-9999,o=w?-9999:S,+o}function yS(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0;if(G4=m,n0=e[o>>2]|0,i0=o+4|0,s5=e[i0>>2]|0,K3=s5+500|0,m3=e[K3>>2]|0,h6=(m3|0)==0,h6?V5=16:($6=s5+508|0,C6=e[$6>>2]|0,V5=C6),i3=e[s5>>2]|0,d6=((n+132|0)+(i3*60|0)|0)+(t<<2)|0,r0=e[d6>>2]|0,w0=(n+252|0)+(t<<2)|0,T0=e[w0>>2]|0,N0=1624+(T0<<3)|0,l1=+o1[N0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=C<<2,v=W1,t2=m,m=m+((1*v|0)+15&-16)|0,S=W1,m2=m,m=m+((1*S|0)+15&-16)|0,Q=W1,P2=m,m=m+((1*Q|0)+15&-16)|0,_=W1,v2=m,m=m+((1*_|0)+15&-16)|0,x=W1,_5=m,m=m+((1*x|0)+15&-16)|0,c2=a+1156|0,L2=(n0|0)>1e3,N4=L2?1696:1624,T4=N4+(U1<<3)|0,x4=+o1[T4>>3],F5=i5(W1,V5)|0,R=F5,w3=m,m=m+((1*R|0)+15&-16)|0,e[t2>>2]=w3,w=F5,f3=m,m=m+((1*w|0)+15&-16)|0,e[m2>>2]=f3,y=F5,B3=m,m=m+((1*y|0)+15&-16)|0,e[P2>>2]=B3,D=F5,T3=m,m=m+((1*D|0)+15&-16)|0,e[v2>>2]=T3,Z5=(C|0)>1,Z5&&(y3=w3+(V5<<2)|0,j5=t2+4|0,e[j5>>2]=y3,t6=f3+(V5<<2)|0,R3=m2+4|0,e[R3>>2]=t6,N3=B3+(V5<<2)|0,o3=P2+4|0,e[o3>>2]=N3,$3=T3+(V5<<2)|0,l3=v2+4|0,e[l3>>2]=$3,h9=(C|0)==2,!h9))for(w5=2;F=e[t2>>2]|0,G=e[m2>>2]|0,P=e[P2>>2]|0,z=e[v2>>2]|0,P5=i5(w5,V5)|0,G3=F+(P5<<2)|0,M5=t2+(w5<<2)|0,e[M5>>2]=G3,n6=G+(P5<<2)|0,t3=m2+(w5<<2)|0,e[t3>>2]=n6,A3=P+(P5<<2)|0,x3=P2+(w5<<2)|0,e[x3>>2]=A3,p3=z+(P5<<2)|0,k3=v2+(w5<<2)|0,e[k3>>2]=p3,Q3=w5+1|0,W6=(Q3|0)==(C|0),!W6;)w5=Q3;if(q5=e[c2>>2]|0,U5=(n0|0)>0,U5)for(i6=e[v2>>2]|0,W3=(C|0)>0,U3=n0^-1,z5=V5^-1,M6=0,d9=U3;;){if(O3=(d9|0)>(z5|0),W4=O3?d9:z5,d3=W4^-1,w6=n0-M6|0,k6=(V5|0)>(w6|0),p=k6?w6:V5,n4(_5|0,E|0,W1|0)|0,se(i6|0,0,F5|0)|0,W3)for(v6=(p|0)>0,B6=r0-M6|0,t9=0;;){if(S3=f+(t9<<2)|0,X3=e[S3>>2]|0,e6=X3+(M6<<2)|0,f6=_5+(t9<<2)|0,P3=e[f6>>2]|0,D3=(P3|0)==0,D3){if(v6)for(S6=P2+(t9<<2)|0,s6=e[S6>>2]|0,O6=t2+(t9<<2)|0,s3=e[O6>>2]|0,A6=m2+(t9<<2)|0,u6=e[A6>>2]|0,b3=v2+(t9<<2)|0,T6=e[b3>>2]|0,I9=0;M0=s6+(I9<<2)|0,s[M0>>2]=1000000013351432e-25,J0=s3+(I9<<2)|0,s[J0>>2]=0,Y0=u6+(I9<<2)|0,s[Y0>>2]=0,O0=T6+(I9<<2)|0,e[O0>>2]=0,U=I9+M6|0,z0=X3+(U<<2)|0,e[z0>>2]=0,P0=I9+1|0,F6=(P0|0)==(d3|0),!F6;)I9=P0}else{if(H3=P2+(t9<<2)|0,V3=e[H3>>2]|0,v6){for(z9=0;a0=z9+M6|0,r6=X3+(a0<<2)|0,Q6=e[r6>>2]|0,R6=1768+(Q6<<2)|0,J6=e[R6>>2]|0,Y6=V3+(z9<<2)|0,e[Y6>>2]=J6,L3=z9+1|0,y6=(L3|0)==(d3|0),!y6;)z9=L3;if(Z6=c+(t9<<2)|0,N6=e[Z6>>2]|0,j6=v2+(t9<<2)|0,r9=e[j6>>2]|0,v6){for(G9=0;x6=(G9|0)>=(B6|0),o0=x6?x4:l1,G6=o0,Z=G9+M6|0,D6=N6+(Z<<2)|0,K6=+s[D6>>2],u9=+Vi(+K6),K=V3+(G9<<2)|0,c0=+s[K>>2],s0=u9/c0,l0=r9+(G9<<2)|0,Q9=!(s0>2]=B,j=G9+1|0,L6=(j|0)==(p|0),!L6;)G9=j;if(v6)for($0=t2+(t9<<2)|0,g0=e[$0>>2]|0,u0=m2+(t9<<2)|0,p0=e[u0>>2]|0,D9=0;;)if(I0=D9+M6|0,f0=N6+(I0<<2)|0,E0=+s[f0>>2],C0=E0*E0,d0=g0+(D9<<2)|0,s[d0>>2]=C0,v0=p0+(D9<<2)|0,s[v0>>2]=C0,K0=+s[f0>>2],b0=K0<0,b0&&(m0=+s[d0>>2],L0=-m0,s[d0>>2]=L0),F0=V3+(D9<<2)|0,U0=+s[F0>>2],B0=U0*U0,s[F0>>2]=B0,q0=D9+1|0,F3=(q0|0)==(d3|0),F3){M=u0,D0=g0;break}else D9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,L=t2+(t9<<2)|0,Y=e[L>>2]|0,H=m2+(t9<<2)|0,M=H,D0=Y),x0=e[M>>2]|0,D4=e[i0>>2]|0,+hQ(D4,r0,D0,x0,V3,0,M6,p,e6)}if(r1=t9+1|0,X6=(r1|0)==(C|0),X6)break;t9=r1}if(j3=e[c2>>2]|0,l6=(j3|0)>0,l6)for(p6=(p|0)>0,_6=I-M6|0,q6=r0-M6|0,C3=j3,m4=0;;){if(H0=(a+1160|0)+(m4<<2)|0,e1=e[H0>>2]|0,S0=(a+2184|0)+(m4<<2)|0,i1=e[S0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(M6<<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,d1=m2+(e1<<2)|0,h1=e[d1>>2]|0,E1=m2+(i1<<2)|0,u1=e[E1>>2]|0,I1=P2+(e1<<2)|0,p1=e[I1>>2]|0,Q1=P2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=v2+(e1<<2)|0,y1=e[x1>>2]|0,S1=v2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,w1=(G1|0)==0,Z1=_5+(i1<<2)|0,w1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?z2=C3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(P6=0;;){K1=(P6|0)<(_6|0);do if(K1){if(P1=y1+(P6<<2)|0,H1=e[P1>>2]|0,q1=(H1|0)==0,Y1=L1+(P6<<2)|0,q1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){X2=(P6|0)<(q6|0);do if(X2)D5=Z0+(P6<<2)|0,V2=+s[D5>>2],f5=n1+(P6<<2)|0,k5=+s[f5>>2],O5=k5+V2,s[f5>>2]=O5,a9=+Vi(+O5),$5=h1+(P6<<2)|0,s[$5>>2]=a9,T=D5;else if(E5=n1+(P6<<2)|0,r5=+s[E5>>2],x2=Z0+(P6<<2)|0,R2=+s[x2>>2],B2=R2+r5,C5=B2<0,f9=+Vi(+r5),o9=+Vi(+R2),L5=o9+f9,u5=h1+(P6<<2)|0,s[u5>>2]=L5,C5){b5=-L5,s[E5>>2]=b5,T=x2;break}else{s[E5>>2]=L5,T=x2;break}while(!1);G5=u1+(P6<<2)|0,s[G5>>2]=0,s[T>>2]=0,e[Y1>>2]=1,X=P6+M6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}O1=n1+(P6<<2)|0,l2=+s[O1>>2],T9=+Vi(+l2),z1=Z0+(P6<<2)|0,f2=+s[z1>>2],I6=+Vi(+f2),s2=I6+T9,s[O1>>2]=s2,E2=h1+(P6<<2)|0,A2=+s[E2>>2],V1=u1+(P6<<2)|0,g2=+s[V1>>2],a2=g2+A2,s[E2>>2]=a2,e[Y1>>2]=1,e[P1>>2]=1,V=P6+M6|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,C4=0-i2|0,n2=E4?i2:C4,s4=(X1|0)>-1,A4=0-X1|0,u2=s4?X1:A4,e2=(n2|0)>(u2|0),e2?(y2=(i2|0)>0,S2=i2-X1|0,w2=X1-i2|0,M2=y2?S2:w2,e[o2>>2]=M2,J=e[$2>>2]|0,G2=J,O2=M2):(_2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,J2=_2?N2:d2,e[o2>>2]=J2,e[$2>>2]=X1,t0=e[o2>>2]|0,G2=X1,O2=t0),g4=(G2|0)>-1,S4=0-G2|0,q2=g4?G2:S4,T2=q2<<1,K2=(O2|0)<(T2|0),K2||(T1=0-O2|0,e[o2>>2]=T1,j2=e[$2>>2]|0,x5=0-j2|0,e[$2>>2]=x5)}while(!1);if(d5=p1+(P6<<2)|0,A5=+s[d5>>2],l5=R1+(P6<<2)|0,m5=+s[l5>>2],M1=m5+A5,s[l5>>2]=M1,s[d5>>2]=M1,v5=P6+1|0,A9=(v5|0)==(d3|0),A9)break;P6=v5}b4=e[i0>>2]|0,+hQ(b4,r0,n1,h1,p1,y1,M6,p,f1),W=e[c2>>2]|0,z2=W}if(c5=m4+1|0,o5=(c5|0)<(z2|0),o5)C3=z2,m4=c5;else{n3=z2;break}}else n3=j3;if(B5=M6+V5|0,e5=(n0|0)>(B5|0),N9=d9+V5|0,e5)M6=B5,d9=N9;else{v3=n3;break}}else v3=q5;if(c3=(v3|0)>0,c3)e3=v3,e9=0;else{m=G4;return}for(;n5=(a+1160|0)+(e9<<2)|0,g5=e[n5>>2]|0,Y2=E+(g5<<2)|0,h5=e[Y2>>2]|0,t5=(h5|0)==0,R5=(a+2184|0)+(e9<<2)|0,t5?(W2=e[R5>>2]|0,a5=E+(W2<<2)|0,p5=e[a5>>2]|0,H5=(p5|0)==0,H5?K5=e3:U9=52):U9=52,(U9|0)==52&&(U9=0,e[Y2>>2]=1,X5=e[R5>>2]|0,I5=E+(X5<<2)|0,e[I5>>2]=1,e0=e[c2>>2]|0,K5=e0),u3=e9+1|0,h3=(u3|0)<(K5|0),h3;)e3=K5,e9=u3;m=G4}function wS(t,n,o,a,c){t=t|0,n=+n,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0;for(Je=m,m=m+32480|0,q3=Je+32256|0,B9=Je+1792|0,y9=Je,R=o<<2,S=R,L=m,m=m+((1*S|0)+15&-16)|0,i2=S9(68)|0,se(B9|0,0,30464)|0,v3=a>0,s4=a<0,w9=0;;){for(oe=w9<<2,te=0;r5=te+oe|0,d5=(r5|0)<88,d5?(e5=1272+(r5<<2)|0,H5=+s[e5>>2],q9=H5):q9=-30,w3=r5+1|0,o3=(w3|0)<88,o3?(x6=1272+(w3<<2)|0,G6=+s[x6>>2],K6=q9>G6,K6?re=G6:re=q9):(r9=q9>-30,r9?re=-30:re=q9),y6=r5+2|0,L6=(y6|0)<88,L6?(F6=1272+(y6<<2)|0,X6=+s[F6>>2],A9=re>X6,A9?b9=X6:b9=re):(F3=re>-30,F3?b9=-30:b9=re),W6=r5+3|0,h9=(W6|0)<88,h9?(o9=1272+(W6<<2)|0,a9=+s[o9>>2],T9=b9>a9,T9?qe=a9:qe=b9):(f9=b9>-30,f9?qe=-30:qe=b9),I6=q3+(te<<2)|0,s[I6>>2]=qe,M6=te+1|0,M8=(M6|0)==56,!M8;)te=M6;if($4=(B9+(w9*1792|0)|0)+448|0,F=2792+(w9*1344|0)|0,n4($4|0,F|0,224)|0,H=(B9+(w9*1792|0)|0)+672|0,c0=(2792+(w9*1344|0)|0)+224|0,n4(H|0,c0|0,224)|0,E0=(B9+(w9*1792|0)|0)+896|0,B0=(2792+(w9*1344|0)|0)+448|0,n4(E0|0,B0|0,224)|0,r1=(B9+(w9*1792|0)|0)+1120|0,a1=(2792+(w9*1344|0)|0)+672|0,n4(r1|0,a1|0,224)|0,Q1=(B9+(w9*1792|0)|0)+1344|0,N1=(2792+(w9*1344|0)|0)+896|0,n4(Q1|0,N1|0,224)|0,l2=(B9+(w9*1792|0)|0)+1568|0,o2=(2792+(w9*1344|0)|0)+1120|0,n4(l2|0,o2|0,224)|0,N2=B9+(w9*1792|0)|0,n4(N2|0,F|0,224)|0,j2=(B9+(w9*1792|0)|0)+224|0,n4(j2|0,F|0,224)|0,v3)for(t8=0;;){if(s4)for(d8=0;g4=16-d8|0,v7=(g4|0)>-1,r7=0-g4|0,G9=v7?g4:r7,z9=+(G9|0),D9=z9*c,I9=D9+a,P6=I9<0,I=P6?0:I9,t9=I>0,f=t9?0:I,C4=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(d8<<2)|0,S4=+s[C4>>2],A4=S4+f,s[C4>>2]=A4,D4=d8+1|0,U8=(D4|0)==56,!U8;)d8=D4;else for(n8=0;c3=16-n8|0,X8=(c3|0)>-1,Y8=0-c3|0,_6=X8?c3:Y8,S6=+(_6|0),R6=S6*c,D6=R6+a,u9=D6<0,C=u9?0:D6,e9=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(n8<<2)|0,N9=+s[e9>>2],d9=N9+C,s[e9>>2]=d9,E4=n8+1|0,G8=(E4|0)==56,!G8;)n8=E4;if(t3=t8+1|0,w8=(t3|0)==8,w8)break;t8=t3}else for(S8=0;;){if(s4)for(I8=0;W4=16-I8|0,S7=(W4|0)>-1,n7=0-W4|0,m4=S7?W4:n7,N4=+(m4|0),U9=N4*c,G4=U9+a,o4=G4>0,E=o4?0:G4,h4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(I8<<2)|0,Ie=+s[h4>>2],H9=Ie+E,s[h4>>2]=H9,E9=I8+1|0,z8=(E9|0)==56,!z8;)I8=E9;else for(r8=0;Ee=16-r8|0,f7=(Ee|0)>-1,i7=0-Ee|0,Te=f7?Ee:i7,We=+(Te|0),U4=We*c,Ne=U4+a,O4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(r8<<2)|0,Se=+s[O4>>2],je=Se+Ne,s[O4>>2]=je,Z9=r8+1|0,T8=(Z9|0)==56,!T8;)r8=Z9;if(Ae=S8+1|0,Z8=(Ae|0)==8,Z8)break;S8=Ae}for(b4=t+(w9<<2)|0,x4=+s[b4>>2],T4=x4,H4=0;;){for(f4=(H4|0)<2,b6=+(H4|0),w=b6*10,y=70-w,P4=f4?50:y,L9=P4+T4,a4=L9,f8=0;_4=((B9+(w9*1792|0)|0)+(H4*224|0)|0)+(f8<<2)|0,W9=+s[_4>>2],ae=W9+a4,s[_4>>2]=ae,$e=f8+1|0,M4=($e|0)==56,!M4;)f8=$e;for(B4=y9+(H4*224|0)|0,n4(B4|0,q3|0,224)|0,X4=+(H4|0),F4=X4*10,le=70-F4,v8=0;;)if(C9=(y9+(H4*224|0)|0)+(v8<<2)|0,c6=+s[C9>>2],Ge=le+c6,s[C9>>2]=Ge,Ce=v8+1|0,l7=(Ce|0)==56,l7){e8=0;break}else v8=Ce;for(;p4=((B9+(w9*1792|0)|0)+(H4*224|0)|0)+(e8<<2)|0,l4=+s[p4>>2],U6=(y9+(H4*224|0)|0)+(e8<<2)|0,De=+s[U6>>2],be=l4>De,be&&(s[U6>>2]=l4),Xe=e8+1|0,_e=(Xe|0)==56,!_e;)e8=Xe;if(c4=H4+1|0,k7=(c4|0)==8,k7){xe=1;break}else H4=c4}for(;;){for(k4=xe+-1|0,Re=0;;)if(g8=(y9+(k4*224|0)|0)+(Re<<2)|0,M=+s[g8>>2],T=(y9+(xe*224|0)|0)+(Re<<2)|0,G=+s[T>>2],P=M>2]=M),z=Re+1|0,$7=(z|0)==56,$7){Ue=0;break}else Re=z;for(;Y=(y9+(xe*224|0)|0)+(Ue<<2)|0,t0=+s[Y>>2],J=((B9+(w9*1792|0)|0)+(xe*224|0)|0)+(Ue<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Ue+1|0,ee=(X|0)==56,!ee;)Ue=X;if(U=xe+1|0,N8=(U|0)==8,N8)break;xe=U}if(a0=w9+1|0,k8=(a0|0)==17,k8)break;w9=a0}for(Q9=n,L4=(o|0)>0,j4=o^-1,me=0;;){for(Z=S9(32)|0,V=i2+(me<<2)|0,e[V>>2]=Z,o0=+(me|0),n0=o0*.5,i0=o0*.34657350182533264,r0=i0+4.135165354540845,K=+Gn(+r0),s0=K/Q9,l0=+Vo(+s0),j=~~l0,$0=+(j|0),g0=$0*n,u0=g0+1,p0=u0,I0=+Hr(+p0),w0=I0*2.885390043258667,f0=w0+-11.931568145751953,C0=+nB(+f0),d0=~~C0,v0=j+1|0,K0=+(v0|0),b0=K0*n,m0=b0,L0=+Hr(+m0),F0=L0*2.885390043258667,T0=F0+-11.931568145751953,U0=+Vo(+T0),q0=~~U0,x0=(d0|0)>(me|0),h7=x0?me:d0,D0=(h7|0)<0,C8=D0?0:h7,M0=(q0|0)>16,p=M0?16:q0,J0=(C8|0)>(p|0),Y0=me+1|0,O0=(Y0|0)<17,z0=n0+3.9657840728759766,ie=0;;){if(N0=S9(232)|0,P0=Z+(ie<<2)|0,e[P0>>2]=N0,L4)for(i8=0;H0=L+(i8<<2)|0,s[H0>>2]=999,e1=i8+1|0,m9=(e1|0)==(o|0),!m9;)i8=e1;if(!J0)for(ge=C8;;){for(S0=+(ge|0),i1=S0*.5,u8=0,Be=0;;){if(g1=+(u8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,A1=n1*.6931470036506653,Z0=+Gn(+A1),d1=Z0/Q9,h1=~~d1,E1=s1+4.028284072875977,u1=E1*.6931470036506653,I1=+Gn(+u1),B1=I1/Q9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,y1=(B|0)>(o|0),t7=y1?o:B,S1=(t7|0)<(Be|0),q4=S1?t7:Be,L1=(R1|0)<0,W8=L1?0:R1,F1=(W8|0)>(o|0),q8=F1?o:W8,G1=(q4|0)<(q8|0),w1=(q4|0)<(o|0),J8=G1&w1,J8)for(U1=((B9+(ge*1792|0)|0)+(ie*224|0)|0)+(u8<<2)|0,Z1=+s[U1>>2],D1=(Be|0)<(o|0),K1=D1?Be:o,P1=K1^-1,H1=(h1|0)>0,_=h1^-1,q1=H1?_:-1,Y1=(q1|0)<(P1|0),Y4=Y1?P1:q1,j1=Y4^-1,r2=(R1|0)>0,x=R1^-1,W1=r2?x:-1,O1=(W1|0)<(j4|0),s7=O1?j4:W1,z1=s7-Y4|0,f2=Y4+o|0,s2=f2^-1,E2=z1>>>0>s2>>>0,_8=E2?z1:s2,A2=j1-_8|0,X9=q4;;)if(V1=L+(X9<<2)|0,g2=+s[V1>>2],a2=g2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,h8=(t2|0)==(A2|0),h8){Oe=A2;break}else X9=t2;else Oe=q4;if($2=u8+1|0,O8=($2|0)==56,O8){Pe=Oe;break}else u8=$2,Be=Oe}if(c1=(Pe|0)<(o|0),c1)for($1=((B9+(ge*1792|0)|0)+(ie*224|0)|0)+220|0,f1=+s[$1>>2],Le=Pe;X1=L+(Le<<2)|0,n2=+s[X1>>2],u2=n2>f1,u2&&(s[X1>>2]=f1),e2=Le+1|0,P8=(e2|0)==(o|0),!P8;)Le=e2;if(y2=ge+1|0,S2=(ge|0)<(p|0),S2)ge=y2;else break}if(O0){for(D8=0,he=0;;){if(G2=+(D8|0),q2=G2*.125,T2=q2+n0,O2=T2+3.9032840728759766,K2=O2*.6931470036506653,s5=+Gn(+K2),P2=s5/Q9,T1=~~P2,x5=T2+4.028284072875977,X2=x5*.6931470036506653,D5=+Gn(+X2),V2=D5/Q9,f5=V2+1,k5=~~f5,O5=(T1|0)<0,v=O5?0:T1,$5=(v|0)>(o|0),I3=$5?o:v,v2=(I3|0)<(he|0),He=v2?I3:he,E5=(k5|0)<0,j8=E5?0:k5,x2=(j8|0)>(o|0),u7=x2?o:j8,R2=(He|0)<(u7|0),B2=(He|0)<(o|0),A8=R2&B2,A8)for(C5=((B9+(Y0*1792|0)|0)+(ie*224|0)|0)+(D8<<2)|0,L5=+s[C5>>2],u5=(he|0)<(o|0),b5=u5?he:o,G5=b5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,A5=(H2|0)<(G5|0),o8=A5?G5:H2,l5=o8^-1,m5=(k5|0)>0,Q=k5^-1,M1=m5?Q:-1,v5=(M1|0)<(j4|0),b8=v5?j4:M1,c5=b8-o8|0,o5=o8+o|0,z2=o5^-1,c2=c5>>>0>z2>>>0,Ye=c2?c5:z2,B5=l5-Ye|0,Q4=He;;)if(n5=L+(Q4<<2)|0,g5=+s[n5>>2],Y2=g5>L5,Y2&&(s[n5>>2]=L5),h5=Q4+1|0,w7=(h5|0)==(B5|0),w7){s8=B5;break}else Q4=h5;else s8=He;if(t5=D8+1|0,V8=(t5|0)==56,V8){pe=s8;break}else D8=t5,he=s8}if(_2=(pe|0)<(o|0),_2)for(d2=((B9+(Y0*1792|0)|0)+(ie*224|0)|0)+220|0,J2=+s[d2>>2],E8=pe;R5=L+(E8<<2)|0,W2=+s[R5>>2],a5=W2>J2,a5&&(s[R5>>2]=J2),L2=E8+1|0,c7=(L2|0)==(o|0),!c7;)E8=L2}for(w2=Z+(ie<<2)|0,m2=Z+(ie<<2)|0,M2=Z+(ie<<2)|0,ce=0;;){u3=+(ce|0),h3=u3*.125,K5=z0+h3,e3=K5*.6931470036506653,n3=+Gn(+e3),C3=n3/Q9,F5=~~C3,V5=(F5|0)<0;do if(V5)f3=ce+2|0,B3=e[w2>>2]|0,K3=B3+(f3<<2)|0,s[K3>>2]=-999;else if(T3=(F5|0)<(o|0),T3){t6=L+(F5<<2)|0,R3=e[t6>>2]|0,N3=ce+2|0,$3=e[m2>>2]|0,l3=$3+(N3<<2)|0,e[l3>>2]=R3;break}else{Z5=ce+2|0,y3=e[M2>>2]|0,j5=y3+(Z5<<2)|0,s[j5>>2]=-999;break}while(!1);if(m3=ce+1|0,g7=(m3|0)==56,g7)break;ce=m3}p5=N0+8|0,X5=+s[p5>>2],I5=X5>-200;do if(I5)j9=0;else if(q5=N0+12|0,U5=+s[q5>>2],P5=U5>-200,P5)j9=1;else if(Q3=N0+16|0,i6=+s[Q3>>2],W3=i6>-200,W3)j9=2;else if(U3=N0+20|0,z5=+s[U3>>2],O3=z5>-200,O3)j9=3;else if($6=N0+24|0,d3=+s[$6>>2],w6=d3>-200,w6)j9=4;else if(k6=N0+28|0,v6=+s[k6>>2],B6=v6>-200,B6)j9=5;else if(j3=N0+32|0,l6=+s[j3>>2],p6=l6>-200,p6)j9=6;else if(q6=N0+36|0,C6=+s[q6>>2],S3=C6>-200,S3)j9=7;else if(X3=N0+40|0,e6=+s[X3>>2],f6=e6>-200,f6)j9=8;else if(P3=N0+44|0,D3=+s[P3>>2],H3=D3>-200,H3)j9=9;else if(V3=N0+48|0,s6=+s[V3>>2],i3=s6>-200,i3)j9=10;else if(O6=N0+52|0,s3=+s[O6>>2],A6=s3>-200,A6)j9=11;else if(u6=N0+56|0,b3=+s[u6>>2],T6=b3>-200,T6)j9=12;else if(r6=N0+60|0,Q6=+s[r6>>2],J6=Q6>-200,J6)j9=13;else{if(d6=N0+64|0,Y6=+s[d6>>2],L3=Y6>-200,L3){j9=14;break}if(Z6=N0+68|0,N6=+s[Z6>>2],j6=N6>-200,j6){j9=15;break}j9=16}while(!1);for(s[N0>>2]=j9,H8=55;;){if(w5=H8+2|0,G3=N0+(w5<<2)|0,M5=+s[G3>>2],n6=M5>-200,n6){e7=H8;break}if(A3=H8+-1|0,x3=(A3|0)>17,x3)H8=A3;else{e7=A3;break}}if(h6=+(e7|0),p3=N0+4|0,s[p3>>2]=h6,k3=ie+1|0,L8=(k3|0)==8,L8)break;ie=k3}if(F8=(Y0|0)==17,F8)break;me=Y0}return m=Je,i2|0}function gQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0;if(b4=m,w=t<<2,E=w,y=m,m=m+((1*E|0)+15&-16)|0,I=w,A2=m,m=m+((1*I|0)+15&-16)|0,C=w,W2=m,m=m+((1*C|0)+15&-16)|0,p=w,n3=m,m=m+((1*p|0)+15&-16)|0,B=w,j5=m,m=m+((1*B|0)+15&-16)|0,w5=+s[o>>2],i6=w5+c,v6=i6<1,A4=v6?1:i6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[W2>>2]=0,s[n3>>2]=z,s[j5>>2]=0,V=(t|0)>1,V)for(F3=1,I6=D,M6=D,e9=0,N9=0,d9=z,E4=1;c1=o+(F3<<2)|0,h1=+s[c1>>2],L1=h1+c,q1=L1<1,Q9=q1?1:L1,V1=Q9*Q9,y2=V1+I6,T2=V1*E4,f5=T2+M6,L5=T2*E4,v5=L5+e9,Y2=V1*Q9,h5=Y2+d9,t5=T2*Q9,R5=t5+N9,a5=y+(F3<<2)|0,s[a5>>2]=y2,L2=A2+(F3<<2)|0,s[L2>>2]=f5,p5=W2+(F3<<2)|0,s[p5>>2]=v5,H5=n3+(F3<<2)|0,s[H5>>2]=h5,X5=j5+(F3<<2)|0,s[X5>>2]=R5,I5=F3+1|0,u3=E4+1,L6=(I5|0)==(t|0),!L6;)F3=I5,I6=y2,M6=f5,e9=v5,N9=R5,d9=h5,E4=u3;if(g0=e[n>>2]|0,b0=g0>>16,J0=(b0|0)>-1,J0)K5=g0,u6=0,Q6=0,Y6=1,F6=0,s4=0;else for(F5=g0,B3=b0,X6=0,g4=0;;)if(C3=F5&65535,V5=y+(C3<<2)|0,w3=+s[V5>>2],f3=0-B3|0,K3=y+(f3<<2)|0,T3=+s[K3>>2],Z5=T3+w3,y3=A2+(C3<<2)|0,t6=+s[y3>>2],R3=A2+(f3<<2)|0,N3=+s[R3>>2],o3=t6-N3,$3=W2+(C3<<2)|0,l3=+s[$3>>2],m3=W2+(f3<<2)|0,q5=+s[m3>>2],U5=q5+l3,P5=n3+(C3<<2)|0,G3=+s[P5>>2],M5=n3+(f3<<2)|0,n6=+s[M5>>2],t3=n6+G3,A3=j5+(C3<<2)|0,x3=+s[A3>>2],h6=j5+(f3<<2)|0,p3=+s[h6>>2],k3=x3-p3,Q3=t3*U5,W3=k3*o3,U3=Q3-W3,z5=k3*Z5,v3=t3*o3,c3=z5-v3,O3=U5*Z5,$6=o3*o3,d3=O3-$6,w6=c3*g4,k6=w6+U3,B6=k6/d3,j3=B6<0,j6=j3?0:B6,l6=j6-c,p6=a+(X6<<2)|0,s[p6>>2]=l6,_6=X6+1|0,q6=g4+1,C6=n+(_6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){K5=S3,u6=U3,Q6=c3,Y6=d3,F6=_6,s4=q6;break}else F5=S3,B3=X3,X6=_6,g4=q6;if(h3=K5&65535,e3=(h3|0)<(t|0),e3)for(v=K5,V3=h3,W6=F6,z9=s4;;)if(D3=v>>16,H3=y+(V3<<2)|0,S6=+s[H3>>2],s6=y+(D3<<2)|0,i3=+s[s6>>2],O6=S6-i3,s3=A2+(V3<<2)|0,A6=+s[s3>>2],Q=A2+(D3<<2)|0,_=+s[Q>>2],x=A6-_,R=W2+(V3<<2)|0,L=+s[R>>2],F=W2+(D3<<2)|0,M=+s[F>>2],T=L-M,G=n3+(V3<<2)|0,P=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=P-t0,W=j5+(V3<<2)|0,e0=+s[W>>2],H=j5+(D3<<2)|0,X=+s[H>>2],U=e0-X,a0=J*T,Z=U*x,o0=a0-Z,n0=U*O6,i0=J*x,r0=n0-i0,K=T*O6,c0=x*x,s0=K-c0,l0=r0*z9,j=l0+o0,$0=j/s0,u0=$0<0,r9=u0?0:$0,p0=r9-c,I0=a+(W6<<2)|0,s[I0>>2]=p0,w0=W6+1|0,f0=z9+1,E0=n+(w0<<2)|0,C0=e[E0>>2]|0,d0=C0&65535,v0=(d0|0)<(t|0),v0)v=C0,V3=d0,W6=w0,z9=f0;else{b3=o0,R6=r0,L3=s0,A9=w0,G9=f0;break}else b3=u6,R6=Q6,L3=Y6,A9=F6,G9=s4;if(P3=(A9|0)<(t|0),P3)for(h9=A9,D9=G9;K0=D9*R6,m0=K0+b3,L0=m0/L3,F0=L0<0,x6=F0?0:L0,T0=x6-c,U0=a+(h9<<2)|0,s[U0>>2]=T0,B0=h9+1|0,q0=D9+1,y6=(B0|0)==(t|0),!y6;)h9=B0,D9=q0;if(x0=(f|0)<1,x0){m=b4;return}if(D0=(f|0)/2&-1,M0=D0-f|0,Y0=(M0|0)>-1,Y0)T6=b3,J6=R6,Z6=L3,f9=0,I9=0;else for(O0=f-D0|0,H0=D0,i1=M0,u9=0,P6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],S0=0-i1|0,$1=y+(S0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(S0<<2)|0,n1=+s[a1>>2],A1=s1-n1,Z0=W2+(H0<<2)|0,d1=+s[Z0>>2],E1=W2+(S0<<2)|0,u1=+s[E1>>2],I1=u1+d1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(S0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,y1=j5+(H0<<2)|0,S1=+s[y1>>2],F1=j5+(S0<<2)|0,G1=+s[F1>>2],w1=S1-G1,U1=x1*I1,Z1=w1*A1,N1=U1-Z1,D1=w1*g1,K1=x1*A1,P1=D1-K1,H1=I1*g1,Y1=A1*A1,j1=H1-Y1,r2=P1*P6,W1=r2+N1,O1=W1/j1,l2=O1-c,z1=a+(u9<<2)|0,f2=+s[z1>>2],s2=l2>2]=l2),E2=u9+1|0,g2=P6+1,a2=D0+E2|0,t2=a2-f|0,K6=(E2|0)==(O0|0),K6){T6=N1,J6=P1,Z6=j1,f9=O0,I9=g2;break}else H0=a2,i1=t2,u9=E2,P6=g2;if(z0=f9+D0|0,N0=(z0|0)<(t|0),N0)for(P0=t-D0|0,S=z0,a9=f9,C4=I9;;)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,S2=A2+(S<<2)|0,w2=+s[S2>>2],m2=A2+(i2<<2)|0,M2=+s[m2>>2],_2=w2-M2,N2=W2+(S<<2)|0,d2=+s[N2>>2],J2=W2+(i2<<2)|0,G2=+s[J2>>2],q2=d2-G2,O2=n3+(S<<2)|0,K2=+s[O2>>2],s5=n3+(i2<<2)|0,P2=+s[s5>>2],T1=K2-P2,j2=j5+(S<<2)|0,x5=+s[j2>>2],X2=j5+(i2<<2)|0,D5=+s[X2>>2],V2=x5-D5,k5=T1*q2,O5=V2*_2,$5=k5-O5,v2=V2*e2,E5=T1*_2,r5=v2-E5,x2=q2*e2,R2=_2*_2,B2=x2-R2,C5=r5*C4,u5=C5+$5,b5=u5/B2,G5=b5-c,_5=a+(a9<<2)|0,H2=+s[_5>>2],d5=G5>2]=G5),A5=a9+1|0,l5=C4+1,m5=A5+D0|0,D6=(A5|0)==(P0|0),D6){r6=$5,d6=r5,N6=B2,o9=P0,t9=l5;break}else S=m5,a9=A5,C4=l5;else r6=T6,d6=J6,N6=Z6,o9=f9,t9=I9;if($2=(o9|0)<(t|0),$2)T9=o9,S4=t9;else{m=b4;return}for(;M1=S4*d6,c5=M1+r6,o5=c5/N6,z2=o5-c,c2=a+(T9<<2)|0,B5=+s[c2>>2],e5=z2>2]=z2),n5=T9+1|0,g5=S4+1,G6=(n5|0)==(t|0),!G6;)T9=n5,S4=g5;m=b4}function kS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;if(c1=m,f=o<<2,a=f,E=m,m=m+((1*a|0)+15&-16)|0,c=f,_=m,m=m+((1*c|0)+15&-16)|0,t0=(o|0)>0,t0)B0=0,O0=0;else{m=c1;return}for(;;){v0=(O0|0)<2;do if(v0)m0=E+(O0<<2)|0,e[m0>>2]=B0,I=t+(B0<<2)|0,C=e[I>>2]|0,p=_+(O0<<2)|0,e[p>>2]=C,H0=O0;else{for(K0=t+(B0<<2)|0,b0=+s[K0>>2],z0=O0;;){if(B=z0+-1|0,v=_+(B<<2)|0,S=+s[v>>2],w=b0>2]|0,R=x+n|0,L=(B0|0)<(R|0),F=(z0|0)>1,D0=F&L,!D0){P0=z0,i1=12;break}if(M=z0+-2|0,T=_+(M<<2)|0,G=+s[T>>2],P=!(S<=G),P){P0=z0,i1=12;break}if(z=E+(M<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(B0|0)<(J|0),W)z0=B;else{P0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(N0<<2)|0,e[y>>2]=B0,D=_+(N0<<2)|0,s[D>>2]=b0,H0=N0;break}else if((i1|0)==12){i1=0,e0=E+(P0<<2)|0,e[e0>>2]=B0,H=_+(P0<<2)|0,s[H>>2]=b0,H0=P0;break}}while(!1);if(r1=H0+1|0,X=B0+1|0,U0=(X|0)==(o|0),U0){e1=H0,S0=r1;break}else B0=X,O0=r1}if(n0=(e1|0)>-1,!n0){m=c1;return}for(p0=n+1|0,q0=0,M0=0;;){if(U=(q0|0)<(e1|0),U?(a0=q0+1|0,Z=_+(a0<<2)|0,V=+s[Z>>2],o0=_+(q0<<2)|0,i0=+s[o0>>2],r0=V>i0,r0?(K=E+(a0<<2)|0,c0=e[K>>2]|0,L0=c0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(q0<<2)|0,l0=e[s0>>2]|0,j=p0+l0|0,L0=j),$0=(L0|0)>(o|0),x0=$0?o:L0,g0=(M0|0)<(x0|0),g0)for(u0=_+(q0<<2)|0,I0=e[u0>>2]|0,w0=(L0|0)<(o|0),f0=w0?L0:o,Y0=M0;;)if(E0=t+(Y0<<2)|0,e[E0>>2]=I0,C0=Y0+1|0,F0=(C0|0)==(f0|0),F0){J0=f0;break}else Y0=C0;else J0=M0;if(d0=q0+1|0,T0=(d0|0)==(S0|0),T0)break;q0=d0,M0=J0}m=c1}function hQ(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0;if(l2=m,R=I<<2,D=R,L=m,m=m+((1*D|0)+15&-16)|0,e0=t+500|0,K=e[e0>>2]|0,f0=(K|0)==0,f0?p1=I:(U0=t+504|0,P0=e[U0>>2]|0,s1=P0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,F=(Y1|0)>0,F)for(M=(f|0)==0,T=(p1|0)<(I|0),G=T?p1:I,P1=0;;){M?O1=9:(t0=f+(P1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(O1=9));do if((O1|0)==9)if(O1=0,H=a+(P1<<2)|0,X=+s[H>>2],U=c+(P1<<2)|0,a0=+s[U>>2],Z=X/a0,V=o+(P1<<2)|0,o0=+s[V>>2],n0=o0<0,i0=Z,r0=+Tn(+i0),c0=+Gi(r0),n0){s0=-c0,l0=~~s0,j=C+(P1<<2)|0,e[j>>2]=l0;break}else{$0=~~c0,g0=C+(P1<<2)|0,e[g0>>2]=$0;break}while(!1);if(u0=P1+1|0,D1=(u0|0)==(G|0),D1){K1=G;break}else P1=u0}else K1=0;if(P=(K1|0)<(I|0),!P)return y=0,m=l2,+y;for(z=(f|0)!=0,Y=n-E|0,p=0,G1=0,H1=K1;;){z?(p0=f+(H1<<2)|0,I0=e[p0>>2]|0,w0=(I0|0)==0,w0?O1=15:(B=p,w1=G1)):O1=15;do if((O1|0)==15)if(O1=0,E0=a+(H1<<2)|0,C0=+s[E0>>2],d0=c+(H1<<2)|0,v0=+s[d0>>2],K0=C0/v0,b0=!(K0<.25),m0=(H1|0)<(Y|0),j1=z&m0,r2=b0|j1,r2){B0=o+(H1<<2)|0,q0=+s[B0>>2],x0=q0<0,D0=K0,M0=+Tn(+D0),J0=+Gi(M0),Y0=-J0,_=x0?Y0:J0,Q=~~_,O0=C+(H1<<2)|0,e[O0>>2]=Q,z0=i5(Q,Q)|0,N0=+(z0|0),r1=+s[d0>>2],H0=N0*r1,s[E0>>2]=H0,B=p,w1=G1;break}else{L0=K0+p,F0=G1+1|0,T0=L+(G1<<2)|0,e[T0>>2]=E0,B=L0,w1=F0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=w1;break}else p=B,G1=w1,H1=e1}if(S0=(U1|0)==0,S0||(Mh(L,U1,4,9),i1=(U1|0)>0,!i1))return y=v,m=l2,+y;for(c1=a,$1=t+512|0,f1=+o1[$1>>3],S=v,q1=0;;)if(g1=L+(q1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,A1=n1>>2,Z0=S,d1=!(Z0>=f1),d1?(w=S,x=0,W1=0):(h1=o+(A1<<2)|0,E1=e[h1>>2]|0,u1=E1&-2147483648,I1=u1|1065353216,B1=(e[p2>>2]=I1,+s[p2>>2]),Q1=~~B1,R1=S+-1,x1=c+(A1<<2)|0,y1=+s[x1>>2],w=R1,x=Q1,W1=y1),S1=C+(A1<<2)|0,e[S1>>2]=x,s[l1>>2]=W1,L1=q1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else S=w,q1=L1;return m=l2,+y}function vS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,o=e[t>>2]|0,a=+s[o>>2],c=e[n>>2]|0,f=+s[c>>2],E=af,p=C&1,B=I-p|0,B|0}function SS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||I2(t)}function DS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0;if(W=m,o=(t|0)==0,!o){if(a=t+4|0,y=e[a>>2]|0,L=(y|0)>0,F=t+20|0,L)for(R=y,Y=0;M=e[F>>2]|0,T=M+(Y<<2)|0,G=e[T>>2]|0,P=(G|0)==0,P?f=R:(I2(G),n=e[a>>2]|0,f=n),z=Y+1|0,c=(z|0)<(f|0),c;)R=f,Y=z;if(E=e[F>>2]|0,I2(E),I=t+24|0,C=e[I>>2]|0,p=(C|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;x=e[B>>2]|0,I2(x),I2(t)}}function bS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;if($0=m,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,a0=U+-1|0,U2(n,a0,24),Z=t+12|0,V=e[Z>>2]|0,o0=V+-1|0,U2(n,o0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,C=(I|0)>0,!!C){for(p=t+24|0,i0=0,K=0;;){if(S=p+(K<<2)|0,w=e[S>>2]|0,y=T7(w)|0,D=(y|0)>3,_=e[S>>2]|0,D?(U2(n,_,3),U2(n,1,1),x=e[S>>2]|0,R=x>>3,U2(n,R,5)):U2(n,_,4),L=e[S>>2]|0,F=(L|0)==0,F)s0=0;else for(o=L,l0=0;;)if(M=o&1,T=M+l0|0,G=o>>>1,P=(G|0)==0,P){s0=T;break}else o=G,l0=T;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,c0=0;e0=v+(c0<<2)|0,H=e[e0>>2]|0,U2(n,H,8),X=c0+1|0,r0=(X|0)==(a|0),!r0;)c0=X}}function _S(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,E=r4(1,2840)|0,I=t+28|0,x=e[I>>2]|0,J=Z4(n,24)|0,e[E>>2]=J,i0=Z4(n,24)|0,I0=E+4|0,e[I0>>2]=i0,F0=Z4(n,24)|0,z0=F0+1|0,P0=E+8|0,e[P0>>2]=z0,r1=Z4(n,6)|0,C=r1+1|0,p=E+12|0,e[p>>2]=C,B=Z4(n,8)|0,v=E+20|0,e[v>>2]=B,S=(B|0)<0;e:do if(S)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=Z4(n,3)|0,R=Z4(n,1)|0,L=(R|0)<0,L){a1=26;break e}if(F=(R|0)==0,F)S0=_;else{if(M=Z4(n,5)|0,T=(M|0)<0,T){a1=26;break e}G=M<<3,P=G|_,S0=P}if(z=y+(c1<<2)|0,e[z>>2]=S0,Y=(S0|0)==0,Y)l1=0;else for(a=S0,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,a0=e[p>>2]|0,Z=(U|0)<(a0|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,o0=(V|0)<0,o0)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(c0=e[v>>2]|0,s0=x+24|0,l0=e[s0>>2]|0,j=(c0|0)<(l0|0),j){if(N0)for($0=E+280|0,f1=0;;){if(p0=$0+(f1<<2)|0,w0=e[p0>>2]|0,f0=(w0|0)<(l0|0),!f0||(E0=(x+1824|0)+(w0<<2)|0,C0=e[E0>>2]|0,d0=C0+12|0,v0=e[d0>>2]|0,K0=(v0|0)==0,g0=f1+1|0,K0))break e;if(u0=(g0|0)<(H0|0),u0)f1=g0;else break}if(b0=(x+1824|0)+(c0<<2)|0,m0=e[b0>>2]|0,L0=m0+4|0,T0=e[L0>>2]|0,U0=e[m0>>2]|0,B0=(U0|0)<1,!B0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(M0=i5(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,o=E,o|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(o=0,o|0):(I2(E),o=0,o|0)}function RS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0;if(p1=m,f=r4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,n0=e[t0>>2]|0,e[f>>2]=n,p0=n+12|0,L0=e[p0>>2]|0,O0=f+4|0,e[O0>>2]=L0,r1=n0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,C=H0,p=n+20|0,B=e[p>>2]|0,v=C+(B*56|0)|0,S=f+16|0,e[S>>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(x=n+24|0,R=n+280|0,e1=0,l1=0,h1=0;;){if(L=x+(l1<<2)|0,F=e[L>>2]|0,M=T7(F)|0,T=(M|0)==0,T)c1=e1,E1=h1;else if(G=(M|0)>(h1|0),a=G?M:h1,P=r4(M,4)|0,z=y+(l1<<2)|0,e[z>>2]=P,Y=(M|0)>0,Y)for(J=e[L>>2]|0,W=y+(l1<<2)|0,S0=e1,A1=0;;)if(e0=1<>2]|0,a0=S0+1|0,Z=R+(S0<<2)|0,V=e[Z>>2]|0,o0=U+(V*56|0)|0,i0=e[W>>2]|0,r0=i0+(A1<<2)|0,e[r0>>2]=o0,i1=a0),K=A1+1|0,f1=(K|0)==(M|0),f1){c1=i1,E1=a;break}else S0=i1,A1=K;else c1=e1,E1=a;if(c0=l1+1|0,s0=(c0|0)<(L0|0),s0)e1=c1,l1=c0,h1=E1;else{d1=E1;break}}else d1=0;if(l0=f+24|0,e[l0>>2]=1,j=(w|0)>0,j){for(g0=1,s1=0;;)if($0=i5(g0,L0)|0,u0=s1+1|0,$1=(u0|0)==(w|0),$1){o=$0;break}else g0=$0,s1=u0;e[l0>>2]=o,f0=o}else f0=1;if(I0=f+8|0,e[I0>>2]=d1,w0=f0<<2,E0=S9(w0)|0,C0=f+28|0,e[C0>>2]=E0,d0=(f0|0)>0,!d0)return f|0;if(v0=w<<2,!j){for(a1=0;Y0=S9(v0)|0,z0=E0+(a1<<2)|0,e[z0>>2]=Y0,N0=a1+1|0,P0=(N0|0)<(f0|0),P0;)a1=N0;return f|0}for(K0=e[C0>>2]|0,n1=0;;){for(D0=S9(v0)|0,M0=E0+(n1<<2)|0,e[M0>>2]=D0,J0=K0+(n1<<2)|0,q0=e[J0>>2]|0,c=f0,Z0=0,I1=n1;u1=(c|0)/(L0|0)&-1,F0=(I1|0)/(u1|0)&-1,T0=i5(F0,u1)|0,U0=I1-T0|0,B0=q0+(Z0<<2)|0,e[B0>>2]=F0,x0=Z0+1|0,g1=(x0|0)==(w|0),!g1;)c=u1,Z0=x0,I1=U0;if(b0=n1+1|0,m0=(b0|0)<(f0|0),m0)n1=b0;else break}return f|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0;if(F=m,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){R=x;break}else Q=w,_=x;return y=(R|0)==0,y||fQ(t,n,o,R,2),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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0;if(G=m,C=(f|0)>0,C)R=0,L=0;else return 0;for(;;)if(p=c+(R<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?F=L:(S=a+(R<<2)|0,w=e[S>>2]|0,y=L+1|0,D=a+(L<<2)|0,e[D>>2]=w,F=y),Q=R+1|0,x=(Q|0)==(f|0),x){M=F;break}else R=Q,L=F;return _=(M|0)==0,_||uQ(t,o,a,M,E),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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0;if(B1=m,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(C=a+(i1<<2)|0,R=e[C>>2]|0,W=(R|0)==0,W?E1=h1:(r0=o+(i1<<2)|0,w0=e[r0>>2]|0,T0=h1+1|0,J0=o+(h1<<2)|0,e[J0>>2]=w0,E1=T0),Y0=i1+1|0,P0=(Y0|0)==(c|0),P0){u1=E1;break}else i1=Y0,h1=E1;if(O0=(u1|0)==0,O0)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,x=(_|0)/(v|0)&-1,L=u1<<2,F=H7(t,L)|0,M=+(v|0),T=100/M,G=T,P=(u1|0)>0,P)for(z=x<<2,c1=0;H=H7(t,z)|0,X=F+(c1<<2)|0,e[X>>2]=H,se(H|0,0,z|0)|0,U=c1+1|0,S0=(U|0)==(u1|0),!S0;)c1=U;if(Y=(x|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if(a0=i5($1,v)|0,Z=e[p>>2]|0,V=Z+a0|0,P)for(g1=0;;){if(t0)for(o0=o+(g1<<2)|0,n0=e[o0>>2]|0,N0=0,l1=0,A1=0;;)if(i0=V+l1|0,K=n0+(i0<<2)|0,c0=e[K>>2]|0,f1=(c0|0)>-1,Z0=0-c0|0,s0=f1?c0:Z0,l0=(s0|0)>(A1|0),E=l0?s0:A1,j=s0+N0|0,$0=l1+1|0,r1=($0|0)==(v|0),r1){z0=j,n1=E;break}else N0=j,l1=$0,A1=E;else z0=0,n1=0;g0=+(z0|0),u0=g0*G,p0=~~u0;e:do if(e0)for(a1=0;;){if(I0=(p+2328|0)+(a1<<2)|0,f0=e[I0>>2]|0,E0=(n1|0)>(f0|0),!E0&&(C0=(p+2584|0)+(a1<<2)|0,d0=e[C0>>2]|0,v0=(d0|0)<0,K0=(p0|0)<(d0|0),d1=v0|K0,d1)){s1=a1;break e}if(b0=a1+1|0,m0=(b0|0)<(J|0),m0)a1=b0;else{s1=b0;break}}else s1=0;while(!1);if(L0=F+(g1<<2)|0,F0=e[L0>>2]|0,U0=F0+($1<<2)|0,e[U0>>2]=s1,B0=g1+1|0,H0=(B0|0)==(u1|0),H0)break;g1=B0}if(q0=$1+1|0,e1=(q0|0)==(x|0),e1)break;$1=q0}return x0=n+40|0,D0=e[x0>>2]|0,M0=D0+1|0,e[x0>>2]=M0,f=F,f|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0;if(F=m,f=(c|0)>0,f)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=_:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=o+(_<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){R=x;break}else Q=w,_=x;return y=(R|0)==0,y||fQ(t,n,o,R,3),0}function TS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,C=(c|0)>0,C)M0=0,n1=0;else return f=0,f|0;for(;;)if(p=a+(M0<<2)|0,L=e[p>>2]|0,g1=(L|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(f0=e[n>>2]|0,K0=f0+8|0,b0=e[K0>>2]|0,m0=f0+12|0,L0=e[m0>>2]|0,B=f0+4|0,v=e[B>>2]|0,S=e[f0>>2]|0,w=v-S|0,y=(w|0)/(b0|0)&-1,D=H7(t,4)|0,Q=y<<2,_=H7(t,Q)|0,e[D>>2]=_,se(_|0,0,Q|0)|0,x=(y|0)>0,x)for(R=e[f0>>2]|0,F=(R|0)/(c|0)&-1,M=(b0|0)>0,T=L0+-1|0,G=(L0|0)>1,P=e[D>>2]|0,z=(c|0)>1,J0=0,H0=F;;){if(M)for(Y=e[o>>2]|0,T0=0,z0=0,S0=H0,c1=0;;){if(t0=Y+(S0<<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(B0=T0,r1=1;;)if(X=o+(r1<<2)|0,U=e[X>>2]|0,a0=U+(S0<<2)|0,Z=e[a0>>2]|0,O0=(Z|0)>-1,f1=0-Z|0,V=O0?Z:f1,o0=(V|0)>(B0|0),E=o0?V:B0,n0=r1+1|0,x0=(n0|0)==(c|0),x0){U0=E;break}else B0=E,r1=n0;else U0=T0;if(i0=S0+1|0,r0=z0+c|0,c0=(r0|0)<(b0|0),c0)T0=U0,z0=r0,S0=i0,c1=I;else{F0=U0,e1=i0,i1=I;break}}else F0=0,e1=H0,i1=0;e:do if(G)for(P0=0;;){if(s0=(f0+2328|0)+(P0<<2)|0,l0=e[s0>>2]|0,j=(i1|0)>(l0|0),!j&&($0=(f0+2584|0)+(P0<<2)|0,g0=e[$0>>2]|0,u0=(F0|0)>(g0|0),!u0)){N0=P0;break e}if(p0=P0+1|0,I0=(p0|0)<(T|0),I0)P0=p0;else{N0=p0;break}}else N0=0;while(!1);if(w0=P+(J0<<2)|0,e[w0>>2]=N0,E0=J0+1|0,D0=(E0|0)==(y|0),D0)break;J0=E0,H0=e1}return C0=n+40|0,d0=e[C0>>2]|0,v0=d0+1|0,e[C0>>2]=v0,f=D,f|0}function NS(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0;if(n0=m,m=m+16|0,V=n0,C=n+36|0,p=e[C>>2]|0,L=(p|0)/2&-1,F=f<<2,M=i5(F,L)|0,T=H7(n,M)|0,e[V>>2]=T,G=(f|0)>0,!G)return m=n0,0;for(P=(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,P)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=T+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,_=e0+f|0,x=(Q|0)<(L|0),x;)W=Q,e0=_;if(R=J+1|0,t0=(R|0)==(f|0),t0){a0=U;break}else J=R,Z=U}return X=(a0|0)==0,X?(m=n0,0):(uQ(t,o,V,1,E),m=n0,0)}function GS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0;if(Q1=m,I=e[n>>2]|0,C=I+8|0,R=e[C>>2]|0,W=n+16|0,r0=e[W>>2]|0,w0=e[r0>>2]|0,T0=t+36|0,N0=e[T0>>2]|0,l1=i5(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)/(R|0)&-1,Q=w0+-1|0,_=Q+D|0,x=(_|0)/(w0|0)&-1,L=x<<2,F=H7(t,L)|0,M=(c|0)>0;e:do if(M)for(n1=0;;){if(T=a+(n1<<2)|0,G=e[T>>2]|0,P=(G|0)==0,!P){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,a0=I+16|0,Z=n+28|0,V=(w0|0)>0,o0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,c0=ZC(K,U)|0,s0=(c0|0)==-1,s0){p1=23;break e}if(l0=e[a0>>2]|0,j=(c0|0)<(l0|0),!j){p1=23;break e}if($0=e[Z>>2]|0,g0=$0+(c0<<2)|0,u0=e[g0>>2]|0,p0=F+(E1<<2)|0,e[p0>>2]=u0,I0=(u0|0)==0,I0){p1=23;break e}}if(f0=(A1|0)<(D|0),I1=V&f0,I1)for(E0=F+(E1<<2)|0,d1=A1,h1=0;;){if(C0=e[E0>>2]|0,d0=C0+(h1<<2)|0,v0=e[d0>>2]|0,K0=(I+24|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0&i0,L0=(m0|0)==0,!L0&&(F0=e[o0>>2]|0,U0=F0+(v0<<2)|0,B0=e[U0>>2]|0,q0=B0+(B1<<2)|0,x0=e[q0>>2]|0,D0=(x0|0)==0,!D0&&(M0=i5(d1,R)|0,J0=e[I>>2]|0,Y0=J0+M0|0,O0=Yv(x0,o,Y0,c,U,R)|0,z0=(O0|0)==-1,z0))){p1=23;break e}if(P0=h1+1|0,r1=d1+1|0,H0=(P0|0)<(w0|0),e1=(r1|0)<(D|0),u1=H0&e1,u1)d1=r1,h1=P0;else{Z0=r1;break}}else Z0=A1;if(S0=E1+1|0,i1=(Z0|0)<(D|0),i1)A1=Z0,E1=S0;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 fQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,p=e[n>>2]|0,B=p+8|0,F=e[B>>2]|0,H=n+16|0,c0=e[H>>2]|0,E0=e[c0>>2]|0,B0=t+36|0,r1=e[B0>>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){m=j1;return}if(Q=(y|0)/(F|0)&-1,_=a<<2,E=_,x=m,m=m+((1*E|0)+15&-16)|0,R=(a|0)>0,R)for(L=E0+-1|0,M=L+Q|0,T=(M|0)/(E0|0)&-1,G=T<<2,G1=0;a0=H7(t,G)|0,Z=x+(G1<<2)|0,e[Z>>2]=a0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(P=n+8|0,z=e[P>>2]|0,Y=(z|0)>0,!Y){m=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(E0|0)>0,U=n+20|0,C=R^1,q1=0;e:for(;;){if(t0)for(o0=1<>2]|0,H0=ZC(P0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(S0=e[W>>2]|0,i1=(H0|0)<(S0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=x+(w1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,z0=w1+1|0,n1){Y1=25;break e}if(N0=(z0|0)<(a|0),N0)w1=z0;else break}n0=(y1|0)<(Q|0),H1=X&n0;t:do if(H1){if(R)F1=y1,N1=0;else for(L1=y1,Z1=0;;)if(A1=Z1+1|0,Z0=L1+1|0,d1=(A1|0)<(E0|0),h1=(Z0|0)<(Q|0),K1=d1&h1,K1)L1=Z0,Z1=A1;else{S1=Z0;break t}for(;;){for($0=i5(F1,F)|0,U1=0;;){if(l0=e[p>>2]|0,j=l0+$0|0,g0=x+(U1<<2)|0,u0=e[g0>>2]|0,p0=u0+(D1<<2)|0,I0=e[p0>>2]|0,w0=I0+(N1<<2)|0,f0=e[w0>>2]|0,C0=(p+24|0)+(f0<<2)|0,d0=e[C0>>2]|0,v0=d0&o0,K0=(v0|0)==0,!K0&&(b0=e[U>>2]|0,m0=b0+(f0<<2)|0,L0=e[m0>>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,D0=x0+(j<<2)|0,M0=IB[c&3](T0,D0,J,F)|0,J0=(M0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,O0=(Y0|0)<(a|0),O0)U1=Y0;else break}if(i0=N1+1|0,r0=F1+1|0,K=(i0|0)<(E0|0),s0=(r0|0)<(Q|0),P1=K&s0,P1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=y1;while(!1);if(E1=D1+1|0,u1=(S1|0)<(Q|0),u1)y1=S1,D1=E1;else break}if(I1=q1+1|0,B1=e[P>>2]|0,p1=(I1|0)<(B1|0),p1)q1=I1;else{Y1=25;break}}if((Y1|0)==25){m=j1;return}}function uQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0;if(d6=m,m=m+1088|0,i3=d6+1056|0,M5=d6+1024|0,O6=d6+512|0,s3=d6,Q=e[n>>2]|0,_=Q+8|0,a2=e[_>>2]|0,q2=Q+12|0,V2=e[q2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,h5=e[M1>>2]|0,h3=Q+4|0,T3=e[h3>>2]|0,x=e[Q>>2]|0,J=T3-x|0,i0=(J|0)/(a2|0)&-1,se(O6|0,0,512)|0,se(s3|0,0,512)|0,I0=n+8|0,F0=e[I0>>2]|0,z0=(F0|0)>0,!z0){m=d6;return}for(g1=(i0|0)>0,I1=(a|0)>0,w1=(h5|0)>1,r2=n+36|0,t2=(h5|0)>0,S2=n+20|0,w2=n+32|0,m2=0-h5|0,y2=F0,A6=0;;){if(g1){for(M2=(A6|0)==0,_2=1<>2]|0,G5=b5+(z5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,d5=H2+4|0,A5=e[d5>>2]|0,l5=(_5|0)<(A5|0),l5&&(m5=Lh(H2,_5,t)|0,v5=e[r2>>2]|0,c5=v5+m5|0,e[r2>>2]=c5),o5=C6+1|0,n6=(o5|0)==(a|0),n6)break e;C6=o5}for(;;){for(v2=c+(S3<<2)|0,f5=e[v2>>2]|0,E5=f5+(z5<<2)|0,r5=e[E5>>2]|0,f6=1,r6=r5;;)if(j2=i5(r6,V2)|0,x5=f6+z5|0,X2=(x5|0)<(i0|0),X2?(D5=f5+(x5<<2)|0,k5=e[D5>>2]|0,O5=k5+j2|0,Q6=O5):Q6=j2,$5=f6+1|0,k3=($5|0)==(h5|0),k3){R6=Q6;break}else f6=$5,r6=Q6;if(J2=e[C5>>2]|0,G2=J2+4|0,T2=e[G2>>2]|0,O2=(R6|0)<(T2|0),O2&&(K2=Lh(J2,R6,t)|0,s5=e[r2>>2]|0,P2=s5+K2|0,e[r2>>2]=P2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(x2=(z5|0)<(i0|0),S6=t2&x2,S6){for(R2=z5-i0|0,B2=R2>>>0>>0,T6=B2?m2:R2,L5=0-T6|0,$6=z5,P3=0;;){if(z2=i5($6,a2)|0,c2=e[Q>>2]|0,B5=c2+z2|0,I1)for(e6=0;;){if(e5=c+(e6<<2)|0,n5=e[e5>>2]|0,g5=n5+($6<<2)|0,Y2=e[g5>>2]|0,M2&&(t5=s3+(Y2<<2)|0,R5=e[t5>>2]|0,W2=R5+a2|0,e[t5>>2]=W2),a5=(Q+24|0)+(Y2<<2)|0,L2=e[a5>>2]|0,p5=L2&_2,H5=(p5|0)==0,!H5&&(X5=e[S2>>2]|0,I5=X5+(Y2<<2)|0,u3=e[I5>>2]|0,K5=u3+(A6<<2)|0,e3=e[K5>>2]|0,n3=(e3|0)==0,!n3)){if(C3=o+(e6<<2)|0,F5=e[C3>>2]|0,V5=e[e3>>2]|0,w3=(a2|0)/(V5|0)&-1,f3=(w3|0)>0,f3){for(B3=e3+48|0,K3=e3+52|0,Z5=e3+44|0,y3=e3+12|0,j5=e3+4|0,R=V5,w5=0,c3=0;;){t6=i5(c3,V5)|0,S=t6+B5|0,R3=F5+(S<<2)|0,N3=e[B3>>2]|0,o3=e[K3>>2]|0,$3=e[Z5>>2]|0,l3=$3>>1,e[i3>>2]=0,e[i3+4>>2]=0,e[i3+8>>2]=0,e[i3+12>>2]=0,e[i3+16>>2]=0,e[i3+20>>2]=0,e[i3+24>>2]=0,e[i3+28>>2]=0,m3=(o3|0)==1,L=(R|0)>0;do if(m3){if(!L){j3=0;break}for(G=$3+-1|0,d3=0,B6=0,H3=R;;)if(u0=H3+-1|0,D=S+u0|0,p0=F5+(D<<2)|0,w0=e[p0>>2]|0,f0=w0-N3|0,E0=(f0|0)<(l3|0),E0?(C0=l3-f0|0,d0=C0<<1,v0=d0+-1|0,L0=v0):(K0=f0-l3|0,b0=K0<<1,L0=b0),m0=i5(B6,$3)|0,T0=(L0|0)<0,U0=(L0|0)>=($3|0),B0=U0?G:L0,q0=T0?0:B0,x0=q0+m0|0,D0=i3+(u0<<2)|0,e[D0>>2]=w0,M0=d3+1|0,W3=(M0|0)==(R|0),W3){j3=x0;break}else d3=M0,B6=x0,H3=u0}else{if(!L){j3=0;break}for(F=o3>>1,M=F-N3|0,T=$3+-1|0,v3=0,v6=0,D3=R;;)if(P=D3+-1|0,y=S+P|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=M+Y|0,W=(t0|0)/(o3|0)&-1,e0=(W|0)<(l3|0),e0?(H=l3-W|0,X=H<<1,U=X+-1|0,o0=U):(a0=W-l3|0,Z=a0<<1,o0=Z),V=i5(v6,$3)|0,n0=(o0|0)<0,r0=(o0|0)>=($3|0),K=r0?T:o0,c0=n0?0:K,s0=c0+V|0,l0=i5(W,o3)|0,j=l0+N3|0,$0=i3+(P<<2)|0,e[$0>>2]=j,g0=v3+1|0,U3=(g0|0)==(R|0),U3){j3=s0;break}else v3=g0,v6=s0,D3=P}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,O0=e[Y0>>2]|0,N0=O0+j3|0,P0=d[N0>>0]|0,r1=P0<<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=$3+-1|0,e1=i5(H0,o3)|0,S0=e1+N3|0,i1=e[j5>>2]|0,c1=(i1|0)>0,c1)q5=-1,w6=0,l6=j3;else{_6=j3;break}for(;;){$1=O0+w6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(L)for(q6=0,b3=0;;)if(s1=M5+(q6<<2)|0,a1=e[s1>>2]|0,w=S+q6|0,n1=F5+(w<<2)|0,A1=e[n1>>2]|0,Z0=a1-A1|0,d1=i5(Z0,Z0)|0,h1=d1+b3|0,E1=q6+1|0,i6=(E1|0)==(R|0),i6){u6=h1;break}else q6=E1,b3=h1;else u6=0;if(u1=(q5|0)==-1,B1=(u6|0)<(q5|0),V3=u1|B1,!V3){U5=q5,p6=l6;break}e[i3>>2]=e[M5>>2]|0,e[i3+4>>2]=e[M5+4>>2]|0,e[i3+8>>2]=e[M5+8>>2]|0,e[i3+12>>2]=e[M5+12>>2]|0,e[i3+16>>2]=e[M5+16>>2]|0,e[i3+20>>2]=e[M5+20>>2]|0,e[i3+24>>2]=e[M5+24>>2]|0,e[i3+28>>2]=e[M5+28>>2]|0,U5=u6,p6=w6}else U5=q5,p6=l6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(S0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,y1=M5+(R1<<2)|0,S1=e[y1>>2]|0,L1=(S1|0)<(S0|0),L1){E=y1,I=S1;break}else x1=y1,X3=R1;if(F1=(I|0)>-1,F1?(G1=I+o3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=w6+1|0,t3=(N1|0)==(i1|0),t3){_6=p6;break}else q5=U5,w6=N1,l6=p6}}else _6=j3;while(!1);if(D1=(_6|0)>-1,s6=L&D1,s6)for(f=R3,k6=0;K1=i3+(k6<<2)|0,P1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-P1|0,e[f>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(R|0),!A3;)f=H1,k6=j1;if(W1=Lh(e3,_6,t)|0,O1=W1+w5|0,l2=c3+1|0,x3=(l2|0)==(w3|0),x3){C=O1;break}p=e[e3>>2]|0,R=p,w5=O1,c3=l2}B=e[e5>>2]|0,E2=B,P5=C}else E2=n5,P5=0;z1=e[w2>>2]|0,f2=z1+P5|0,e[w2>>2]=f2,s2=E2+($6<<2)|0,A2=e[s2>>2]|0,V1=O6+(A2<<2)|0,g2=e[V1>>2]|0,$2=g2+P5|0,e[V1>>2]=$2}if(i2=e6+1|0,h6=(i2|0)==(a|0),h6)break;e6=i2}if(o2=P3+1|0,X1=$6+1|0,p3=(o2|0)==(L5|0),p3)break;$6=X1,P3=o2}N2=z5-T6|0,O3=N2}else O3=z5;if(d2=(O3|0)<(i0|0),d2)z5=O3;else break}v=e[I0>>2]|0,e2=v}else e2=y2;if(n2=A6+1|0,u2=(n2|0)<(e2|0),u2)y2=e2,A6=n2;else break}m=d6}function T7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;if(p=m,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 dQ(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0;g2=m,m=m+144|0,O1=g2,C=(o|0)!=0,p=C?o:n,L=p<<2,e0=S9(L)|0,se(O1|0,0,132)|0,K=(n|0)>0;do if(K){f0=O1+4|0,U0=(o|0)==0,P0=U0&1,p1=0,w1=0;e:for(;;){s1=t+w1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=O1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,l2=y|Q,!l2){V1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,x=O1+(B<<2)|0,R=w&1,F=(R|0)==0;i:do if(F)for(H=w,X=x,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,a0=(K1|0)>1,!a0)break i;if(f=O1+(U<<2)|0,I=e[f>>2]|0,Z=O1+(U<<2)|0,V=I&1,o0=(V|0)==0,o0)H=I,X=Z,K1=U;else{c=Z,D1=U,V1=8;break}}else c=x,D1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,T=(D1|0)==1,T){G=e[f0>>2]|0,P=G+1|0,e[f0>>2]=P;break}else{z=D1+-1|0,Y=O1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,M=(Y1|0)<33,M)for(L1=w,H1=B,j1=Y1;;){if(n0=O1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,c0=(r0|0)==(L1|0),!c0){E=1;break t}if(s0=O1+(H1<<2)|0,l0=e[s0>>2]|0,j=l0<<1,e[n0>>2]=j,P1=j1+1|0,$0=(P1|0)<33,$0)q1=j1,L1=i0,j1=P1,H1=q1;else{E=1;break}}else E=1}else E=P0;while(!1);if(Q1=p1+E|0,g0=w1+1|0,u0=(g0|0)<(n|0),u0)p1=Q1,w1=g0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return I2(e0),a=0,m=g2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(p0=O1+8|0,I0=e[p0>>2]|0,w0=(I0|0)==2,w0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,z0=O1+(U1<<2)|0,N0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=N0&H0,S0=(e1|0)==0,Y0=U1+1|0,!!S0;)if(O0=(Y0|0)<33,O0)U1=Y0,V1=27;else break e;return I2(e0),a=0,m=g2,a|0}while(!1);if(!K)return a=e0,m=g2,a|0;if(C)y1=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,d1=r2+1|0,h1=(d1|0)<(l1|0),h1)r2=d1,E2=Z0;else{f2=Z0;break}else f2=0;if(E1=x1+1|0,u1=e0+(x1<<2)|0,e[u1>>2]=f2,I1=Z1+1|0,F1=(I1|0)==(n|0),F1){a=e0;break}else x1=E1,Z1=I1}return m=g2,a|0}for(;;){if(E0=t+N1|0,C0=d[E0>>0]|0,d0=C0<<24>>24>0,d0)for(J0=e0+(y1<<2)|0,T0=e[J0>>2]|0,M0=C0<<24>>24,W1=0,A2=0;;)if(L0=A2<<1,F0=T0>>>W1,B0=F0&1,q0=B0|L0,x0=W1+1|0,D0=(x0|0)<(M0|0),D0)W1=x0,A2=q0;else{s2=q0;break}else s2=0;if(v0=C0<<24>>24==0,v0?S1=y1:(K0=y1+1|0,b0=e0+(y1<<2)|0,e[b0>>2]=s2,S1=K0),m0=N1+1|0,G1=(m0|0)==(n|0),G1){a=e0;break}else y1=S1,N1=m0}return m=g2,a|0}function US(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0;if(H=m,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),x=_,R=+(D|0),L=1/R,F=L,M=+_h(+x,+F),f=+Vo(+M),E=~~f,Y=E;;){for(S=Y+1|0,T=1,G=1,P=0;;)if(B=i5(T,Y)|0,v=i5(G,S)|0,w=P+1|0,y=(w|0)<(D|0),y)T=B,G=v,P=w;else{n=B,o=v;break}if(I=(n|0)<=(c|0),C=(o|0)>(c|0),z=I&C,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0;if(H5=m,p=t+12|0,B=e[p>>2]|0,C=B+-1|0,t5=C>>>0<2,!t5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,R1=n1&2097151,D1=+(R1|0),z1=n1>>>21,o2=z1&1023,N2=(n1|0)<0,j2=-D1,a=N2?j2:D1,v=o2+-788|0,M=+XC(a,v),X=M,s0=t+20|0,C0=e[s0>>2]|0,q0=C0&2097151,z0=+(q0|0),N0=C0>>>21,P0=N0&1023,r1=(C0|0)<0,e1=-z0,c=r1?e1:z0,S0=P0+-788|0,i1=+XC(c,S0),c1=i1,$1=e[t>>2]|0,f1=i5($1,n)|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),y1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+_h(+y1,+F1),w1=+Vo(+G1),U1=~~w1,a5=U1;;){for(f2=a5+1|0,r5=1,x2=1,d5=0;;)if(O1=i5(r5,a5)|0,l2=i5(x2,f2)|0,s2=d5+1|0,u5=(s2|0)==($1|0),u5){E=O1,I=l2;break}else r5=O1,x2=l2,d5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),h5=N1&Z1,h5){L2=a5;break}W1=(E|0)>(p1|0),W2=W1?-1:1,R5=W2+a5|0,a5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(P1=(o|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,r2=t+28|0,R2=0,M1=0;;){if(P1)if(a2=e[q1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=i5($1,R2)|0,$2)for(m5=1,z2=0;;)if(D5=(M1|0)/(m5|0)&-1,V2=(D5|0)%(L2|0)&-1,f5=a2+(V2<<2)|0,k5=e[f5>>2]|0,O5=+(k5|0),H2=+Vi(+O5),$5=H2,v2=$5*Y1,E5=j1+v2,S=E5,w=i2+z2|0,y=g1+(w<<2)|0,s[y>>2]=S,D=i5(m5,L2)|0,Q=z2+1|0,_=(Q|0)<($1|0),_)m5=D,z2=Q;else{p5=21;break}else for(A5=1,c5=0,e5=0;;)if(x=(M1|0)/(A5|0)&-1,R=(x|0)%(L2|0)&-1,L=a2+(R<<2)|0,F=e[L>>2]|0,T=+(F|0),G5=+Vi(+T),G=G5,P=G*Y1,z=e5,Y=z+j1,t0=Y+P,J=t0,W=i2+c5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=i5(A5,L2)|0,U=c5+1|0,a0=(U|0)<($1|0),a0)A5=H,c5=U,e5=J;else{p5=21;break}else if(E2=e[H1>>2]|0,A2=E2+M1|0,V1=d[A2>>0]|0,g2=V1<<24>>24==0,g2)B2=R2;else for(X1=e[q1>>2]|0,n2=e[r2>>2]|0,u2=(n2|0)==0,e2=o+(R2<<2)|0,y2=e[e2>>2]|0,S2=i5(y2,$1)|0,l5=1,o5=0,n5=0;;)if(w2=(M1|0)/(l5|0)&-1,m2=(w2|0)%(L2|0)&-1,M2=X1+(m2<<2)|0,_2=e[M2>>2]|0,d2=+(_2|0),_5=+Vi(+d2),J2=_5,G2=J2*Y1,q2=n5,T2=q2+j1,O2=T2+G2,K2=O2,B5=u2?n5:K2,s5=S2+o5|0,P2=g1+(s5<<2)|0,s[P2>>2]=K2,T1=i5(l5,L2)|0,x5=o5+1|0,X2=(x5|0)<($1|0),X2)l5=T1,o5=x5,n5=B5;else{p5=21;break}if((p5|0)==21&&(p5=0,Z=R2+1|0,B2=Z),V=M1+1|0,o0=(V|0)<(p1|0),o0)R2=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,d1=t+32|0,h1=c1,E1=X,u1=t+28|0,I1=($1|0)>0,C5=0,v5=0;;){if(A1?(n0=e[Z0>>2]|0,i0=n0+v5|0,r0=d[i0>>0]|0,K=r0<<24>>24==0,K?L5=C5:p5=25):p5=25,(p5|0)==25){if(p5=0,I1)for(c0=e[d1>>2]|0,l0=e[u1>>2]|0,j=(l0|0)==0,$0=o+(C5<<2)|0,g0=i5($1,v5)|0,u0=i5($1,C5)|0,c2=0,Y2=0;p0=g0+c2|0,I0=c0+(p0<<2)|0,w0=e[I0>>2]|0,f0=+(w0|0),b5=+Vi(+f0),E0=b5,d0=E0*h1,v0=Y2,K0=v0+E1,b0=K0+d0,m0=b0,g5=j?Y2:m0,A1?(L0=e[$0>>2]|0,F0=i5(L0,$1)|0,T0=F0+c2|0,U0=g1+(T0<<2)|0,s[U0>>2]=m0):(B0=u0+c2|0,x0=g1+(B0<<2)|0,s[x0>>2]=m0),D0=c2+1|0,M0=(D0|0)<($1|0),M0;)c2=D0,Y2=g5;J0=C5+1|0,L5=J0}if(Y0=v5+1|0,O0=(Y0|0)<(s1|0),O0)C5=L5,v5=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,C=0,p=0,B=0,v=0;v=m,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,C=e[I>>2]|0,p=(C|0)==0,p||I2(C),I2(t))}function PS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0;x=m,n=t+16|0,o=e[n>>2]|0,C=(o|0)==0,C||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,R=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(R|0))}function IQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;N0=m,O0=t,P0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,x=e[I>>2]|0,J=t+4|0,e[J>>2]=x,i0=t+8|0,e[i0>>2]=x,I0=e[n>>2]|0,e[t>>2]=I0,v0=n+8|0,K0=e[v0>>2]|0,b0=dQ(K0,x,0)|0,m0=t+20|0,e[m0>>2]=b0,C=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(C|0),S=v,w=+(p|0),y=1/w,D=y,Q=+_h(+S,+D),_=+Vo(+Q),R=~~_,J0=R;;){for(P=J0+1|0,L0=1,F0=1,U0=0;;)if(T=i5(L0,J0)|0,G=i5(F0,P)|0,z=U0+1|0,T0=(z|0)==(p|0),T0){c=T,f=G;break}else L0=T,F0=G,U0=z;if(L=(c|0)<=(C|0),F=(f|0)>(C|0),B0=F&L,B0){Y0=J0;break}M=(c|0)>(C|0),M0=M?-1:1,D0=M0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,a0=(W|0)<0,Z=-H,o=a0?Z:H,V=U+-788|0,o0=+XC(o,V),n0=o0,q0=+QQ(n0),r0=~~q0,K=t+48|0,e[K>>2]=r0,c0=n+20|0,s0=e[c0>>2]|0,l0=s0&2097151,j=+(l0|0),$0=s0>>>21,g0=$0&1023,u0=(s0|0)<0,p0=-j,a=u0?p0:j,w0=g0+-788|0,f0=+XC(a,w0),E0=f0,x0=+QQ(E0),C0=~~x0,d0=t+52|0,e[d0>>2]=C0,0}function HS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0;F3=m,y6=t,F6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(F6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(H2=n+8|0,B5=e[H2>>2]|0,P3=0,R6=0;;)if(p5=B5+P3|0,V5=d[p5>>0]|0,N3=V5<<24>>24>0,n6=N3&1,C=n6+R6|0,z5=P3+1|0,y=(z5|0)<(w|0),y)P3=z5,R6=C;else{$0=C;break}else $0=0;if(P=t+4|0,e[P>>2]=w,Z=t+8|0,e[Z>>2]=$0,K0=e[n>>2]|0,e[t>>2]=K0,M0=($0|0)>0,!M0)return a=0,m=F3,a|0;if(i1=n+8|0,d1=e[i1>>2]|0,S1=dQ(d1,w,$0)|0,H1=$0<<2,f=H1,A2=m,m=m+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){O2=t+16|0,K2=e[O2>>2]|0,s5=(K2|0)==0,s5||I2(K2),P2=t+20|0,T1=e[P2>>2]|0,j2=(T1|0)==0,j2||I2(T1),x5=t+24|0,X2=e[x5>>2]|0,D5=(X2|0)==0,D5||I2(X2),f5=t+28|0,k5=e[f5>>2]|0,O5=(k5|0)==0,O5||I2(k5),$5=t+32|0,v2=e[$5>>2]|0,E5=(v2|0)==0,E5||I2(v2),y6=t,F6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(F6|0));return a=-1,m=F3,a|0}else D3=0;for(;q2=S1+(D3<<2)|0,V2=e[q2>>2]|0,C5=V2>>>16,L5=V2<<16,u5=C5|L5,b5=u5>>>8,G5=b5&16711935,_5=u5<<8,d5=_5&-16711936,A5=G5|d5,l5=A5>>>4,m5=l5&252645135,M1=A5<<4,v5=M1&-252645136,c5=m5|v5,o5=c5>>>2,z2=o5&858993459,c2=c5<<2,e5=c2&-858993460,n5=z2|e5,g5=n5>>>1,Y2=g5&1431655765,h5=n5<<1,t5=h5&-1431655766,R5=Y2|t5,e[q2>>2]=R5,W2=A2+(D3<<2)|0,e[W2>>2]=q2,a5=D3+1|0,q6=(a5|0)==($0|0),!q6;)D3=a5;for(Mh(A2,$0,4,10),E=H1,L2=m,m=m+((1*E|0)+15&-16)|0,H5=S9(H1)|0,X5=t+20|0,e[X5>>2]=H5,I5=S1,H3=0;;)if(u3=A2+(H3<<2)|0,h3=e[u3>>2]|0,K5=h3,e3=K5-I5|0,n3=e3>>2,C3=L2+(n3<<2)|0,e[C3>>2]=H3,F5=H3+1|0,_6=(F5|0)==($0|0),_6){V3=0;break}else H3=F5;for(;w3=S1+(V3<<2)|0,f3=e[w3>>2]|0,B3=L2+(V3<<2)|0,K3=e[B3>>2]|0,T3=H5+(K3<<2)|0,e[T3>>2]=f3,Z5=V3+1|0,p6=(Z5|0)==($0|0),!p6;)V3=Z5;if(I2(S1),y3=OS(n,$0,L2)|0,j5=t+16|0,e[j5>>2]=y3,t6=S9(H1)|0,R3=t+24|0,e[R3>>2]=t6,o3=e[S>>2]|0,$3=(o3|0)>0,$3)for(p=e[i1>>2]|0,S6=0,d6=0;;)if(l3=p+S6|0,m3=d[l3>>0]|0,q5=m3<<24>>24>0,q5?(U5=d6+1|0,P5=L2+(d6<<2)|0,w5=e[P5>>2]|0,G3=t6+(w5<<2)|0,e[G3>>2]=S6,Y6=U5):Y6=d6,M5=S6+1|0,t3=(M5|0)<(o3|0),t3)S6=M5,d6=Y6;else{J6=Y6;break}else J6=0;if(A3=S9(J6)|0,x3=t+28|0,e[x3>>2]=A3,h6=t+40|0,e[h6>>2]=0,$3){for(B=e[i1>>2]|0,r5=0,k3=B,s6=0,Z6=0;;)if(p3=k3+s6|0,Q3=d[p3>>0]|0,i6=Q3<<24>>24>0,i6?(W3=Z6+1|0,U3=L2+(Z6<<2)|0,v3=e[U3>>2]|0,c3=e[x3>>2]|0,O3=c3+v3|0,d[O3>>0]=Q3,$6=e[i1>>2]|0,d3=$6+s6|0,w6=d[d3>>0]|0,k6=w6<<24>>24,v6=e[h6>>2]|0,B6=(k6|0)>(v6|0),B6?(e[h6>>2]=k6,x2=k6,R2=$6,N6=W3):(x2=v6,R2=$6,N6=W3)):(x2=r5,R2=k3,N6=Z6),j3=s6+1|0,D=e[S>>2]|0,Q=(j3|0)<(D|0),Q)r5=x2,k3=R2,s6=j3,Z6=N6;else{I=x2,j6=N6;break}if(_=(j6|0)==1,_){if(x=(I|0)==1,x)return R=t+36|0,e[R>>2]=1,L=r4(2,4)|0,F=t+32|0,e[F>>2]=L,M=L+4|0,e[M>>2]=1,e[L>>2]=1,a=0,m=F3,a|0;L3=1}else L3=j6}else L3=0;if(T=e[Z>>2]|0,G=(T|0)==0,G)x6=-4;else{for(c=T,G6=0;;)if(z=c>>>1,Y=G6+1|0,t0=(z|0)==0,t0){D6=G6;break}else c=z,G6=Y;r9=D6+-3|0,x6=r9}if(J=t+36|0,W=(x6|0)<5,o=W?5:x6,e0=(o|0)>8,K6=e0?8:o,e[J>>2]=K6,H=1<>2]=X,a0=(L3|0)>0,a0)for(r0=K6,i3=0;;){if(V=e[x3>>2]|0,o0=V+i3|0,n0=d[o0>>0]|0,i0=n0<<24>>24,K=(r0|0)<(i0|0),K)B2=r0;else if(c0=e[X5>>2]|0,s0=c0+(i3<<2)|0,l0=e[s0>>2]|0,j=l0>>>16,g0=l0<<16,u0=j|g0,p0=u0>>>8,I0=p0&16711935,w0=u0<<8,f0=w0&-16711936,E0=I0|f0,C0=E0>>>4,d0=C0&252645135,v0=E0<<4,b0=v0&-252645136,m0=d0|b0,L0=m0>>>2,F0=L0&858993459,T0=m0<<2,U0=T0&-858993460,B0=F0|U0,q0=B0>>>1,x0=q0&1431655765,D0=B0<<1,J0=D0&-1431655766,Y0=x0|J0,O0=r0-i0|0,z0=(O0|0)==31,z0)B2=r0;else for(N0=i3+1|0,r1=i0,s3=0;;)if(P0=s3<>2]=N0,S0=s3+1|0,c1=e[J>>2]|0,$1=d[o0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=I1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,y1=Q1<<8,L1=y1&-16711936,F1=x1|L1,G1=F1>>>4,w1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=w1|Z1,D1=N1>>>2,K1=D1&858993459,P1=N1<<2,q1=P1&-858993460,Y1=K1|q1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,O1=W1&-1431655766,l2=r2|O1,z1=X+(l2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(u6=A6;;){if(V1=u6+1|0,g2=(V1|0)<(L3|0),!g2){b3=u6;break}if(a2=e[X5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>I1>>>0,i2){b3=u6;break}else u6=V1}o2=(L3|0)>(C6|0);e:do if(o2)for(X1=e[X5>>2]|0,X3=C6;;){if(n2=X1+(X3<<2)|0,u2=e[n2>>2]|0,y2=u2&Z0,S2=I1>>>0>>0,S2){S3=X3;break e}if(w2=X3+1|0,m2=(L3|0)>(w2|0),m2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);M2=L3-S3|0,_2=b3>>>0>32767,N2=M2>>>0>32767,f6=N2?32767:M2,T6=b3<<15,r6=T6|-2147483648,d2=_2?-1073774592:r6,J2=d2|f6,e[z1>>2]=J2,e6=S3,Q6=b3}else e6=C6,Q6=A6;if(G2=O6+1|0,T2=(G2|0)<(H|0),!T2){a=0;break}v=e[J>>2]|0,u1=v,C6=e6,O6=G2,A6=Q6}return m=F3,a|0}function qS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,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,C=a>>>0>>0,p=C&1,B=I-p|0,B|0}function YS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0;if(K0=m,p=e[t>>2]|0,B=(p|0)==1,!B&&(F=t+4|0,H=e[F>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,K=r0+4|0,c0=e[K>>2]|0,s0=(c0|0)>0,!!s0)){for(l0=c0+1|0,C=p+-1|0,u0=p,p0=0,I0=p,f0=1;;){v=l0-p0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(I0|0)/(w|0)&-1,D=(p|0)/(I0|0)&-1,Q=i5(D,y)|0,_=w+-1|0,x=i5(D,_)|0,R=u0-x|0,L=1-f0|0;do if((w|0)==2)if(Y=(L|0)==0,o=C+R|0,t0=H+(o<<2)|0,Y){BQ(D,y,n,H,t0),E0=0;break}else{BQ(D,y,H,n,t0),E0=L;break}else if((w|0)==4)if(M=R+D|0,T=(L|0)==0,a=C+R|0,G=H+(a<<2)|0,c=C+M|0,P=H+(c<<2)|0,f=C+D|0,E=f+M|0,z=H+(E<<2)|0,T){mQ(D,y,n,H,G,P,z),E0=0;break}else{mQ(D,y,H,n,G,P,z),E0=L;break}else if(J=(D|0)==1,w0=J?f0:L,W=(w0|0)==0,I=C+R|0,e0=H+(I<<2)|0,W){pQ(D,w,y,Q,n,n,n,H,H,e0),E0=1;break}else{pQ(D,w,y,Q,H,H,H,n,n,e0),E0=0;break}while(!1);if(X=p0+1|0,$0=(X|0)==(c0|0),$0){C0=E0;break}else u0=R,p0=X,I0=y,f0=E0}if(U=(C0|0)!=1,a0=(p|0)>0,d0=a0&U,d0)g0=0;else return;for(;Z=H+(g0<<2)|0,V=e[Z>>2]|0,o0=n+(g0<<2)|0,e[o0>>2]=V,n0=g0+1|0,j=(n0|0)==(p|0),!j;)g0=n0}}function EQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0;if(d1=m,e[t>>2]=n,E=n*3|0,I=r4(E,4)|0,x=t+4|0,e[x>>2]=I,J=r4(32,4)|0,i0=t+8|0,e[i0>>2]=J,I0=(n|0)==1,!I0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(b0=H0+1|0,m0=(b0|0)<4,m0?(L0=25768+(b0<<2)|0,C=e[L0>>2]|0,s1=C):(p=l1+2|0,s1=p),B=(s1|0)!=2,O0=$1,g1=f1;;){if(J0=O0+1|0,v=(g1|0)/(s1|0)&-1,S=i5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=b0,$1=O0,f1=g1,l1=s1;continue e}if(y=O0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(O0|0)==0,a1=B|Q,!a1){if(_=(O0|0)<1,!_)for(x0=1;R=J0-x0|0,L=R+1|0,F=J+(L<<2)|0,M=e[F>>2]|0,T=R+2|0,G=J+(T<<2)|0,e[G>>2]=M,P=x0+1|0,B0=(P|0)==(J0|0),!B0;)x0=P;e[K0>>2]=2}if(z=(v|0)==1,z){o=Q,Y0=J0,z0=O0;break e}else O0=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=(z0|0)>0,n1=e0&a,!!n1)for(H=n+1|0,N0=0,S0=0,i1=1;;){if(X=S0+2|0,U=J+(X<<2)|0,a0=e[U>>2]|0,Z=i5(a0,i1)|0,V=(n|0)/(Z|0)&-1,o0=(a0|0)>1,o0){for(n0=(V|0)>2,r0=a0+-1|0,r1=N0,e1=0,c1=0;;){if(K=c1+i1|0,c0=+(K|0),s0=c0*W,n0)for(q0=0,D0=r1,M0=2;l0=q0+1,j=s0*l0,F0=+zo(+j),c=D0+n|0,$0=I+(c<<2)|0,s[$0>>2]=F0,A1=+Nn(+j),g0=D0+2|0,f=H+D0|0,u0=I+(f<<2)|0,s[u0>>2]=A1,p0=M0+2|0,w0=(p0|0)<(V|0),w0;)q0=l0,D0=g0,M0=p0;if(f0=r1+V|0,E0=e1+1|0,T0=(E0|0)==(r0|0),T0)break;r1=f0,e1=E0,c1=K}C0=i5(V,r0)|0,d0=C0+N0|0,P0=d0}else P0=N0;if(v0=S0+1|0,U0=(v0|0)==(z0|0),U0)break;N0=P0,S0=v0,i1=Z}}}function CQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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 mQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0;if(u3=m,I=i5(n,t)|0,C=I<<1,E1=(n|0)>0,E1)for(F1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,c2=0,n5=I,h5=F1,W2=0,a5=C;T2=o+(n5<<2)|0,f5=+s[T2>>2],L5=o+(h5<<2)|0,p=+s[L5>>2],L=p+f5,e0=o+(W2<<2)|0,K=+s[e0>>2],f0=o+(a5<<2)|0,U0=+s[f0>>2],P0=U0+K,s1=P0+L,d1=W2<<2,h1=a+(d1<<2)|0,s[h1>>2]=s1,u1=P0-L,I1=V1+d1|0,B1=a+(I1<<2)|0,s[B1>>2]=u1,p1=+s[e0>>2],Q1=+s[f0>>2],R1=p1-Q1,x1=d1+y2|0,y1=x1+-1|0,S1=a+(y1<<2)|0,s[S1>>2]=R1,L1=+s[L5>>2],G1=+s[T2>>2],w1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=w1,Z1=n5+t|0,N1=h5+t|0,D1=W2+t|0,K1=a5+t|0,P1=c2+1|0,c5=(P1|0)==(n|0),!c5;)c2=P1,n5=Z1,h5=N1,W2=D1,a5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(E1)for(j1=t<<1,B5=0,g5=0;;){for(j=g5<<2,$0=j+j1|0,z2=2,t5=g5,L2=j,H5=$0;O1=t5+2|0,l2=L2+2|0,z1=H5+-2|0,f2=O1+I|0,s2=z2+-2|0,E2=c+(s2<<2)|0,A2=+s[E2>>2],g2=f2+-1|0,a2=o+(g2<<2)|0,t2=+s[a2>>2],$2=t2*A2,i2=z2+-1|0,o2=c+(i2<<2)|0,X1=+s[o2>>2],n2=o+(f2<<2)|0,u2=+s[n2>>2],e2=u2*X1,S2=e2+$2,w2=u2*A2,m2=X1*t2,M2=w2-m2,_2=f2+I|0,N2=f+(s2<<2)|0,d2=+s[N2>>2],J2=_2+-1|0,G2=o+(J2<<2)|0,q2=+s[G2>>2],O2=q2*d2,K2=f+(i2<<2)|0,s5=+s[K2>>2],P2=o+(_2<<2)|0,T1=+s[P2>>2],j2=T1*s5,x5=j2+O2,X2=T1*d2,D5=s5*q2,V2=X2-D5,k5=_2+I|0,O5=E+(s2<<2)|0,$5=+s[O5>>2],v2=k5+-1|0,E5=o+(v2<<2)|0,r5=+s[E5>>2],x2=r5*$5,R2=E+(i2<<2)|0,B2=+s[R2>>2],C5=o+(k5<<2)|0,u5=+s[C5>>2],b5=u5*B2,G5=b5+x2,_5=u5*$5,H2=B2*r5,d5=_5-H2,A5=G5+S2,l5=G5-S2,m5=d5+M2,M1=M2-d5,B=o+(O1<<2)|0,v=+s[B>>2],S=v+V2,w=v-V2,y=t5+1|0,D=o+(y<<2)|0,Q=+s[D>>2],_=Q+x5,x=Q-x5,R=A5+_,F=L2|1,M=a+(F<<2)|0,s[M>>2]=R,T=m5+S,G=a+(l2<<2)|0,s[G>>2]=T,P=x-M1,z=H5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=P,t0=l5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+x,H=l2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,a0=l5+w,Z=a+(H<<2)|0,s[Z>>2]=a0,V=_-A5,o0=z1+j1|0,n0=o0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=V,r0=m5-S,c0=a+(o0<<2)|0,s[c0>>2]=r0,s0=z2+2|0,l0=(s0|0)<(t|0),l0;)z2=s0,t5=O1,L2=l2,H5=z1;if(r2=g5+t|0,W1=B5+1|0,o5=(W1|0)==(n|0),o5)break;B5=W1,g5=r2}if(g0=t&1,u0=(g0|0)==0,!u0)return}if(p0=t+-1|0,I0=p0+I|0,w0=t<<2,E0=t<<1,!!E1)for(C0=I0+C|0,e5=0,Y2=I0,R5=C0,p5=t,X5=t;d0=o+(Y2<<2)|0,v0=+s[d0>>2],K0=o+(R5<<2)|0,b0=+s[K0>>2],m0=b0+v0,L0=m0*-.7071067690849304,F0=v0-b0,T0=F0*.7071067690849304,B0=X5+-1|0,q0=o+(B0<<2)|0,x0=+s[q0>>2],D0=T0+x0,M0=p5+-1|0,J0=a+(M0<<2)|0,s[J0>>2]=D0,Y0=+s[q0>>2],O0=Y0-T0,z0=p5+E0|0,N0=z0+-1|0,r1=a+(N0<<2)|0,s[r1>>2]=O0,H0=Y2+I|0,e1=o+(H0<<2)|0,S0=+s[e1>>2],i1=L0-S0,c1=a+(p5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+L0,g1=a+(z0<<2)|0,s[g1>>2]=f1,l1=Y2+t|0,a1=R5+t|0,n1=p5+w0|0,A1=X5+t|0,Z0=e5+1|0,v5=(Z0|0)==(n|0),!v5;)e5=Z0,Y2=l1,R5=a1,p5=n1,X5=A1}}function BQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0;if(w1=m,f=i5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,d1=0,u1=0,p1=f;n0=o+(u1<<2)|0,p0=+s[n0>>2],L0=o+(p1<<2)|0,O0=+s[L0>>2],f1=O0+p0,s1=u1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,C=+s[n0>>2],p=+s[L0>>2],B=C-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=u1+t|0,y=p1+t|0,D=d1+1|0,n1=(D|0)==(n|0),!n1;)d1=D,u1=w,p1=y;if(Q=(t|0)<2,!Q){if(x=(t|0)==2,!x){if(_)for(h1=0,I1=0,Q1=f;;){for(q0=I1<<1,x0=q0+E|0,Z0=2,x1=Q1,S1=x0,L1=I1,F1=q0;M=x1+2|0,T=S1+-2|0,G=L1+2|0,P=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,a0=c+(U<<2)|0,Z=+s[a0>>2],V=o+(M<<2)|0,o0=+s[V>>2],i0=o0*Z,r0=i0+X,K=o0*J,c0=Z*H,s0=K-c0,l0=o+(G<<2)|0,j=+s[l0>>2],$0=s0+j,g0=a+(P<<2)|0,s[g0>>2]=$0,u0=+s[l0>>2],I0=s0-u0,w0=a+(T<<2)|0,s[w0>>2]=I0,f0=L1+1|0,E0=o+(f0<<2)|0,C0=+s[E0>>2],d0=C0+r0,v0=F1|1,K0=a+(v0<<2)|0,s[K0>>2]=d0,b0=+s[E0>>2],m0=b0-r0,F0=S1+-3|0,T0=a+(F0<<2)|0,s[T0>>2]=m0,U0=Z0+2|0,B0=(U0|0)<(t|0),B0;)Z0=U0,x1=M,S1=T,L1=G,F1=P;if(R=I1+t|0,L=Q1+t|0,F=h1+1|0,A1=(F|0)==(n|0),A1)break;h1=F,I1=R,Q1=L}if(D0=(t|0)%2&-1,M0=(D0|0)==1,M0)return}if(J0=t+-1|0,!!_)for(Y0=f+J0|0,E1=0,B1=t,R1=Y0,y1=J0;z0=o+(R1<<2)|0,N0=+s[z0>>2],P0=-N0,r1=a+(B1<<2)|0,s[r1>>2]=P0,H0=o+(y1<<2)|0,e1=e[H0>>2]|0,S0=B1+-1|0,i1=a+(S0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=y1+t|0,l1=E1+1|0,a1=(l1|0)==(n|0),!a1;)E1=l1,B1=c1,R1=$1,y1=g1}}function pQ(t,n,o,a,c,f,E,I,C,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,C=C|0,p=p|0;var B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0;m8=m,S=+(n|0),w=6.2831854820251465/S,h8=+zo(+w),N7=+Nn(+w),E2=n+1|0,p3=E2>>1,U9=t+-1|0,U4=U9>>1,L9=i5(o,t)|0,C9=i5(n,t)|0,c4=(t|0)==1;e:do if(!c4){if(w7=(a|0)>0,w7)for(pe=0;$0=E+(pe<<2)|0,K0=e[$0>>2]|0,M0=C+(pe<<2)|0,e[M0>>2]=K0,i1=pe+1|0,d8=(i1|0)==(a|0),!d8;)pe=i1;if(P=(n|0)>1,P)for(Z=(o|0)>0,C8=1,q7=0;;){if(d1=q7+L9|0,Z)for(n7=0,e4=d1;S1=f+(e4<<2)|0,H1=e[S1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=H1,e2=e4+t|0,q2=n7+1|0,j9=(q2|0)==(o|0),!j9;)n7=q2,e4=e2;if(V2=C8+1|0,r8=(V2|0)==(n|0),r8)break;C8=V2,q7=d1}if(C5=0-t|0,M1=(U4|0)>(o|0),M1){if(P)for(T3=(o|0)>0,q5=(t|0)>2,I3=C5,q9=1,b7=0;;){if(k3=b7+L9|0,w6=I3+t|0,T3)for(X3=k3-t|0,s3=w6+-1|0,A8=0,R7=X3;;){if(L3=R7+t|0,q5)for(n8=2,he=s3,It=L3;F3=he+2|0,I6=It+2|0,I9=he+1|0,W4=p+(I9<<2)|0,N4=+s[W4>>2],G4=It+1|0,o4=f+(G4<<2)|0,L4=+s[o4>>2],h4=L4*N4,Ie=p+(F3<<2)|0,H9=+s[Ie>>2],E9=f+(I6<<2)|0,Ee=+s[E9>>2],Te=Ee*H9,We=Te+h4,Ne=I+(G4<<2)|0,s[Ne>>2]=We,O4=+s[W4>>2],j4=+s[E9>>2],Se=j4*O4,je=+s[Ie>>2],Z9=+s[o4>>2],Ae=Z9*je,f4=Se-Ae,b6=I+(I6<<2)|0,s[b6>>2]=f4,P4=n8+2|0,a4=(P4|0)<(t|0),a4;)n8=P4,he=F3,It=I6;if(_4=A8+1|0,i8=(_4|0)==(o|0),i8)break;A8=_4,R7=L3}if(oe=q9+1|0,u8=(oe|0)==(n|0),u8)break;I3=w6,q9=oe,b7=k3}}else if(P)for(h5=(t|0)>2,h3=(o|0)>0,He=C5,re=1,G7=0;;){if(W9=He+t|0,ae=G7+L9|0,h5)for($e=W9+-1|0,I8=2,s8=$e,it=ae;;){if(B4=s8+2|0,X4=it+2|0,h3)for(F4=s8+1|0,le=p+(F4<<2)|0,c6=p+(B4<<2)|0,o8=0,V7=X4;Ge=+s[le>>2],$4=V7+-1|0,Ce=f+($4<<2)|0,p4=+s[Ce>>2],l4=p4*Ge,U6=+s[c6>>2],De=f+(V7<<2)|0,be=+s[De>>2],Xe=be*U6,k4=Xe+l4,g8=I+($4<<2)|0,s[g8>>2]=k4,q3=+s[le>>2],y9=+s[De>>2],m9=y9*q3,M4=+s[c6>>2],ee=+s[Ce>>2],$7=ee*M4,_e=m9-$7,l7=I+(V7<<2)|0,s[l7>>2]=_e,V8=V7+t|0,c7=o8+1|0,D8=(c7|0)==(o|0),!D8;)o8=c7,V7=V8;if(g7=I8+2|0,L8=(g7|0)<(t|0),L8)I8=g7,s8=B4,it=X4;else break}if(F8=re+1|0,ce=(F8|0)==(n|0),ce)break;He=W9,re=F8,G7=ae}if(M8=i5(L9,n)|0,T8=(U4|0)<(o|0),z8=(p3|0)>1,!T8){if(!z8)break;for(Z8=(o|0)>0,k7=(t|0)>2,qe=1,a8=0,Gt=M8;;){if(E0=a8+L9|0,C0=Gt-L9|0,Z8)for(Y4=0,rt=E0,nt=C0;;){if(k7)for(Be=2,z7=rt,Qt=nt;d0=z7+2|0,v0=Qt+2|0,b0=z7+1|0,m0=I+(b0<<2)|0,L0=+s[m0>>2],F0=Qt+1|0,T0=I+(F0<<2)|0,U0=+s[T0>>2],B0=U0+L0,q0=f+(b0<<2)|0,s[q0>>2]=B0,x0=I+(d0<<2)|0,D0=+s[x0>>2],J0=I+(v0<<2)|0,Y0=+s[J0>>2],O0=D0-Y0,z0=f+(F0<<2)|0,s[z0>>2]=O0,N0=+s[x0>>2],P0=+s[J0>>2],r1=P0+N0,H0=f+(d0<<2)|0,s[H0>>2]=r1,e1=+s[T0>>2],S0=+s[m0>>2],c1=e1-S0,$1=f+(v0<<2)|0,s[$1>>2]=c1,f1=Be+2|0,g1=(f1|0)<(t|0),g1;)Be=f1,z7=d0,Qt=v0;if(l1=rt+t|0,s1=nt+t|0,a1=Y4+1|0,H4=(a1|0)==(o|0),H4)break;Y4=a1,rt=l1,nt=s1}if(n1=qe+1|0,xe=(n1|0)==(p3|0),xe)break e;qe=n1,a8=E0,Gt=C0}}if(z8)for(D=(t|0)>2,Q=(o|0)>0,b9=1,Y7=0,Nt=M8;;){if(_=Y7+L9|0,x=Nt-L9|0,D)for(ge=2,Et=_,Bt=x;;){if(R=Et+2|0,L=Bt+2|0,Q)for(F=L-t|0,M=R-t|0,b8=0,Jt=M,ai=F;T=Jt+t|0,G=ai+t|0,z=T+-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+(T<<2)|0,a0=+s[U>>2],V=I+(G<<2)|0,o0=+s[V>>2],n0=a0-o0,i0=f+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],K=+s[V>>2],c0=K+r0,s0=f+(T<<2)|0,s[s0>>2]=c0,l0=+s[W>>2],j=+s[Y>>2],g0=l0-j,u0=f+(G<<2)|0,s[u0>>2]=g0,p0=b8+1|0,S8=(p0|0)==(o|0),!S8;)b8=p0,Jt=T,ai=G;if(I0=ge+2|0,w0=(I0|0)<(t|0),w0)ge=I0,Et=R,Bt=L;else break}if(f0=b9+1|0,t8=(f0|0)==(p3|0),t8)break;b9=f0,Y7=_,Nt=x}}while(!1);if(y=(a|0)>0,y)for(Q4=0;A1=C+(Q4<<2)|0,Z0=e[A1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,E1=Q4+1|0,H8=(E1|0)==(a|0),!H8;)Q4=E1;if(u1=i5(a,n)|0,I1=(p3|0)>1,I1){for(B1=(o|0)>0,q8=1,R8=0,Ut=u1;;){if(p1=R8+L9|0,Q1=Ut-L9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,s7=0,ni=x1,Ai=R1;y1=ni+t|0,L1=Ai+t|0,F1=I+(y1<<2)|0,G1=+s[F1>>2],w1=I+(L1<<2)|0,U1=+s[w1>>2],Z1=U1+G1,N1=f+(y1<<2)|0,s[N1>>2]=Z1,D1=+s[w1>>2],K1=+s[F1>>2],P1=D1-K1,q1=f+(L1<<2)|0,s[q1>>2]=P1,Y1=s7+1|0,te=(Y1|0)==(o|0),!te;)s7=Y1,ni=y1,Ai=L1;if(j1=q8+1|0,e7=(j1|0)==(p3|0),e7)break;q8=j1,R8=p1,Ut=Q1}if(r2=n+-1|0,W1=i5(r2,a)|0,I1){for(O1=(p3|0)>2,N8=0,U8=1,Je=1,_7=0,ut=u1;;){if(l2=_7+a|0,z1=ut-a|0,f2=U8*h8,s2=N8*N7,V1=f2-s2,g2=N8*h8,a2=U8*N7,t2=a2+g2,y)for(E8=0,Pt=l2,At=z1,Vt=W1,W7=a;$2=E+(E8<<2)|0,i2=+s[$2>>2],o2=W7+1|0,X1=E+(W7<<2)|0,n2=+s[X1>>2],u2=n2*V1,y2=u2+i2,S2=Pt+1|0,w2=C+(Pt<<2)|0,s[w2>>2]=y2,m2=Vt+1|0,M2=E+(Vt<<2)|0,_2=+s[M2>>2],N2=_2*t2,d2=At+1|0,J2=C+(At<<2)|0,s[J2>>2]=N2,G2=E8+1|0,f7=(G2|0)==(a|0),!f7;)E8=G2,Pt=S2,At=d2,Vt=m2,W7=o2;if(O1)for(G8=t2,w8=V1,u7=2,Ht=a,U7=W1;;){if(T2=Ht+a|0,O2=U7-a|0,K2=w8*V1,s5=G8*t2,P2=K2-s5,T1=G8*V1,j2=w8*t2,x5=j2+T1,y)for(t7=0,yt=l2,vt=z1,St=T2,x7=O2;X2=St+1|0,D5=E+(St<<2)|0,f5=+s[D5>>2],k5=f5*P2,O5=yt+1|0,$5=C+(yt<<2)|0,v2=+s[$5>>2],E5=v2+k5,s[$5>>2]=E5,r5=x7+1|0,x2=E+(x7<<2)|0,R2=+s[x2>>2],B2=R2*x5,L5=vt+1|0,u5=C+(vt<<2)|0,b5=+s[u5>>2],G5=b5+B2,s[u5>>2]=G5,_5=t7+1|0,v7=(_5|0)==(a|0),!v7;)t7=_5,yt=O5,vt=L5,St=X2,x7=r5;if(H2=u7+1|0,X8=(H2|0)==(p3|0),X8)break;G8=x5,w8=P2,u7=H2,Ht=T2,U7=O2}if(d5=Je+1|0,S7=(d5|0)==(p3|0),S7)break;N8=t2,U8=V1,Je=d5,_7=l2,ut=z1}if(I1)for(i7=1,K8=0;;){if(A5=K8+a|0,y)for(q4=0,J7=A5;l5=J7+1|0,m5=E+(J7<<2)|0,v5=+s[m5>>2],c5=C+(q4<<2)|0,o5=+s[c5>>2],z2=o5+v5,s[c5>>2]=z2,c2=q4+1|0,h7=(c2|0)==(a|0),!h7;)q4=c2,J7=l5;if(B5=i7+1|0,me=(B5|0)==(p3|0),me)break;i7=B5,K8=A5}}}if(e5=(t|0)<(o|0),e5){if(Y2=(t|0)>0,Y2)for(t5=(o|0)>0,Pe=0;;){if(t5)for(Ye=0,fe=Pe,K7=Pe;K5=I+(fe<<2)|0,e3=e[K5>>2]|0,n3=c+(K7<<2)|0,e[n3>>2]=e3,C3=fe+t|0,F5=K7+C9|0,V5=Ye+1|0,Re=(V5|0)==(o|0),!Re;)Ye=V5,fe=C3,K7=F5;if(w3=Pe+1|0,e8=(w3|0)==(t|0),e8)break;Pe=w3}}else if(n5=(o|0)>0,n5)for(g5=(t|0)>0,_8=0,Fe=0,dt=0;;){if(g5)for(Oe=0,Ot=Fe,qt=dt;R5=Ot+1|0,W2=I+(Ot<<2)|0,a5=e[W2>>2]|0,L2=qt+1|0,p5=c+(qt<<2)|0,e[p5>>2]=a5,H5=Oe+1|0,v8=(H5|0)==(t|0),!v8;)Oe=H5,Ot=R5,qt=L2;if(X5=Fe+t|0,I5=dt+C9|0,u3=_8+1|0,w9=(u3|0)==(o|0),w9)break;_8=u3,Fe=X5,dt=I5}if(f3=t<<1,B3=i5(L9,n)|0,I1)for(K3=(o|0)>0,r7=1,D7=0,Ct=0,Yt=B3;;){if(Z5=D7+f3|0,y3=Ct+L9|0,j5=Yt-L9|0,K3)for(B9=0,Z7=Z5,wt=y3,Zt=j5;t6=I+(wt<<2)|0,R3=e[t6>>2]|0,N3=Z7+-1|0,o3=c+(N3<<2)|0,e[o3>>2]=R3,$3=I+(Zt<<2)|0,l3=e[$3>>2]|0,m3=c+(Z7<<2)|0,e[m3>>2]=l3,U5=Z7+C9|0,P5=wt+t|0,w5=Zt+t|0,G3=B9+1|0,f8=(G3|0)==(o|0),!f8;)B9=G3,Z7=U5,wt=P5,Zt=w5;if(M5=r7+1|0,Ue=(M5|0)==(p3|0),Ue)break;r7=M5,D7=Z5,Ct=y3,Yt=j5}if(!c4){if(n6=(U4|0)<(o|0),t3=0-t|0,!n6){if(!I1)return;for(B=(o|0)<1,v=(t|0)<3,k8=B|v,Y8=1,o7=t3,mt=0,st=0,oi=B3;;){if(h6=o7+f3|0,Q3=mt+f3|0,i6=st+L9|0,W3=oi-L9|0,!k8)for(A7=0,zt=h6,ot=Q3,Qe=i6,at=W3;;){for(X9=2;$6=t-X9|0,d3=X9+Qe|0,k6=d3+-1|0,v6=I+(k6<<2)|0,B6=+s[v6>>2],j3=X9+at|0,l6=j3+-1|0,p6=I+(l6<<2)|0,_6=+s[p6>>2],q6=_6+B6,C6=X9+ot|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=q6,f6=+s[v6>>2],P3=+s[p6>>2],D3=f6-P3,H3=$6+zt|0,V3=H3+-1|0,S6=c+(V3<<2)|0,s[S6>>2]=D3,s6=I+(d3<<2)|0,i3=+s[s6>>2],O6=I+(j3<<2)|0,A6=+s[O6>>2],u6=A6+i3,b3=c+(C6<<2)|0,s[b3>>2]=u6,T6=+s[O6>>2],r6=+s[s6>>2],Q6=T6-r6,R6=c+(H3<<2)|0,s[R6>>2]=Q6,J6=X9+2|0,d6=(J6|0)<(t|0),d6;)X9=J6;if(U3=zt+C9|0,z5=ot+C9|0,v3=Qe+t|0,c3=at+t|0,O3=A7+1|0,W8=(O3|0)==(o|0),W8)break;A7=O3,zt=U3,ot=z5,Qe=v3,at=c3}if(Y6=Y8+1|0,j8=(Y6|0)==(p3|0),j8)break;Y8=Y6,o7=h6,mt=Q3,st=i6,oi=W3}return}if(I1)for(A3=(t|0)>2,x3=(o|0)>0,ie=1,ne=t3,si=0,pt=0,Kt=B3;;){if(Z6=ne+f3|0,N6=si+f3|0,j6=pt+L9|0,r9=Kt-L9|0,A3&&(x6=Z6+t|0,x3))for(Le=2;;){for(D4=Le+r9|0,b4=Le+j6|0,x4=Le+N6|0,T4=x6-Le|0,J8=0,kt=T4,O7=x4,Dt=b4,i9=D4;K6=Dt+-1|0,y6=I+(K6<<2)|0,L6=+s[y6>>2],F6=i9+-1|0,X6=I+(F6<<2)|0,A9=+s[X6>>2],W6=A9+L6,h9=O7+-1|0,f9=c+(h9<<2)|0,s[f9>>2]=W6,u9=+s[y6>>2],o9=+s[X6>>2],a9=u9-o9,T9=kt+-1|0,M6=c+(T9<<2)|0,s[M6>>2]=a9,e9=I+(Dt<<2)|0,N9=+s[e9>>2],d9=I+(i9<<2)|0,E4=+s[d9>>2],s4=E4+N9,g4=c+(O7<<2)|0,s[g4>>2]=s4,G9=+s[d9>>2],z9=+s[e9>>2],D9=G9-z9,P6=c+(kt<<2)|0,s[P6>>2]=D9,t9=kt+C9|0,C4=O7+C9|0,S4=Dt+t|0,A4=i9+t|0,Q9=J8+1|0,O8=(Q9|0)==(o|0),!O8;)J8=Q9,kt=t9,O7=C4,Dt=S4,i9=A4;if(G6=Le+2|0,D6=(G6|0)<(t|0),D6)Le=G6;else break}if(m4=ie+1|0,P8=(m4|0)==(p3|0),P8)break;ie=m4,ne=Z6,si=N6,pt=j6,Kt=r9}}}function JS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0,Xs=0,Un=0,eA=0,On=0,tA=0,iA=0,Pn=0,rA=0,Jr=0,nA=0,sA=0,AA=0,Hn=0,oA=0,qn=0,Yn=0,aA=0,Kr=0,Jn=0,Vr=0,Kn=0,Vn=0,$A=0,lA=0,cA=0,zr=0,zn=0,gA=0,Ir=0,Zr=0,hA=0,fA=0,Wr=0,$i=0,Zn=0,uA=0,dA=0,Wn=0,jn=0,Xn=0,IA=0,li=0,jr=0,EA=0,es=0,CA=0,mA=0,BA=0,ts=0,pA=0,QA=0,yA=0,wA=0,is=0,kA=0,vA=0,Xr=0,Er=0,en=0,SA=0,Zi=0,DA=0,rs=0,tn=0,ns=0,rn=0,bA=0,ss=0,As=0,_A=0,os=0,as=0,RA=0,Cr=0,$s=0,ci=0,nn=0,mr=0,Wi=0,Br=0,Oi=0,pr=0,ls=0,Pi=0,Bi=0,pi=0,Wt=0,Qi=0,Qr=0,ji=0,Xi=0,yr=0,gi=0,xA=0,$t=0,el=0,sn=0,An=0,Th=0,tl=0,LA=0,Nh=0,jo=0,il=0,Gh=0,Uh=0,Oh=0,Xo=0,rl=0,nl=0,ea=0,on=0,sl=0,Ph=0,FA=0,er=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Al=0,wr=0,Xh=0,ef=0,ol=0,tf=0,ta=0,MA=0,ia=0,rf=0,nf=0,ra=0,al=0,$l=0,ll=0,na=0,cl=0,TA=0,sf=0,Af=0,gl=0,of=0,af=0,hl=0,$f=0,lf=0,fl=0,ul=0,dl=0,Il=0,El=0,an=0,cf=0,Cl=0,gf=0,ml=0,Bl=0,hf=0,ff=0,uf=0,sa=0,pl=0,Ql=0,cs=0,yl=0,Aa=0,df=0,wl=0,If=0,kl=0,Ef=0,Cf=0,vl=0,Sl=0,mf=0,NA=0,Bf=0,oa=0,Dl=0,bl=0,pf=0,Qf=0,yf=0,wf=0,kf=0,vf=0,GA=0,_l=0,Rl=0,xl=0,UA=0,Sf=0,Ll=0,Df=0,Fl=0,bf=0,_f=0,Ml=0,aa=0,Rf=0,xf=0,OA=0,Lf=0,PA=0,Ff=0,$a=0,Mf=0,Tf=0,Nf=0,Tl=0,Gf=0,Uf=0,Of=0,Pf=0,Nl=0,Gl=0,tr=0,Ul=0,HA=0,la=0,ca=0,$n=0,Ol=0,ln=0,Hf=0,Pl=0,qf=0,Yf=0,Jf=0,Kf=0,qA=0,ga=0,kr=0,Vf=0,zf=0,Hl=0,ha=0,ql=0,Yl=0,Zf=0,Jl=0,Wf=0,fa=0,jf=0,Xf=0,O9=0,eu=0,Kl=0,tu=0,iu=0,ua=0,ru=0,da=0,Vl=0,nu=0,su=0,zl=0,Zl=0,Au=0,Ia=0,Ea=0,Wl=0,jl=0,ou=0,Xl=0,Ca=0,au=0,ec=0,$u=0,lu=0,cu=0,gu=0,tc=0,ic=0,ma=0,YA=0,rc=0,hu=0,nc=0,sc=0,fu=0,uu=0,du=0,Ac=0,Iu=0,Eu=0,Cu=0,mu=0,Bu=0,pu=0,oc=0,Qu=0,ac=0,yu=0,cn=0,wu=0,$c=0,ku=0,gs=0,lc=0,Ba=0,vu=0,JA=0,pa=0,Su=0,Qa=0,cc=0,Du=0,bu=0,_u=0,Ru=0,xu=0,gc=0,Lu=0,Fu=0,Mu=0,KA=0,hs=0,ya=0,Tu=0,wa=0,Nu=0,Gu=0,Uu=0,hc=0,Ou=0,Pu=0,Hu=0,qu=0,Yu=0,VA=0,Ju=0,Ku=0,fc=0,Vu=0,zu=0,Zu=0,Wu=0,hi=0,uc=0,fi=0,dc=0,ka=0,ju=0,jt=0,fs=0,Xu=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,Ad=0,od=0,us=0,va=0,ad=0,Cc=0,$d=0,ld=0,zA=0,cd=0,gd=0,mc=0,Bc=0,hd=0,fd=0,gn=0,ud=0,dd=0,hn=0,Id=0,pc=0,Ed=0,Cd=0,ds=0,Qc=0,md=0,yc=0,Bd=0,ir=0,Sa=0,pd=0,wc=0,kc=0,Qd=0,yd=0,vc=0,wd=0,kd=0,vd=0,Sc=0,Sd=0,Is=0,Dd=0,fn=0,bd=0,_d=0,Da=0,Rd=0,ba=0,_a=0,xd=0,Dc=0,bc=0,Ld=0,_c=0,Rc=0,xc=0,Fd=0,Lc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Oc=0,Pc=0,Hc=0,qc=0,Od=0,Pd=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,Yc=0,xa=0,zd=0,Zd=0,Wd=0,Jc=0,Kc=0,jd=0,Vc=0,La=0,ZA=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,WA=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,fI=0,jA=0,jc=0,uI=0,dI=0,un=0,Xc=0,eg=0,Fa=0,II=0,tg=0,EI=0,ig=0,rg=0,CI=0,mI=0,BI=0,pI=0,QI=0,XA=0,Ma=0,yI=0,wI=0,kI=0,vI=0,ng=0,SI=0,sg=0,DI=0,bI=0,Ag=0,vr=0,og=0,ag=0,_I=0,$g=0,eo=0,RI=0,xI=0,LI=0,to=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ta=0,io=0,GI=0,UI=0,OI=0,gg=0,hg=0,fg=0,PI=0,HI=0,Es=0,qI=0,ug=0,YI=0,Na=0,dg=0,JI=0,KI=0,VI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,ro=0,jI=0,XI=0,eE=0,Cs=0,Cg=0,mg=0,tE=0,Bg=0,pg=0,yi=0,Qg=0,rr=0,iE=0,rE=0,nE=0,sE=0,Ga=0,no=0,yg=0,wg=0,AE=0,so=0,ms=0,oE=0,Ao=0,Ua=0,aE=0,Oa=0,$E=0,lE=0,kg=0,oo=0,vg=0,cE=0,gE=0,hE=0,fE=0,Sg=0,uE=0,j7=0,y4=0,Xt=0,dE=0,Dg=0,bg=0,Pa=0,IE=0,Sr=0,Bs=0,EE=0,CE=0,_g=0,Ha=0,mE=0,Rg=0,xg=0,Lg=0,qa=0,Ya=0,Fg=0,ps=0,Ja=0,Mg=0,BE=0,dn=0,pE=0,Tg=0,ao=0,QE=0,Ng=0,wi=0,yE=0,wE=0,kE=0,vE=0,SE=0,DE=0,ki=0,bE=0,_E=0,RE=0,Gg=0,ui=0,$o=0,Ka=0,Ug=0,Og=0,xE=0,Pg=0,Hg=0,LE=0,FE=0,qg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,Qs=0,lo=0,co=0,GE=0,Va=0,UE=0,OE=0,Kg=0,ys=0,PE=0,HE=0,za=0,Za=0,go=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ws=0,sr=0,In=0,qE=0,Ar=0,En=0,YE=0,bt=0,_t=0,Rt=0,ho=0,fo=0,Vg=0,zg=0,uo=0,t$=0,xt=0,Io=0,_r=0,i$=0,JE=0,r$=0,KE=0,n$=0,Zg=0,Eo=0,VE=0,zE=0,Co=0,ZE=0,mo=0,Cn=0,Ke=0,v4=0,Wg=0,WE=0,s$=0,jg=0,jE=0,XE=0,Bo=0,eC=0,tC=0,iC=0,rC=0,Xg=0,nC=0,sC=0,AC=0,ei=0,po=0,mn=0,A$=0,ks=0,vs=0,X7=0,Ss=0,eh=0,th=0,Qo=0,Ds=0,bs=0,_s=0,oC=0,Rs=0,or=0,ih=0,Rr=0,ti=0,o$=0,a$=0,Hi=0,$$=0,l$=0,c$=0,xr=0,o6=0,yo=0,Lr=0,rh=0,ye=0,g$=0,B8=0,xs=0,Bn=0,pn=0,F9=0,Qn=0,Fr=0,J4=0,h$=0,mB=0,aC=0,im=0,rm=0,BB=0,$C=0,xQ=0,LQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,OQ=0,PQ=0,HQ=0,qQ=0,pB=0,QB=0,YQ=0,JQ=0,KQ=0,nh=0,nm=0,di=0,sh=0,Ah=0,oh=0,ah=0,lC=0,cC=0,gC=0,hC=0,fC=0,uC=0,dC=0,IC=0,EC=0,CC=0,sm=0,wo=0,ar=0,f$=0,$h=0,u$=0,yB=0,ko=0,mC=0,d$=0,Am=0,om=0,BC=0,am=0,$m=0,lm=0,cm=0,gm=0,hm=0,fm=0,wB=0,kB=0,vB=0,SB=0,DB=0,vo=0,So=0,Do=0,bo=0,VQ=0,$r=0,t4=0,BD=0,_o=0,um=0;if(BD=m,l0=t+28|0,j=e[l0>>2]|0,j8=(j|0)==0,j8||(At=j+3456|0,ls=e[At>>2]|0,_l=(ls|0)==0,n=_l&1,gs=j+3496|0,_c=+o1[gs>>3],gg=_c>-80,gg?o1[gs>>3]=-80:(FE=_c<-200,FE&&(o1[gs>>3]=-200)),$0=j+3512|0,V2=+o1[$0>>3],s3=V2>0,s3?o1[$0>>3]=0:(m4=V2<-99999,m4&&(o1[$0>>3]=-99999)),Te=j+3396|0,b6=e[Te>>2]|0,F4=(b6|0)==0,F4))return C=-131,C|0;if(be=j+3392|0,e[be>>2]=1,_e=j+3400|0,Z8=+o1[_e>>3],f8=b6+24|0,S7=e[f8>>2]|0,ce=b6+28|0,Le=e[ce>>2]|0,ie=~~Z8,J8=S7+(ie<<2)|0,N7=e[J8>>2]|0,K8=Le+(ie<<2)|0,dt=e[K8>>2]|0,e[j>>2]=N7,Bt=j+4|0,e[Bt>>2]=dt,U7=(N7|0)==(dt|0),W7=b6+144|0,d7=e[W7>>2]|0,iA=(d7|0)>0,iA){for(aA=b6+136|0,gA=b6+140|0,jn=b6+148|0,Zi=Z8,kr=j,sm=0;;){if(pA=~~Zi,as=e[aA>>2]|0,Pi=e[gA>>2]|0,$t=e[jn>>2]|0,Uh=$t+(sm<<2)|0,Hh=e[Uh>>2]|0,wr=r4(1,1120)|0,al=Hh+(pA<<2)|0,hl=e[al>>2]|0,gf=Pi+(hl*1120|0)|0,n4(wr|0,gf|0,1120)|0,Aa=e[wr>>2]|0,Bf=(Aa|0)>0,Bf){for(Rl=wr+4|0,nm=0,fm=-1;;)if(Ca=Rl+(nm<<2)|0,rc=e[Ca>>2]|0,mu=(rc|0)>(fm|0),t0=mu?rc:fm,lc=nm+1|0,HQ=(lc|0)==(Aa|0),HQ){J=t0;break}else nm=lc,fm=t0;if(Rf=(J|0)<0,!Rf){for(Gf=wr+256|0,$n=kr+24|0,jf=wr+192|0,nu=wr+320|0,u$=0,lm=-1;;){if(kc=Gf+(u$<<2)|0,fn=e[kc>>2]|0,Rc=(fn|0)>(lm|0),z=Rc?fn:lm,Gc=e[$n>>2]|0,Hd=Gc+fn|0,e[kc>>2]=Hd,Jc=jf+(u$<<2)|0,Zc=e[Jc>>2]|0,cI=(Zc|0)==31,cI)cm=z;else for(Q9=Zc,am=0,hm=z;;)if(Fa=(nu+(u$<<5)|0)+(am<<2)|0,XA=e[Fa>>2]|0,Ag=(XA|0)>(hm|0),Y=Ag?XA:hm,lg=(XA|0)>-1,lg?(hg=e[$n>>2]|0,KI=hg+XA|0,e[Fa>>2]=KI,e0=e[Jc>>2]|0,Ua=e0):Ua=Q9,Cs=am+1|0,nE=1<>2]|0,ju=e[Ku>>2]|0,Ec=e[$n>>2]|0,gd=Ec+1|0,e[$n>>2]=gd,Ed=(kr+1824|0)+(Ec<<2)|0,e[Ed>>2]=ju,GQ=(gm|0)==0,!GQ))for(yB=0;Ya=yB+1|0,Z=e[al>>2]|0,Ng=as+(Z<<2)|0,RE=e[Ng>>2]|0,qg=RE+(Ya<<2)|0,UE=e[qg>>2]|0,nr=e[$n>>2]|0,YE=nr+1|0,e[$n>>2]=YE,Io=(kr+1824|0)+(nr<<2)|0,e[Io>>2]=UE,NQ=(Ya|0)==(gm|0),!NQ;)yB=Ya}}if(Co=kr+16|0,XE=e[Co>>2]|0,po=(kr+800|0)+(XE<<2)|0,e[po>>2]=1,bs=e[Co>>2]|0,$$=(kr+1056|0)+(bs<<2)|0,e[$$>>2]=wr,g0=e[Co>>2]|0,b0=g0+1|0,e[Co>>2]=b0,J0=sm+1|0,c1=e[W7>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+o1[_e>>3],r0=e[l0>>2]|0,Zi=W,kr=r0,sm=J0}c0=e[l0>>2]|0,Z5=c0}else Z5=j;L1=j+3520|0,q1=+o1[L1>>3],A2=b6+124|0,e2=e[A2>>2]|0,q2=b6+128|0,f5=e[q2>>2]|0,L5=~~q1,v5=+(L5|0),t5=q1-v5,K5=Z5+2868|0,U5=f5+(L5<<3)|0,k3=+o1[U5>>3],w6=~~k3,X3=e2+(w6*492|0)|0,n4(K5|0,X3|0,492)|0,A6=+o1[U5>>3],Z6=1-t5,F6=A6*Z6,M6=L5+1|0,P6=f5+(M6<<3)|0,D4=+o1[P6>>3],b4=D4*t5,x4=b4+F6,T4=~~x4,W4=+(T4|0),N4=x4-W4,U9=N4==0,G4=(T4|0)>0,wB=G4&U9,I=wB?1:N4,o4=wB<<31>>31,L=o4+T4|0,L4=1-I,h4=L+1|0,Ie=(e2+(L*492|0)|0)+4|0,H9=+s[Ie>>2],E9=H9,Ee=L4*E9,We=(e2+(h4*492|0)|0)+4|0,U4=+s[We>>2],Ne=U4,O4=I*Ne,j4=Ee+O4,Se=j4,je=Z5+2872|0,s[je>>2]=Se,Z9=(e2+(L*492|0)|0)+32|0,Ae=+s[Z9>>2],f4=Ae,P4=L4*f4,L9=(e2+(h4*492|0)|0)+32|0,a4=+s[L9>>2],_4=a4,oe=I*_4,W9=P4+oe,ae=W9,$e=Z5+2900|0,s[$e>>2]=ae,B4=(e2+(L*492|0)|0)+8|0,X4=+s[B4>>2],le=X4,C9=L4*le,c6=(e2+(h4*492|0)|0)+8|0,Ge=+s[c6>>2],$4=Ge,Ce=I*$4,p4=C9+Ce,l4=p4,U6=Z5+2876|0,s[U6>>2]=l4,De=(e2+(L*492|0)|0)+36|0,Xe=+s[De>>2],c4=Xe,k4=L4*c4,g8=(e2+(h4*492|0)|0)+36|0,q3=+s[g8>>2],y9=q3,m9=y9*I,M4=m9+k4,ee=M4,$7=Z5+2904|0,s[$7>>2]=ee,l7=(e2+(L*492|0)|0)+12|0,w7=+s[l7>>2],V8=w7,c7=V8*L4,g7=(e2+(h4*492|0)|0)+12|0,L8=+s[g7>>2],F8=L8,M8=F8*I,T8=M8+c7,z8=T8,k7=Z5+2880|0,s[k7>>2]=z8,N8=(e2+(L*492|0)|0)+40|0,G8=+s[N8>>2],U8=G8,w8=U8*L4,k8=(e2+(h4*492|0)|0)+40|0,h8=+s[k8>>2],O8=h8,P8=O8*I,W8=P8+w8,Ue=W8,Re=Z5+2908|0,s[Re>>2]=Ue,e8=(e2+(L*492|0)|0)+16|0,v8=+s[e8>>2],w9=v8,h7=w9*L4,me=(e2+(h4*492|0)|0)+16|0,f7=+s[me>>2],v7=f7,X8=v7*I,te=X8+h7,e7=te,H8=Z5+2884|0,s[H8>>2]=e7,S8=(e2+(L*492|0)|0)+44|0,t8=+s[S8>>2],H4=t8,xe=H4*L4,i8=(e2+(h4*492|0)|0)+44|0,u8=+s[i8>>2],D8=u8,j9=D8*I,r8=j9+xe,d8=r8,n8=Z5+2912|0,s[n8>>2]=d8,I8=Z5+3512|0,ge=+o1[I8>>3],Be=ge,Oe=Z5+2936|0,s[Oe>>2]=Be,Pe=b6+132|0,X9=e[Pe>>2]|0,he=j+3472|0,s8=+o1[he>>3],pe=s8,Q4=~~pe,E8=+(Q4|0),t7=pe-E8,q4=t7,I3=e[l0>>2]|0,He=(X9|0)==0;e:do if(He)C8=I3+4|0,q9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=q9,b9=e[C8>>2]|0,qe=I3+3300|0,e[qe>>2]=b9,q8=I3+3244|0,e[q8>>2]=q9,u7=I3+3304|0,e[u7>>2]=b9,i7=I3+3248|0,e[i7>>2]=q9,r7=I3+3308|0,e[r7>>2]=b9,Y8=I3+3252|0,e[Y8>>2]=q9,n7=I3+3312|0,e[n7>>2]=b9,A8=I3+3256|0,e[A8>>2]=q9,o8=I3+3316|0,e[o8>>2]=b9,b8=I3+3260|0,e[b8>>2]=q9,Y4=I3+3320|0,e[Y4>>2]=b9,s7=I3+3264|0,e[s7>>2]=q9,_8=I3+3324|0,e[_8>>2]=b9,Ye=I3+3268|0,e[Ye>>2]=q9,B9=I3+3328|0,e[B9>>2]=b9,A7=I3+3272|0,e[A7>>2]=q9,Je=I3+3332|0,e[Je>>2]=b9,q7=I3+3276|0,e[q7>>2]=q9,D7=I3+3336|0,e[D7>>2]=b9,o7=I3+3280|0,e[o7>>2]=q9,b7=I3+3340|0,e[b7>>2]=b9,ne=I3+3284|0,e[ne>>2]=q9,G7=I3+3344|0,e[G7>>2]=b9,Y7=I3+3288|0,e[Y7>>2]=q9,a8=I3+3348|0,e[a8>>2]=b9,R8=I3+3292|0,e[R8>>2]=q9,_7=I3+3352|0,e[_7>>2]=b9,Fe=I3+3296|0,e[Fe>>2]=q9,fe=I3+3356|0,e[fe>>2]=b9;else{e4=I3+3120|0,R7=X9+(Q4*240|0)|0,$r=e4,_o=R7,um=$r+60|0;do e[$r>>2]=e[_o>>2]|0,$r=$r+4|0,_o=_o+4|0;while(($r|0)<(um|0));it=I3+3180|0,Nt=(X9+(Q4*240|0)|0)+60|0,$r=it,_o=Nt,um=$r+60|0;do e[$r>>2]=e[_o>>2]|0,$r=$r+4|0,_o=_o+4|0;while(($r|0)<(um|0));if(Gt=j+3420|0,Ut=e[Gt>>2]|0,ut=(Ut|0)==0,!ut)for(J7=1-q4,K7=Q4+1|0,It=t+8|0,V7=I3+4|0,X=e[It>>2]|0,Et=+(X|0),ar=0;;){if(rt=((X9+(Q4*240|0)|0)+120|0)+(ar<<2)|0,ni=+s[rt>>2],Ot=ni,Ct=Ot*J7,mt=((X9+(K7*240|0)|0)+120|0)+(ar<<2)|0,si=+s[mt>>2],nt=si,Ai=nt*q4,Pt=Ai+Ct,Ht=Pt,qt=Ht,Yt=qt*1e3,st=Yt/Et,pt=e[I3>>2]|0,Jt=+(pt|0),z7=Jt*st,Z7=~~z7,oi=(I3+3e3|0)+(ar<<2)|0,e[oi>>2]=Z7,Kt=e[V7>>2]|0,ai=+(Kt|0),Qt=ai*st,Vt=~~Qt,yt=(I3+3060|0)+(ar<<2)|0,e[yt>>2]=Vt,wt=~~Ht,zt=(I3+2940|0)+(ar<<2)|0,e[zt>>2]=wt,kt=((X9+(Q4*240|0)|0)+180|0)+(ar<<2)|0,vt=+s[kt>>2],Zt=vt,ot=Zt*J7,O7=((X9+(K7*240|0)|0)+180|0)+(ar<<2)|0,St=+s[O7>>2],Qe=St,Dt=Qe*q4,x7=Dt+ot,at=x7,i9=at,m8=i9*1e3,I7=m8/Et,L7=e[I3>>2]|0,Yr=+(L7|0),dr=Yr*I7,Xs=~~dr,Un=(I3+3240|0)+(ar<<2)|0,e[Un>>2]=Xs,eA=e[V7>>2]|0,On=+(eA|0),tA=On*I7,Pn=~~tA,rA=(I3+3300|0)+(ar<<2)|0,e[rA>>2]=Pn,Jr=ar+1|0,OQ=(Jr|0)==15,OQ)break e;ar=Jr}for(nA=(X9+(Q4*240|0)|0)+148|0,sA=+s[nA>>2],AA=sA,Hn=1-q4,oA=AA*Hn,qn=Q4+1|0,Yn=(X9+(qn*240|0)|0)+148|0,Kr=+s[Yn>>2],Jn=Kr,Vr=Jn*q4,Kn=Vr+oA,Vn=Kn,$A=Vn,lA=$A*1e3,cA=t+8|0,zr=I3+4|0,zn=~~Vn,a0=e[cA>>2]|0,Ir=+(a0|0),Zr=lA/Ir,$h=0;hA=e[I3>>2]|0,fA=+(hA|0),Wr=fA*Zr,$i=~~Wr,Zn=(I3+3e3|0)+($h<<2)|0,e[Zn>>2]=$i,uA=e[zr>>2]|0,dA=+(uA|0),Wn=dA*Zr,Xn=~~Wn,IA=(I3+3060|0)+($h<<2)|0,e[IA>>2]=Xn,li=(I3+2940|0)+($h<<2)|0,e[li>>2]=zn,jr=$h+1|0,qQ=(jr|0)==15,!qQ;)$h=jr;for(EA=(X9+(Q4*240|0)|0)+208|0,es=+s[EA>>2],CA=es,mA=CA*Hn,BA=(X9+(qn*240|0)|0)+208|0,ts=+s[BA>>2],QA=ts,yA=QA*q4,wA=yA+mA,is=wA,kA=is,vA=kA*1e3,Xr=vA/Ir,mC=0;Er=e[I3>>2]|0,en=+(Er|0),SA=en*Xr,DA=~~SA,rs=(I3+3240|0)+(mC<<2)|0,e[rs>>2]=DA,tn=e[zr>>2]|0,ns=+(tn|0),rn=ns*Xr,bA=~~rn,ss=(I3+3300|0)+(mC<<2)|0,e[ss>>2]=bA,As=mC+1|0,UQ=(As|0)==15,!UQ;)mC=As}while(!1);for(_A=+o1[_e>>3],os=b6+92|0,RA=e[os>>2]|0,Cr=b6+100|0,$s=e[Cr>>2]|0,ci=b6+108|0,nn=e[ci>>2]|0,mr=e[l0>>2]|0,Wi=mr+2852|0,Br=e[Wi>>2]|0,Oi=~~_A,pr=mr+28|0,Bi=e[pr>>2]|0,pi=(Bi|0)>0,pi||(e[pr>>2]=1),Wt=(Br|0)==0,Wt?(Qi=r4(1,520)|0,e[Wi>>2]=Qi,vo=Qi):vo=Br,n4(vo|0,25784,520)|0,e[vo>>2]=0,Qr=mr+3460|0,ji=e[Qr>>2]|0,Xi=(ji|0)==0,Xi||(yr=vo+500|0,e[yr>>2]=1,gi=RA+(Oi<<2)|0,xA=e[gi>>2]|0,el=vo+504|0,e[el>>2]=xA,sn=$s+(Oi<<2)|0,An=e[sn>>2]|0,Th=vo+508|0,e[Th>>2]=An,tl=nn+(Oi<<3)|0,LA=+o1[tl>>3],Nh=vo+512|0,o1[Nh>>3]=LA),jo=+o1[_e>>3],il=e[os>>2]|0,Gh=e[Cr>>2]|0,Oh=e[ci>>2]|0,Xo=e[l0>>2]|0,rl=Xo+2856|0,nl=e[rl>>2]|0,ea=~~jo,on=Xo+28|0,sl=e[on>>2]|0,Ph=(sl|0)>1,Ph||(e[on>>2]=2),FA=(nl|0)==0,FA?(er=r4(1,520)|0,e[rl>>2]=er,So=er):So=nl,n4(So|0,25784,520)|0,e[So>>2]=0,qh=Xo+3460|0,Yh=e[qh>>2]|0,Jh=(Yh|0)==0,Jh||(Kh=So+500|0,e[Kh>>2]=1,Vh=il+(ea<<2)|0,zh=e[Vh>>2]|0,Zh=So+504|0,e[Zh>>2]=zh,Wh=Gh+(ea<<2)|0,jh=e[Wh>>2]|0,Al=So+508|0,e[Al>>2]=jh,Xh=Oh+(ea<<3)|0,ef=+o1[Xh>>3],ol=So+512|0,o1[ol>>3]=ef),U7||(tf=+o1[_e>>3],ta=b6+96|0,MA=e[ta>>2]|0,ia=b6+104|0,rf=e[ia>>2]|0,nf=e[ci>>2]|0,ra=e[l0>>2]|0,$l=ra+2860|0,ll=e[$l>>2]|0,na=~~tf,cl=ra+28|0,TA=e[cl>>2]|0,sf=(TA|0)>2,sf||(e[cl>>2]=3),Af=(ll|0)==0,Af?(gl=r4(1,520)|0,e[$l>>2]=gl,Do=gl):Do=ll,n4(Do|0,25784,520)|0,e[Do>>2]=1,of=ra+3460|0,af=e[of>>2]|0,$f=(af|0)==0,$f||(lf=Do+500|0,e[lf>>2]=1,fl=MA+(na<<2)|0,ul=e[fl>>2]|0,dl=Do+504|0,e[dl>>2]=ul,Il=rf+(na<<2)|0,El=e[Il>>2]|0,an=Do+508|0,e[an>>2]=El,cf=nf+(na<<3)|0,Cl=+o1[cf>>3],ml=Do+512|0,o1[ml>>3]=Cl),Bl=+o1[_e>>3],hf=e[ta>>2]|0,ff=e[ia>>2]|0,uf=e[ci>>2]|0,sa=e[l0>>2]|0,pl=sa+2864|0,Ql=e[pl>>2]|0,cs=~~Bl,yl=sa+28|0,df=e[yl>>2]|0,wl=(df|0)>3,wl||(e[yl>>2]=4),If=(Ql|0)==0,If?(kl=r4(1,520)|0,e[pl>>2]=kl,bo=kl):bo=Ql,n4(bo|0,25784,520)|0,e[bo>>2]=1,Ef=sa+3460|0,Cf=e[Ef>>2]|0,vl=(Cf|0)==0,vl||(Sl=bo+500|0,e[Sl>>2]=1,mf=hf+(cs<<2)|0,NA=e[mf>>2]|0,oa=bo+504|0,e[oa>>2]=NA,Dl=ff+(cs<<2)|0,bl=e[Dl>>2]|0,pf=bo+508|0,e[pf>>2]=bl,Qf=uf+(cs<<3)|0,yf=+o1[Qf>>3],wf=bo+512|0,o1[wf>>3]=yf)),kf=(j+3528|0)+(n<<5)|0,vf=+o1[kf>>3],GA=b6+32|0,xl=e[GA>>2]|0,UA=b6+36|0,Sf=e[UA>>2]|0,Ll=b6+44|0,Df=e[Ll>>2]|0,WC(t,vf,0,xl,Sf,Df),Fl=j+3560|0,bf=+o1[Fl>>3],_f=e[GA>>2]|0,Ml=e[UA>>2]|0,aa=b6+52|0,xf=e[aa>>2]|0,WC(t,bf,1,_f,Ml,xf),U7||(OA=j+3592|0,Lf=+o1[OA>>3],PA=e[GA>>2]|0,Ff=e[UA>>2]|0,$a=e[aa>>2]|0,WC(t,Lf,2,PA,Ff,$a),Mf=j+3624|0,Tf=+o1[Mf>>3],Nf=e[GA>>2]|0,Tl=e[UA>>2]|0,Uf=b6+48|0,Of=e[Uf>>2]|0,WC(t,Tf,3,Nf,Tl,Of)),Pf=((j+3528|0)+(n<<5)|0)+24|0,Nl=+o1[Pf>>3],Gl=b6+80|0,tr=e[Gl>>2]|0,Ul=b6+84|0,HA=e[Ul>>2]|0,la=~~Nl,ca=+(la|0),Ol=Nl-ca,ln=e[l0>>2]|0,Hf=ln+2852|0,Pl=e[Hf>>2]|0,qf=HA+(la<<3)|0,Yf=+o1[qf>>3],Jf=1-Ol,Kf=Yf*Jf,qA=la+1|0,ga=HA+(qA<<3)|0,Vf=+o1[ga>>3],zf=Vf*Ol,Hl=zf+Kf,ha=~~Hl,ql=+(ha|0),Yl=Hl-ql,Zf=Yl==0,Jl=(ha|0)>0,kB=Jl&Zf,a=kB?1:Yl,Wf=kB<<31>>31,F=Wf+ha|0,fa=1-a,Xf=F+1|0,sh=0;O9=(tr+(F*160|0)|0)+(sh<<2)|0,eu=e[O9>>2]|0,Kl=+(eu|0),tu=Kl*fa,iu=(tr+(Xf*160|0)|0)+(sh<<2)|0,ua=e[iu>>2]|0,ru=+(ua|0),da=ru*a,Vl=da+tu,su=Vl,zl=(Pl+336|0)+(sh<<2)|0,s[zl>>2]=su,Zl=sh+1|0,LQ=(Zl|0)==40,!LQ;)sh=Zl;for(Au=j+3584|0,Ia=+o1[Au>>3],Ea=~~Ia,Wl=+(Ea|0),jl=Ia-Wl,ou=ln+2856|0,Xl=e[ou>>2]|0,au=HA+(Ea<<3)|0,ec=+o1[au>>3],$u=1-jl,lu=ec*$u,cu=Ea+1|0,gu=HA+(cu<<3)|0,tc=+o1[gu>>3],ic=tc*jl,ma=ic+lu,YA=~~ma,hu=+(YA|0),nc=ma-hu,sc=nc==0,fu=(YA|0)>0,vB=fu&sc,c=vB?1:nc,uu=vB<<31>>31,M=uu+YA|0,du=1-c,Ac=M+1|0,Ah=0;Iu=(tr+(M*160|0)|0)+(Ah<<2)|0,Eu=e[Iu>>2]|0,Cu=+(Eu|0),Bu=Cu*du,pu=(tr+(Ac*160|0)|0)+(Ah<<2)|0,oc=e[pu>>2]|0,Qu=+(oc|0),ac=Qu*c,yu=ac+Bu,cn=yu,wu=(Xl+336|0)+(Ah<<2)|0,s[wu>>2]=cn,$c=Ah+1|0,FQ=($c|0)==40,!FQ;)Ah=$c;if(!U7){for(ku=j+3616|0,Ba=+o1[ku>>3],vu=b6+88|0,JA=e[vu>>2]|0,pa=~~Ba,Su=+(pa|0),Qa=Ba-Su,cc=ln+2860|0,Du=e[cc>>2]|0,bu=JA+(pa<<3)|0,_u=+o1[bu>>3],xu=1-Qa,gc=_u*xu,Lu=pa+1|0,Fu=JA+(Lu<<3)|0,Mu=+o1[Fu>>3],KA=Mu*Qa,hs=KA+gc,ya=~~hs,Tu=+(ya|0),wa=hs-Tu,Gu=wa==0,Uu=(ya|0)>0,SB=Uu&Gu,f=SB?1:wa,hc=SB<<31>>31,T=hc+ya|0,Ou=1-f,Pu=T+1|0,oh=0;Hu=(tr+(T*160|0)|0)+(oh<<2)|0,qu=e[Hu>>2]|0,Yu=+(qu|0),VA=Yu*Ou,Ju=(tr+(Pu*160|0)|0)+(oh<<2)|0,fc=e[Ju>>2]|0,Vu=+(fc|0),zu=Vu*f,Zu=zu+VA,Wu=Zu,hi=(Du+336|0)+(oh<<2)|0,s[hi>>2]=Wu,uc=oh+1|0,MQ=(uc|0)==40,!MQ;)oh=uc;for(fi=j+3648|0,dc=+o1[fi>>3],ka=~~dc,jt=+(ka|0),fs=dc-jt,Xu=ln+2864|0,ed=e[Xu>>2]|0,td=JA+(ka<<3)|0,id=+o1[td>>3],rd=1-fs,Ic=id*rd,nd=ka+1|0,sd=JA+(nd<<3)|0,Ad=+o1[sd>>3],od=Ad*fs,us=od+Ic,va=~~us,ad=+(va|0),Cc=us-ad,$d=Cc==0,ld=(va|0)>0,DB=ld&$d,E=DB?1:Cc,zA=DB<<31>>31,G=zA+va|0,cd=1-E,mc=G+1|0,ah=0;Bc=(tr+(G*160|0)|0)+(ah<<2)|0,hd=e[Bc>>2]|0,fd=+(hd|0),gn=fd*cd,ud=(tr+(mc*160|0)|0)+(ah<<2)|0,dd=e[ud>>2]|0,hn=+(dd|0),Id=hn*E,pc=Id+gn,Cd=pc,ds=(ed+336|0)+(ah<<2)|0,s[ds>>2]=Cd,Qc=ah+1|0,TQ=(Qc|0)==40,!TQ;)ah=Qc}for(md=((j+3528|0)+(n<<5)|0)+8|0,yc=+o1[md>>3],Bd=b6+40|0,ir=e[Bd>>2]|0,Sa=~~yc,pd=+(Sa|0),wc=yc-pd,Qd=ir+(Sa<<2)|0,yd=e[Qd>>2]|0,vc=+(yd|0),wd=1-wc,kd=vc*wd,vd=Sa+1|0,Sc=ir+(vd<<2)|0,Sd=e[Sc>>2]|0,Is=+(Sd|0),Dd=Is*wc,bd=Dd+kd,_d=bd,Da=Pl+32|0,s[Da>>2]=_d,Rd=j+3568|0,ba=+o1[Rd>>3],_a=~~ba,xd=+(_a|0),Dc=ba-xd,bc=ir+(_a<<2)|0,Ld=e[bc>>2]|0,xc=+(Ld|0),Fd=1-Dc,Lc=xc*Fd,Fc=_a+1|0,Md=ir+(Fc<<2)|0,Td=e[Md>>2]|0,Mc=+(Td|0),Tc=Mc*Dc,Nd=Tc+Lc,Nc=Nd,Gd=Xl+32|0,s[Gd>>2]=Nc,U7||(Ud=j+3600|0,Uc=+o1[Ud>>3],Ra=~~Uc,Oc=+(Ra|0),Pc=Uc-Oc,Hc=ln+2860|0,qc=e[Hc>>2]|0,Od=ir+(Ra<<2)|0,Pd=e[Od>>2]|0,qd=+(Pd|0),Yd=1-Pc,Jd=qd*Yd,Kd=Ra+1|0,Vd=ir+(Kd<<2)|0,Yc=e[Vd>>2]|0,xa=+(Yc|0),zd=xa*Pc,Zd=zd+Jd,Wd=Zd,Kc=qc+32|0,s[Kc>>2]=Wd,jd=j+3632|0,Vc=+o1[jd>>3],La=~~Vc,ZA=+(La|0),zc=Vc-ZA,Xd=ln+2864|0,eI=e[Xd>>2]|0,tI=ir+(La<<2)|0,iI=e[tI>>2]|0,WA=+(iI|0),rI=1-zc,nI=WA*rI,sI=La+1|0,AI=ir+(sI<<2)|0,oI=e[AI>>2]|0,aI=+(oI|0),$I=aI*zc,lI=$I+nI,Wc=lI,gI=eI+32|0,s[gI>>2]=Wc),hI=((j+3528|0)+(n<<5)|0)+16|0,fI=+o1[hI>>3],jA=b6+76|0,jc=e[jA>>2]|0,uI=b6+60|0,dI=e[uI>>2]|0,un=b6+56|0,Xc=e[un>>2]|0,_l?tg=0:(eg=j+3408|0,II=+o1[eg>>3],tg=II),jC(t,fI,0,jc,dI,Xc,tg),EI=j+3576|0,ig=+o1[EI>>3],rg=e[jA>>2]|0,CI=b6+64|0,mI=e[CI>>2]|0,BI=e[un>>2]|0,jC(t,ig,1,rg,mI,BI,0),U7?(Es=e[l0>>2]|0,qI=Es+2852|0,ug=e[qI>>2]|0,YI=Es+3496|0,Na=+o1[YI>>3],dg=Na,JI=ug+4|0,s[JI>>2]=dg,VI=Es+3504|0,zI=+o1[VI>>3],Ig=zI,ZI=ug+8|0,s[ZI>>2]=Ig,WI=Es+2856|0,Eg=e[WI>>2]|0,ro=Eg+4|0,s[ro>>2]=dg,jI=Eg+8|0,s[jI>>2]=Ig,rr=Es):(pI=j+3608|0,QI=+o1[pI>>3],Ma=e[jA>>2]|0,yI=b6+68|0,wI=e[yI>>2]|0,kI=e[un>>2]|0,jC(t,QI,2,Ma,wI,kI,0),vI=j+3640|0,ng=+o1[vI>>3],SI=e[jA>>2]|0,sg=b6+72|0,DI=e[sg>>2]|0,bI=e[un>>2]|0,jC(t,ng,3,SI,DI,bI,0),vr=e[l0>>2]|0,og=vr+2852|0,ag=e[og>>2]|0,_I=vr+3496|0,$g=+o1[_I>>3],eo=$g,RI=ag+4|0,s[RI>>2]=eo,xI=vr+3504|0,LI=+o1[xI>>3],to=LI,FI=ag+8|0,s[FI>>2]=to,MI=vr+2856|0,cg=e[MI>>2]|0,TI=cg+4|0,s[TI>>2]=eo,NI=cg+8|0,s[NI>>2]=to,Ta=vr+2860|0,io=e[Ta>>2]|0,GI=io+4|0,s[GI>>2]=eo,UI=io+8|0,s[UI>>2]=to,OI=vr+2864|0,fg=e[OI>>2]|0,PI=fg+4|0,s[PI>>2]=eo,HI=fg+8|0,s[HI>>2]=to,rr=vr),XI=+o1[_e>>3],eE=b6+152|0,Cg=e[eE>>2]|0,mg=~~XI,tE=Cg+(mg<<3)|0,Bg=e[tE>>2]|0,pg=(Cg+(mg<<3)|0)+4|0,yi=e[pg>>2]|0,Qg=e[rr>>2]|0,iE=rr+4|0,rE=e[iE>>2]|0,sE=(Qg|0)==(rE|0),o=sE?1:2,Ga=rr+8|0,no=rr+12|0,yg=t+8|0,wg=t+4|0,di=0;;){if(AE=r4(1,3208)|0,so=(rr+544|0)+(di<<2)|0,e[so>>2]=AE,ms=r4(1,16)|0,oE=(rr+32|0)+(di<<2)|0,e[oE>>2]=ms,Ao=26304+(di<<4)|0,e[ms>>2]=e[Ao>>2]|0,e[ms+4>>2]=e[Ao+4>>2]|0,e[ms+8>>2]=e[Ao+8>>2]|0,e[ms+12>>2]=e[Ao+12>>2]|0,aE=e[Ga>>2]|0,Oa=(di|0)<(aE|0),Oa||($E=di+1|0,e[Ga>>2]=$E),lE=(rr+288|0)+(di<<2)|0,e[lE>>2]=0,kg=e[so>>2]|0,oo=Bg+(di*3208|0)|0,n4(kg|0,oo|0,3208)|0,vg=e[no>>2]|0,cE=(di|0)<(vg|0),cE||(gE=di+1|0,e[no>>2]=gE),hE=e[oo>>2]|0,Sg=(hE|0)>0,Sg)for(om=0;;){uE=((Bg+(di*3208|0)|0)+1092|0)+(om<<2)|0,j7=e[uE>>2]|0,y4=e[l0>>2]|0,Xt=S9(2840)|0,dE=(y4+1568|0)+(j7<<2)|0,e[dE>>2]=Xt,Dg=(yi+(j7<<5)|0)+12|0,bg=e[Dg>>2]|0,n4(Xt|0,bg|0,2840)|0,Pa=y4+20|0,IE=e[Pa>>2]|0,Bs=(IE|0)>(j7|0),Bs||(EE=j7+1|0,e[Pa>>2]=EE),CE=(yi+(j7<<5)|0)+8|0,_g=e[CE>>2]|0,Ha=Xt+8|0,e[Ha>>2]=_g,mE=yi+(j7<<5)|0,Rg=e[mE>>2]|0,xg=(y4+1312|0)+(j7<<2)|0,e[xg>>2]=Rg,Lg=y4+3420|0,qa=e[Lg>>2]|0,Fg=(qa|0)==0,ps=Xt+12|0,Ja=e[ps>>2]|0,Mg=(Ja|0)>0;do if(Fg){if(Mg)for(Tg=(yi+(j7<<5)|0)+24|0,ao=e[Tg>>2]|0,QE=Xt+24|0,ko=0;;)if(Ar=QE+(ko<<2)|0,En=ao+(ko<<4)|0,bt=e[En>>2]|0,_t=(bt|0)==0,_t||(Rt=e[Ar>>2]|0,ho=Rt|1,e[Ar>>2]=ho),fo=(ao+(ko<<4)|0)+4|0,Vg=e[fo>>2]|0,zg=(Vg|0)==0,zg||(v2=e[Ar>>2]|0,E5=v2|2,e[Ar>>2]=E5),r5=(ao+(ko<<4)|0)+8|0,x2=e[r5>>2]|0,R2=(x2|0)==0,R2||(B2=e[Ar>>2]|0,C5=B2|4,e[Ar>>2]=C5),u5=(ao+(ko<<4)|0)+12|0,b5=e[u5>>2]|0,G5=(b5|0)==0,G5||(_5=e[Ar>>2]|0,H2=_5|8,e[Ar>>2]=H2),d5=ko+1|0,A5=e[ps>>2]|0,l5=(d5|0)<(A5|0),l5)ko=d5;else{mo=A5;break}else mo=Ja;uo=(yi+(j7<<5)|0)+16|0,t$=e[uo>>2]|0,xt=y4+24|0,_r=e[xt>>2]|0,i$=(_r|0)>0,JE=t$;e:do if(i$)for(CC=0;;){if(r$=(y4+1824|0)+(CC<<2)|0,KE=e[r$>>2]|0,n$=(KE|0)==(t$|0),n$){R=CC;break e}if(Zg=CC+1|0,Eo=(Zg|0)<(_r|0),Eo)CC=Zg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,VE=_r+1|0,e[xt>>2]=VE,R=_r),zE=Xt+20|0,e[zE>>2]=R,ZE=(y4+1824|0)+(R<<2)|0,e[ZE>>2]=JE,Cn=(mo|0)>0,!Cn)break;for(Ke=(yi+(j7<<5)|0)+24|0,v4=Xt+280|0,Fr=0,d$=0;;){if(Wg=e[Ke>>2]|0,WE=Wg+(d$<<4)|0,s$=e[WE>>2]|0,jg=(s$|0)==0,jE=s$,jg)ks=Wg,aC=Fr;else{Bo=e[xt>>2]|0,eC=(Bo|0)>0;e:do if(eC)for(fC=0;;){if(tC=(y4+1824|0)+(fC<<2)|0,iC=e[tC>>2]|0,rC=(iC|0)==(s$|0),rC){x=fC;break e}if(Xg=fC+1|0,nC=(Xg|0)<(Bo|0),nC)fC=Xg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,sC=Bo+1|0,e[xt>>2]=sC,x=Bo),AC=Fr+1|0,ei=v4+(Fr<<2)|0,e[ei>>2]=x,mn=(y4+1824|0)+(x<<2)|0,e[mn>>2]=jE,n0=e[Ke>>2]|0,ks=n0,aC=AC}if(A$=(ks+(d$<<4)|0)+4|0,vs=e[A$>>2]|0,X7=(vs|0)==0,Ss=vs,X7)E2=ks,J4=aC;else{K1=e[xt>>2]|0,P1=(K1|0)>0;e:do if(P1)for(cC=0;;){if(H1=(y4+1824|0)+(cC<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(vs|0),j1){D=cC;break e}if(r2=cC+1|0,W1=(r2|0)<(K1|0),W1)cC=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,O1=K1+1|0,e[xt>>2]=O1,D=K1),l2=aC+1|0,z1=v4+(aC<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=Ss,i0=e[Ke>>2]|0,E2=i0,J4=l2}if(s2=(E2+(d$<<4)|0)+8|0,V1=e[s2>>2]|0,g2=(V1|0)==0,a2=V1,g2)_2=E2,h$=J4;else{t2=e[xt>>2]|0,$2=(t2|0)>0;e:do if($2)for(gC=0;;){if(i2=(y4+1824|0)+(gC<<2)|0,o2=e[i2>>2]|0,X1=(o2|0)==(V1|0),X1){Q=gC;break e}if(n2=gC+1|0,u2=(n2|0)<(t2|0),u2)gC=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[xt>>2]=y2,Q=t2),S2=J4+1|0,w2=v4+(J4<<2)|0,e[w2>>2]=Q,m2=(y4+1824|0)+(Q<<2)|0,e[m2>>2]=a2,K=e[Ke>>2]|0,_2=K,h$=S2}if(M2=(_2+(d$<<4)|0)+12|0,N2=e[M2>>2]|0,d2=(N2|0)==0,J2=N2,d2)mB=h$;else{G2=e[xt>>2]|0,T2=(G2|0)>0;e:do if(T2)for(hC=0;;){if(O2=(y4+1824|0)+(hC<<2)|0,K2=e[O2>>2]|0,s5=(K2|0)==(N2|0),s5){_=hC;break e}if(P2=hC+1|0,T1=(P2|0)<(G2|0),T1)hC=P2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,j2=G2+1|0,e[xt>>2]=j2,_=G2),x5=h$+1|0,X2=v4+(h$<<2)|0,e[X2>>2]=_,D5=(y4+1824|0)+(_<<2)|0,e[D5>>2]=J2,mB=x5}if(k5=d$+1|0,O5=e[ps>>2]|0,$5=(k5|0)<(O5|0),$5)Fr=mB,d$=k5;else break}}else{if(Mg)for(BE=(yi+(j7<<5)|0)+28|0,dn=e[BE>>2]|0,pE=Xt+24|0,wo=0;;)if(wi=pE+(wo<<2)|0,yE=dn+(wo<<4)|0,wE=e[yE>>2]|0,kE=(wE|0)==0,kE||(vE=e[wi>>2]|0,SE=vE|1,e[wi>>2]=SE),DE=(dn+(wo<<4)|0)+4|0,ki=e[DE>>2]|0,bE=(ki|0)==0,bE||(n6=e[wi>>2]|0,t3=n6|2,e[wi>>2]=t3),A3=(dn+(wo<<4)|0)+8|0,x3=e[A3>>2]|0,h6=(x3|0)==0,h6||(p3=e[wi>>2]|0,Q3=p3|4,e[wi>>2]=Q3),i6=(dn+(wo<<4)|0)+12|0,W3=e[i6>>2]|0,U3=(W3|0)==0,U3||(z5=e[wi>>2]|0,v3=z5|8,e[wi>>2]=v3),c3=wo+1|0,O3=e[ps>>2]|0,$6=(c3|0)<(O3|0),$6)wo=c3;else{Jg=O3;break}else Jg=Ja;_E=(yi+(j7<<5)|0)+20|0,Gg=e[_E>>2]|0,ui=y4+24|0,$o=e[ui>>2]|0,Ka=($o|0)>0,Ug=Gg;e:do if(Ka)for(lC=0;;){if(Og=(y4+1824|0)+(lC<<2)|0,xE=e[Og>>2]|0,Pg=(xE|0)==(Gg|0),Pg){B=lC;break e}if(Hg=lC+1|0,LE=(Hg|0)<($o|0),LE)lC=Hg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Yg=$o+1|0,e[ui>>2]=Yg,B=$o),ME=Xt+20|0,e[ME>>2]=B,TE=(y4+1824|0)+(B<<2)|0,e[TE>>2]=Ug,NE=(Jg|0)>0,!NE)break;for(Qs=(yi+(j7<<5)|0)+28|0,lo=Xt+280|0,xs=0,f$=0;;){if(co=e[Qs>>2]|0,GE=co+(f$<<4)|0,Va=e[GE>>2]|0,OE=(Va|0)==0,Kg=Va,OE)ws=co,Qn=xs;else{ys=e[ui>>2]|0,PE=(ys|0)>0;e:do if(PE)for(EC=0;;){if(HE=(y4+1824|0)+(EC<<2)|0,za=e[HE>>2]|0,Za=(za|0)==(Va|0),Za){y=EC;break e}if(go=EC+1|0,Wa=(go|0)<(ys|0),Wa)EC=go;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,ja=ys+1|0,e[ui>>2]=ja,y=ys),Dr=xs+1|0,br=lo+(xs<<2)|0,e[br>>2]=y,Xa=(y4+1824|0)+(y<<2)|0,e[Xa>>2]=Kg,H=e[Qs>>2]|0,ws=H,Qn=Dr}if(e$=(ws+(f$<<4)|0)+4|0,sr=e[e$>>2]|0,In=(sr|0)==0,qE=sr,In)R5=ws,Bn=Qn;else{m5=e[ui>>2]|0,M1=(m5|0)>0;e:do if(M1)for(uC=0;;){if(c5=(y4+1824|0)+(uC<<2)|0,o5=e[c5>>2]|0,z2=(o5|0)==(sr|0),z2){v=uC;break e}if(c2=uC+1|0,B5=(c2|0)<(m5|0),B5)uC=c2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,e5=m5+1|0,e[ui>>2]=e5,v=m5),n5=Qn+1|0,g5=lo+(Qn<<2)|0,e[g5>>2]=v,Y2=(y4+1824|0)+(v<<2)|0,e[Y2>>2]=qE,V=e[Qs>>2]|0,R5=V,Bn=n5}if(h5=(R5+(f$<<4)|0)+8|0,W2=e[h5>>2]|0,a5=(W2|0)==0,L2=W2,a5)f3=R5,pn=Bn;else{p5=e[ui>>2]|0,H5=(p5|0)>0;e:do if(H5)for(dC=0;;){if(X5=(y4+1824|0)+(dC<<2)|0,I5=e[X5>>2]|0,u3=(I5|0)==(W2|0),u3){S=dC;break e}if(h3=dC+1|0,e3=(h3|0)<(p5|0),e3)dC=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=p5+1|0,e[ui>>2]=n3,S=p5),C3=Bn+1|0,F5=lo+(Bn<<2)|0,e[F5>>2]=S,V5=(y4+1824|0)+(S<<2)|0,e[V5>>2]=L2,o0=e[Qs>>2]|0,f3=o0,pn=C3}if(w3=(f3+(f$<<4)|0)+12|0,B3=e[w3>>2]|0,K3=(B3|0)==0,T3=B3,K3)F9=pn;else{y3=e[ui>>2]|0,j5=(y3|0)>0;e:do if(j5)for(IC=0;;){if(t6=(y4+1824|0)+(IC<<2)|0,R3=e[t6>>2]|0,N3=(R3|0)==(B3|0),N3){w=IC;break e}if(o3=IC+1|0,$3=(o3|0)<(y3|0),$3)IC=o3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,l3=y3+1|0,e[ui>>2]=l3,w=y3),m3=pn+1|0,q5=lo+(pn<<2)|0,e[q5>>2]=w,P5=(y4+1824|0)+(w<<2)|0,e[P5>>2]=T3,F9=m3}if(w5=f$+1|0,G3=e[ps>>2]|0,M5=(w5|0)<(G3|0),M5)xs=F9,f$=w5;else break}}while(!1);eh=y4+3480|0,th=+o1[eh>>3],Qo=th*1e3,Ds=(y4+1056|0)+(di<<2)|0,_s=e[Ds>>2]|0,oC=e[yg>>2]|0,Rs=+(oC|0),or=Rs*.5,ih=y4+(di<<2)|0,Rr=e[ih>>2]|0,ti=Rr>>1,o$=Qo>or,pB=o$?or:Qo,a$=pB/or,Hi=+(ti|0),l$=Hi*a$,c$=~~l$,xr=_s+1116|0,e[xr>>2]=c$,o6=(yi+(j7<<5)|0)+4|0,yo=e[o6>>2]|0;do if((yo|0)==2)nh=250;else if((yo|0)==1){if(Lr=e[Lg>>2]|0,rh=(Lr|0)==0,ye=y4+2996|0,g$=y4+2968|0,KQ=rh?g$:ye,JQ=e[KQ>>2]|0,YQ=+(JQ|0),QB=YQ*1e3,B8=QB>or,!B8){nh=QB;break}nh=or}else nh=pB;while(!1);u0=e[xg>>2]|0,p0=(u0|0)==2;do if(p0){if(I0=y4+12|0,w0=e[I0>>2]|0,f0=(w0|0)>0,f0)for(Am=0;;){if(E0=(y4+544|0)+(Am<<2)|0,C0=e[E0>>2]|0,d0=e[C0>>2]|0,v0=(d0|0)>0,v0)for(BC=0;;){K0=(C0+1092|0)+(BC<<2)|0,m0=e[K0>>2]|0,L0=(m0|0)==(j7|0);do if(L0){if(F0=e[wg>>2]|0,T0=(F0|0)>0,T0)BB=0,$m=0;else{$C=0;break}for(;;)if(U0=(C0+4|0)+($m<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)==(BC|0),x0=q0&1,P=x0+BB|0,D0=$m+1|0,xQ=(D0|0)==(F0|0),xQ){$C=P;break}else BB=P,$m=D0}else $C=0;while(!1);if(M0=BC+1|0,Y0=(M0|0)<(d0|0),O0=($C|0)==0,z0=Y0&O0,z0)BC=M0;else{rm=$C;break}}else rm=0;if(N0=Am+1|0,P0=(N0|0)<(w0|0),r1=(rm|0)==0,H0=P0&r1,H0)Am=N0;else{im=rm;break}}else im=0;if(e1=nh/or,S0=+(im|0),i1=S0*Hi,$1=i1*e1,f1=e[Ha>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=i5(a1,f1)|0,A1=Xt+4|0,e[A1>>2]=n1,Z0=i5(im,ti)|0,d1=(n1|0)>(Z0|0),!d1){U=A1,Z1=n1,D1=f1;break}E1=(Z0|0)%(f1|0)&-1,u1=Z0-E1|0,e[A1>>2]=u1,U=A1,Z1=u1,D1=f1}else{if(I1=nh/or,B1=I1*Hi,p1=e[Ha>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,y1=~~x1,S1=i5(y1,p1)|0,F1=Xt+4|0,e[F1>>2]=S1,G1=(S1|0)>(ti|0),!G1){U=F1,Z1=S1,D1=p1;break}w1=(ti|0)%(p1|0)&-1,U1=ti-w1|0,e[F1>>2]=U1,U=F1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),d3=om+1|0,k6=e[oo>>2]|0,v6=(d3|0)<(k6|0),v6)om=d3;else break}if(B6=di+1|0,j3=(B6|0)<(o|0),j3)di=B6;else break}return l6=j+3428|0,p6=e[l6>>2]|0,_6=(p6|0)>0,_6?(q6=t+16|0,e[q6>>2]=p6):(C6=e[l0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,f6=C6+3400|0,P3=+o1[f6>>3],D3=~~P3,H3=+(D3|0),V3=P3-H3,S6=e6+4|0,s6=e[S6>>2]|0,i3=(s6|0)==0,i3?p=-1:(O6=e[wg>>2]|0,u6=s6+(D3<<3)|0,b3=+o1[u6>>3],T6=1-V3,r6=b3*T6,Q6=D3+1|0,R6=s6+(Q6<<3)|0,J6=+o1[R6>>3],d6=J6*V3,Y6=d6+r6,L3=+(O6|0),N6=Y6*L3,VQ=~~N6,p=VQ),j6=t+16|0,e[j6>>2]=p),r9=j+3424|0,x6=e[r9>>2]|0,G6=t+20|0,e[G6>>2]=x6,D6=j+3440|0,K6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=K6,L6=(p6|0)==0,L6?s0=0:(F3=j+3444|0,X6=e[F3>>2]|0,A9=+(X6|0),W6=+(p6|0),h9=A9/W6,f9=~~h9,s0=f9),u9=t+24|0,e[u9>>2]=s0,o9=j+3420|0,a9=e[o9>>2]|0,T9=(a9|0)==0,T9?(C=0,C|0):(I6=e[l6>>2]|0,e9=j+3360|0,e[e9>>2]=I6,N9=e[r9>>2]|0,d9=j+3364|0,e[d9>>2]=N9,E4=e[D6>>2]|0,s4=j+3368|0,e[s4>>2]=E4,g4=j+3444|0,G9=e[g4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,D9=j+3448|0,I9=+o1[D9>>3],t9=j+3376|0,o1[t9>>3]=I9,C4=j+3432|0,S4=+o1[C4>>3],A4=j+3384|0,o1[A4>>3]=S4,C=0,C|0)}function KS(t,n,o,a){t=t|0,n=n|0,o=o|0,a=+a;var c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0;if(P=m,I=(o|0)<1,I)f=-131;else if(C=t+28|0,Q=e[C>>2]|0,_=a,x=_+1e-7,R=x,L=!(R>=1),E=L?R:.9998999834060669,F=Q+3416|0,s[F>>2]=E,M=E,T=Q+3400|0,p=VS(n,o,M,0,T)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return zS(t,n,o),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=JS(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 WC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0;for(B1=m,E=~~n,I=+(E|0),x=n-I,J=t+28|0,i0=e[J>>2]|0,I0=(i0+2852|0)+(o<<2)|0,F0=e[I0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),C=1-x,p=h1*C,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*x,D=y+p,Q=D,_=F0+12|0,s[_>>2]=Q,R=(a+(E*20|0)|0)+4|0,L=e[R>>2]|0,F=+(L|0),M=F*C,T=(a+(B*20|0)|0)+4|0,G=e[T>>2]|0,P=+(G|0),z=P*x,Y=z+M,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*C,a0=(a+(B*20|0)|0)+8|0,Z=e[a0>>2]|0,V=+(Z|0),o0=V*x,n0=o0+U,r0=n0,K=F0+20|0,s[K>>2]=r0,c0=(a+(E*20|0)|0)+12|0,s0=+s[c0>>2],l0=s0,j=l0*C,$0=(a+(B*20|0)|0)+12|0,g0=+s[$0>>2],u0=g0,p0=u0*x,w0=p0+j,f0=w0,E0=F0+24|0,s[E0>>2]=f0,C0=(a+(E*20|0)|0)+16|0,d0=+s[C0>>2],v0=d0,K0=v0*C,b0=(a+(B*20|0)|0)+16|0,m0=+s[b0>>2],L0=m0,T0=L0*x,U0=T0+K0,B0=U0,q0=F0+28|0,s[q0>>2]=B0,x0=c+(E<<2)|0,D0=e[x0>>2]|0,M0=+(D0|0),J0=M0*C,Y0=c+(B<<2)|0,O0=e[Y0>>2]|0,N0=+(O0|0),P0=N0*x,r1=P0+J0,H0=r1,e1=F0+496|0,s[e1>>2]=H0,u1=0;S0=(f+(E*68|0)|0)+(u1<<2)|0,i1=e[S0>>2]|0,c1=+(i1|0),$1=c1*C,f1=(f+(B*68|0)|0)+(u1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*x,n1=a1+$1,A1=n1,Z0=(F0+36|0)+(u1<<2)|0,s[Z0>>2]=A1,d1=u1+1|0,E1=(d1|0)==17,!E1;)u1=d1}function jC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;for(w2=m,w=~~n,y=+(w|0),a0=n-y,j=t+28|0,v0=e[j>>2]|0,D0=(v0+2852|0)+(o<<2)|0,S0=e[D0>>2]|0,Z0=a+(w<<2)|0,y1=e[Z0>>2]|0,P1=+(y1|0),D=1-a0,z=P1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*a0,H=e0+z,X=H,U=S0+108|0,s[U>>2]=X,Z=f+(o*12|0)|0,V=e[Z>>2]|0,o0=S0+120|0,e[o0>>2]=V,n0=(f+(o*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=S0+124|0,e[r0>>2]=i0,K=(f+(o*12|0)|0)+8|0,c0=e[K>>2]|0,s0=S0+128|0,e[s0>>2]=c0,t2=0;;)if(l0=(c+(w*204|0)|0)+(t2<<2)|0,$0=e[l0>>2]|0,g0=+($0|0),u0=g0*D,p0=(c+(Y*204|0)|0)+(t2<<2)|0,I0=e[p0>>2]|0,w0=+(I0|0),f0=w0*a0,E0=f0+u0,C0=E0,d0=(S0+132|0)+(t2<<2)|0,s[d0>>2]=C0,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,w1=e[G1>>2]|0,U1=+(w1|0),Z1=U1*a0,N1=Z1+F1,D1=N1,K1=(S0+200|0)+($2<<2)|0,s[K1>>2]=D1,H1=$2+1|0,g2=(H1|0)==17,g2){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,O1=e[W1>>2]|0,l2=+(O1|0),z1=l2*a0,f2=z1+r2,Q=f2,_=(S0+268|0)+(i2<<2)|0,s[_>>2]=Q,x=i2+1|0,a2=(x|0)==17,!a2;)i2=x;for(R=S0+132|0,L=+s[R>>2],B0=L+6,F=S0+132|0,M=L,T=M+E,G=T,P=G>2]=y2,b0=1;I=(S0+132|0)+(b0<<2)|0,B=+s[I>>2],m0=(S0+132|0)+(b0<<2)|0,L0=B,F0=L0+E,T0=F0,U0=T0>2]=o2,q0=b0+1|0,s2=(q0|0)==17,!s2;)b0=q0;for(x0=S0+200|0,M0=+s[x0>>2],J0=M0+6,Y0=S0+200|0,O0=M0,z0=O0+E,N0=z0,P0=N0>2]=n2,r1=1;C=(S0+200|0)+(r1<<2)|0,v=+s[C>>2],H0=(S0+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=S0+268|0,l1=+s[g1>>2],s1=l1+6,a1=S0+268|0,n1=l1,A1=n1+E,d1=A1,h1=d1>2]=e2,E1=1;p=(S0+268|0)+(E1<<2)|0,S=+s[p>>2],u1=(S0+268|0)+(E1<<2)|0,I1=S,B1=I1+E,p1=B1,Q1=p1>2]=u2,R1=E1+1|0,A2=(R1|0)==17,!A2;)E1=R1}function VS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0;Q1=m,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,a0=(U|0)==-1,V=(U|0)==(t|0),u1=a0|V,u1&&(o0=e0+16|0,n0=e[o0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,K=e[r0>>2]|0,c0=(K|0)<(n|0),!c0&&(s0=e[e0>>2]|0,l0=e0+8|0,j=e[l0>>2]|0,g0=+o1[j>>3],u0=g0>o,!u0&&(w0=j+(s0<<3)|0,f0=+o1[w0>>3],E0=f0>2]|0,K0=Z+12|0,M0=e[K0>>2]|0,i1=(M0|0)==-1,s1=(M0|0)==(t|0),I1=i1|s1,I1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,x=e[_>>2]|0,R=(x|0)<(n|0),!R&&(L=e[Z>>2]|0,F=Z+4|0,M=e[F>>2]|0,T=+o1[M>>3],G=P>3],t0=P>Y,!t0))))){E=P,I=L,C=$0,p=M,l1=T;break e}if(A1=d1+1|0,J=26336+(A1<<2)|0,W=(A1|0)==17,W){f=0;break}else $0=J,d1=A1}return f|0}while(!1);C0=(I|0)>0;e:do if(C0)for(v0=l1,E1=0;;){if(d0=!(E>=v0),S=E1+1|0,!d0&&(b0=p+(S<<3)|0,m0=+o1[b0>>3],L0=E>3],v0=v,E1=S}else h1=0;while(!1);return T0=(h1|0)==(I|0),T0?(U0=+(I|0),B0=U0+-.001,B1=B0):(q0=p+(h1<<3)|0,x0=+o1[q0>>3],D0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,O0=+o1[Y0>>3],z0=O0,N0=D0,P0=E-N0,r1=z0-D0,H0=r1,e1=P0/H0,S0=e1,c1=+(h1|0),$1=S0+c1,f1=$1,B1=f1),o1[c>>3]=B1,g1=e[C>>2]|0,f=g1,f|0}function zS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0;S0=m,I=t+28|0,C=e[I>>2]|0,R=C+3396|0,W=e[R>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,w0=t+8|0,e[w0>>2]=o,T0=C+3456|0,e[T0>>2]=1,N0=C+3460|0,e[N0>>2]=1,r1=C+3400|0,H0=+o1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=C+3472|0,o1[S>>3]=H0,w=C+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,x=_+(p<<3)|0,L=+o1[x>>3],F=1-v,M=L*F,T=p+1|0,G=_+(T<<3)|0,P=+o1[G>>3],z=P*v,Y=z+M,t0=C+3480|0,o1[t0>>3]=Y,c=T,f=F):(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),a0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,o0=+(V|0),n0=o0*v,i0=n0+a0,K=C+3496|0,o1[K>>3]=i0,c0=W+116|0,s0=e[c0>>2]|0,l0=s0+(p<<2)|0,j=e[l0>>2]|0,$0=+(j|0),g0=$0*f,u0=s0+(c<<2)|0,p0=e[u0>>2]|0,I0=+(p0|0),f0=I0*v,E0=f0+g0,C0=C+3504|0,o1[C0>>3]=E0,d0=C+3512|0,o1[d0>>3]=-6,v0=C+3520|0,o1[v0>>3]=H0,K0=C+3528|0,o1[K0>>3]=H0,b0=C+3536|0,o1[b0>>3]=H0,m0=C+3544|0,o1[m0>>3]=H0,L0=C+3552|0,o1[L0>>3]=H0,F0=C+3560|0,o1[F0>>3]=H0,U0=C+3568|0,o1[U0>>3]=H0,B0=C+3576|0,o1[B0>>3]=H0,q0=C+3584|0,o1[q0>>3]=H0,x0=C+3592|0,o1[x0>>3]=H0,D0=C+3600|0,o1[D0>>3]=H0,M0=C+3608|0,o1[M0>>3]=H0,J0=C+3616|0,o1[J0>>3]=H0,Y0=C+3624|0,o1[Y0>>3]=H0,O0=C+3632|0,o1[O0>>3]=H0,z0=C+3640|0,o1[z0>>3]=H0,P0=C+3648|0,o1[P0>>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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=(c|0)!=0,C=I?a:0,R=I?f:0,W=n+(C<<2)|0,r0=e[W>>2]|0,w0=520336+(r0<<2)|0,v0=e[w0>>2]|0,K0=n+(R<<2)|0,b0=e[K0>>2]|0,m0=520336+(b0<<2)|0,p=e[m0>>2]|0,B=o+(c<<2)|0,v=e[B>>2]|0,S=o+(C<<2)|0,w=e[S>>2]|0,y=o+(R<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,x=Q-_|0,L=(w|0)/2&-1,F=x+L|0,M=(v|0)/2&-1,T=M+Q|0,E=(D|0)/-4&-1,G=T+E|0,P=(D|0)/2&-1,z=G+P|0,Y=(x|0)>0,Y?(t0=Q-_|0,J=t0<<2,se(t|0,0,J|0)|0,F0=x):F0=0,e0=(F0|0)<(F|0),e0)for(H=Q+L|0,X=H-F0|0,U=X-_|0,T0=F0,q0=0;o0=v0+(q0<<2)|0,n0=+s[o0>>2],i0=t+(T0<<2)|0,K=+s[i0>>2],c0=K*n0,s[i0>>2]=c0,s0=T0+1|0,l0=q0+1|0,L0=(l0|0)==(U|0),!L0;)T0=s0,q0=l0;if(a0=(D|0)>1,a0){for(Z=G+1|0,V=(z|0)>(Z|0),B0=G,D0=P;x0=D0+-1|0,u0=p+(x0<<2)|0,p0=+s[u0>>2],I0=t+(B0<<2)|0,f0=+s[I0>>2],E0=f0*p0,s[I0>>2]=E0,C0=B0+1|0,d0=(C0|0)<(z|0),d0;)B0=C0,D0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(M0=t+(U0<<2)|0,$0=v-U0|0,g0=$0<<2,se(M0|0,0,g0|0)|0)}function WS(t,n,o){t=t|0,n=+n,o=+o;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,m=m+64|0,i0=K+32|0,n0=K,a=S9(688)|0,c=a+408|0,lS(c),D=~~n,KS(c,t,D,o)|0,z=a+440|0,oS(z),aS(z,553008,553016),X=a+456|0,Gv(X,c)|0,U=a+568|0,Tv(X,U)|0,a0=Vp(0)|0,nD(a0),Z=sD()|0,Sv(a,Z)|0,V=a+680|0,e[V>>2]=0,o0=a+684|0,e[o0>>2]=0,f=a+360|0,cS(X,z,f,i0,n0)|0,zC(a,f)|0,zC(a,i0)|0,zC(a,n0)|0,E=a+392|0,I=Zp(a,E)|0,C=(I|0)==0,C)return m=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[o0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,_=y+Q|0,x=(_|0)==0,x||(F=e[V>>2]|0,M=Ui(F,_)|0,e[V>>2]=M,T=e[o0>>2]|0,G=M+T|0,P=e[E>>2]|0,Y=e[p>>2]|0,n4(G|0,P|0,Y|0)|0,t0=Y+T|0,e[o0>>2]=t0,J=M+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,n4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[o0>>2]=H),R=Zp(a,E)|0,L=(R|0)==0,!L;);return m=K,a|0}function jS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0;C=m,Dv(t)|0,n=t+568|0,Nv(n)|0,o=t+456|0,eQ(o),a=t+440|0,$S(a),c=t+408|0,lB(c),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function XS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0;return f=m,o=t+456|0,a=tQ(o,n)|0,a|0}function eD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,o=t+456|0,Uv(o,n)|0,a=t+568|0,y=iQ(o,a)|0,P=(y|0)==1,!!P)for(a0=t+360|0,Z=t+392|0,V=t+684|0,o0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(xv(a,0)|0,Mv(a)|0,C=Xp(o,a0)|0,p=(C|0)==0,!p)for(;;){if(zC(t,a0)|0,S=Wp(t,Z)|0,w=(S|0)==0,!w)for(;D=e[V>>2]|0,Q=e[o0>>2]|0,_=Q+D|0,x=e[n0>>2]|0,R=_+x|0,L=(R|0)==0,L||(T=e[i0>>2]|0,G=Ui(T,R)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[o0>>2]|0,n4(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,n4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),F=Wp(t,Z)|0,M=(F|0)==0,!M;);if(B=Xp(o,a0)|0,v=(B|0)==0,v)break}if(E=iQ(o,a)|0,I=(E|0)==1,!I)break}}function tD(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+684|0,o=e[n>>2]|0,o|0}function iD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;return f=m,n=t+684|0,e[n>>2]=0,o=t+680|0,a=e[o>>2]|0,a|0}function XC(t,n){t=+t,n=n|0;var o=0,a=0,c=0;return c=m,o=+rD(t,n),+o}function Mh(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0;if(x3=m,m=m+688|0,t3=x3+424|0,K5=x3+192|0,j5=x3,X=i5(o,n)|0,U=(X|0)==0,U){m=x3;return}for(J=X-o|0,q1=j5+4|0,e[q1>>2]=o,e[j5>>2]=o,e2=o,f5=o,w3=2;A2=e2+o|0,T2=A2+f5|0,L5=j5+(w3<<2)|0,e[L5>>2]=T2,v5=T2>>>0>>0,t5=w3+1|0,v5;)y2=f5,f5=T2,w3=t5,e2=y2;if(a0=0-o|0,j=t+J|0,v0=(J|0)>0,v0)for(D0=(o|0)==0,S0=j,y1=1,K2=0,F5=t,U5=1;;){Z0=y1&3,K1=(Z0|0)==3;do if(K1){e[K5>>2]=F5,P1=(U5|0)>1;e:do if(P1){for(B=U5,Q=F5,O1=F5,Z5=1;;){if(H1=Q+a0|0,Y1=B+-2|0,j1=j5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+o|0,W=0-M5|0,W1=Q+W|0,l2=ft[a&15](O1,W1)|0,z1=(l2|0)>-1,z1&&(f2=ft[a&15](O1,H1)|0,s2=(f2|0)>-1,s2)){f3=Z5;break}if(E2=ft[a&15](W1,H1)|0,V1=(E2|0)>-1,g2=Z5+1|0,a2=K5+(Z5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,C=t2):(e[a2>>2]=H1,f=H1,C=Y1),$2=(C|0)>1,!$2){f3=g2;break}P=e[K5>>2]|0,B=C,Q=f,O1=P,Z5=g2}if(i2=(f3|0)<2,!i2&&(o2=K5+(f3<<2)|0,e[o2>>2]=t3,!D0))for(y=o,G2=t3;;){for(d2=y>>>0>256,n2=d2?256:y,J2=e[K5>>2]|0,n4(G2|0,J2|0,n2|0)|0,_2=J2,K3=0;S2=K5+(K3<<2)|0,w2=K3+1|0,m2=K5+(w2<<2)|0,M2=e[m2>>2]|0,n4(_2|0,M2|0,n2|0)|0,N2=_2+n2|0,e[S2>>2]=N2,e3=(w2|0)==(f3|0),!e3;)_2=M2,K3=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=y1>>>2,O2=K2<<30,s5=q2|O2,P2=K2>>>2,T1=U5+2|0,r0=s5,D1=P2,P5=T1}else{if(j2=U5+-1|0,x5=j5+(j2<<2)|0,X2=e[x5>>2]|0,D5=F5,V2=S0-D5|0,k5=X2>>>0>>0,k5){e[K5>>2]=F5,O5=(U5|0)>1;e:do if(O5){for(v=U5,_=F5,R2=F5,y3=1;;){if($5=_+a0|0,v2=v+-2|0,E5=j5+(v2<<2)|0,r5=e[E5>>2]|0,n6=r5+o|0,e0=0-n6|0,x2=_+e0|0,B2=ft[a&15](R2,x2)|0,C5=(B2|0)>-1,C5&&(u5=ft[a&15](R2,$5)|0,b5=(u5|0)>-1,b5)){B3=y3;break}if(G5=ft[a&15](x2,$5)|0,_5=(G5|0)>-1,H2=y3+1|0,d5=K5+(y3<<2)|0,_5?(e[d5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[d5>>2]=$5,E=$5,p=v2),l5=(p|0)>1,!l5){B3=H2;break}z=e[K5>>2]|0,v=p,_=E,R2=z,y3=H2}if(m5=(B3|0)<2,!m5&&(M1=K5+(B3<<2)|0,e[M1>>2]=t3,!D0))for(D=o,W2=t3;;){for(h5=D>>>0>256,o5=h5?256:D,R5=e[K5>>2]|0,n4(W2|0,R5|0,o5|0)|0,g5=R5,T3=0;c2=K5+(T3<<2)|0,B5=T3+1|0,e5=K5+(B5<<2)|0,n5=e[e5>>2]|0,n4(g5|0,n5|0,o5|0)|0,Y2=g5+o5|0,e[c2>>2]=Y2,n3=(B5|0)==(B3|0),!n3;)g5=n5,T3=B5;if(c5=(D|0)==(o5|0),c5)break e;z2=D-o5|0,t0=e[M1>>2]|0,D=z2,W2=t0}}while(!1)}else em(F5,o,a,y1,K2,U5,0,j5);if(a5=(U5|0)==1,a5){L2=K2<<1,p5=y1>>>31,H5=p5|L2,X5=y1<<1,r0=X5,D1=H5,P5=0;break}else{I5=j2>>>0>31,u3=U5+-33|0,c=I5?0:y1,x=I5?y1:K2,R=I5?u3:j2,h3=x<>>Z,o0=V|h3,n0=c<>>0>>0,c0)y1=i0,K2=D1,F5=K,U5=P5;else{M=D1,T=i0,C3=K,q5=P5;break}}else M=0,T=1,C3=t,q5=1;if(em(C3,o,a,T,M,q5,0,j5),s0=(q5|0)==1,l0=(T|0)==1,m3=l0&s0,$0=(M|0)==0,l3=$0&m3,l3){m=x3;return}else p0=T,m0=M,V5=C3,w5=q5;for(;;){if(g0=(w5|0)<2,!g0){P0=m0<<2,r1=p0>>>30,H0=r1|P0,e1=w5+-2|0,i1=p0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=j5+(e1<<2)|0,a1=e[s1>>2]|0,G3=a1+o|0,H=0-G3|0,n1=V5+H|0,A1=w5+-1|0,em(n1,o,a,g1,l1,A1,1,j5),d1=l1<<1,h1=r1&1,E1=d1|h1,u1=g1<<1,I1=u1|1,B1=V5+a0|0,em(B1,o,a,I1,E1,e1,1,j5),p0=I1,m0=E1,V5=B1,w5=e1;continue}u0=p0+-1|0,I0=(u0|0)==0;do if(I0)N0=32,A3=56;else{if(w0=u0&1,f0=(w0|0)==0,f0){for(S=u0,t6=0;;)if(E0=t6+1|0,C0=S>>>1,d0=C0&1,K0=(d0|0)==0,K0)S=C0,t6=E0;else{L=E0;break}b0=(L|0)==0,b0?A3=51:Y0=L}else A3=51;if((A3|0)==51){if(A3=0,L0=(m0|0)==0,L0){N0=64,A3=56;break}if(F0=m0&1,T0=(F0|0)==0,T0)w=m0,R3=0;else{I=0,Q1=p0,S1=m0,w1=0;break}for(;;)if(U0=R3+1|0,B0=w>>>1,q0=B0&1,x0=(q0|0)==0,x0)w=B0,R3=U0;else{F=U0,N3=R3;break}if(M0=N3+33|0,J0=(F|0)==0,J0){I=0,Q1=p0,S1=m0,w1=0;break}else Y0=M0}O0=Y0>>>0>31,O0?(N0=Y0,A3=56):(I=Y0,Q1=p0,S1=m0,w1=Y0)}while(!1);if((A3|0)==56&&(A3=0,z0=N0+-32|0,I=z0,Q1=m0,S1=0,w1=N0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=w1+w5|0,G=V5+a0|0,U1=(G1|0)==1,Z1=(L1|0)==1,o3=Z1&U1,N1=(F1|0)==0,$3=N1&o3,$3)break;p0=L1,m0=F1,V5=G,w5=G1}m=x3}function em(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0;B2=m,m=m+720|0,x2=B2+456|0,O2=B2+228|0,T2=B2,e[T2>>2]=t,U=0-n|0,a0=(a|0)!=1,m0=(c|0)!=0,Y0=m0|a0;e:do if(Y0)if($1=I+(f<<2)|0,E1=e[$1>>2]|0,F1=0-E1|0,Y1=t+F1|0,V1=ft[o&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,x=f,G=E,P2=1,R2=18;else for(w=t,M=f,P=E,d0=Y1,P0=c,D5=1,v2=a;;){if(Z=(P|0)==0,$0=(M|0)>1,$5=Z&$0,$5){if(w0=w+U|0,f0=M+-2|0,E0=I+(f0<<2)|0,C0=e[E0>>2]|0,v0=ft[o&15](w0,d0)|0,K0=(v0|0)>-1,K0){v=w,R=M,j2=D5;break e}if(E5=C0+n|0,H=0-E5|0,b0=w+H|0,L0=ft[o&15](b0,d0)|0,F0=(L0|0)>-1,F0){v=w,R=M,j2=D5;break e}}T0=D5+1|0,U0=T2+(D5<<2)|0,e[U0>>2]=d0,B0=v2+-1|0,q0=(B0|0)==0;do if(q0)A1=32,R2=15;else{if(x0=B0&1,D0=(x0|0)==0,D0){for(Q=B0,f5=0;;)if(M0=f5+1|0,J0=Q>>>1,O0=J0&1,z0=(O0|0)==0,z0)Q=J0,f5=M0;else{z=M0;break}N0=(z|0)==0,N0?R2=10:s1=z}else R2=10;if((R2|0)==10){if(R2=0,r1=(P0|0)==0,r1){A1=64,R2=15;break}if(H0=P0&1,e1=(H0|0)==0,e1)_=P0,k5=0;else{p=0,d1=v2,I1=P0,R1=0;break}for(;;)if(S0=k5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,k5=S0;else{Y=S0,O5=k5;break}if(g1=O5+33|0,l1=(Y|0)==0,l1){p=0,d1=v2,I1=P0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(A1=s1,R2=15):(p=s1,d1=v2,I1=P0,R1=s1)}while(!1);if((R2|0)==15&&(R2=0,n1=A1+-32|0,p=n1,d1=P0,I1=0,R1=A1),Z0=d1>>>p,h1=32-p|0,u1=I1<>>p,Q1=R1+M|0,x1=(B1|0)!=1,y1=(p1|0)!=0,S1=y1|x1,!S1){v=d0,R=Q1,j2=T0;break e}if(t0=e[T2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,w1=0-G1|0,U1=d0+w1|0,Z1=ft[o&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=d0,x=Q1,G=0,P2=T0,R2=18;break}else y=d0,M=Q1,P=0,d0=U1,P0=p1,D5=T0,v2=B1,w=y}else B=t,x=f,G=E,P2=1,R2=18;while(!1);if((R2|0)==18)if(D1=(G|0)==0,D1)v=B,R=x,j2=P2;else{m=B2;return}K1=(j2|0)<2;e:do if(!K1&&(P1=T2+(j2<<2)|0,e[P1>>2]=x2,H1=(n|0)==0,!H1))for(F=n,g2=x2;;){for(E2=F>>>0>256,j1=E2?256:F,A2=e[T2>>2]|0,n4(g2|0,A2|0,j1|0)|0,f2=A2,X2=0;W1=T2+(X2<<2)|0,O1=X2+1|0,l2=T2+(O1<<2)|0,z1=e[l2>>2]|0,n4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,s5=(O1|0)==(j2|0),!s5;)f2=z1,X2=O1;if(q1=(F|0)==(j1|0),q1)break e;r2=F-j1|0,e0=e[P1>>2]|0,F=r2,g2=e0}while(!1);e[O2>>2]=v,a2=(R|0)>1;e:do if(a2){for(D=R,T=v,n2=v,V2=1;;){if(t2=T+U|0,$2=D+-2|0,i2=I+($2<<2)|0,o2=e[i2>>2]|0,r5=o2+n|0,X=0-r5|0,X1=T+X|0,u2=ft[o&15](n2,X1)|0,e2=(u2|0)>-1,e2&&(S2=ft[o&15](n2,t2)|0,w2=(S2|0)>-1,w2)){T1=V2;break}if(m2=ft[o&15](X1,t2)|0,M2=(m2|0)>-1,_2=V2+1|0,N2=O2+(V2<<2)|0,M2?(e[N2>>2]=X1,d2=D+-1|0,C=X1,S=d2):(e[N2>>2]=t2,C=t2,S=$2),J2=(S|0)>1,!J2){T1=_2;break}J=e[O2>>2]|0,D=S,T=C,n2=J,V2=_2}if(G2=(T1|0)<2,G2)I0=x2;else if(q2=O2+(T1<<2)|0,e[q2>>2]=x2,V=(n|0)==0,V)I0=x2;else for(L=n,p0=x2;;){for(g0=L>>>0>256,n0=g0?256:L,u0=e[O2>>2]|0,n4(p0|0,u0|0,n0|0)|0,l0=u0,x5=0;r0=O2+(x5<<2)|0,K=x5+1|0,c0=O2+(K<<2)|0,s0=e[c0>>2]|0,n4(l0|0,s0|0,n0|0)|0,j=l0+n0|0,e[r0>>2]=j,K2=(K|0)==(T1|0),!K2;)l0=s0,x5=K;if(o0=(L|0)==(n0|0),o0){I0=x2;break e}i0=L-n0|0,W=e[q2>>2]|0,L=i0,p0=W}}else I0=x2;while(!1);m=B2}function Gi(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0;return R=m,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?(C=D?-0:0,n=C,+n):(n=_,+n))}function QQ(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,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,C=t+8388608,p=C+-8388608,S=f?I:p,B=S==0,B?(v=f?-0:0,n=v,+n):(n=S,+n))}function rD(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0;return z=m,f=(n|0)>1023,f?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(x=E*898846567431158e293,R=n+-2046|0,L=(R|0)>1023,o=L?1023:R,a=o,G=x):(a=Q,G=E)):(F=(n|0)<-1022,F?(M=t*22250738585072014e-324,T=n+1022|0,I=(T|0)<-1022,I?(C=M*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=C):(a=T,G=M)):(a=n,G=t)),v=a+1023|0,S=kQ(v|0,0,52)|0,w=H6,e[p2>>2]=S,e[p2+4>>2]=w,y=+o1[p2>>3],D=G*y,+D}function nD(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0;I=m,n=t+-1|0,o=553040,a=o,e[a>>2]=n,c=o+4|0,f=c,e[f>>2]=0}function sD(){var t=0,n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=m,t=553040,n=t,C=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=$D(C|0,v|0,1284865837,1481765933)|0,w=H6,y=zs(S|0,w|0,1,0)|0,D=H6,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=H6,E|0}function S9(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0,l7=0,w7=0,V8=0,c7=0,g7=0,L8=0,F8=0,M8=0,T8=0,z8=0,Z8=0,k7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,v7=0,X8=0,S7=0,te=0,e7=0,H8=0,S8=0,t8=0,H4=0,xe=0,i8=0,u8=0,D8=0,ce=0,j9=0,r8=0,d8=0,n8=0,I8=0,ge=0,Be=0,Oe=0,Pe=0,X9=0,Le=0,he=0,s8=0,pe=0,Q4=0,E8=0,t7=0,q4=0,I3=0,He=0,C8=0,ie=0,q9=0,re=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,Y4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,N7=0,q7=0,D7=0,o7=0,b7=0,ne=0,G7=0,Y7=0,a8=0,R8=0,_7=0,K8=0,Fe=0,fe=0,e4=0,R7=0,it=0,Nt=0,Gt=0,Ut=0,ut=0,J7=0,dt=0,K7=0,It=0,V7=0,Et=0,rt=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,nt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,st=0,pt=0,Jt=0,z7=0,At=0,U7=0,Z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,W7=0,vt=0,Zt=0,ot=0,O7=0,St=0,Qe=0,Dt=0,x7=0,at=0,i9=0,d7=0,m8=0,I7=0,L7=0,Yr=0,dr=0,Xs=0,Un=0,eA=0,On=0,tA=0,iA=0,Pn=0,rA=0,Jr=0,nA=0,sA=0,AA=0,Hn=0,oA=0,qn=0,Yn=0,aA=0,Kr=0,Jn=0,Vr=0,Kn=0,Vn=0,$A=0,lA=0,cA=0,zr=0,zn=0,gA=0,Ir=0,Zr=0,hA=0,fA=0,Wr=0,$i=0,Zn=0,uA=0,dA=0,Wn=0,jn=0,Xn=0,IA=0,li=0,jr=0,EA=0,es=0,CA=0,mA=0,BA=0,ts=0,pA=0,QA=0,yA=0,wA=0,is=0,kA=0,vA=0,Xr=0,Er=0,en=0,SA=0,Zi=0,DA=0,rs=0,tn=0,ns=0,rn=0,bA=0,ss=0,As=0,_A=0,os=0,as=0,RA=0,Cr=0,$s=0,ci=0,nn=0,mr=0,Wi=0,Br=0,Oi=0,pr=0,ls=0,Pi=0,Bi=0,pi=0,Wt=0,Qi=0,Qr=0,ji=0,Xi=0,yr=0,gi=0,xA=0,$t=0,el=0,sn=0,An=0,Th=0,tl=0,LA=0,Nh=0,jo=0,il=0,Gh=0,Uh=0,Oh=0,Xo=0,rl=0,nl=0,ea=0,on=0,sl=0,Ph=0,FA=0,er=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,Zh=0,Wh=0,jh=0,Al=0,wr=0,Xh=0,ef=0,ol=0,tf=0,ta=0,MA=0,ia=0,rf=0,nf=0,ra=0,al=0,$l=0,ll=0,na=0,cl=0,TA=0,sf=0,Af=0,gl=0,of=0,af=0,hl=0,$f=0,lf=0,fl=0,ul=0,dl=0,Il=0,El=0,an=0,cf=0,Cl=0,gf=0,ml=0,Bl=0,hf=0,ff=0,uf=0,sa=0,pl=0,Ql=0,cs=0,yl=0,Aa=0,df=0,wl=0,If=0,kl=0,Ef=0,Cf=0,vl=0,Sl=0,mf=0,NA=0,Bf=0,oa=0,Dl=0,bl=0,pf=0,Qf=0,yf=0,wf=0,kf=0,vf=0,GA=0,_l=0,Rl=0,xl=0,UA=0,Sf=0,Ll=0,Df=0,Fl=0,bf=0,_f=0,Ml=0,aa=0,Rf=0,xf=0,OA=0,Lf=0,PA=0,Ff=0,$a=0,Mf=0,Tf=0,Nf=0,Tl=0,Gf=0,Uf=0,Of=0,Pf=0,Nl=0,Gl=0,tr=0,Ul=0,HA=0,la=0,ca=0,$n=0,Ol=0,ln=0,Hf=0,Pl=0,qf=0,Yf=0,Jf=0,Kf=0,qA=0,ga=0,kr=0,Vf=0,zf=0,Hl=0,ha=0,ql=0,Yl=0,Zf=0,Jl=0,Wf=0,fa=0,jf=0,Xf=0,O9=0,eu=0,Kl=0,tu=0,iu=0,ua=0,ru=0,da=0,Vl=0,nu=0,su=0,zl=0,Zl=0,Au=0,Ia=0,Ea=0,Wl=0,jl=0,ou=0,Xl=0,Ca=0,au=0,ec=0,$u=0,lu=0,cu=0,gu=0,tc=0,ic=0,ma=0,YA=0,rc=0,hu=0,nc=0,sc=0,fu=0,uu=0,du=0,Ac=0,Iu=0,Eu=0,Cu=0,mu=0,Bu=0,pu=0,oc=0,Qu=0,ac=0,yu=0,cn=0,wu=0,$c=0,ku=0,gs=0,lc=0,Ba=0,vu=0,JA=0,pa=0,Su=0,Qa=0,cc=0,Du=0,bu=0,_u=0,Ru=0,xu=0,gc=0,Lu=0,Fu=0,Mu=0,KA=0,hs=0,ya=0,Tu=0,wa=0,Nu=0,Gu=0,Uu=0,hc=0,Ou=0,Pu=0,Hu=0,qu=0,Yu=0,VA=0,Ju=0,Ku=0,fc=0,Vu=0,zu=0,Zu=0,Wu=0,hi=0,uc=0,fi=0,dc=0,ka=0,ju=0,jt=0,fs=0,Xu=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,Ad=0,od=0,us=0,va=0,ad=0,Cc=0,$d=0,ld=0,zA=0,cd=0,gd=0,mc=0,Bc=0,hd=0,fd=0,gn=0,ud=0,dd=0,hn=0,Id=0,pc=0,Ed=0,Cd=0,ds=0,Qc=0,md=0,yc=0,Bd=0,ir=0,Sa=0,pd=0,wc=0,kc=0,Qd=0,yd=0,vc=0,wd=0,kd=0,vd=0,Sc=0,Sd=0,Is=0,Dd=0,fn=0,bd=0,_d=0,Da=0,Rd=0,ba=0,_a=0,xd=0,Dc=0,bc=0,Ld=0,_c=0,Rc=0,xc=0,Fd=0,Lc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Oc=0,Pc=0,Hc=0,qc=0,Od=0,Pd=0,Hd=0,qd=0,Yd=0,Jd=0,Kd=0,Vd=0,Yc=0,xa=0,zd=0,Zd=0,Wd=0,Jc=0,Kc=0,jd=0,Vc=0,La=0,ZA=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,WA=0,rI=0,nI=0,sI=0,AI=0,oI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,fI=0,jA=0,jc=0,uI=0,dI=0,un=0,Xc=0,eg=0,Fa=0,II=0,tg=0,EI=0,ig=0,rg=0,CI=0,mI=0,BI=0,pI=0,QI=0,XA=0,Ma=0,yI=0,wI=0,kI=0,vI=0,ng=0,SI=0,sg=0,DI=0,bI=0,Ag=0,vr=0,og=0,ag=0,_I=0,$g=0,eo=0,RI=0,xI=0,LI=0,to=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ta=0,io=0,GI=0,UI=0,OI=0,gg=0,hg=0,fg=0,PI=0,HI=0,Es=0,qI=0,ug=0,YI=0,Na=0,dg=0,JI=0,KI=0,VI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,ro=0,jI=0,XI=0,eE=0,Cs=0,Cg=0,mg=0,tE=0,Bg=0,pg=0,yi=0,Qg=0,rr=0,iE=0,rE=0,nE=0,sE=0,Ga=0,no=0,yg=0,wg=0,AE=0,so=0,ms=0,oE=0,Ao=0,Ua=0,aE=0,Oa=0,$E=0,lE=0,kg=0,oo=0,vg=0,cE=0,gE=0,hE=0,fE=0,Sg=0,uE=0,j7=0,y4=0,Xt=0,dE=0,Dg=0,bg=0,Pa=0,IE=0,Sr=0,Bs=0,EE=0,CE=0,_g=0,Ha=0,mE=0,Rg=0,xg=0,Lg=0,qa=0,Ya=0,Fg=0,ps=0,Ja=0,Mg=0,BE=0,dn=0,pE=0,Tg=0,ao=0,QE=0,Ng=0,wi=0,yE=0,wE=0,kE=0,vE=0,SE=0,DE=0,ki=0,bE=0,_E=0,RE=0,Gg=0,ui=0,$o=0,Ka=0,Ug=0,Og=0,xE=0,Pg=0,Hg=0,LE=0,FE=0,qg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,Qs=0,lo=0,co=0,GE=0,Va=0,UE=0,OE=0,Kg=0,ys=0,PE=0,HE=0,za=0,Za=0,go=0,Wa=0,ja=0,nr=0,Dr=0,br=0,Xa=0,e$=0,ws=0,sr=0,In=0,qE=0,Ar=0,En=0,YE=0,bt=0,_t=0,Rt=0,ho=0,fo=0,Vg=0,zg=0,uo=0,t$=0,xt=0,Io=0,_r=0,i$=0,JE=0,r$=0,KE=0,n$=0,Zg=0,Eo=0,VE=0,zE=0,Co=0,ZE=0,mo=0,Cn=0,Ke=0,v4=0,Wg=0,WE=0,s$=0,jg=0,jE=0,XE=0,Bo=0,eC=0,tC=0,iC=0,rC=0,Xg=0,nC=0,sC=0,AC=0,ei=0,po=0,mn=0,A$=0,ks=0,vs=0,X7=0,Ss=0,eh=0,th=0,Qo=0,Ds=0,bs=0,_s=0,oC=0,Rs=0,or=0,ih=0,Rr=0,ti=0,o$=0,a$=0,Hi=0,$$=0,l$=0,c$=0,xr=0,o6=0,yo=0,Lr=0,rh=0,ye=0,g$=0,B8=0,xs=0,Bn=0,pn=0,F9=0,Qn=0,Fr=0,J4=0,h$=0;h$=m,V1=t>>>0<245;do if(V1){if(g2=t>>>0<11,g4=t+11|0,H4=g4&-8,Qe=g2?16:H4,LA=Qe>>>3,$a=e[138262]|0,KA=$a>>>LA,Pc=KA&3,Eg=(Pc|0)==0,!Eg){a2=KA&1,f3=a2^1,$3=f3+LA|0,A3=$3<<1,c3=553088+(A3<<2)|0,p0=A3+2|0,_6=553088+(p0<<2)|0,S6=e[_6>>2]|0,R6=S6+8|0,D6=e[R6>>2]|0,u9=(c3|0)==(D6|0);do if(u9)G9=1<<$3,b4=G9^-1,Ie=$a&b4,e[138262]=Ie;else if(je=e[138266]|0,ae=D6>>>0>>0,ae&&Q2(),p4=D6+12|0,m9=e[p4>>2]|0,F8=(m9|0)==(S6|0),F8){e[p4>>2]=c3,e[_6>>2]=D6;break}else Q2();while(!1);return h8=$3<<3,h7=h8|3,xe=S6+4|0,e[xe>>2]=h7,C0=h8|4,Be=S6+C0|0,q4=e[Be>>2]|0,i7=q4|1,e[Be>>2]=i7,Ke=R6,Ke|0}if(Ye=e[138264]|0,Y7=Qe>>>0>Ye>>>0,Y7){if(Gt=(KA|0)==0,!Gt){Ot=KA<>>12,Xr=CA&16,ss=Zn>>>Xr,Wi=ss>>>5,ji=Wi&8,Nh=ji|Xr,sl=ss>>>ji,Zh=sl>>>2,ia=Zh&4,Af=Nh|ia,El=sl>>>ia,pl=El>>>1,vl=pl&2,wf=Af|vl,Fl=El>>>vl,Mf=Fl>>>1,Ul=Mf&1,Jf=wf|Ul,Zf=Fl>>>Ul,ua=Jf+Zf|0,Wl=ua<<1,tc=553088+(Wl<<2)|0,U1=Wl+2|0,Ac=553088+(U1<<2)|0,cn=e[Ac>>2]|0,Qa=cn+8|0,hs=e[Qa>>2]|0,qu=(tc|0)==(hs|0);do if(qu)uc=1<>>0
>>0,ir&&Q2(),Sc=hs+12|0,xd=e[Sc>>2]|0,Td=(xd|0)==(cn|0),Td){e[Sc>>2]=tc,e[Ac>>2]=hs,y=e[138264]|0,io=y;break}else Q2();while(!1);return Hc=ua<<3,xa=Hc-Qe|0,Xd=Qe|3,aI=cn+4|0,e[aI>>2]=Xd,dI=cn+Qe|0,mI=xa|1,j1=Qe|4,SI=cn+j1|0,e[SI>>2]=mI,RI=cn+Hc|0,e[RI>>2]=xa,ug=(io|0)==0,ug||(ro=e[138267]|0,Qg=io>>>3,so=Qg<<1,vg=553088+(so<<2)|0,Dg=e[138262]|0,Rg=1<>2]|0,m2=e[138266]|0,s5=t2>>>0>>0,s5?Q2():(G=Qs,go=t2)),e[G>>2]=ro,$5=go+12|0,e[$5>>2]=ro,G5=ro+8|0,e[G5>>2]=go,z2=ro+12|0,e[z2>>2]=vg),e[138264]=xa,e[138267]=dI,Ke=Qa,Ke|0}if(a5=e[138263]|0,C3=(a5|0)==0,C3)v4=Qe;else{for(V5=0-a5|0,w3=a5&V5,B3=w3+-1|0,K3=B3>>>12,T3=K3&16,Z5=B3>>>T3,y3=Z5>>>5,j5=y3&8,t6=j5|T3,R3=Z5>>>j5,N3=R3>>>2,o3=N3&4,l3=t6|o3,m3=R3>>>o3,q5=m3>>>1,U5=q5&2,P5=l3|U5,w5=m3>>>U5,G3=w5>>>1,M5=G3&1,n6=P5|M5,t3=w5>>>M5,x3=n6+t3|0,h6=553352+(x3<<2)|0,p3=e[h6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,i6=Q3&-8,W3=i6-Qe|0,po=W3,a$=p3,g$=p3;;){if(U3=a$+16|0,z5=e[U3>>2]|0,v3=(z5|0)==0,v3)if(O3=a$+20|0,$6=e[O3>>2]|0,d3=($6|0)==0,d3){mn=po,B8=g$;break}else k6=$6;else k6=z5;w6=k6+4|0,v6=e[w6>>2]|0,B6=v6&-8,j3=B6-Qe|0,l6=j3>>>0>>0,H=l6?j3:po,A2=l6?k6:g$,po=H,a$=k6,g$=A2}p6=e[138266]|0,q6=B8>>>0>>0,q6&&Q2(),C6=B8+Qe|0,S3=B8>>>0>>0,S3||Q2(),X3=B8+24|0,e6=e[X3>>2]|0,f6=B8+12|0,P3=e[f6>>2]|0,D3=(P3|0)==(B8|0);do if(D3){if(T6=B8+20|0,r6=e[T6>>2]|0,Q6=(r6|0)==0,Q6)if(J6=B8+16|0,d6=e[J6>>2]|0,Y6=(d6|0)==0,Y6){bt=0;break}else sr=d6,ho=J6;else sr=r6,ho=T6;for(;;){if(L3=sr+20|0,Z6=e[L3>>2]|0,N6=(Z6|0)==0,!N6){sr=Z6,ho=L3;continue}if(j6=sr+16|0,r9=e[j6>>2]|0,x6=(r9|0)==0,x6){Ar=sr,zg=ho;break}else sr=r9,ho=j6}if(G6=zg>>>0>>0,G6)Q2();else{e[zg>>2]=0,bt=Ar;break}}else if(H3=B8+8|0,V3=e[H3>>2]|0,s6=V3>>>0>>0,s6&&Q2(),i3=V3+12|0,O6=e[i3>>2]|0,s3=(O6|0)==(B8|0),s3||Q2(),A6=P3+8|0,u6=e[A6>>2]|0,b3=(u6|0)==(B8|0),b3){e[i3>>2]=P3,e[A6>>2]=V3,bt=P3;break}else Q2();while(!1);K6=(e6|0)==0;do if(!K6){if(y6=B8+28|0,L6=e[y6>>2]|0,F3=553352+(L6<<2)|0,F6=e[F3>>2]|0,X6=(B8|0)==(F6|0),X6){if(e[F3>>2]=bt,VE=(bt|0)==0,VE){A9=1<>>0>>0,a9&&Q2(),T9=e6+16|0,I6=e[T9>>2]|0,M6=(I6|0)==(B8|0),M6?e[T9>>2]=bt:(e9=e6+20|0,e[e9>>2]=bt),N9=(bt|0)==0,N9)break;d9=e[138266]|0,E4=bt>>>0>>0,E4&&Q2(),s4=bt+24|0,e[s4>>2]=e6,z9=B8+16|0,D9=e[z9>>2]|0,I9=(D9|0)==0;do if(!I9)if(P6=D9>>>0>>0,P6)Q2();else{t9=bt+16|0,e[t9>>2]=D9,C4=D9+24|0,e[C4>>2]=bt;break}while(!1);if(S4=B8+20|0,A4=e[S4>>2]|0,Q9=(A4|0)==0,!Q9)if(D4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{T4=bt+20|0,e[T4>>2]=A4,W4=A4+24|0,e[W4>>2]=bt;break}}while(!1);return m4=mn>>>0<16,m4?(N4=mn+Qe|0,U9=N4|3,G4=B8+4|0,e[G4>>2]=U9,Z1=N4+4|0,o4=B8+Z1|0,L4=e[o4>>2]|0,h4=L4|1,e[o4>>2]=h4):(H9=Qe|3,E9=B8+4|0,e[E9>>2]=H9,Ee=mn|1,c0=Qe|4,Te=B8+c0|0,e[Te>>2]=Ee,l0=mn+Qe|0,We=B8+l0|0,e[We>>2]=mn,U4=e[138264]|0,Ne=(U4|0)==0,Ne||(O4=e[138267]|0,j4=U4>>>3,Se=j4<<1,Z9=553088+(Se<<2)|0,Ae=e[138262]|0,f4=1<>2]|0,oe=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(M=a4,Za=_4)),e[M>>2]=O4,$e=Za+12|0,e[$e>>2]=O4,B4=O4+8|0,e[B4>>2]=Za,X4=O4+12|0,e[X4>>2]=Z9),e[138264]=mn,e[138267]=C6),F4=B8+8|0,Ke=F4,Ke|0}}else v4=Qe}else if(le=t>>>0>4294967231,le)v4=-1;else if(C9=t+11|0,c6=C9&-8,Ge=e[138263]|0,$4=(Ge|0)==0,$4)v4=c6;else{Ce=0-c6|0,l4=C9>>>8,U6=(l4|0)==0,U6?Cn=0:(De=c6>>>0>16777215,De?Cn=31:(be=l4+1048320|0,Xe=be>>>16,c4=Xe&8,k4=l4<>>16,y9=q3&4,M4=y9|c4,ee=k4<>>16,l7=_e&2,w7=M4|l7,V8=14-w7|0,c7=ee<>>15,L8=V8+g7|0,M8=L8<<1,T8=L8+7|0,z8=c6>>>T8,Z8=z8&1,k7=Z8|M8,Cn=k7)),N8=553352+(Cn<<2)|0,G8=e[N8>>2]|0,U8=(G8|0)==0;e:do if(U8)vs=Ce,$$=0,pn=0,J4=86;else for(w8=(Cn|0)==31,k8=Cn>>>1,O8=25-k8|0,P8=w8?0:O8,W8=c6<>2]|0,Ue=f8&-8,Re=Ue-c6|0,e8=Re>>>0>>0,e8)if(v8=(Ue|0)==(c6|0),v8){Ss=Re,xr=Hi,Fr=Hi,J4=90;break e}else ks=Re,Bn=Hi;else ks=A$,Bn=xs;if(w9=Hi+20|0,me=e[w9>>2]|0,f7=Qo>>>31,v7=(Hi+16|0)+(f7<<2)|0,X8=e[v7>>2]|0,S7=(me|0)==0,te=(me|0)==(X8|0),eC=S7|te,th=eC?eh:me,e7=(X8|0)==0,H8=Qo<<1,e7){vs=ks,$$=th,pn=Bn,J4=86;break}else A$=ks,eh=th,Qo=H8,Hi=X8,xs=Bn}while(!1);if((J4|0)==86){if(S8=($$|0)==0,t8=(pn|0)==0,jE=S8&t8,jE){if(i8=2<>>12,ge=I8&16,Oe=n8>>>ge,Pe=Oe>>>5,X9=Pe&8,Le=X9|ge,he=Oe>>>X9,s8=he>>>2,pe=s8&4,Q4=Le|pe,E8=he>>>pe,t7=E8>>>1,I3=t7&2,He=Q4|I3,C8=E8>>>I3,ie=C8>>>1,q9=ie&1,re=He|q9,b9=C8>>>q9,qe=re+b9|0,q8=553352+(qe<<2)|0,u7=e[q8>>2]|0,l$=u7,Qn=0}else l$=$$,Qn=pn;r7=(l$|0)==0,r7?(X7=vs,F9=Qn):(Ss=vs,xr=l$,Fr=Qn,J4=90)}if((J4|0)==90)for(;;){if(J4=0,Y8=xr+4|0,n7=e[Y8>>2]|0,J8=n7&-8,A8=J8-c6|0,o8=A8>>>0>>0,X=o8?A8:Ss,c$=o8?xr:Fr,b8=xr+16|0,Y4=e[b8>>2]|0,s7=(Y4|0)==0,!s7){Ss=X,xr=Y4,Fr=c$,J4=90;continue}if(_8=xr+20|0,B9=e[_8>>2]|0,A7=(B9|0)==0,A7){X7=X,F9=c$;break}else Ss=X,xr=B9,Fr=c$,J4=90}if(Je=(F9|0)==0,Je)v4=c6;else if(N7=e[138264]|0,q7=N7-c6|0,D7=X7>>>0>>0,D7){o7=e[138266]|0,b7=F9>>>0>>0,b7&&Q2(),ne=F9+c6|0,G7=F9>>>0>>0,G7||Q2(),a8=F9+24|0,R8=e[a8>>2]|0,_7=F9+12|0,K8=e[_7>>2]|0,Fe=(K8|0)==(F9|0);do if(Fe){if(K7=F9+20|0,It=e[K7>>2]|0,V7=(It|0)==0,V7)if(Et=F9+16|0,rt=e[Et>>2]|0,ni=(rt|0)==0,ni){Rt=0;break}else En=rt,uo=Et;else En=It,uo=K7;for(;;){if(Ct=En+20|0,mt=e[Ct>>2]|0,si=(mt|0)==0,!si){En=mt,uo=Ct;continue}if(Bt=En+16|0,nt=e[Bt>>2]|0,Ai=(nt|0)==0,Ai){YE=En,t$=uo;break}else En=nt,uo=Bt}if(Pt=t$>>>0>>0,Pt)Q2();else{e[t$>>2]=0,Rt=YE;break}}else if(fe=F9+8|0,e4=e[fe>>2]|0,R7=e4>>>0>>0,R7&&Q2(),it=e4+12|0,Nt=e[it>>2]|0,Ut=(Nt|0)==(F9|0),Ut||Q2(),ut=K8+8|0,J7=e[ut>>2]|0,dt=(J7|0)==(F9|0),dt){e[it>>2]=K8,e[ut>>2]=e4,Rt=K8;break}else Q2();while(!1);Ht=(R8|0)==0;do if(!Ht){if(qt=F9+28|0,Yt=e[qt>>2]|0,pt=553352+(Yt<<2)|0,Jt=e[pt>>2]|0,z7=(F9|0)==(Jt|0),z7){if(e[pt>>2]=Rt,Co=(Rt|0)==0,Co){At=1<>>0>>0,ai&&Q2(),Qt=R8+16|0,yt=e[Qt>>2]|0,wt=(yt|0)==(F9|0),wt?e[Qt>>2]=Rt:(zt=R8+20|0,e[zt>>2]=Rt),kt=(Rt|0)==0,kt)break;W7=e[138266]|0,vt=Rt>>>0>>0,vt&&Q2(),Zt=Rt+24|0,e[Zt>>2]=R8,ot=F9+16|0,O7=e[ot>>2]|0,St=(O7|0)==0;do if(!St)if(x7=O7>>>0>>0,x7)Q2();else{at=Rt+16|0,e[at>>2]=O7,i9=O7+24|0,e[i9>>2]=Rt;break}while(!1);if(d7=F9+20|0,m8=e[d7>>2]|0,I7=(m8|0)==0,!I7)if(L7=e[138266]|0,Yr=m8>>>0>>0,Yr)Q2();else{dr=Rt+20|0,e[dr>>2]=m8,Xs=m8+24|0,e[Xs>>2]=Rt;break}}while(!1);eA=X7>>>0<16;e:do if(eA)On=X7+c6|0,tA=On|3,iA=F9+4|0,e[iA>>2]=tA,c1=On+4|0,Pn=F9+c1|0,rA=e[Pn>>2]|0,Jr=rA|1,e[Pn>>2]=Jr;else{if(nA=c6|3,sA=F9+4|0,e[sA>>2]=nA,AA=X7|1,r0=c6|4,oA=F9+r0|0,e[oA>>2]=AA,u0=X7+c6|0,qn=F9+u0|0,e[qn>>2]=X7,Yn=X7>>>3,aA=X7>>>0<256,aA){Kr=Yn<<1,Jn=553088+(Kr<<2)|0,Vr=e[138262]|0,Kn=1<>2]|0,gA=e[138266]|0,Ir=zn>>>0>>0,Ir?Q2():(F=zr,ja=zn)),e[F>>2]=ne,Zr=ja+12|0,e[Zr>>2]=ne,P0=c6+8|0,hA=F9+P0|0,e[hA>>2]=ja,H0=c6+12|0,fA=F9+H0|0,e[fA>>2]=Jn;break}if(Wr=X7>>>8,$i=(Wr|0)==0,$i?Dr=0:(uA=X7>>>0>16777215,uA?Dr=31:(dA=Wr+1048320|0,Wn=dA>>>16,jn=Wn&8,Xn=Wr<>>16,jr=li&4,EA=jr|jn,es=Xn<>>16,ts=BA&2,pA=EA|ts,QA=14-pA|0,yA=es<>>15,is=QA+wA|0,kA=is<<1,vA=is+7|0,Er=X7>>>vA,en=Er&1,SA=en|kA,Dr=SA)),Zi=553352+(Dr<<2)|0,g1=c6+28|0,DA=F9+g1|0,e[DA>>2]=Dr,x1=c6+16|0,rs=F9+x1|0,D1=c6+20|0,tn=F9+D1|0,e[tn>>2]=0,e[rs>>2]=0,ns=e[138263]|0,rn=1<>2]=ne,q1=c6+24|0,os=F9+q1|0,e[os>>2]=Zi,r2=c6+12|0,as=F9+r2|0,e[as>>2]=ne,O1=c6+8|0,RA=F9+O1|0,e[RA>>2]=ne;break}Cr=e[Zi>>2]|0,$s=Cr+4|0,ci=e[$s>>2]|0,nn=ci&-8,mr=(nn|0)==(X7|0);t:do if(mr)xt=Cr;else{for(Br=(Dr|0)==31,Oi=Dr>>>1,pr=25-Oi|0,ls=Br?0:pr,Pi=X7<>>31,gi=(i$+16|0)+(yr<<2)|0,Wt=e[gi>>2]|0,xA=(Wt|0)==0,xA){w=gi,JE=i$;break}if(Bi=Xa<<1,pi=Wt+4|0,Qi=e[pi>>2]|0,Qr=Qi&-8,Xi=(Qr|0)==(X7|0),Xi){xt=Wt;break t}else Xa=Bi,i$=Wt}if($t=e[138266]|0,el=w>>>0<$t>>>0,el)Q2();else{e[w>>2]=ne,f0=c6+24|0,sn=F9+f0|0,e[sn>>2]=JE,U0=c6+12|0,An=F9+U0|0,e[An>>2]=ne,O0=c6+8|0,Th=F9+O0|0,e[Th>>2]=ne;break e}}while(!1);if(tl=xt+8|0,jo=e[tl>>2]|0,il=e[138266]|0,Gh=jo>>>0>=il>>>0,Wg=xt>>>0>=il>>>0,Uh=Gh&Wg,Uh){Oh=jo+12|0,e[Oh>>2]=ne,e[tl>>2]=ne,l2=c6+8|0,Xo=F9+l2|0,e[Xo>>2]=jo,f2=c6+12|0,rl=F9+f2|0,e[rl>>2]=xt,I0=c6+24|0,nl=F9+I0|0,e[nl>>2]=0;break}else Q2()}while(!1);return ea=F9+8|0,Ke=ea,Ke|0}else v4=c6}while(!1);if(on=e[138264]|0,Ph=on>>>0>>0,!Ph)return FA=on-v4|0,er=e[138267]|0,Hh=FA>>>0>15,Hh?(qh=er+v4|0,e[138267]=qh,e[138264]=FA,Yh=FA|1,f1=v4+4|0,Jh=er+f1|0,e[Jh>>2]=Yh,Kh=er+on|0,e[Kh>>2]=FA,Vh=v4|3,zh=er+4|0,e[zh>>2]=Vh):(e[138264]=0,e[138267]=0,Wh=on|3,jh=er+4|0,e[jh>>2]=Wh,s0=on+4|0,Al=er+s0|0,wr=e[Al>>2]|0,Xh=wr|1,e[Al>>2]=Xh),ef=er+8|0,Ke=ef,Ke|0;if(ol=e[138265]|0,tf=ol>>>0>v4>>>0,tf)return ta=ol-v4|0,e[138265]=ta,MA=e[138268]|0,rf=MA+v4|0,e[138268]=rf,nf=ta|1,U=v4+4|0,ra=MA+U|0,e[ra>>2]=nf,al=v4|3,$l=MA+4|0,e[$l>>2]=al,ll=MA+8|0,Ke=ll,Ke|0;na=e[138380]|0,cl=(na|0)==0;do if(cl)if(TA=Ev(30)|0,sf=TA+-1|0,gl=sf&TA,of=(gl|0)==0,of){e[138382]=TA,e[138381]=TA,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,af=Vp(0)|0,hl=af&-16,$f=hl^1431655768,e[138380]=$f;break}else Q2();while(!1);if(lf=v4+48|0,fl=e[138382]|0,ul=v4+47|0,dl=fl+ul|0,Il=0-fl|0,an=dl&Il,cf=an>>>0>v4>>>0,!cf||(Cl=e[138372]|0,gf=(Cl|0)==0,!gf&&(ml=e[138370]|0,Bl=ml+an|0,hf=Bl>>>0<=ml>>>0,ff=Bl>>>0>Cl>>>0,Bo=hf|ff,Bo)))return Ke=0,Ke|0;uf=e[138373]|0,sa=uf&4,Ql=(sa|0)==0;e:do if(Ql){cs=e[138268]|0,yl=(cs|0)==0;t:do if(yl)J4=174;else{for(Ds=553496;;){if(Aa=e[Ds>>2]|0,df=Aa>>>0>cs>>>0,!df&&(wl=Ds+4|0,If=e[wl>>2]|0,kl=Aa+If|0,Ef=kl>>>0>cs>>>0,Ef)){v=Ds,S=wl;break}if(Cf=Ds+8|0,Sl=e[Cf>>2]|0,mf=(Sl|0)==0,mf){J4=174;break t}else Ds=Sl}if(Rf=e[138265]|0,xf=dl-Rf|0,OA=xf&Il,Lf=OA>>>0<2147483647,Lf)if(PA=Tt(OA|0)|0,Ff=e[v>>2]|0,Tf=e[S>>2]|0,Nf=Ff+Tf|0,Tl=(PA|0)==(Nf|0),n=Tl?OA:0,Tl)if(Gf=(PA|0)==-1,Gf)Lr=n;else{o6=PA,ye=n,J4=194;break e}else Eo=PA,ti=OA,yo=n,J4=184;else Lr=0}while(!1);do if((J4|0)==174)if(NA=Tt(0)|0,Bf=(NA|0)==-1,Bf)Lr=0;else if(oa=NA,Dl=e[138381]|0,bl=Dl+-1|0,pf=bl&oa,Qf=(pf|0)==0,Qf?Rr=an:(yf=bl+oa|0,kf=0-Dl|0,vf=yf&kf,GA=an-oa|0,_l=GA+vf|0,Rr=_l),Rl=e[138370]|0,xl=Rl+Rr|0,UA=Rr>>>0>v4>>>0,Sf=Rr>>>0<2147483647,XE=UA&Sf,XE){if(Ll=e[138372]|0,Df=(Ll|0)==0,!Df&&(bf=xl>>>0<=Rl>>>0,_f=xl>>>0>Ll>>>0,tC=bf|_f,tC)){Lr=0;break}if(Ml=Tt(Rr|0)|0,aa=(Ml|0)==(NA|0),ih=aa?Rr:0,aa){o6=NA,ye=ih,J4=194;break e}else Eo=Ml,ti=Rr,yo=ih,J4=184}else Lr=0;while(!1);t:do if((J4|0)==184){Uf=0-ti|0,Of=(Eo|0)!=-1,Pf=ti>>>0<2147483647,rC=Pf&Of,Nl=lf>>>0>ti>>>0,nC=Nl&rC;do if(nC)if(Gl=e[138382]|0,tr=ul-ti|0,HA=tr+Gl|0,la=0-Gl|0,ca=HA&la,$n=ca>>>0<2147483647,$n)if(Ol=Tt(ca|0)|0,ln=(Ol|0)==-1,ln){Tt(Uf|0)|0,Lr=yo;break t}else{Hf=ca+ti|0,o$=Hf;break}else o$=ti;else o$=ti;while(!1);if(Pl=(Eo|0)==-1,Pl)Lr=yo;else{o6=Eo,ye=o$,J4=194;break e}}while(!1);qf=e[138373]|0,Yf=qf|4,e[138373]=Yf,rh=Lr,J4=191}else rh=0,J4=191;while(!1);if((J4|0)==191&&(Kf=an>>>0<2147483647,Kf&&(qA=Tt(an|0)|0,ga=Tt(0)|0,kr=(qA|0)!=-1,Vf=(ga|0)!=-1,iC=kr&Vf,zf=qA>>>0>>0,sC=zf&iC,sC&&(Hl=ga,ha=qA,ql=Hl-ha|0,Yl=v4+40|0,Jl=ql>>>0>Yl>>>0,E2=Jl?ql:rh,Jl&&(o6=qA,ye=E2,J4=194)))),(J4|0)==194){Wf=e[138370]|0,fa=Wf+ye|0,e[138370]=fa,jf=e[138371]|0,Xf=fa>>>0>jf>>>0,Xf&&(e[138371]=fa),O9=e[138268]|0,eu=(O9|0)==0;e:do if(eu){for(Kl=e[138266]|0,tu=(Kl|0)==0,iu=o6>>>0>>0,AC=tu|iu,AC&&(e[138266]=o6),e[138374]=o6,e[138375]=ye,e[138377]=0,ru=e[138380]|0,e[138271]=ru,e[138270]=-1,mo=0;da=mo<<1,Vl=553088+(da<<2)|0,a0=da+3|0,nu=553088+(a0<<2)|0,e[nu>>2]=Vl,j=da+2|0,su=553088+(j<<2)|0,e[su>>2]=Vl,zl=mo+1|0,ZE=(zl|0)==32,!ZE;)mo=zl;Zl=ye+-40|0,Au=o6+8|0,Ia=Au,Ea=Ia&7,jl=(Ea|0)==0,ou=0-Ia|0,Xl=ou&7,Ca=jl?0:Xl,au=o6+Ca|0,ec=Zl-Ca|0,e[138268]=au,e[138265]=ec,$u=ec|1,V=Ca+4|0,lu=o6+V|0,e[lu>>2]=$u,l1=ye+-36|0,cu=o6+l1|0,e[cu>>2]=40,gu=e[138384]|0,e[138269]=gu}else{for(_s=553496;;){if(ic=e[_s>>2]|0,ma=_s+4|0,YA=e[ma>>2]|0,rc=ic+YA|0,hu=(o6|0)==(rc|0),hu){C=ic,p=ma,B=YA,oC=_s,J4=204;break}if(nc=_s+8|0,sc=e[nc>>2]|0,fu=(sc|0)==0,fu)break;_s=sc}if((J4|0)==204&&(uu=oC+12|0,du=e[uu>>2]|0,Iu=du&8,Eu=(Iu|0)==0,Eu&&(Cu=O9>>>0>=C>>>0,mu=O9>>>0>>0,Xg=mu&Cu,Xg))){Bu=B+ye|0,e[p>>2]=Bu,pu=e[138265]|0,oc=pu+ye|0,Qu=O9+8|0,ac=Qu,yu=ac&7,wu=(yu|0)==0,$c=0-ac|0,ku=$c&7,gs=wu?0:ku,lc=O9+gs|0,Ba=oc-gs|0,e[138268]=lc,e[138265]=Ba,vu=Ba|1,n0=gs+4|0,JA=O9+n0|0,e[JA>>2]=vu,n1=oc+4|0,pa=O9+n1|0,e[pa>>2]=40,Su=e[138384]|0,e[138269]=Su;break}for(cc=e[138266]|0,Du=o6>>>0>>0,Du?(e[138266]=o6,ds=o6):ds=cc,bu=o6+ye|0,Rs=553496;;){if(_u=e[Rs>>2]|0,Ru=(_u|0)==(bu|0),Ru){I=Rs,or=Rs,J4=212;break}if(xu=Rs+8|0,gc=e[xu>>2]|0,Lu=(gc|0)==0,Lu){bs=553496;break}else Rs=gc}if((J4|0)==212)if(Fu=or+12|0,Mu=e[Fu>>2]|0,ya=Mu&8,Tu=(ya|0)==0,Tu){e[I>>2]=o6,wa=or+4|0,Nu=e[wa>>2]|0,Gu=Nu+ye|0,e[wa>>2]=Gu,Uu=o6+8|0,hc=Uu,Ou=hc&7,Pu=(Ou|0)==0,Hu=0-hc|0,Yu=Hu&7,VA=Pu?0:Yu,Ju=o6+VA|0,d0=ye+8|0,Ku=o6+d0|0,fc=Ku,Vu=fc&7,zu=(Vu|0)==0,Zu=0-fc|0,Wu=Zu&7,hi=zu?0:Wu,v0=hi+ye|0,fi=o6+v0|0,dc=fi,ka=Ju,ju=dc-ka|0,i0=VA+v4|0,jt=o6+i0|0,fs=ju-v4|0,Xu=v4|3,g0=VA+4|0,ed=o6+g0|0,e[ed>>2]=Xu,td=(fi|0)==(O9|0);t:do if(td)id=e[138265]|0,Ic=id+fs|0,e[138265]=Ic,e[138268]=jt,nd=Ic|1,H1=i0+4|0,sd=o6+H1|0,e[sd>>2]=nd;else{if(Ec=e[138267]|0,Ad=(fi|0)==(Ec|0),Ad){od=e[138264]|0,us=od+fs|0,e[138264]=us,e[138267]=jt,va=us|1,K1=i0+4|0,ad=o6+K1|0,e[ad>>2]=va,P1=us+i0|0,Cc=o6+P1|0,e[Cc>>2]=us;break}if(A1=ye+4|0,K0=A1+hi|0,ld=o6+K0|0,zA=e[ld>>2]|0,cd=zA&3,gd=(cd|0)==1,gd){mc=zA&-8,Bc=zA>>>3,hd=zA>>>0<256;i:do if(hd){G1=hi|8,J0=G1+ye|0,fd=o6+J0|0,gn=e[fd>>2]|0,w1=ye+12|0,Y0=w1+hi|0,ud=o6+Y0|0,hn=e[ud>>2]|0,Id=Bc<<1,pc=553088+(Id<<2)|0,Ed=(gn|0)==(pc|0);do if(!Ed){if(Cd=gn>>>0>>0,Cd&&Q2(),Qc=gn+12|0,md=e[Qc>>2]|0,yc=(md|0)==(fi|0),yc)break;Q2()}while(!1);if(Bd=(hn|0)==(gn|0),Bd){Sa=1<>>0>>0,yd&&Q2(),vc=hn+8|0,wd=e[vc>>2]|0,kd=(wd|0)==(fi|0),kd){T=vc;break}Q2()}while(!1);vd=gn+12|0,e[vd>>2]=hn,e[T>>2]=gn}else{L1=hi|24,b0=L1+ye|0,Sd=o6+b0|0,Is=e[Sd>>2]|0,Y1=ye+12|0,m0=Y1+hi|0,Dd=o6+m0|0,fn=e[Dd>>2]|0,bd=(fn|0)==(fi|0);do if(bd){if(W1=hi|16,D0=A1+W1|0,Rc=o6+D0|0,xc=e[Rc>>2]|0,Fd=(xc|0)==0,Fd)if(M0=W1+ye|0,Lc=o6+M0|0,Fc=e[Lc>>2]|0,Md=(Fc|0)==0,Md){_t=0;break}else In=Fc,fo=Lc;else In=xc,fo=Rc;for(;;){if(Mc=In+20|0,Tc=e[Mc>>2]|0,Nd=(Tc|0)==0,!Nd){In=Tc,fo=Mc;continue}if(Nc=In+16|0,Gc=e[Nc>>2]|0,Gd=(Gc|0)==0,Gd){qE=In,Vg=fo;break}else In=Gc,fo=Nc}if(Ud=Vg>>>0>>0,Ud)Q2();else{e[Vg>>2]=0,_t=qE;break}}else if(F1=hi|8,L0=F1+ye|0,_d=o6+L0|0,Da=e[_d>>2]|0,Rd=Da>>>0>>0,Rd&&Q2(),ba=Da+12|0,_a=e[ba>>2]|0,Dc=(_a|0)==(fi|0),Dc||Q2(),bc=fn+8|0,Ld=e[bc>>2]|0,_c=(Ld|0)==(fi|0),_c){e[ba>>2]=fn,e[bc>>2]=Da,_t=fn;break}else Q2();while(!1);if(Uc=(Is|0)==0,Uc)break;y1=ye+28|0,F0=y1+hi|0,Ra=o6+F0|0,Oc=e[Ra>>2]|0,qc=553352+(Oc<<2)|0,Od=e[qc>>2]|0,Pd=(fi|0)==(Od|0);do if(Pd){if(e[qc>>2]=_t,zE=(_t|0)==0,!zE)break;Hd=1<>>0>>0,Vd&&Q2(),Yc=Is+16|0,zd=e[Yc>>2]|0,Zd=(zd|0)==(fi|0),Zd?e[Yc>>2]=_t:(Wd=Is+20|0,e[Wd>>2]=_t),Jc=(_t|0)==0,Jc)break i;while(!1);Kc=e[138266]|0,jd=_t>>>0>>0,jd&&Q2(),Vc=_t+24|0,e[Vc>>2]=Is,S1=hi|16,T0=S1+ye|0,La=o6+T0|0,ZA=e[La>>2]|0,zc=(ZA|0)==0;do if(!zc)if(eI=ZA>>>0>>0,eI)Q2();else{tI=_t+16|0,e[tI>>2]=ZA,iI=ZA+24|0,e[iI>>2]=_t;break}while(!1);if(q0=A1+S1|0,Zc=o6+q0|0,WA=e[Zc>>2]|0,rI=(WA|0)==0,rI)break;if(nI=e[138266]|0,sI=WA>>>0>>0,sI)Q2();else{AI=_t+20|0,e[AI>>2]=WA,oI=WA+24|0,e[oI>>2]=_t;break}}while(!1);s2=mc|hi,x0=s2+ye|0,$I=o6+x0|0,lI=mc+fs|0,jg=$I,ei=lI}else jg=fi,ei=fs;if(Wc=jg+4|0,cI=e[Wc>>2]|0,gI=cI&-2,e[Wc>>2]=gI,hI=ei|1,w0=i0+4|0,fI=o6+w0|0,e[fI>>2]=hI,E0=ei+i0|0,jA=o6+E0|0,e[jA>>2]=ei,jc=ei>>>3,uI=ei>>>0<256,uI){un=jc<<1,Xc=553088+(un<<2)|0,eg=e[138262]|0,Fa=1<>2]|0,CI=e[138266]|0,BI=rg>>>0>>0,!BI){L=ig,Wa=rg;break}Q2()}while(!1);e[L>>2]=jt,pI=Wa+12|0,e[pI>>2]=jt,B1=i0+8|0,QI=o6+B1|0,e[QI>>2]=Wa,p1=i0+12|0,XA=o6+p1|0,e[XA>>2]=Xc;break}Ma=ei>>>8,yI=(Ma|0)==0;do if(yI)br=0;else{if(wI=ei>>>0>16777215,wI){br=31;break}kI=Ma+1048320|0,vI=kI>>>16,ng=vI&8,sg=Ma<>>16,Ag=bI&4,vr=Ag|ng,og=sg<>>16,$g=_I&2,eo=vr|$g,xI=14-eo|0,LI=og<<$g,to=LI>>>15,lg=xI+to|0,FI=lg<<1,MI=lg+7|0,cg=ei>>>MI,TI=cg&1,NI=TI|FI,br=NI}while(!1);if(Ta=553352+(br<<2)|0,B0=i0+28|0,GI=o6+B0|0,e[GI>>2]=br,z0=i0+16|0,UI=o6+z0|0,N0=i0+20|0,OI=o6+N0|0,e[OI>>2]=0,e[UI>>2]=0,gg=e[138263]|0,hg=1<>2]=jt,r1=i0+24|0,Es=o6+r1|0,e[Es>>2]=Ta,e1=i0+12|0,qI=o6+e1|0,e[qI>>2]=jt,i1=i0+8|0,YI=o6+i1|0,e[YI>>2]=jt;break}Na=e[Ta>>2]|0,dg=Na+4|0,JI=e[dg>>2]|0,KI=JI&-8,VI=(KI|0)==(ei|0);i:do if(VI)_r=Na;else{for(zI=(br|0)==31,Ig=br>>>1,ZI=25-Ig|0,WI=zI?0:ZI,jI=ei<>>31,pg=(r$+16|0)+(Bg<<2)|0,Cs=e[pg>>2]|0,yi=(Cs|0)==0,yi){o=pg,KE=r$;break}if(XI=ws<<1,eE=Cs+4|0,Cg=e[eE>>2]|0,mg=Cg&-8,tE=(mg|0)==(ei|0),tE){_r=Cs;break i}else ws=XI,r$=Cs}if(rr=e[138266]|0,iE=o>>>0>>0,iE)Q2();else{e[o>>2]=jt,E1=i0+24|0,rE=o6+E1|0,e[rE>>2]=KE,u1=i0+12|0,nE=o6+u1|0,e[nE>>2]=jt,I1=i0+8|0,sE=o6+I1|0,e[sE>>2]=jt;break t}}while(!1);if(Ga=_r+8|0,no=e[Ga>>2]|0,yg=e[138266]|0,wg=no>>>0>=yg>>>0,s$=_r>>>0>=yg>>>0,AE=wg&s$,AE){ms=no+12|0,e[ms>>2]=jt,e[Ga>>2]=jt,Z0=i0+8|0,oE=o6+Z0|0,e[oE>>2]=no,d1=i0+12|0,Ao=o6+d1|0,e[Ao>>2]=_r,h1=i0+24|0,Ua=o6+h1|0,e[Ua>>2]=0;break}else Q2()}while(!1);return $1=VA|8,aE=o6+$1|0,Ke=aE,Ke|0}else bs=553496;for(;;){if(Oa=e[bs>>2]|0,$E=Oa>>>0>O9>>>0,!$E&&(lE=bs+4|0,kg=e[lE>>2]|0,oo=Oa+kg|0,cE=oo>>>0>O9>>>0,cE)){c=Oa,f=kg,E=oo;break}gE=bs+8|0,hE=e[gE>>2]|0,bs=hE}if(o0=f+-47|0,$0=f+-39|0,fE=c+$0|0,Sg=fE,uE=Sg&7,j7=(uE|0)==0,y4=0-Sg|0,Xt=y4&7,dE=j7?0:Xt,a1=o0+dE|0,bg=c+a1|0,Pa=O9+16|0,IE=bg>>>0>>0,Sr=IE?O9:bg,Bs=Sr+8|0,EE=ye+-40|0,CE=o6+8|0,_g=CE,Ha=_g&7,mE=(Ha|0)==0,xg=0-_g|0,Lg=xg&7,qa=mE?0:Lg,Ya=o6+qa|0,Fg=EE-qa|0,e[138268]=Ya,e[138265]=Fg,ps=Fg|1,Z=qa+4|0,Ja=o6+Z|0,e[Ja>>2]=ps,s1=ye+-36|0,Mg=o6+s1|0,e[Mg>>2]=40,BE=e[138384]|0,e[138269]=BE,dn=Sr+4|0,e[dn>>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]=o6,e[138375]=ye,e[138377]=0,e[138376]=Bs,Tg=Sr+28|0,e[Tg>>2]=7,ao=Sr+32|0,QE=ao>>>0>>0,QE)for(wi=Tg;Ng=wi+4|0,e[Ng>>2]=7,yE=wi+8|0,wE=yE>>>0>>0,wE;)wi=Ng;if(kE=(Sr|0)==(O9|0),!kE){if(vE=Sr,SE=O9,ki=vE-SE|0,bE=e[dn>>2]|0,_E=bE&-2,e[dn>>2]=_E,RE=ki|1,Gg=O9+4|0,e[Gg>>2]=RE,e[Sr>>2]=ki,ui=ki>>>3,$o=ki>>>0<256,$o){Ka=ui<<1,Ug=553088+(Ka<<2)|0,Og=e[138262]|0,Pg=1<>2]|0,ME=e[138266]|0,TE=Yg>>>0>>0,TE?Q2():(R=qg,za=Yg)),e[R>>2]=O9,Jg=za+12|0,e[Jg>>2]=O9,NE=O9+8|0,e[NE>>2]=za,lo=O9+12|0,e[lo>>2]=Ug;break}if(co=ki>>>8,GE=(co|0)==0,GE?nr=0:(Va=ki>>>0>16777215,Va?nr=31:(UE=co+1048320|0,OE=UE>>>16,Kg=OE&8,ys=co<>>16,$2=HE&4,i2=$2|Kg,o2=ys<<$2,X1=o2+245760|0,n2=X1>>>16,u2=n2&2,e2=i2|u2,y2=14-e2|0,S2=o2<>>15,M2=y2+w2|0,_2=M2<<1,N2=M2+7|0,d2=ki>>>N2,J2=d2&1,G2=J2|_2,nr=G2)),q2=553352+(nr<<2)|0,T2=O9+28|0,e[T2>>2]=nr,O2=O9+20|0,e[O2>>2]=0,e[Pa>>2]=0,K2=e[138263]|0,P2=1<>2]=O9,X2=O9+24|0,e[X2>>2]=q2,D5=O9+12|0,e[D5>>2]=O9,V2=O9+8|0,e[V2>>2]=O9;break}f5=e[q2>>2]|0,k5=f5+4|0,O5=e[k5>>2]|0,v2=O5&-8,E5=(v2|0)==(ki|0);t:do if(E5)Io=f5;else{for(r5=(nr|0)==31,x2=nr>>>1,R2=25-x2|0,B2=r5?0:R2,C5=ki<>>31,l5=(n$+16|0)+(A5<<2)|0,b5=e[l5>>2]|0,m5=(b5|0)==0,m5){a=l5,Zg=n$;break}if(L5=e$<<1,u5=b5+4|0,_5=e[u5>>2]|0,H2=_5&-8,d5=(H2|0)==(ki|0),d5){Io=b5;break t}else e$=L5,n$=b5}if(M1=e[138266]|0,v5=a>>>0>>0,v5)Q2();else{e[a>>2]=O9,c5=O9+24|0,e[c5>>2]=Zg,o5=O9+12|0,e[o5>>2]=O9,c2=O9+8|0,e[c2>>2]=O9;break e}}while(!1);if(B5=Io+8|0,e5=e[B5>>2]|0,n5=e[138266]|0,g5=e5>>>0>=n5>>>0,WE=Io>>>0>=n5>>>0,Y2=g5&WE,Y2){h5=e5+12|0,e[h5>>2]=O9,e[B5>>2]=O9,t5=O9+8|0,e[t5>>2]=e5,R5=O9+12|0,e[R5>>2]=Io,W2=O9+24|0,e[W2>>2]=0;break}else Q2()}}while(!1);if(L2=e[138265]|0,p5=L2>>>0>v4>>>0,p5)return H5=L2-v4|0,e[138265]=H5,X5=e[138268]|0,I5=X5+v4|0,e[138268]=I5,u3=H5|1,K=v4+4|0,h3=X5+K|0,e[h3>>2]=u3,K5=v4|3,e3=X5+4|0,e[e3>>2]=K5,n3=X5+8|0,Ke=n3,Ke|0}return F5=Kp()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,M4=0,ee=0,$7=0,_e=0;if(_e=m,X=(t|0)==0,!X){U=t+-8|0,J2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,a9=e[y6>>2]|0,z9=a9&3,x4=(z9|0)==1,x4&&Q2(),H9=a9&-8,p=H9+-8|0,Z9=t+p|0,a0=a9&1,j=(a0|0)==0;do if(j){if(v0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-v0|0,S0=t+Q|0,Z0=v0+H9|0,y1=S0>>>0>>0,y1&&Q2(),P1=e[138267]|0,s2=(S0|0)==(P1|0),s2){if(z=H9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,K=(r0|0)==3,!K){q3=S0,y9=Z0;break}e[138264]=Z0,c0=i0&-2,e[n0>>2]=c0,s0=Z0|1,_=Q+4|0,l0=t+_|0,e[l0>>2]=s0,e[Z9>>2]=Z0;return}if(n2=v0>>>3,G2=v0>>>0<256,G2){if(Y=Q+8|0,D5=t+Y|0,B2=e[D5>>2]|0,t0=Q+12|0,m5=t+t0|0,Y2=e[m5>>2]|0,u3=n2<<1,K3=553088+(u3<<2)|0,m3=(B2|0)==(K3|0),m3||(h6=B2>>>0>>0,h6&&Q2(),$6=B2+12|0,S3=e[$6>>2]|0,O6=(S3|0)==(S0|0),O6||Q2()),Y6=(Y2|0)==(B2|0),Y6){N6=1<>>0>>0,D6&&Q2(),K6=Y2+8|0,L6=e[K6>>2]|0,F3=(L6|0)==(S0|0),F3?c=K6:Q2()),F6=B2+12|0,e[F6>>2]=Y2,e[c>>2]=B2,q3=S0,y9=Z0;break}x=Q+24|0,X6=t+x|0,A9=e[X6>>2]|0,R=Q+12|0,W6=t+R|0,h9=e[W6>>2]|0,f9=(h9|0)==(S0|0);do if(f9){if(F=Q+20|0,s4=t+F|0,g4=e[s4>>2]|0,G9=(g4|0)==0,G9)if(L=Q+16|0,D9=t+L|0,I9=e[D9>>2]|0,P6=(I9|0)==0,P6){C9=0;break}else F4=I9,Ce=D9;else F4=g4,Ce=s4;for(;;){if(t9=F4+20|0,C4=e[t9>>2]|0,S4=(C4|0)==0,!S4){F4=C4,Ce=t9;continue}if(A4=F4+16|0,Q9=e[A4>>2]|0,D4=(Q9|0)==0,D4){le=F4,p4=Ce;break}else F4=Q9,Ce=A4}if(b4=p4>>>0>>0,b4)Q2();else{e[p4>>2]=0,C9=le;break}}else if(P=Q+8|0,u9=t+P|0,o9=e[u9>>2]|0,T9=o9>>>0>>0,T9&&Q2(),I6=o9+12|0,M6=e[I6>>2]|0,e9=(M6|0)==(S0|0),e9||Q2(),N9=h9+8|0,d9=e[N9>>2]|0,E4=(d9|0)==(S0|0),E4){e[I6>>2]=h9,e[N9>>2]=o9,C9=h9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)q3=S0,y9=Z0;else{if(M=Q+28|0,W4=t+M|0,m4=e[W4>>2]|0,N4=553352+(m4<<2)|0,U9=e[N4>>2]|0,G4=(S0|0)==(U9|0),G4){if(e[N4>>2]=C9,c4=(C9|0)==0,c4){o4=1<>>0>>0,Ee&&Q2(),Te=A9+16|0,We=e[Te>>2]|0,U4=(We|0)==(S0|0),U4?e[Te>>2]=C9:(Ne=A9+20|0,e[Ne>>2]=C9),O4=(C9|0)==0,O4){q3=S0,y9=Z0;break}j4=e[138266]|0,Se=C9>>>0>>0,Se&&Q2(),je=C9+24|0,e[je>>2]=A9,T=Q+16|0,Ae=t+T|0,f4=e[Ae>>2]|0,b6=(f4|0)==0;do if(!b6)if(P4=f4>>>0>>0,P4)Q2();else{L9=C9+16|0,e[L9>>2]=f4,a4=f4+24|0,e[a4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,oe=e[_4>>2]|0,W9=(oe|0)==0,W9)q3=S0,y9=Z0;else if(ae=e[138266]|0,Z=oe>>>0>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=oe,o0=oe+24|0,e[o0>>2]=C9,q3=S0,y9=Z0;break}}}else q3=U,y9=H9;while(!1);if($0=q3>>>0>>0,$0||Q2(),D=H9+-4|0,g0=t+D|0,u0=e[g0>>2]|0,p0=u0&1,I0=(p0|0)==0,I0&&Q2(),w0=u0&2,f0=(w0|0)==0,f0){if(E0=e[138268]|0,C0=(Z9|0)==(E0|0),C0){if(d0=e[138265]|0,K0=d0+y9|0,e[138265]=K0,e[138268]=q3,b0=K0|1,m0=q3+4|0,e[m0>>2]=b0,L0=e[138267]|0,F0=(q3|0)==(L0|0),!F0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,U0=(Z9|0)==(T0|0),U0){B0=e[138264]|0,q0=B0+y9|0,e[138264]=q0,e[138267]=q3,x0=q0|1,M0=q3+4|0,e[M0>>2]=x0,J0=q3+q0|0,e[J0>>2]=q0;return}Y0=u0&-8,O0=Y0+y9|0,z0=u0>>>3,N0=u0>>>0<256;do if(N0){if(P0=t+H9|0,r1=e[P0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){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,w1=(G1|0)==(Z9|0);do if(w1){if(H=H9+12|0,W1=t+H|0,O1=e[W1>>2]|0,l2=(O1|0)==0,l2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){$4=0;break}else c6=f2,l4=z1;else c6=O1,l4=W1;for(;;){if(A2=c6+20|0,V1=e[A2>>2]|0,g2=(V1|0)==0,!g2){c6=V1,l4=A2;continue}if(a2=c6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ge=c6,U6=l4;break}else c6=t2,l4=a2}if(i2=e[138266]|0,o2=U6>>>0>>0,o2)Q2();else{e[U6>>2]=0,$4=Ge;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,r2=(j1|0)==(Z9|0),r2){e[K1>>2]=G1,e[Y1>>2]=Z1,$4=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,S2=e[y2>>2]|0,w2=(Z9|0)==(S2|0),w2){if(e[y2>>2]=$4,k4=($4|0)==0,k4){m2=1<>>0>>0,q2&&Q2(),T2=L1+16|0,O2=e[T2>>2]|0,K2=(O2|0)==(Z9|0),K2?e[T2>>2]=$4:(s5=L1+20|0,e[s5>>2]=$4),P2=($4|0)==0,P2)break;T1=e[138266]|0,j2=$4>>>0>>0,j2&&Q2(),x5=$4+24|0,e[x5>>2]=L1,S=H9+8|0,X2=t+S|0,V2=e[X2>>2]|0,f5=(V2|0)==0;do if(!f5)if(k5=V2>>>0>>0,k5)Q2();else{O5=$4+16|0,e[O5>>2]=V2,$5=V2+24|0,e[$5>>2]=$4;break}while(!1);if(w=H9+12|0,v2=t+w|0,E5=e[v2>>2]|0,r5=(E5|0)==0,!r5)if(x2=e[138266]|0,R2=E5>>>0>>0,R2)Q2();else{C5=$4+20|0,e[C5>>2]=E5,L5=E5+24|0,e[L5>>2]=$4;break}}}while(!1);if(u5=O0|1,b5=q3+4|0,e[b5>>2]=u5,G5=q3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,H2=(q3|0)==(_5|0),H2){e[138264]=O0;return}else m9=O0}else d5=u0&-2,e[g0>>2]=d5,A5=y9|1,l5=q3+4|0,e[l5>>2]=A5,M1=q3+y9|0,e[M1>>2]=y9,m9=y9;if(v5=m9>>>3,c5=m9>>>0<256,c5){o5=v5<<1,z2=553088+(o5<<2)|0,c2=e[138262]|0,B5=1<>2]|0,R5=e[138266]|0,W2=t5>>>0>>0,W2?Q2():(f=h5,$e=t5)),e[f>>2]=q3,a5=$e+12|0,e[a5>>2]=q3,L2=q3+8|0,e[L2>>2]=$e,p5=q3+12|0,e[p5>>2]=z2;return}H5=m9>>>8,X5=(H5|0)==0,X5?B4=0:(I5=m9>>>0>16777215,I5?B4=31:(h3=H5+1048320|0,K5=h3>>>16,e3=K5&8,n3=H5<>>16,V5=F5&4,w3=V5|e3,f3=n3<>>16,Z5=T3&2,y3=w3|Z5,j5=14-y3|0,t6=f3<>>15,N3=j5+R3|0,o3=N3<<1,$3=N3+7|0,l3=m9>>>$3,q5=l3&1,U5=q5|o3,B4=U5)),P5=553352+(B4<<2)|0,w5=q3+28|0,e[w5>>2]=B4,G3=q3+16|0,M5=q3+20|0,e[M5>>2]=0,e[G3>>2]=0,n6=e[138263]|0,t3=1<>2]=q3,k3=q3+24|0,e[k3>>2]=P5,Q3=q3+12|0,e[Q3>>2]=q3,i6=q3+8|0,e[i6>>2]=q3;else{W3=e[P5>>2]|0,U3=W3+4|0,z5=e[U3>>2]|0,v3=z5&-8,c3=(v3|0)==(m9|0);t:do if(c3)De=W3;else{for(O3=(B4|0)==31,d3=B4>>>1,w6=25-d3|0,k6=O3?0:w6,v6=m9<>>31,e6=(be+16|0)+(X3<<2)|0,l6=e[e6>>2]|0,f6=(l6|0)==0,f6){n=e6,Xe=be;break}if(B6=X4<<1,j3=l6+4|0,p6=e[j3>>2]|0,_6=p6&-8,q6=(_6|0)==(m9|0),q6){De=l6;break t}else X4=B6,be=l6}if(P3=e[138266]|0,D3=n>>>0>>0,D3)Q2();else{e[n>>2]=q3,H3=q3+24|0,e[H3>>2]=Xe,V3=q3+12|0,e[V3>>2]=q3,S6=q3+8|0,e[S6>>2]=q3;break e}}while(!1);if(s6=De+8|0,i3=e[s6>>2]|0,s3=e[138266]|0,A6=i3>>>0>=s3>>>0,g8=De>>>0>=s3>>>0,u6=A6&g8,u6){b3=i3+12|0,e[b3>>2]=q3,e[s6>>2]=q3,T6=q3+8|0,e[T6>>2]=i3,r6=q3+12|0,e[r6>>2]=De,Q6=q3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(R6=e[138270]|0,J6=R6+-1|0,e[138270]=J6,d6=(J6|0)==0,d6)ee=553504;else return;for(;M4=e[ee>>2]|0,L3=(M4|0)==0,Z6=M4+8|0,!L3;)ee=Z6;e[138270]=-1}}function r4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0;return _=m,a=(t|0)==0,a?D=0:(c=i5(n,t)|0,I=n|t,C=I>>>0>65535,C?(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)||se(v|0,0,D|0)|0,v|0}function Ui(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0;return Y=m,o=(t|0)==0,o?(a=S9(n)|0,P=a,P|0):(y=n>>>0>4294967231,y?(x=Kp()|0,e[x>>2]=12,P=0,P|0):(R=n>>>0<11,L=n+11|0,F=L&-8,M=R?16:F,T=t+-8|0,G=AD(T,M)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(P=0,P|0):(C=t+-4|0,p=e[C>>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,n4(E|0,t|0,_|0)|0,I2(t),P=E,P|0)):(f=G+8|0,P=f,P|0)))}function AD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0;if(V5=m,T=t+4|0,G=e[T>>2]|0,w1=G&-8,r2=t+w1|0,a2=e[138266]|0,w2=G&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,K5=h3&u3,K2=t>>>0>>0,e3=K5&K2,e3||Q2(),_=w1|4,O5=t+_|0,b5=e[O5>>2]|0,o5=b5&1,P=(o5|0)==0,P&&Q2(),Z=(w2|0)==0,Z)return $0=n>>>0<256,$0?(I5=0,I5|0):(K0=n+4|0,M0=w1>>>0>>0,!M0&&(i1=w1-n|0,d1=e[138382]|0,S1=d1<<1,F1=i1>>>0>S1>>>0,!F1)?(I5=t,I5|0):(I5=0,I5|0));if(G1=w1>>>0>>0,!G1)return U1=w1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,D1=G&1,K1=D1|n,P1=K1|2,e[T>>2]=P1,Q=n+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[O5>>2]|0,j1=Y1|1,e[O5>>2]=j1,yQ(N1,U1),I5=t,I5|0):(I5=t,I5|0);if(W1=e[138268]|0,O1=(r2|0)==(W1|0),O1)return l2=e[138265]|0,z1=l2+w1|0,f2=z1>>>0>n>>>0,f2?(s2=z1-n|0,E2=t+n|0,A2=G&1,V1=A2|n,g2=V1|2,e[T>>2]=g2,D=n+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,I5=t,I5|0):(I5=0,I5|0);if(i2=e[138267]|0,o2=(r2|0)==(i2|0),o2)return X1=e[138264]|0,n2=X1+w1|0,u2=n2>>>0>>0,u2?(I5=0,I5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(S2=t+n|0,m2=t+n2|0,M2=G&1,_2=M2|n,N2=_2|2,e[T>>2]=N2,S=n+4|0,d2=t+S|0,J2=e2|1,e[d2>>2]=J2,e[m2>>2]=e2,y=n2+4|0,G2=t+y|0,q2=e[G2>>2]|0,T2=q2&-2,e[G2>>2]=T2,n3=S2,C3=e2):(O2=G&1,s5=O2|n2,P2=s5|2,e[T>>2]=P2,v=n2+4|0,T1=t+v|0,j2=e[T1>>2]|0,x5=j2|1,e[T1>>2]=x5,n3=0,C3=0),e[138264]=C3,e[138267]=n3,I5=t,I5|0);if(X2=b5&2,D5=(X2|0)==0,!D5||(V2=b5&-8,f5=V2+w1|0,k5=f5>>>0>>0,k5))return I5=0,I5|0;$5=f5-n|0,v2=b5>>>3,E5=b5>>>0<256;do if(E5){if(p=w1+8|0,r5=t+p|0,x2=e[r5>>2]|0,B=w1+12|0,R2=t+B|0,B2=e[R2>>2]|0,C5=v2<<1,L5=553088+(C5<<2)|0,u5=(x2|0)==(L5|0),u5||(G5=x2>>>0>>0,G5&&Q2(),_5=x2+12|0,H2=e[_5>>2]|0,d5=(H2|0)==(r2|0),d5||Q2()),A5=(B2|0)==(x2|0),A5){l5=1<>>0>>0,z2&&Q2(),c2=B2+8|0,B5=e[c2>>2]|0,e5=(B5|0)==(r2|0),e5?a=c2:Q2()),n5=x2+12|0,e[n5>>2]=B2,e[a>>2]=x2}else{c=w1+24|0,g5=t+c|0,Y2=e[g5>>2]|0,w=w1+12|0,h5=t+w|0,t5=e[h5>>2]|0,R5=(t5|0)==(r2|0);do if(R5){if(R=w1+20|0,a0=t+R|0,V=e[a0>>2]|0,o0=(V|0)==0,o0)if(x=w1+16|0,n0=t+x|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){L2=0;break}else W2=i0,p5=n0;else W2=V,p5=a0;for(;;){if(K=W2+20|0,c0=e[K>>2]|0,s0=(c0|0)==0,!s0){W2=c0,p5=K;continue}if(l0=W2+16|0,j=e[l0>>2]|0,g0=(j|0)==0,g0){a5=W2,H5=p5;break}else W2=j,p5=l0}if(u0=H5>>>0>>0,u0)Q2();else{e[H5>>2]=0,L2=a5;break}}else if(C=w1+8|0,z=t+C|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=t5+8|0,X=e[H>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=t5,e[H>>2]=Y,L2=t5;break}else Q2();while(!1);if(p0=(Y2|0)==0,!p0){if(f=w1+28|0,I0=t+f|0,w0=e[I0>>2]|0,f0=553352+(w0<<2)|0,E0=e[f0>>2]|0,C0=(r2|0)==(E0|0),C0){if(e[f0>>2]=L2,X5=(L2|0)==0,X5){d0=1<>>0>>0,F0&&Q2(),T0=Y2+16|0,U0=e[T0>>2]|0,B0=(U0|0)==(r2|0),B0?e[T0>>2]=L2:(q0=Y2+20|0,e[q0>>2]=L2),x0=(L2|0)==0,x0)break;D0=e[138266]|0,J0=L2>>>0>>0,J0&&Q2(),Y0=L2+24|0,e[Y0>>2]=Y2,E=w1+16|0,O0=t+E|0,z0=e[O0>>2]|0,N0=(z0|0)==0;do if(!N0)if(P0=z0>>>0>>0,P0)Q2();else{r1=L2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=L2;break}while(!1);if(I=w1+20|0,e1=t+I|0,S0=e[e1>>2]|0,c1=(S0|0)==0,!c1)if($1=e[138266]|0,f1=S0>>>0<$1>>>0,f1)Q2();else{g1=L2+20|0,e[g1>>2]=S0,l1=S0+24|0,e[l1>>2]=L2;break}}}while(!1);return s1=$5>>>0<16,s1?(a1=G&1,n1=f5|a1,A1=n1|2,e[T>>2]=A1,M=f5|4,Z0=t+M|0,h1=e[Z0>>2]|0,E1=h1|1,e[Z0>>2]=E1,I5=t,I5|0):(u1=t+n|0,I1=G&1,B1=I1|n,p1=B1|2,e[T>>2]=p1,L=n+4|0,Q1=t+L|0,R1=$5|3,e[Q1>>2]=R1,F=f5|4,x1=t+F|0,y1=e[x1>>2]|0,L1=y1|1,e[x1>>2]=L1,yQ(u1,$5),I5=t,I5|0)}function yQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,A1=0,Z0=0,d1=0,h1=0,E1=0,u1=0,I1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,L1=0,F1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,d2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,L5=0,u5=0,b5=0,G5=0,_5=0,H2=0,d5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,L2=0,p5=0,H5=0,X5=0,I5=0,u3=0,h3=0,K5=0,e3=0,n3=0,C3=0,F5=0,V5=0,w3=0,f3=0,B3=0,K3=0,T3=0,Z5=0,y3=0,j5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,z5=0,v3=0,c3=0,O3=0,$6=0,d3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,d6=0,Y6=0,L3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,L6=0,F3=0,F6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,I6=0,M6=0,e9=0,N9=0,d9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,I9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,x4=0,T4=0,W4=0,m4=0,N4=0,U9=0,G4=0,o4=0,L4=0,h4=0,Ie=0,H9=0,E9=0,Ee=0,Te=0,We=0,U4=0,Ne=0,O4=0,j4=0,Se=0,je=0,Z9=0,Ae=0,f4=0,b6=0,P4=0,L9=0,a4=0,_4=0,oe=0,W9=0,ae=0,$e=0,B4=0,X4=0,F4=0,le=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0;p4=m,V=t+n|0,o0=t+4|0,O2=e[o0>>2]|0,f6=O2&1,Y6=(f6|0)==0;do if(Y6){if(L6=e[t>>2]|0,T9=O2&3,D9=(T9|0)==0,D9)return;if(T4=0-L6|0,E9=t+T4|0,n0=L6+n|0,p0=e[138266]|0,L0=E9>>>0>>0,L0&&Q2(),O0=e[138267]|0,f1=(E9|0)==(O0|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=E9,a=n0;break}e[138264]=n0,c0=i0&-2,e[Z9>>2]=c0,s0=n0|1,R=4-L6|0,l0=t+R|0,e[l0>>2]=s0,e[V>>2]=n0;return}if(u1=L6>>>3,G1=L6>>>0<256,G1){if(J=8-L6|0,j1=t+J|0,g2=e[j1>>2]|0,W=12-L6|0,S2=t+W|0,K2=e[S2>>2]|0,O5=u1<<1,b5=553088+(O5<<2)|0,o5=(g2|0)==(b5|0),o5||(W2=g2>>>0>>0,W2&&Q2(),n3=g2+12|0,j5=e[n3>>2]|0,w5=(j5|0)==(E9|0),w5||Q2()),i6=(K2|0)==(g2|0),i6){v6=1<>>0>>0,T6&&Q2(),r6=K2+8|0,Q6=e[r6>>2]|0,R6=(Q6|0)==(E9|0),R6?C=r6:Q2()),J6=g2+12|0,e[J6>>2]=K2,e[C>>2]=g2,o=E9,a=n0;break}L=24-L6|0,d6=t+L|0,L3=e[d6>>2]|0,F=12-L6|0,Z6=t+F|0,N6=e[Z6>>2]|0,j6=(N6|0)==(E9|0);do if(j6){if(M=16-L6|0,T=M+4|0,A9=t+T|0,W6=e[A9>>2]|0,h9=(W6|0)==0,h9)if(f9=t+M|0,u9=e[f9>>2]|0,o9=(u9|0)==0,o9){a4=0;break}else P4=u9,ae=f9;else P4=W6,ae=A9;for(;;){if(a9=P4+20|0,I6=e[a9>>2]|0,M6=(I6|0)==0,!M6){P4=I6,ae=a9;continue}if(e9=P4+16|0,N9=e[e9>>2]|0,d9=(N9|0)==0,d9){L9=P4,$e=ae;break}else P4=N9,ae=e9}if(E4=$e>>>0>>0,E4)Q2();else{e[$e>>2]=0,a4=L9;break}}else if(t0=8-L6|0,r9=t+t0|0,x6=e[r9>>2]|0,G6=x6>>>0>>0,G6&&Q2(),D6=x6+12|0,K6=e[D6>>2]|0,y6=(K6|0)==(E9|0),y6||Q2(),F3=N6+8|0,F6=e[F3>>2]|0,X6=(F6|0)==(E9|0),X6){e[D6>>2]=N6,e[F3>>2]=x6,a4=N6;break}else Q2();while(!1);if(s4=(L3|0)==0,s4)o=E9,a=n0;else{if(P=28-L6|0,g4=t+P|0,G9=e[g4>>2]|0,z9=553352+(G9<<2)|0,I9=e[z9>>2]|0,P6=(E9|0)==(I9|0),P6){if(e[z9>>2]=a4,c6=(a4|0)==0,c6){t9=1<>>0>>0,D4&&Q2(),b4=L3+16|0,x4=e[b4>>2]|0,W4=(x4|0)==(E9|0),W4?e[b4>>2]=a4:(m4=L3+20|0,e[m4>>2]=a4),N4=(a4|0)==0,N4){o=E9,a=n0;break}U9=e[138266]|0,G4=a4>>>0>>0,G4&&Q2(),o4=a4+24|0,e[o4>>2]=L3,z=16-L6|0,L4=t+z|0,h4=e[L4>>2]|0,Ie=(h4|0)==0;do if(!Ie)if(H9=h4>>>0>>0,H9)Q2();else{Ee=a4+16|0,e[Ee>>2]=h4,Te=h4+24|0,e[Te>>2]=a4;break}while(!1);if(Y=z+4|0,We=t+Y|0,U4=e[We>>2]|0,Ne=(U4|0)==0,Ne)o=E9,a=n0;else if(O4=e[138266]|0,j4=U4>>>0>>0,j4)Q2();else{Se=a4+20|0,e[Se>>2]=U4,je=U4+24|0,e[je>>2]=a4,o=E9,a=n0;break}}}else o=t,a=n;while(!1);if(j=e[138266]|0,$0=V>>>0>>0,$0&&Q2(),y=n+4|0,g0=t+y|0,u0=e[g0>>2]|0,I0=u0&2,w0=(I0|0)==0,w0){if(f0=e[138268]|0,E0=(V|0)==(f0|0),E0){if(C0=e[138265]|0,d0=C0+a|0,e[138265]=d0,e[138268]=o,v0=d0|1,K0=o+4|0,e[K0>>2]=v0,b0=e[138267]|0,m0=(o|0)==(b0|0),!m0)return;e[138267]=0,e[138264]=0;return}if(F0=e[138267]|0,T0=(V|0)==(F0|0),T0){U0=e[138264]|0,B0=U0+a|0,e[138264]=B0,e[138267]=o,q0=B0|1,x0=o+4|0,e[x0>>2]=q0,D0=o+B0|0,e[D0>>2]=B0;return}M0=u0&-8,J0=M0+a|0,Y0=u0>>>3,z0=u0>>>0<256;do if(z0){if(_=n+8|0,N0=t+_|0,P0=e[N0>>2]|0,x=n+12|0,r1=t+x|0,H0=e[r1>>2]|0,e1=Y0<<1,S0=553088+(e1<<2)|0,i1=(P0|0)==(S0|0),i1||(c1=P0>>>0>>0,c1&&Q2(),$1=P0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(P0|0),s1){a1=1<>>0>>0,h1&&Q2(),E1=H0+8|0,I1=e[E1>>2]|0,B1=(I1|0)==(V|0),B1?I=E1:Q2()),p1=P0+12|0,e[p1>>2]=H0,e[I>>2]=P0}else{G=n+24|0,Q1=t+G|0,R1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,y1=e[x1>>2]|0,S1=(y1|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,O1=(W1|0)==0,O1){W9=0;break}else _4=W1,B4=r2;else _4=q1,B4=H1;for(;;){if(l2=_4+20|0,z1=e[l2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=l2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,A2=(E2|0)==0,A2){oe=_4,X4=B4;break}else _4=E2,B4=s2}if(V1=X4>>>0>>0,V1)Q2();else{e[X4>>2]=0,W9=oe;break}}else if(Q=n+8|0,L1=t+Q|0,F1=e[L1>>2]|0,w1=F1>>>0>>0,w1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(V|0),N1||Q2(),D1=y1+8|0,K1=e[D1>>2]|0,P1=(K1|0)==(V|0),P1){e[U1>>2]=y1,e[D1>>2]=F1,W9=y1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if(a0=n+28|0,t2=t+a0|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,Ge=(W9|0)==0,Ge){n2=1<<$2,u2=n2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,m2=R1>>>0>>0,m2&&Q2(),M2=R1+16|0,_2=e[M2>>2]|0,N2=(_2|0)==(V|0),N2?e[M2>>2]=W9:(d2=R1+20|0,e[d2>>2]=W9),J2=(W9|0)==0,J2)break;G2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),T2=W9+24|0,e[T2>>2]=R1,Z=n+16|0,s5=t+Z|0,P2=e[s5>>2]|0,T1=(P2|0)==0;do if(!T1)if(j2=P2>>>0>>0,j2)Q2();else{x5=W9+16|0,e[x5>>2]=P2,X2=P2+24|0,e[X2>>2]=W9;break}while(!1);if(D=n+20|0,D5=t+D|0,V2=e[D5>>2]|0,f5=(V2|0)==0,!f5)if(k5=e[138266]|0,$5=V2>>>0>>0,$5)Q2();else{v2=W9+20|0,e[v2>>2]=V2,E5=V2+24|0,e[E5>>2]=W9;break}}}while(!1);if(r5=J0|1,x2=o+4|0,e[x2>>2]=r5,R2=o+J0|0,e[R2>>2]=J0,B2=e[138267]|0,C5=(o|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else L5=u0&-2,e[g0>>2]=L5,u5=a|1,G5=o+4|0,e[G5>>2]=u5,_5=o+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,d5=c>>>0<256,d5){A5=H2<<1,l5=553088+(A5<<2)|0,m5=e[138262]|0,M1=1<>2]|0,e5=e[138266]|0,n5=B5>>>0>>0,n5?Q2():(p=c2,Ae=B5)),e[p>>2]=o,g5=Ae+12|0,e[g5>>2]=o,Y2=o+8|0,e[Y2>>2]=Ae,h5=o+12|0,e[h5>>2]=l5;return}if(t5=c>>>8,R5=(t5|0)==0,R5?f4=0:(a5=c>>>0>16777215,a5?f4=31:(L2=t5+1048320|0,p5=L2>>>16,H5=p5&8,X5=t5<>>16,h3=u3&4,K5=h3|H5,e3=X5<>>16,V5=F5&2,w3=K5|V5,f3=14-w3|0,B3=e3<>>15,T3=f3+K3|0,Z5=T3<<1,y3=T3+7|0,t6=c>>>y3,R3=t6&1,N3=R3|Z5,f4=N3)),o3=553352+(f4<<2)|0,$3=o+28|0,e[$3>>2]=f4,l3=o+16|0,m3=o+20|0,e[m3>>2]=0,e[l3>>2]=0,q5=e[138263]|0,U5=1<>2]=o,n6=o+24|0,e[n6>>2]=o3,t3=o+12|0,e[t3>>2]=o,A3=o+8|0,e[A3>>2]=o;return}x3=e[o3>>2]|0,h6=x3+4|0,p3=e[h6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)F4=x3;else{for(W3=(f4|0)==31,U3=f4>>>1,z5=25-U3|0,v3=W3?0:z5,c3=c<>>31,l6=(le+16|0)+(j3<<2)|0,d3=e[l6>>2]|0,p6=(d3|0)==0,p6){f=l6,C9=le;break}if(O3=b6<<1,$6=d3+4|0,w6=e[$6>>2]|0,k6=w6&-8,B6=(k6|0)==(c|0),B6){F4=d3;break e}else b6=O3,le=d3}_6=e[138266]|0,q6=f>>>0<_6>>>0,q6&&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=F4+8|0,D3=e[e6>>2]|0,H3=e[138266]|0,V3=D3>>>0>=H3>>>0,$4=F4>>>0>=H3>>>0,S6=V3&$4,S6||Q2(),s6=D3+12|0,e[s6>>2]=o,e[e6>>2]=o,i3=o+8|0,e[i3>>2]=D3,O6=o+12|0,e[O6>>2]=F4,s3=o+24|0,e[s3>>2]=0}function oD(){e[6410]=P9}function se(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 j$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function wQ(t,n){t=t|0,n=n|0;var o=0,a=0;a=t+(j$(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 kQ(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,H6=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):(H6=0,n>>>o-32|0)}function n4(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;if((o|0)>=4096)return Iv(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 n4(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 Ws(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,H6=f,c|0|0}function Mb(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):(H6=(n|0)<0?-1:0,n>>o-32|0)}function vQ(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 aD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return o=t&65535,a=n&65535,c=i5(a,o)|0,f=t>>>16,E=(c>>>16)+(i5(a,f)|0)|0,I=n>>>16,C=i5(I,o)|0,H6=((E>>>16)+(i5(I,f)|0)|0)+(((E&65535)+C|0)>>>16)|0,0|(E+C<<16|c&65535)|0}function Tb(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,C=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,C=Ws(c^t,f^n,c,f)|0,p=H6,B=Ws(E^o,I^a,E,I)|0,v=E^c,S=I^f,w=tm(C,p,B,H6,0)|0,y=Ws(w^v,H6^S,v,S)|0,y|0}function Nb(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,m=m+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,C=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Ws(f^t,E^n,f,E)|0,B=H6,v=Ws(I^o,C^a,I,C)|0,tm(p,B,v,H6,c)|0,S=Ws(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=H6,m=y,H6=w,S|0}function $D(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,C=0;return c=t,f=o,E=aD(c,f)|0,I=H6,C=i5(n,f)|0,H6=((i5(a,c)|0)+C|0)+I|I&0,0|E&-1|0}function Gb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0;return c=tm(t,n,o,a,0)|0,c|0}function Ub(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0;return f=m,m=m+8|0,c=f|0,tm(t,n,o,a,c)|0,m=f,H6=e[c+4>>2]|0,e[c>>2]|0|0}function tm(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,_=0,x=0,R=0,L=0,F=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,u0=0,p0=0,I0=0,w0=0,f0=0,E0=0,C0=0,d0=0,v0=0,K0=0,b0=0,m0=0,L0=0,F0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;if(f=t,E=n,I=E,C=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,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0):(v&&(e[c>>2]=(f>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(f>>>0)/(C>>>0)>>>0,H6=D0,x0|0);S=(B|0)==0;do if(C|0){if(!S){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,a0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}if(x=C-1|0,x&C|0){L=(Vs(C|0)|0)+33|0,F=L-(Vs(I|0)|0)|0,M=64-F|0,T=32-F|0,G=T>>31,P=F-32|0,z=P>>31,Z=F,a0=T-1>>31&I>>>(P>>>0)|(I<>>(F>>>0))&z,U=z&I>>>(F>>>0),X=f<>>(P>>>0))&G|f<>31;break}return c|0&&(e[c>>2]=x&f,e[c+4>>2]=0),(C|0)==1?(D0=E|n&0,x0=0|t&-1,H6=D0,x0|0):(R=vQ(C|0)|0,D0=0|I>>>(R>>>0),x0=I<<32-R|f>>>(R>>>0)|0,H6=D0,x0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(I>>>0)/(C>>>0)>>>0,H6=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,H6=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|n&0),D0=0,x0=I>>>((vQ(B|0)|0)>>>0),H6=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,a0=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,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}while(!1);if(!(Z|0))T0=H,F0=X,L0=U,m0=a0,b0=0,K0=0;else{for(V=0|o&-1,o0=p|a&0,n0=zs(V|0,o0|0,-1,-1)|0,i0=H6,j=H,l0=X,s0=U,c0=a0,K=Z,r0=0;$0=l0>>>31|j<<1,g0=r0|l0<<1,u0=0|(c0<<1|j>>>31),p0=c0>>>31|s0<<1|0,Ws(n0,i0,u0,p0)|0,I0=H6,w0=I0>>31|((I0|0)<0?-1:0)<<1,f0=w0&1,E0=Ws(u0,p0,w0&V,(((I0|0)<0?-1:0)>>31|((I0|0)<0?-1:0)<<1)&o0)|0,C0=E0,d0=H6,v0=K-1|0,v0|0;)j=$0,l0=g0,s0=d0,c0=C0,K=v0,r0=f0;T0=$0,F0=g0,L0=d0,m0=C0,b0=0,K0=f0}return U0=F0,B0=0,q0=T0|B0,c|0&&(e[c>>2]=0|m0,e[c+4>>2]=L0|0),D0=(0|U0)>>>31|q0<<1|(B0<<1|U0>>>31)&0|b0,x0=(U0<<1|0)&-2|K0,H6=D0,x0|0}function lD(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 cD(t,n){t=t|0,n=n|0,js[t&7](n|0)}function gD(t,n,o){t=t|0,n=n|0,o=o|0,EB[t&3](n|0,o|0)}function hD(t,n){return t=t|0,n=n|0,bQ[t&1](n|0)|0}function fD(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0,_Q[t&1](n|0,o|0,a|0)}function uD(t,n,o,a,c,f,E,I,C){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,C=C|0,RQ[t&3](n|0,o|0,a|0,c|0,f|0,E|0,I|0,C|0)|0}function dD(t,n,o){return t=t|0,n=n|0,o=o|0,ft[t&15](n|0,o|0)|0}function ID(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,CB[t&7](n|0,o|0,a|0,c|0,f|0)|0}function ED(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,qr(0),0}function uB(t){t=t|0,qr(1)}function SQ(t,n){t=t|0,n=n|0,qr(2)}function CD(t){return t=t|0,qr(3),0}function mD(t,n,o){t=t|0,n=n|0,o=o|0,qr(4)}function DQ(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,qr(5),0}function X$(t,n){return t=t|0,n=n|0,qr(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,qr(7),0}var IB=[ED,sS,Hv,qv],js=[uB,iS,rS,uS,SS,DS,uB,uB],EB=[SQ,Xv,bS,SQ],bQ=[CD,dS],_Q=[mD,hS],RQ=[DQ,LS,NS,DQ],ft=[X$,eS,tS,nS,fS,IS,_S,RS,AS,vS,qS,X$,X$,X$,X$,X$],CB=[dB,xS,FS,MS,TS,GS,dB,dB];return{_memmove:Wo,_strlen:j$,_strcat:wQ,_free:I2,_i64Add:zs,_encoder_clear:jS,_encoder_transfer_data:iD,_encoder_data_len:tD,_memset:se,_malloc:S9,_memcpy:n4,_encoder_init:WS,_encoder_process:eD,_bitshift64Lshr:Zs,_bitshift64Shl:kQ,_strcpy:fB,_encoder_analysis_buffer:XS,runPostSets:oD,stackAlloc:mv,stackSave:Bv,stackRestore:pv,establishStackSpace:Qv,setThrew:yv,setTempRet0:wv,getTempRet0:kv,dynCall_iiiii:lD,dynCall_vi:cD,dynCall_vii:gD,dynCall_ii:hD,dynCall_viii:fD,dynCall_iiiiiiiii:uD,dynCall_iii:dD,dynCall_iiiiii:ID}}(A.asmGlobalArg,A.asmLibraryArg,xi),cb=A.runPostSets=K9.runPostSets,tv=A._strlen=K9._strlen,iv=A._strcat=K9._strcat,iB=A._free=K9._free,gb=A._encoder_init=K9._encoder_init,rv=A._i64Add=K9._i64Add,nv=A._memmove=K9._memmove,hb=A._encoder_transfer_data=K9._encoder_transfer_data,fb=A._encoder_process=K9._encoder_process,ub=A._encoder_data_len=K9._encoder_data_len,sv=A._memset=K9._memset,bh=A._malloc=K9._malloc,Av=A._memcpy=K9._memcpy,db=A._encoder_clear=K9._encoder_clear,ov=A._bitshift64Lshr=K9._bitshift64Lshr,Ib=A._encoder_analysis_buffer=K9._encoder_analysis_buffer,av=A._strcpy=K9._strcpy,$v=A._bitshift64Shl=K9._bitshift64Shl,Eb=A.dynCall_iiiii=K9.dynCall_iiiii,Cb=A.dynCall_vi=K9.dynCall_vi,mb=A.dynCall_vii=K9.dynCall_vii,Bb=A.dynCall_ii=K9.dynCall_ii,pb=A.dynCall_viii=K9.dynCall_viii,Qb=A.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,yb=A.dynCall_iii=K9.dynCall_iii,wb=A.dynCall_iiiiii=K9.dynCall_iiiiii;N.stackAlloc=K9.stackAlloc,N.stackSave=K9.stackSave,N.stackRestore=K9.stackRestore,N.establishStackSpace=K9.establishStackSpace,N.setTempRet0=K9.setTempRet0,N.getTempRet0=K9.getTempRet0;var kb=function(){var i={math:{}};i.math.Long=function(q,k0){this.low_=q|0,this.high_=k0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var k0=i.math.Long.IntCache_[q];if(k0)return k0}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,k0){return new i.math.Long(q,k0)},i.math.Long.fromString=function(q,k0){if(q.length==0)throw Error("number format error: empty string");var j0=k0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+q);for(var C2=i.math.Long.fromNumber(Math.pow(j0,8)),W5=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_,k0=31;k0>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 k0=this.isNegative(),j0=q.isNegative();return k0&&!j0?-1:!k0&&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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,W5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,z4=0,tt=0,zi=0;return zi+=W5+M9,tt+=zi>>>16,zi&=65535,tt+=C2+V6,z4+=tt>>>16,tt&=65535,z4+=j0+_3,x9+=z4>>>16,z4&=65535,x9+=k0+N5,x9&=65535,i.math.Long.fromBits(tt<<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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,W5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,z4=0,tt=0,zi=0;return zi+=W5*M9,tt+=zi>>>16,zi&=65535,tt+=C2*M9,z4+=tt>>>16,tt&=65535,tt+=W5*V6,z4+=tt>>>16,tt&=65535,z4+=j0*M9,x9+=z4>>>16,z4&=65535,z4+=C2*V6,x9+=z4>>>16,z4&=65535,z4+=W5*_3,x9+=z4>>>16,z4&=65535,x9+=k0*M9+j0*V6+C2*_3+W5*N5,x9&=65535,i.math.Long.fromBits(tt<<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 k0=this.shiftRight(1),j0=k0.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)),C2=j0.add(N5.div(q));return C2}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 W5=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),V6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(N5);)j0-=V6,M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);M9.isZero()&&(M9=i.math.Long.ONE),W5=W5.add(M9),N5=N5.subtract(x9)}return W5},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 k0=this.low_;if(q<32){var j0=this.high_;return i.math.Long.fromBits(k0<>>32-q)}else return i.math.Long.fromBits(0,k0<>>q|k0<<32-q,k0>>q)}else return i.math.Long.fromBits(k0>>q-32,k0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var k0=this.high_;if(q<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>q|k0<<32-q,k0>>>q)}else return q==32?i.math.Long.fromBits(k0,0):i.math.Long.fromBits(k0>>>q-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,O=(d&16777215)==15715070;function e(q,k0,j0){q!=null&&(typeof q=="number"?this.fromNumber(q,k0,j0):k0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,k0))}function W0(){return new e(null)}function t1(q,k0,j0,C2,W5,N5){for(;--N5>=0;){var _3=k0*this[q++]+j0[C2]+W5;W5=Math.floor(_3/67108864),j0[C2++]=_3&67108863}return W5}function b2(q,k0,j0,C2,W5,N5){for(var _3=k0&32767,V6=k0>>15;--N5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,z4=V6*M9+x9*_3;M9=_3*M9+((z4&32767)<<15)+j0[C2]+(W5&1073741823),W5=(M9>>>30)+(z4>>>15)+V6*x9+(W5>>>30),j0[C2++]=M9&1073741823}return W5}function s(q,k0,j0,C2,W5,N5){for(var _3=k0&16383,V6=k0>>14;--N5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,z4=V6*M9+x9*_3;M9=_3*M9+((z4&16383)<<14)+j0[C2]+W5,W5=(M9>>28)+(z4>>14)+V6*x9,j0[C2++]=M9&268435455}return W5}O&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):O&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--k0)q[k0]=this[k0];q.t=this.t,q.s=this.s}function y8(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 k0=W0();return k0.fromInt(q),k0}function c8(q,k0){var j0;if(k0==16)j0=4;else if(k0==8)j0=3;else if(k0==256)j0=8;else if(k0==2)j0=1;else if(k0==32)j0=5;else if(k0==4)j0=2;else{this.fromRadix(q,k0);return}this.t=0,this.s=0;for(var C2=q.length,W5=!1,N5=0;--C2>=0;){var _3=j0==8?q[C2]&255:P9(q,C2);if(_3<0){q.charAt(C2)=="-"&&(W5=!0);continue}W5=!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 Ti(q){if(this.s<0)return"-"+this.negate().toString(q);var k0;if(q==16)k0=4;else if(q==8)k0=3;else if(q==2)k0=1;else if(q==32)k0=5;else if(q==4)k0=2;else return this.toRadix(q);var j0=(1<0)for(V6>V6)>0&&(W5=!0,N5=R9(C2));_3>=0;)V6>(V6+=this.DB-k0)):(C2=this[_3]>>(V6-=k0)&j0,V6<=0&&(V6+=this.DB,--_3)),C2>0&&(W5=!0),W5&&(N5+=R9(C2));return W5?N5:"0"}function Ni(){var q=W0();return e.ZERO.subTo(this,q),q}function ur(){return this.s<0?this.negate():this}function z$(q){var k0=this.s-q.s;if(k0!=0)return k0;var j0=this.t;if(k0=j0-q.t,k0!=0)return this.s<0?-k0:k0;for(;--j0>=0;)if((k0=this[j0]-q[j0])!=0)return k0;return 0}function KC(q){var k0=1,j0;return(j0=q>>>16)!=0&&(q=j0,k0+=16),(j0=q>>8)!=0&&(q=j0,k0+=8),(j0=q>>4)!=0&&(q=j0,k0+=4),(j0=q>>2)!=0&&(q=j0,k0+=2),(j0=q>>1)!=0&&(q=j0,k0+=1),k0}function kp(){return this.t<=0?0:this.DB*(this.t-1)+KC(this[this.t-1]^this.s&this.DM)}function vp(q,k0){var j0;for(j0=this.t-1;j0>=0;--j0)k0[j0+q]=this[j0];for(j0=q-1;j0>=0;--j0)k0[j0]=0;k0.t=this.t+q,k0.s=this.s}function Sp(q,k0){for(var j0=q;j0=0;--V6)k0[V6+N5+1]=this[V6]>>C2|_3,_3=(this[V6]&W5)<=0;--V6)k0[V6]=0;k0[N5]=_3,k0.t=this.t+N5+1,k0.s=this.s,k0.clamp()}function bp(q,k0){k0.s=this.s;var j0=Math.floor(q/this.DB);if(j0>=this.t){k0.t=0;return}var C2=q%this.DB,W5=this.DB-C2,N5=(1<>C2;for(var _3=j0+1;_3>C2;C2>0&&(k0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(q.t>=this.DB;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2-=q.s}k0.s=C2<0?-1:0,C2<-1?k0[j0++]=this.DV+C2:C2>0&&(k0[j0++]=C2),k0.t=j0,k0.clamp()}function _p(q,k0){var j0=this.abs(),C2=q.abs(),W5=j0.t;for(k0.t=W5+C2.t;--W5>=0;)k0[W5]=0;for(W5=0;W5=0;)q[j0]=0;for(j0=0;j0=k0.DV&&(q[j0+k0.t]-=k0.DV,q[j0+k0.t+1]=1)}q.t>0&&(q[q.t-1]+=k0.am(j0,k0[j0],q,2*j0,0,1)),q.s=0,q.clamp()}function xp(q,k0,j0){var C2=q.abs();if(!(C2.t<=0)){var W5=this.abs();if(W5.t0?(C2.lShiftTo(M9,N5),W5.lShiftTo(M9,j0)):(C2.copyTo(N5),W5.copyTo(j0));var x9=N5.t,z4=N5[x9-1];if(z4!=0){var tt=z4*(1<1?N5[x9-2]>>this.F2:0),zi=this.FV/tt,Yp=(1<=0&&(j0[j0.t++]=1,j0.subTo(Tt,j0)),e.ONE.dlShiftTo(x9,Tt),Tt.subTo(N5,N5);N5.t=0;){var VC=j0[--Zo]==z4?this.DM:Math.floor(j0[Zo]*zi+(j0[Zo-1]+Jp)*Yp);if((j0[Zo]+=N5.am(0,VC,j0,Rh,0,x9))0&&j0.rShiftTo(M9,j0),_3<0&&e.ZERO.subTo(j0,j0)}}}function Lp(q){var k0=W0();return this.abs().divRemTo(q,null,k0),this.s<0&&k0.compareTo(e.ZERO)>0&&q.subTo(k0,k0),k0}function Ko(q){this.m=q}function Fp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function Mp(q){return q}function Tp(q){q.divRemTo(this.m,null,q)}function Np(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}function Vo(q,k0){q.squareTo(k0),this.reduce(k0)}Ko.prototype.convert=Fp,Ko.prototype.revert=Mp,Ko.prototype.reduce=Tp,Ko.prototype.mulTo=Np,Ko.prototype.sqrTo=Vo;function Vi(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var k0=q&3;return k0=k0*(2-(q&15)*k0)&15,k0=k0*(2-(q&255)*k0)&255,k0=k0*(2-((q&65535)*k0&65535))&65535,k0=k0*(2-q*k0%this.DV)%this.DV,k0>0?this.DV-k0:-k0}function Tn(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(k0,k0),k0}function zo(q){var k0=W0();return q.copyTo(k0),this.reduce(k0),k0}function Nn(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var k0=0;k0>15)*this.mpl&this.um)<<15)&q.DM;for(j0=k0+this.m.t,q[j0]+=this.m.am(0,C2,q,k0,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 Gp(q,k0){q.squareTo(k0),this.reduce(k0)}function Up(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}Tn.prototype.convert=_h,Tn.prototype.revert=zo,Tn.prototype.reduce=Nn,Tn.prototype.mulTo=Up,Tn.prototype.sqrTo=Gp;function Op(){return(this.t>0?this[0]&1:this.s)==0}function Ks(q,k0){if(q>4294967295||q<1)return e.ONE;var j0=W0(),C2=W0(),W5=k0.convert(this),N5=KC(q)-1;for(W5.copyTo(j0);--N5>=0;)if(k0.sqrTo(j0,C2),(q&1<0)k0.mulTo(C2,W5,j0);else{var _3=j0;j0=C2,C2=_3}return k0.revert(j0)}function Pp(q,k0){var j0;return q<256||k0.isEven()?j0=new Ko(k0):j0=new Tn(k0),this.exp(q,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=y8,e.prototype.fromString=c8,e.prototype.clamp=V4,e.prototype.dlShiftTo=vp,e.prototype.drShiftTo=Sp,e.prototype.lShiftTo=Dp,e.prototype.rShiftTo=bp,e.prototype.subTo=H6,e.prototype.multiplyTo=_p,e.prototype.squareTo=Rp,e.prototype.divRemTo=xp,e.prototype.invDigit=Vi,e.prototype.isEven=Op,e.prototype.exp=Ks,e.prototype.toString=Ti,e.prototype.negate=Ni,e.prototype.abs=ur,e.prototype.compareTo=z$,e.prototype.bitLength=kp,e.prototype.mod=Lp,e.prototype.modPowInt=Pp,e.ZERO=V9(0),e.ONE=V9(1);function Gn(q,k0){this.fromInt(0),k0==null&&(k0=10);for(var j0=this.chunkSize(k0),C2=Math.pow(k0,j0),W5=!1,N5=0,_3=0,V6=0;V6=j0&&(this.dMultiply(C2),this.dAddOffset(_3,0),N5=0,_3=0)}N5>0&&(this.dMultiply(Math.pow(k0,N5)),this.dAddOffset(_3,0)),W5&&e.ZERO.subTo(this,this)}function Hr(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 i5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Hp(q,k0){if(q!=0){for(;this.t<=k0;)this[this.t++]=0;for(this[k0]+=q;this[k0]>=this.DV;)this[k0]-=this.DV,++k0>=this.t&&(this[this.t++]=0),++this[k0]}}function Vs(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var k0=this.chunkSize(q),j0=Math.pow(q,k0),C2=V9(j0),W5=W0(),N5=W0(),_3="";for(this.divRemTo(C2,W5,N5);W5.signum()>0;)_3=(j0+N5.intValue()).toString(q).substr(1)+_3,W5.divRemTo(C2,W5,N5);return N5.intValue().toString(q)+_3}function qr(){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;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2+=q.s}k0.s=C2<0?-1:0,C2>0?k0[j0++]=C2:C2<-1&&(k0[j0++]=this.DV+C2),k0.t=j0,k0.clamp()}e.prototype.fromRadix=Gn,e.prototype.chunkSize=Hr,e.prototype.signum=nB,e.prototype.dMultiply=i5,e.prototype.dAddOffset=Hp,e.prototype.toRadix=Vs,e.prototype.intValue=qr,e.prototype.addTo=qp;var ri={abs:function(q,k0){var j0=new i.math.Long(q,k0),C2;j0.isNegative()?C2=j0.negate():C2=j0,_9[Q8>>2]=C2.low_,_9[Q8+4>>2]=C2.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,k0){var j0=new e;j0.fromString(k0.toString(),10);var C2=new e;j0.multiplyTo(ri.two32,C2);var W5=new e;W5.fromString(q.toString(),10);var N5=new e;return W5.addTo(C2,N5),N5},stringify:function(q,k0,j0){var C2=new i.math.Long(q,k0).toString();if(j0&&C2[0]=="-"){ri.ensureTemps();var W5=new e;W5.fromString(C2,10),C2=new e,ri.two64.addTo(W5,C2),C2=C2.toString(10)}return C2},fromString:function(q,k0,j0,C2,W5){ri.ensureTemps();var N5=new e;N5.fromString(q,k0);var _3=new e;_3.fromString(j0,10);var V6=new e;if(V6.fromString(C2,10),W5&&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(V6)>0&&(N5=V6,x9=!0);var z4=i.math.Long.fromString(N5.toString());if(_9[Q8>>2]=z4.low_,_9[Q8+4>>2]=z4.high_,x9)throw"range error"}};return ri}();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 pp,JC=null,lv=!1;Fi=function i(){A.calledRun||rB(),A.calledRun||(Fi=i)},A.callMain=A.callMain=function($){K4(B7==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(UC.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++)O.push(0)}var O=[E3(Pr(A.thisProgram),"i8",Ho)];d();for(var e=0;e0||(Sh(),B7>0)||A.calledRun)return;function $(){A.calledRun||(A.calledRun=!0,!G0&&(Ps(),hp(),g&&JC!==null&&A.printErr("pre-main prep time: "+(Date.now()-JC)+" ms"),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A._main&&wp&&A.callMain(i),P$()))}A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),$()},1)):$()}A.run=A.run=rB;function Qp(i,$){if(!($&&A.noExitRuntime))throw A.noExitRuntime||(G0=!0,v1=i,Ci=pp,OC(),A.onExit&&A.onExit(i)),u?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):h0&&typeof quit=="function"&&quit(i),new Jo(i)}A.exit=A.exit=Qp;var yp=[];function Js(i){i!==void 0?(A.print(i),A.printErr(i),i=JSON.stringify(i)):i="",G0=!0,v1=1;var $=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+TC()+$;throw yp&&yp.forEach(function(d){h=d(h,i)}),h}if(A.abort=A.abort=Js,A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();var wp=!0;A.noInitialRun&&(wp=!1),rB();var cv=A._encoder_init,gv=A._encoder_clear,hv=A._encoder_analysis_buffer,fv=A._encoder_process,uv=A._encoder_data_len,dv=A._encoder_transfer_data,mi=A.HEAPU8,J$=A.HEAPU32,K$=A.HEAPF32,V$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=cv(this.numChannels,i,h)};V$.prototype.encode=function(i){for(var $=i[0].length,h=hv(this.encoder,$)>>2,d=0;d>2);this.process($)},V$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},V$.prototype.cancel=V$.prototype.cleanup=function(){gv(this.encoder),delete this.encoder,delete this.oggBuffers},V$.prototype.process=function(i){fv(this.encoder,i);var $=uv(this.encoder);if($>0){var h=dv(this.encoder);this.oggBuffers.push(new Uint8Array(mi.subarray(h,h+$)))}},Jm.OggVorbisEncoder=V$}};typeof window<"u"&&window===self&&Jm.init();function Ck(A,r,l,g){let u=new Jm.OggVorbisEncoder(l,r,g);u.encode(A);let b=u.finish(),h0=b.reduce((y0,m1)=>y0+m1.length,0),_0=new Uint8Array(h0),Q0=0;for(let y0 of b)_0.set(y0,Q0),Q0+=y0.length;return _0}document.body.classList.add("load");var mk=!1,Rn=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=Ck;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(),J5(u)}sfError;async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let N of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(N,"innerText",N.getAttribute("translate-path"));for(let N of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(N,"innerText",N.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(N,"title",N.getAttribute("translate-path-title")+".description");let u=mk?"synthetizer/worklet_system/worklet_processor.js":Um;mk&&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),_0=await(await fetch(b)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(_0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new lh(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",N=>{this.sfError&&this.sfError(N)}),await this.synth.isReady,this.midHandler=new _m,this.wml=new Rm(this.synth),this.keyboard=new yC(this.channelColors,this.synth);let Q0=document.getElementById("note_canvas");Q0.width=window.innerWidth*window.devicePixelRatio,Q0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new Si(this.channelColors,this.synth,Q0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let y0=!1,m1=()=>{if(Q0.width=window.innerWidth*window.devicePixelRatio,Q0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),wn){if(window.innerWidth/window.innerHeight>1){if(!y0){let N=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");y0=!0,N.parentElement.insertBefore(V0,N)}}else if(y0){let N=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");y0=!1,N.parentElement.insertBefore(N,V0)}}this.renderer.render(!1,!0)};m1(),window.addEventListener("resize",m1.bind(this)),window.addEventListener("orientationchange",m1.bind(this)),wn&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Tr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new Nm(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ls(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ei(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case et.cinematicMode:this.seq&&this.seq.pause();let V0=window.prompt(`Cinematic mode activated! Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),V0===null)return;Q0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${V0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case et.videoMode:this.seq&&this.seq.pause();let G0=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(G0===null)return;let v1=document.createElement("video");v1.src=G0,v1.classList.add("secret_video"),Q0.parentElement.appendChild(v1),v1.play(),window.video=v1,this.seq&&(v1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),v1.play(),this.seq.currentTime=0),document.addEventListener("keydown",h2=>{h2.key===" "&&(v1.paused?v1.play():v1.pause())});break}}),this.renderer.render(!1,!0),setTimeout(()=>{this.doDLSCheck()},1e3)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);ue(new Y3(r),4).toLowerCase()==="dls "&&C7(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=>{P7(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{P7(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){this.synth&&(this.seq=new wm(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=mh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Rn.prototype.exportSong=Ik;Rn.prototype._exportAudioData=Pw;Rn.prototype._doExportAudioData=Ow;Rn.prototype.exportMidi=Hw;Rn.prototype._exportSoundfont=dk;Rn.prototype._exportRMIDI=Ek;var XD=44100,eb="GeneralUserGS.sf3",Jm=document.getElementById("title"),Uo=document.getElementById("midi_file_input"),tb=document.getElementById("sf_file_input"),Bk=document.getElementById("demo_song"),XB=document.getElementById("export_button"),v$=document.getElementsByClassName("loading")[0],_i=document.getElementById("loading_message"),ib="spessasynth-db",D$="soundFontStore";function ip(A){let r=indexedDB.open(ib,1);r.onsuccess=()=>{let l=r.result;A(l)},r.onupgradeneeded=l=>{l.target.result.createObjectStore(D$,{keyPath:"id"})}}async function rb(){return await new Promise(A=>{ip(r=>{let u=r.transaction([D$],"readonly").objectStore(D$).get("buffer");u.onerror=b=>{console.error("Database error"),console.error(b),A(void 0)},u.onsuccess=async()=>{let b=u.result;if(!b){A(void 0);return}A(b.data)}})})}function S$(A,r=!0){let l=v$.getElementsByClassName("loading_icon")[0];l.innerHTML=A,l.style.animation=r?"none":""}async function pk(A){ip(r=>{let g=r.transaction([D$],"readwrite").objectStore(D$);try{let u=g.put({id:"buffer",data:A});u.onsuccess=()=>{J5("SoundFont stored successfully")},u.onerror=b=>{console.error("Error saving soundfont",b)}}catch(u){R4("Failed saving soundfont:",u)}})}async function nb(A){let r=new Nm(A);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:XD})}catch(u){throw S$(SC(256)),_i.textContent=r.getLocaleString("locale.synthInit.noWebAudio"),u}_i.textContent=r.getLocaleString("locale.synthInit.loadingSoundfont");let l=await rb(),g=!0;if(l===void 0){R4("Failed to load from db, fetching online instead"),g=!1;let u=document.getElementById("progress_bar"),b=r.getLocaleString("locale.synthInit.loadingBundledSoundfont");_i.textContent=b,l=await sb(`soundfonts/${eb}`,h0=>{_i.textContent=`${b} ${h0}%`}),u.style.width="0"}else J5("Loaded the soundfont from the database succesfully");window.soundFontParser=l,g||(_i.textContent=r.getLocaleString("locale.synthInit.savingSoundfont"),await pk(l)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),_i.textContent=r.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Rn(audioContextMain,soundFontParser,r),window.manager.sfError=u=>{S$(SC(256)),g?(R4("Invalid soundfont in the database. Resetting."),ip(b=>{let Q0=b.transaction([D$],"readwrite").objectStore(D$).delete("buffer");Q0.onsuccess=()=>{location.reload()}})):Jm.innerHTML=`Error parsing soundfont:
${u}
`,_i.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,Uo.files[0]?await ep(Uo.files):(Uo.onclick=void 0,Uo.onchange=()=>{Uo.files[0]&&ep(Uo.files).then()}),S$(HB(256)),_i.textContent=r.getLocaleString("locale.synthInit.done")}async function sb(A,r){let l=await fetch(A);if(!l.ok)throw Jm.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),u=await(await l.body).getReader(),b=!1,h0=new Uint8Array(parseInt(g)),_0=0;do{let Q0=await u.read();Q0.value&&(h0.set(Q0.value,_0),_0+=Q0.value.length),b=Q0.done;let y0=Math.round(_0/g*100);r(y0)}while(!b);return h0.buffer}async function ep(A){Bk.style.display="none";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});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(l):manager.play(l),XB.style.display="flex",XB.onclick=window.manager.exportSong.bind(window.manager)}function Ab(A){localStorage.setItem("spessasynth-settings",JSON.stringify(A)),J5("saved as",A)}window.saveSettings=Ab;var _C=JSON.parse(localStorage.getItem("spessasynth-settings"));_C!==null&&(window.savedSettings=new Promise(A=>{A(_C)}));var tp;_C&&_C.interface&&_C.interface.language?tp=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():tp=navigator.language.split("-")[0].toLowerCase();Uo.value="";Uo.focus();XB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function ob(A){Jm.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+A);r.name=A,await ep([r])}nb(tp).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",v$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{v$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),wn&&window.chrome&&C7(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),tb.onchange=A=>{if(!A.target.files[0])return;let r=A.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=r.name,v$.style.display="",setTimeout(async()=>{v$.classList.remove("done"),S$(_y(256),!1),_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let l=performance.now()/1e3,g;try{g=await r.arrayBuffer(),window.soundFontParser=g}catch(b){throw _i.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),S$(SC(256)),C7(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),b}window.manager.sfError=b=>{_i.innerHTML=`Error parsing soundfont:
${b}
`,S$(SC(256)),console.log(b)},_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(g),window.manager.seq&&(window.manager.seq.currentTime-=.1),_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await pk(g);let u=performance.now()/1e3-l;await new Promise(b=>setTimeout(b,1e3-u)),S$(HB(256)),_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),v$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{v$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Bk.onclick=async()=>{let A=[{type:"button",textContent:window.manager.localeManager.getLocaleString("locale.credits"),onClick:()=>{window.open("https://github.com/spessasus/spessasynth-demo-songs#readme")}}];Jm.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),l=JSON.parse(r);for(let g of l)A.push({type:"button",textContent:g.name,onClick:async u=>{P7(u.id),await ob(g.fileName)}});C7(window.manager.localeManager.getLocaleString("locale.demoSongButton"),A,999999,!0,void 0)}}); +Note: the video will be available in console as 'video'`,"");if(G0===null)return;let v1=document.createElement("video");v1.src=G0,v1.classList.add("secret_video"),Q0.parentElement.appendChild(v1),v1.play(),window.video=v1,this.seq&&(v1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),v1.play(),this.seq.currentTime=0),document.addEventListener("keydown",h2=>{h2.key===" "&&(v1.paused?v1.play():v1.pause())});break}}),this.renderer.render(!1,!0),setTimeout(()=>{this.doDLSCheck()},1e3)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);ue(new Y3(r),4).toLowerCase()==="dls "&&C7(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=>{P7(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{P7(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){this.synth&&(this.seq=new km(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=mh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Rn.prototype.exportSong=Ik;Rn.prototype._exportAudioData=Pw;Rn.prototype._doExportAudioData=Ow;Rn.prototype.exportMidi=Hw;Rn.prototype._exportSoundfont=dk;Rn.prototype._exportRMIDI=Ek;var XD=44100,eb="GeneralUserGS.sf3",Km=document.getElementById("title"),Uo=document.getElementById("midi_file_input"),tb=document.getElementById("sf_file_input"),Bk=document.getElementById("demo_song"),XB=document.getElementById("export_button"),v$=document.getElementsByClassName("loading")[0],_i=document.getElementById("loading_message"),ib=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=ib.version;var rb="spessasynth-db",D$="soundFontStore";function ip(A){let r=indexedDB.open(rb,1);r.onsuccess=()=>{let l=r.result;A(l)},r.onupgradeneeded=l=>{l.target.result.createObjectStore(D$,{keyPath:"id"})}}async function nb(){return await new Promise(A=>{ip(r=>{let u=r.transaction([D$],"readonly").objectStore(D$).get("buffer");u.onerror=b=>{console.error("Database error"),console.error(b),A(void 0)},u.onsuccess=async()=>{let b=u.result;if(!b){A(void 0);return}A(b.data)}})})}function S$(A,r=!0){let l=v$.getElementsByClassName("loading_icon")[0];l.innerHTML=A,l.style.animation=r?"none":""}async function pk(A){ip(r=>{let g=r.transaction([D$],"readwrite").objectStore(D$);try{let u=g.put({id:"buffer",data:A});u.onsuccess=()=>{J5("SoundFont stored successfully")},u.onerror=b=>{console.error("Error saving soundfont",b)}}catch(u){R4("Failed saving soundfont:",u)}})}async function sb(A){let r=new Gm(A);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:XD})}catch(u){throw S$(SC(256)),_i.textContent=r.getLocaleString("locale.synthInit.noWebAudio"),u}_i.textContent=r.getLocaleString("locale.synthInit.loadingSoundfont");let l=await nb(),g=!0;if(l===void 0){R4("Failed to load from db, fetching online instead"),g=!1;let u=document.getElementById("progress_bar"),b=r.getLocaleString("locale.synthInit.loadingBundledSoundfont");_i.textContent=b,l=await Ab(`soundfonts/${eb}`,h0=>{_i.textContent=`${b} ${h0}%`}),u.style.width="0"}else J5("Loaded the soundfont from the database succesfully");window.soundFontParser=l,g||(_i.textContent=r.getLocaleString("locale.synthInit.savingSoundfont"),await pk(l)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),_i.textContent=r.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Rn(audioContextMain,soundFontParser,r),window.manager.sfError=u=>{S$(SC(256)),g?(R4("Invalid soundfont in the database. Resetting."),ip(b=>{let Q0=b.transaction([D$],"readwrite").objectStore(D$).delete("buffer");Q0.onsuccess=()=>{location.reload()}})):Km.innerHTML=`Error parsing soundfont:
${u}
`,_i.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,Uo.files[0]?await ep(Uo.files):(Uo.onclick=void 0,Uo.onchange=()=>{Uo.files[0]&&ep(Uo.files).then()}),S$(HB(256)),_i.textContent=r.getLocaleString("locale.synthInit.done")}async function Ab(A,r){let l=await fetch(A);if(!l.ok)throw Km.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),u=await(await l.body).getReader(),b=!1,h0=new Uint8Array(parseInt(g)),_0=0;do{let Q0=await u.read();Q0.value&&(h0.set(Q0.value,_0),_0+=Q0.value.length),b=Q0.done;let y0=Math.round(_0/g*100);r(y0)}while(!b);return h0.buffer}async function ep(A){Bk.style.display="none";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});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(l):manager.play(l),XB.style.display="flex",XB.onclick=window.manager.exportSong.bind(window.manager)}function ob(A){localStorage.setItem("spessasynth-settings",JSON.stringify(A)),J5("saved as",A)}window.saveSettings=ob;var _C=JSON.parse(localStorage.getItem("spessasynth-settings"));_C!==null&&(window.savedSettings=new Promise(A=>{A(_C)}));var tp;_C&&_C.interface&&_C.interface.language?tp=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():tp=navigator.language.split("-")[0].toLowerCase();Uo.value="";Uo.focus();XB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function ab(A){Km.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+A);r.name=A,await ep([r])}sb(tp).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",v$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{v$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),wn&&window.chrome&&C7(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),tb.onchange=A=>{if(!A.target.files[0])return;let r=A.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=r.name,v$.style.display="",setTimeout(async()=>{v$.classList.remove("done"),S$(_y(256),!1),_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let l=performance.now()/1e3,g;try{g=await r.arrayBuffer(),window.soundFontParser=g}catch(b){throw _i.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),S$(SC(256)),C7(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),b}window.manager.sfError=b=>{_i.innerHTML=`Error parsing soundfont:
${b}
`,S$(SC(256)),console.log(b)},_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(g),window.manager.seq&&(window.manager.seq.currentTime-=.1),_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await pk(g);let u=performance.now()/1e3-l;await new Promise(b=>setTimeout(b,1e3-u)),S$(HB(256)),_i.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),v$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{v$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Bk.onclick=async()=>{let A=[{type:"button",textContent:window.manager.localeManager.getLocaleString("locale.credits"),onClick:()=>{window.open("https://github.com/spessasus/spessasynth-demo-songs#readme")}}];Km.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),l=JSON.parse(r);for(let g of l)A.push({type:"button",textContent:g.name,onClick:async u=>{P7(u.id),await ab(g.fileName)}});C7(window.manager.localeManager.getLocaleString("locale.demoSongButton"),A,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 4d1cd664..4e73f060 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -1,5 +1,5 @@ -var cm=(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 Y3=class extends Uint8Array{constructor(r){super(r),this.currentIndex=0}currentIndex};function wn(A){let r=A.reduce((d,R)=>d+R.length,0),l=new Y3(r),g=0;for(let d of A)l.set(d,g),g+=d.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 QB(A){return A.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var b1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var di=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var z3={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,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function PQ(A){let r=A&240,l=A&15,g=-1,d=A;return r>=128&&r<=224&&(g=l,d=r),{status:d,channel:g}}var a6={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 gm=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 yB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},hm=class{constructor(r,l=yB){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let d=new ChannelMergerNode(g,{numberOfInputs:2}),R=[],u0=[],_0=l.oscillatorFrequency,y0=l.defaultDelay;for(let p0=0;p0{let R=await d.arrayBuffer();l.buffer=await A.decodeAudioData(R)})}return l}var p8={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},CC={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},Hi=-1,d$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var uD=!0,ID=!0,wB=!0;function j5(...A){uD&&console.info(...A)}function fe(...A){ID&&console.warn(...A)}function $r(...A){wB&&console.group(...A)}function ii(...A){wB&&console.groupCollapsed(...A)}function i4(){wB&&console.groupEnd()}var qQ={chorusEnabled:!0,chorusConfig:yB,reverbEnabled:!0,reverbImpulseResponse:void 0};var mC={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var fm=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:p8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(d=>d.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(mC.addNewSoundFont,[r,l,g]),await new Promise(d=>this.synth.resolveWhenReady=d),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){fe("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){fe(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(mC.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(mC.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(mC.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var dD="spessasynth-worklet-system",kB=450,vi=9,ED=16;var oh=class{constructor(r,l,g=!0,d=void 0,R=qQ){j5("%cInitializing SpessaSynth synthesizer...",b1.info),this.context=r.context;let u0=d?.oneOutput===!0;this.eventHandler=new gm,this._voiceCap=kB,this._outputsAmount=ED,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(p0=>this.resolveWhenReady=p0),this.channelProperties=[];for(let p0=0;p0this.handleMessage(p0.data),this.soundfontManager=new fm(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,R.reverbEnabled&&!u0&&(this.reverbProcessor=HQ(this.context,R.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),R.chorusEnabled&&!u0&&(this.chorusProcessor=new hm(r,R.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),u0)this.worklet.connect(r,0);else for(let p0=2;p0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(CC.voicesCap,r),this._voiceCap=r}set highPerformanceMode(r){this._highPerformanceMode=r}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(r,l,g,d){this.post({channelNumber:Hi,messageType:p8.setLogLevel,messageData:[r,l,g,d]})}_setMasterParam(r,l){this.post({channelNumber:Hi,messageType:p8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(CC.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case d$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,d)=>g+d.voicesAmount,0);break;case d$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case d$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case d$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case d$.ready:this.resolveWhenReady();break;case d$.soundfontError:fe(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:p8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Hi})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:p8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:p8.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;l0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case z3.noteOff:this.noteOff(l.channel,r[1]);break;case z3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case z3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case z3.programChange:this.programChange(l.channel,r[1]);break;case z3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case z3.channelPressure:this.channelPressure(l.channel,r[1]);break;case z3.systemExclusive:this.systemExclusive(new Y3(r.slice(1)));break;case z3.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,d)=>{let R;if(_o)R=127;else{let _0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let y0=d.clientX-_0.left,p0=_0.width;R=Math.floor((p0-y0)/p0*127)}else{let y0=d.clientY-_0.top,p0=_0.height;R=Math.floor(y0/p0*127)}}this.synth.noteOn(this.channel,g,R,this.enableDebugging)},l=g=>{let d=g.touches?Array.from(g.touches):[g],R=new Set;d.forEach(u0=>{let _0=document.elementFromPoint(u0.clientX,u0.clientY),y0=parseInt(_0.id.replace("note",""));R.add(y0),!(isNaN(y0)||y0<0||this.pressedKeys.has(y0))&&(this.pressedKeys.add(y0),r(y0,u0))}),this.pressedKeys.forEach(u0=>{R.has(u0)||A(u0)})};_o||(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,BC=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,a6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,a6.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 d=0;d<128;d++)this.releaseNote(d,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&&(R=l(r-1)),r<127&&(u0=l(r+1)),u0&&R?g.classList.add("between_sharps"):R?g.classList.add("left_sharp"):u0&&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 d=900/(r.max-r.min+5),R=document.styleSheets[0].cssRules,u0;for(let _0 of R)if(_0.selectorText==="#keyboard .key"){u0=_0;break}if(u0.style.setProperty("--pressed-transform-skew",`${8e-4/(d/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let _0=getComputedStyle(this.keyboard),y0=parseFloat(_0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),p0=this.keyboard.getBoundingClientRect().height,m1=d/y0,G=p0*m1-p0,V0=(this._keyRange.min+this._keyRange.max)/2,N0=(r.min+r.max)/2;this._keyRange=r;let v1=this.keys.find(Q5=>Q5.classList.contains("sharp_key")).getBoundingClientRect().width,h2=(V0-N0)*v1,k1=parseFloat(_0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${G}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${m1}) translateX(${h2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${k1/m1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${d}`),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",`${d}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let d=this.keys[r-this._keyRange.min];if(d===void 0)return;d.classList.add("pressed");let R=d.classList.contains("sharp_key"),u0=g/127,_0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),y0;if(!R&&this.mode==="light"?y0=`rgba(${_0.slice(0,3).map(m1=>255-(255-m1)*u0).join(", ")}, ${_0[3]})`:y0=`rgba(${_0.slice(0,3).map(m1=>m1*u0).join(", ")}, ${_0[3]})`,d.style.background=y0,this.mode==="dark"){let p0=JQ*u0;d.style.boxShadow=`${y0} 0px 0px ${p0}px ${p0/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 d=this.keyColors[r-this._keyRange.min];if(!d)return;let R=d.findLastIndex(u0=>u0===this.channelColors[l]);R!==-1&&(d.splice(R,1),g.style.background=d[d.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${JQ}px ${d[d.length-1]}`),d.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]=[]})}};BC.prototype._handlePointers=YQ;function E$(A,r){let l=A.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var mD="#000";function KQ(A,r,l){A.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let d=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*d,l){r.fillRect(g.xPos,g.yPos-g.height*d,g.width,g.height*(d*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*d,g.yPos,g.width*(d*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=mD,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var vB=!1;function VQ(A=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(vB){A&&requestAnimationFrame(this.render.bind(this));return}else vB=!0;else vB=!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 R=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||KQ(R,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let d=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${SB}px Verdana`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,SB+5),this.drawingContext.fillText(Math.round(d).toString()+" FPS",this.canvas.width,5),this.onRender&&this.onRender(),A&&requestAnimationFrame(this.render.bind(this))}function zQ(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,d=r/(g+1),R=d-m$*2,u0=this.noteFallingTimeMs/1e3,_0=this.noteAfterTriggerTimeMs/1e3,y0=this.seq.currentHighResolutionTime,p0=y0-_0,m1=u0+_0,G=p0+m1,V0=WQ/m1,N0=[];this.synth.channelProperties.forEach(h2=>{if(this.showVisualPitch){let k1=h2.pitchBend-8192+this.visualPitchBendOffset;N0.push(h2.pitchBendRangeSemitones*(k1/8192*d))}else N0.push(0)});let v1=[];return this.noteTimes.forEach((h2,k1)=>{if(h2.renderStartIndex>=h2.notes.length||!this.renderChannels[k1])return;let Q5=h2.renderStartIndex,k2=h2.notes,Z2=k2[Q5],a3=-1;for(;Z2.start<=G&&(Q5++,!(this.notesOnScreen>jQ));){let Y5=Z2.start+Z2.length;if(Y5>p0&&Z2.length>0){let A0=Z2.length/m1*l-m$*2;if(this.notesOnScreen<1e3||A0>V0){a3===-1&&(a3=Q5-1);let S5=(Z2.start-p0)/m1*l,g3;if(this._notesFall?g3=l-A0-S5+m$:g3=S5+m$,Z2.midiNotethis.keyRange.max){if(Q5>=k2.length)break;Z2=k2[Q5];continue}let J3=Z2.midiNote-this.keyRange.min,s9=d*J3+m$,m6,k9,Ie,I4;if(this.sideways?(m6=g3,k9=s9,I4=R,Ie=A0):(k9=g3,m6=s9,Ie=R,I4=A0),this.notesOnScreen++,A)this.drawingContext.fillStyle=this.plainColors[k1],this.drawingContext.fillRect(m6+C$+m$,k9+C$,Ie-C$*2,I4-C$*2);else{let z6;if(Z2.start>y0||Y5=k2.length)break;Z2=k2[Q5]}a3>-1&&(h2.renderStartIndex=a3)}),v1.sort((h2,k1)=>k1.height-h2.height),v1}function XQ(){let A=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let d=g%4,R=Math.floor(g/4),u0=!1;for(let G=g;G0){u0=!0;break}if(!u0){let G=this.canvas.width/4,V0=this.canvas.height/4,N0=G*d,v1=V0*R+V0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(N0,v1),this.drawingContext.lineTo(N0+G,v1),this.drawingContext.stroke();return}let _0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(_0);let y0=A*d,p0=r*R+r/2,m1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let G=_0.length/4,V0=A/G,N0=Math.floor(G/2),v1=_0.length-N0;for(let k2=v1;k2>=1;k2--)if(_0[k2-1]<0&&_0[k2]>=0){v1=k2;break}let h2=y0,k1=v1-N0,Q5=v1+N0;for(let k2=k1;k2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function iy(){for(let A=0;A4096?this.delayNode.delayTime.value=d/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function ry(A){A.connectIndividualOutputs(this.channelAnalysers),A.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function ny(){for(let A of this.channelAnalysers)A.disconnect();j5("%cAnalysers disconnected!",b1.recognized)}function sy(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),d=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${d}), rgba(0, 0, 0, ${d})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function Ay(){this.noteTimes&&this.noteTimes.forEach(A=>A.renderStartIndex=0)}function DB(A,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=A[A.currentIndex++]<>>0}function pC(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 ah=.02;function oy(A){function r(p0){return p0.messageData=new Y3(p0.messageData.buffer),p0.messageData.currentIndex=0,6e7/DB(p0.messageData,3)}let l=[],d=A.tracks.flat();d.sort((p0,m1)=>p0.ticks-m1.ticks);for(let p0=0;p0<16;p0++)l.push({renderStartIndex:0,notes:[]});let R=0,u0=60/(120*A.timeDivision),_0=0,y0=0;for(;_0>4,G=p0.messageStatusByte&15;if(m1===8){let V0=l[G].notes.findLast(N0=>N0.midiNote===p0.messageData[0]&&N0.length===-1);if(V0){let N0=R-V0.start;V0.length=N0N0.midiNote===p0.messageData[0]&&N0.length===-1);if(V0){let N0=R-V0.start;V0.length=N0=d.length)break;R+=u0*(d[_0].ticks-p0.ticks)}y0>0&&l.forEach((p0,m1)=>p0.notes.filter(G=>G.length===-1).forEach(G=>{let V0=R-G.start;G.length=V0{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,E$(r,g=>g*Im)),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,E$(r,g=>g*Im*um)),l.addColorStop(1,E$(r,g=>g*um)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,E$(r,g=>g*Im)),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,E$(r,g=>g*Im*um)),l.addColorStop(1,E$(r,g=>g*um)),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}};Si.prototype.render=VQ;Si.prototype.computeNotePositions=zQ;Si.prototype.createChannelAnalysers=ty;Si.prototype.updateFftSize=iy;Si.prototype.connectChannelAnalysers=ry;Si.prototype.disconnectChannelAnalysers=ny;Si.prototype.connectSequencer=sy;Si.prototype.calculateNoteTimes=oy;Si.prototype.resetIndexes=Ay;Si.prototype.renderWaveforms=XQ;function r3(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 p9(A,r){A[A.currentIndex++]=r&255,A[A.currentIndex++]=r>>8}function lt(A,r){$t(A,r,4)}function $h(A,r){let l=r<<8|A;return l>32767?l-65536:l}function ay(A){return A>127?A-256:A}function ue(A,r,l=void 0,g=!0){if(l){let d=A.slice(A.currentIndex,A.currentIndex+r);return A.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(d.buffer)}else{let d=!1,R="";for(let u0=0;u0127){if(g){d=!0;continue}else if(_0===0){d=!0;continue}}R+=String.fromCharCode(_0)}}return R}}function Ro(A,r=0){let l=A.length;r>0&&(l=r);let g=new Y3(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,ue(l.chunkData,4)===r))}function dm(A){let r=[A&127];for(A>>=7;A>0;)r.unshift(A&127|128),A>>=7;return r}function Em(A){let r=[];for(let d of A.tracks){let R=[],u0=0,_0;for(let y0 of d){let p0=y0.ticks-u0,m1;y0.messageStatusByte<=z3.keySignature||y0.messageStatusByte===z3.sequenceSpecific?m1=[255,y0.messageStatusByte,...dm(y0.messageData.length),...y0.messageData]:y0.messageStatusByte===z3.systemExclusive?m1=[240,...dm(y0.messageData.length),...y0.messageData]:(m1=[],_0!==y0.messageStatusByte&&(_0=y0.messageStatusByte,m1.push(y0.messageStatusByte)),m1.push(...y0.messageData)),R.push(...dm(p0)),R.push(...m1),u0+=p0}r.push(new Uint8Array(R))}function l(d,R){for(let u0=0;u0A.chunkData.currentIndex;)r.push(new bB(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},vn={linear:0,concave:1,convex:2,switch:3},wD=[];for(let A=0;A<4;A++)wD.push([[],[]]);var a7=class A{constructor(r){r.srcEnum?(this.modulatorSource=r.srcEnum,this.modulatorDestination=r.dest,this.modulationSecondarySrc=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform):(this.modulatorSource=r3(r,2),this.modulatorDestination=r3(r,2),this.transformAmount=$h(r[r.currentIndex++],r[r.currentIndex++]),this.modulationSecondarySrc=r3(r,2),this.transformType=r3(r,2)),this.modulatorDestination>58&&(this.modulatorDestination=_1.INVALID),this.sourcePolarity=this.modulatorSource>>9&1,this.sourceDirection=this.modulatorSource>>8&1,this.sourceUsesCC=this.modulatorSource>>7&1,this.sourceIndex=this.modulatorSource&127,this.sourceCurveType=this.modulatorSource>>10&3,this.secSrcPolarity=this.modulationSecondarySrc>>9&1,this.secSrcDirection=this.modulationSecondarySrc>>8&1,this.secSrcUsesCC=this.modulationSecondarySrc>>7&1,this.secSrcIndex=this.modulationSecondarySrc&127,this.secSrcCurveType=this.modulationSecondarySrc>>10&3}sumTransform(r){return new A({srcEnum:this.modulatorSource,secSrcEnum:this.modulationSecondarySrc,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(d,R){return Object.keys(d).find(u0=>d[u0]===R)}let l=r(vn,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(a6,this.sourceIndex):l+=r(x7,this.sourceIndex);let g=r(vn,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(a6,this.secSrcIndex):g+=r(x7,this.secSrcIndex),`Modulator: +var cm=(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 Y3=class extends Uint8Array{constructor(r){super(r),this.currentIndex=0}currentIndex};function wn(A){let r=A.reduce((d,_)=>d+_.length,0),l=new Y3(r),g=0;for(let d of A)l.set(d,g),g+=d.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 yB(A){return A.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var b1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var di=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var z3={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,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function PQ(A){let r=A&240,l=A&15,g=-1,d=A;return r>=128&&r<=224&&(g=l,d=r),{status:d,channel:g}}var a6={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 gm=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 wB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},hm=class{constructor(r,l=wB){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let d=new ChannelMergerNode(g,{numberOfInputs:2}),_=[],u0=[],_0=l.oscillatorFrequency,y0=l.defaultDelay;for(let p0=0;p0{let _=await d.arrayBuffer();l.buffer=await A.decodeAudioData(_)})}return l}var p8={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},CC={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},Hi=-1,d$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var uD=!0,ID=!0,kB=!0;function j5(...A){uD&&console.info(...A)}function fe(...A){ID&&console.warn(...A)}function $r(...A){kB&&console.group(...A)}function ii(...A){kB&&console.groupCollapsed(...A)}function i4(){kB&&console.groupEnd()}var qQ={chorusEnabled:!0,chorusConfig:wB,reverbEnabled:!0,reverbImpulseResponse:void 0};var mC={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var fm=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:p8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(d=>d.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(mC.addNewSoundFont,[r,l,g]),await new Promise(d=>this.synth.resolveWhenReady=d),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){fe("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){fe(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(mC.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(mC.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(mC.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var dD="spessasynth-worklet-system",vB=450,vi=9,ED=16;var oh=class{constructor(r,l,g=!0,d=void 0,_=qQ){j5("%cInitializing SpessaSynth synthesizer...",b1.info),this.context=r.context;let u0=d?.oneOutput===!0;this.eventHandler=new gm,this._voiceCap=vB,this._outputsAmount=ED,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(p0=>this.resolveWhenReady=p0),this.channelProperties=[];for(let p0=0;p0this.handleMessage(p0.data),this.soundfontManager=new fm(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,_.reverbEnabled&&!u0&&(this.reverbProcessor=HQ(this.context,_.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),_.chorusEnabled&&!u0&&(this.chorusProcessor=new hm(r,_.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),u0)this.worklet.connect(r,0);else for(let p0=2;p0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(CC.voicesCap,r),this._voiceCap=r}set highPerformanceMode(r){this._highPerformanceMode=r}get highPerformanceMode(){return this._highPerformanceMode}setLogLevel(r,l,g,d){this.post({channelNumber:Hi,messageType:p8.setLogLevel,messageData:[r,l,g,d]})}_setMasterParam(r,l){this.post({channelNumber:Hi,messageType:p8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(CC.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case d$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,d)=>g+d.voicesAmount,0);break;case d$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case d$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case d$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case d$.ready:this.resolveWhenReady();break;case d$.soundfontError:fe(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:p8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Hi})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:p8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:p8.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;l0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case z3.noteOff:this.noteOff(l.channel,r[1]);break;case z3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case z3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case z3.programChange:this.programChange(l.channel,r[1]);break;case z3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case z3.channelPressure:this.channelPressure(l.channel,r[1]);break;case z3.systemExclusive:this.systemExclusive(new Y3(r.slice(1)));break;case z3.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,d)=>{let _;if(_o)_=127;else{let _0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let y0=d.clientX-_0.left,p0=_0.width;_=Math.floor((p0-y0)/p0*127)}else{let y0=d.clientY-_0.top,p0=_0.height;_=Math.floor(y0/p0*127)}}this.synth.noteOn(this.channel,g,_,this.enableDebugging)},l=g=>{let d=g.touches?Array.from(g.touches):[g],_=new Set;d.forEach(u0=>{let _0=document.elementFromPoint(u0.clientX,u0.clientY),y0=parseInt(_0.id.replace("note",""));_.add(y0),!(isNaN(y0)||y0<0||this.pressedKeys.has(y0))&&(this.pressedKeys.add(y0),r(y0,u0))}),this.pressedKeys.forEach(u0=>{_.has(u0)||A(u0)})};_o||(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,BC=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,a6.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,a6.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 d=0;d<128;d++)this.releaseNote(d,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&&(_=l(r-1)),r<127&&(u0=l(r+1)),u0&&_?g.classList.add("between_sharps"):_?g.classList.add("left_sharp"):u0&&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 d=900/(r.max-r.min+5),_=document.styleSheets[0].cssRules,u0;for(let _0 of _)if(_0.selectorText==="#keyboard .key"){u0=_0;break}if(u0.style.setProperty("--pressed-transform-skew",`${8e-4/(d/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let _0=getComputedStyle(this.keyboard),y0=parseFloat(_0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),p0=this.keyboard.getBoundingClientRect().height,m1=d/y0,N=p0*m1-p0,V0=(this._keyRange.min+this._keyRange.max)/2,G0=(r.min+r.max)/2;this._keyRange=r;let v1=this.keys.find(Q5=>Q5.classList.contains("sharp_key")).getBoundingClientRect().width,h2=(V0-G0)*v1,k1=parseFloat(_0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${N}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${m1}) translateX(${h2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${k1/m1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${d}`),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",`${d}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let d=this.keys[r-this._keyRange.min];if(d===void 0)return;d.classList.add("pressed");let _=d.classList.contains("sharp_key"),u0=g/127,_0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),y0;if(!_&&this.mode==="light"?y0=`rgba(${_0.slice(0,3).map(m1=>255-(255-m1)*u0).join(", ")}, ${_0[3]})`:y0=`rgba(${_0.slice(0,3).map(m1=>m1*u0).join(", ")}, ${_0[3]})`,d.style.background=y0,this.mode==="dark"){let p0=JQ*u0;d.style.boxShadow=`${y0} 0px 0px ${p0}px ${p0/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 d=this.keyColors[r-this._keyRange.min];if(!d)return;let _=d.findLastIndex(u0=>u0===this.channelColors[l]);_!==-1&&(d.splice(_,1),g.style.background=d[d.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${JQ}px ${d[d.length-1]}`),d.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]=[]})}};BC.prototype._handlePointers=YQ;function E$(A,r){let l=A.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var mD="#000";function KQ(A,r,l){A.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let d=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*d,l){r.fillRect(g.xPos,g.yPos-g.height*d,g.width,g.height*(d*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*d,g.yPos,g.width*(d*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=mD,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var SB=!1;function VQ(A=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(SB){A&&requestAnimationFrame(this.render.bind(this));return}else SB=!0;else SB=!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 _=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||KQ(_,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let d=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${um}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,um*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(d).toString()+" FPS",this.canvas.width,um+5),this.onRender&&this.onRender(),A&&requestAnimationFrame(this.render.bind(this))}function zQ(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,d=r/(g+1),_=d-m$*2,u0=this.noteFallingTimeMs/1e3,_0=this.noteAfterTriggerTimeMs/1e3,y0=this.seq.currentHighResolutionTime,p0=y0-_0,m1=u0+_0,N=p0+m1,V0=WQ/m1,G0=[];this.synth.channelProperties.forEach(h2=>{if(this.showVisualPitch){let k1=h2.pitchBend-8192+this.visualPitchBendOffset;G0.push(h2.pitchBendRangeSemitones*(k1/8192*d))}else G0.push(0)});let v1=[];return this.noteTimes.forEach((h2,k1)=>{if(h2.renderStartIndex>=h2.notes.length||!this.renderChannels[k1])return;let Q5=h2.renderStartIndex,k2=h2.notes,Z2=k2[Q5],a3=-1;for(;Z2.start<=N&&(Q5++,!(this.notesOnScreen>jQ));){let Y5=Z2.start+Z2.length;if(Y5>p0&&Z2.length>0){let A0=Z2.length/m1*l-m$*2;if(this.notesOnScreen<1e3||A0>V0){a3===-1&&(a3=Q5-1);let S5=(Z2.start-p0)/m1*l,g3;if(this._notesFall?g3=l-A0-S5+m$:g3=S5+m$,Z2.midiNotethis.keyRange.max){if(Q5>=k2.length)break;Z2=k2[Q5];continue}let J3=Z2.midiNote-this.keyRange.min,s9=d*J3+m$,m6,k9,Ie,I4;if(this.sideways?(m6=g3,k9=s9,I4=_,Ie=A0):(k9=g3,m6=s9,Ie=_,I4=A0),this.notesOnScreen++,A)this.drawingContext.fillStyle=this.plainColors[k1],this.drawingContext.fillRect(m6+C$+m$,k9+C$,Ie-C$*2,I4-C$*2);else{let z6;if(Z2.start>y0||Y5=k2.length)break;Z2=k2[Q5]}a3>-1&&(h2.renderStartIndex=a3)}),v1.sort((h2,k1)=>k1.height-h2.height),v1}function XQ(){let A=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let d=g%4,_=Math.floor(g/4),u0=!1;for(let N=g;N0){u0=!0;break}if(!u0){let N=this.canvas.width/4,V0=this.canvas.height/4,G0=N*d,v1=V0*_+V0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(G0,v1),this.drawingContext.lineTo(G0+N,v1),this.drawingContext.stroke();return}let _0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(_0);let y0=A*d,p0=r*_+r/2,m1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let N=_0.length/4,V0=A/N,G0=Math.floor(N/2),v1=_0.length-G0;for(let k2=v1;k2>=1;k2--)if(_0[k2-1]<0&&_0[k2]>=0){v1=k2;break}let h2=y0,k1=v1-G0,Q5=v1+G0;for(let k2=k1;k2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function iy(){for(let A=0;A4096?this.delayNode.delayTime.value=d/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function ry(A){A.connectIndividualOutputs(this.channelAnalysers),A.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function ny(){for(let A of this.channelAnalysers)A.disconnect();j5("%cAnalysers disconnected!",b1.recognized)}function sy(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),d=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${d}), rgba(0, 0, 0, ${d})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function Ay(){this.noteTimes&&this.noteTimes.forEach(A=>A.renderStartIndex=0)}function DB(A,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=A[A.currentIndex++]<>>0}function pC(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 ah=.02;function oy(A){function r(p0){return p0.messageData=new Y3(p0.messageData.buffer),p0.messageData.currentIndex=0,6e7/DB(p0.messageData,3)}let l=[],d=A.tracks.flat();d.sort((p0,m1)=>p0.ticks-m1.ticks);for(let p0=0;p0<16;p0++)l.push({renderStartIndex:0,notes:[]});let _=0,u0=60/(120*A.timeDivision),_0=0,y0=0;for(;_0>4,N=p0.messageStatusByte&15;if(m1===8){let V0=l[N].notes.findLast(G0=>G0.midiNote===p0.messageData[0]&&G0.length===-1);if(V0){let G0=_-V0.start;V0.length=G0G0.midiNote===p0.messageData[0]&&G0.length===-1);if(V0){let G0=_-V0.start;V0.length=G0=d.length)break;_+=u0*(d[_0].ticks-p0.ticks)}y0>0&&l.forEach((p0,m1)=>p0.notes.filter(N=>N.length===-1).forEach(N=>{let V0=_-N.start;N.length=V0{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,E$(r,g=>g*dm)),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,E$(r,g=>g*dm*Im)),l.addColorStop(1,E$(r,g=>g*Im)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,E$(r,g=>g*dm)),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,E$(r,g=>g*dm*Im)),l.addColorStop(1,E$(r,g=>g*Im)),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}};Si.prototype.render=VQ;Si.prototype.computeNotePositions=zQ;Si.prototype.createChannelAnalysers=ty;Si.prototype.updateFftSize=iy;Si.prototype.connectChannelAnalysers=ry;Si.prototype.disconnectChannelAnalysers=ny;Si.prototype.connectSequencer=sy;Si.prototype.calculateNoteTimes=oy;Si.prototype.resetIndexes=Ay;Si.prototype.renderWaveforms=XQ;function r3(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 p9(A,r){A[A.currentIndex++]=r&255,A[A.currentIndex++]=r>>8}function lt(A,r){$t(A,r,4)}function $h(A,r){let l=r<<8|A;return l>32767?l-65536:l}function ay(A){return A>127?A-256:A}function ue(A,r,l=void 0,g=!0){if(l){let d=A.slice(A.currentIndex,A.currentIndex+r);return A.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(d.buffer)}else{let d=!1,_="";for(let u0=0;u0127){if(g){d=!0;continue}else if(_0===0){d=!0;continue}}_+=String.fromCharCode(_0)}}return _}}function Ro(A,r=0){let l=A.length;r>0&&(l=r);let g=new Y3(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,ue(l.chunkData,4)===r))}function Em(A){let r=[A&127];for(A>>=7;A>0;)r.unshift(A&127|128),A>>=7;return r}function Cm(A){let r=[];for(let d of A.tracks){let _=[],u0=0,_0;for(let y0 of d){let p0=y0.ticks-u0,m1;y0.messageStatusByte<=z3.keySignature||y0.messageStatusByte===z3.sequenceSpecific?m1=[255,y0.messageStatusByte,...Em(y0.messageData.length),...y0.messageData]:y0.messageStatusByte===z3.systemExclusive?m1=[240,...Em(y0.messageData.length),...y0.messageData]:(m1=[],_0!==y0.messageStatusByte&&(_0=y0.messageStatusByte,m1.push(y0.messageStatusByte)),m1.push(...y0.messageData)),_.push(...Em(p0)),_.push(...m1),u0+=p0}r.push(new Uint8Array(_))}function l(d,_){for(let u0=0;u0A.chunkData.currentIndex;)r.push(new bB(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},vn={linear:0,concave:1,convex:2,switch:3},wD=[];for(let A=0;A<4;A++)wD.push([[],[]]);var a7=class A{constructor(r){r.srcEnum?(this.modulatorSource=r.srcEnum,this.modulatorDestination=r.dest,this.modulationSecondarySrc=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform):(this.modulatorSource=r3(r,2),this.modulatorDestination=r3(r,2),this.transformAmount=$h(r[r.currentIndex++],r[r.currentIndex++]),this.modulationSecondarySrc=r3(r,2),this.transformType=r3(r,2)),this.modulatorDestination>58&&(this.modulatorDestination=_1.INVALID),this.sourcePolarity=this.modulatorSource>>9&1,this.sourceDirection=this.modulatorSource>>8&1,this.sourceUsesCC=this.modulatorSource>>7&1,this.sourceIndex=this.modulatorSource&127,this.sourceCurveType=this.modulatorSource>>10&3,this.secSrcPolarity=this.modulationSecondarySrc>>9&1,this.secSrcDirection=this.modulationSecondarySrc>>8&1,this.secSrcUsesCC=this.modulationSecondarySrc>>7&1,this.secSrcIndex=this.modulationSecondarySrc&127,this.secSrcCurveType=this.modulationSecondarySrc>>10&3}sumTransform(r){return new A({srcEnum:this.modulatorSource,secSrcEnum:this.modulationSecondarySrc,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(d,_){return Object.keys(d).find(u0=>d[u0]===_)}let l=r(vn,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(a6,this.sourceIndex):l+=r(x7,this.sourceIndex);let g=r(vn,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(a6,this.secSrcIndex):g+=r(x7,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${g} Destination: ${r(_1,this.modulatorDestination)} @@ -7,7 +7,7 @@ var cm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( Transform type: ${this.transformType} -`}};function kn(A,r,l,g,d){return A<<10|r<<9|l<<8|g<<7|d}var RB=960,xB=vn.concave,$y=[new a7({srcEnum:kn(xB,0,1,0,x7.noteOnVelocity),dest:_1.initialAttenuation,amt:RB,secSrcEnum:0,transform:0}),new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(xB,0,1,1,a6.mainVolume),dest:_1.initialAttenuation,amt:RB,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:526,dest:_1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new a7({srcEnum:650,dest:_1.pan,amt:1e3,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(xB,0,1,1,a6.expressionController),dest:_1.initialAttenuation,amt:RB,secSrcEnum:0,transform:0}),new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,0,x7.polyPressure),dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,1,a6.effects2Depth),dest:_1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.releaseTime),dest:_1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.brightness),dest:_1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0})];function FB(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new a7(A.chunkData));return r}var B$=128,kD=147,xo=new Int16Array(kD).fill(0);xo[a6.mainVolume]=12800;xo[a6.expressionController]=16256;xo[a6.pan]=8192;xo[a6.releaseTime]=8192;xo[a6.brightness]=8192;xo[a6.effects1Depth]=5120;xo[B$+x7.pitchWheel]=8192;xo[B$+x7.pitchWheelRange]=256;var Cm={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},vD=Object.keys(Cm).length,SD=new Float32Array(vD);SD[Cm.modulationMultiplier]=1;function LB(A){return new di(A,z3.systemExclusive,new Y3([65,16,66,18,64,0,127,0,65,247]))}function ly(A,r,l,g){return new di(g,z3.controllerChange|A%16,new Y3([r,l]))}function DD(A,r){let l=16|[1,2,3,4,5,6,7,8,0,9,10,11,12,13,14,15][A%16],g=[65,16,66,18,64,l,21,1],R=128-(64+l+21+1)%128;return new di(r,z3.systemExclusive,new Y3([...g,R,247]))}function bD(A,r=[],l=[],g=[],d=[]){ii("%cApplying changes to the MIDI file...",b1.info);let R=(V0,N0)=>{A.tracks.forEach((v1,h2)=>{if(A.midiPorts[h2]===N0)for(let k1=v1.length-1;k1>=0;k1--)v1[k1].messageStatusByte>=128&&v1[k1].messageStatusByte<240&&(v1[k1].messageStatusByte&15)===V0&&v1.splice(k1,1)})};g.forEach(V0=>{let N0=V0%16,v1=V0-N0,h2=A.midiPortChannelOffsets.findIndex(k1=>k1===v1);R(N0,h2),j5(`%cRemoving channel %c${V0}%c!`,b1.info,b1.recognized,b1.info)});let u0=!1,_0="gs",y0=[],p0=[];A.tracks.forEach((V0,N0)=>{V0.forEach(v1=>{let h2=v1.messageStatusByte&240;h2===z3.controllerChange?y0.push({track:N0,message:v1,channel:v1.messageStatusByte&15}):h2===z3.programChange?p0.push({track:N0,message:v1,channel:v1.messageStatusByte&15}):v1.messageStatusByte===z3.systemExclusive&&(v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[5]===126&&v1.messageData[6]===0?(j5("%cXG system on detected",b1.info),_0="xg",u0=!0):v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[3]===8&&v1.messageData[5]===3&&p0.push({track:N0,message:v1,channel:v1.messageData[4]}))})});let m1=(V0,N0,v1)=>A.tracks.reduce((h2,k1,Q5)=>{if(A.usedChannelsOnTrack[Q5].has(V0)&&A.midiPorts[Q5]===N0){let k2;v1?k2=k1.findIndex(Z2=>(Z2.messageStatusByte&240)===z3.noteOn):k2=k1.findIndex(Z2=>Z2.messageStatusByte>128&&Z2.messageStatusByte<240&&(Z2.messageStatusByte&15)===V0&&!(Z2.messageStatusByte&z3.controllerChange===240&&(Z2.messageData[0]===a6.resetAllControllers||Z2.messageData[0]===a6.allNotesOff||Z2.messageData[0]===a6.allSoundOff))),k2!==-1&&h2.push({index:k2,track:Q5})}return h2},[]),G=(V0,N0,v1)=>{let h2=y0.filter(k1=>k1.channel===V0&&k1.message.messageData[0]===v1&&A.midiPorts[k1.track]===N0);for(let k1=0;k1{let N0=V0.channel,v1=N0%16,h2=N0-v1,k1=A.midiPortChannelOffsets.findIndex(A0=>A0===h2),Q5=V0.controllerValue,k2=V0.controllerNumber;G(v1,k1,k2),j5(`%cNo controller %c${k2}%c on channel %c${N0}%c found. Adding it!`,b1.info,b1.unrecognized,b1.info,b1.value,b1.info);let Z2=m1(v1,k1,!0);if(Z2.length===0){fe("Program change but no notes... ignoring!");return}let a3=Z2.reduce((A0,S5)=>A.tracks[S5.track][S5.index].ticks{let N0=V0.channel%16,v1=V0.channel-N0,h2=A.midiPortChannelOffsets.findIndex(J3=>J3===v1),k1=V0.isDrum?0:V0.bank,Q5=V0.program,k2=p0.filter(J3=>A.midiPorts[J3.track]===h2&&J3.channel===N0);if(G(N0,h2,a6.bankSelect),G(N0,h2,a6.lsbForControl0BankSelect),(V0.isDrum||k1>0)&&!u0&&(A.tracks.forEach(J3=>{for(let s9=0;s90);if(Z2.length===0){fe("Program change but no notes... ignoring!");return}let a3=Z2.reduce((J3,s9)=>A.tracks[s9.track][s9.index].ticks{if(A.midiPorts[k2]!==v1||!A.usedChannelsOnTrack[k2].has(N0))return;let Z2=z3.noteOn|N0,a3=z3.noteOff|N0,Y5=z3.polyPressure|N0;Q5.forEach(A0=>{A0.messageStatusByte!==Z2&&A0.messageStatusByte!==a3&&A0.messageStatusByte!==Y5||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+h2)))})}),k1!==0){let Q5=A.tracks.find((m6,k9)=>A.usedChannelsOnTrack[k9].has(V0.channel));if(Q5===void 0){fe(`Channel ${V0.channel} unused but transpose requested???`);continue}let k2=z3.noteOn|V0.channel%16,Z2=Q5.findIndex(m6=>m6.messageStatusByte===k2);if(Z2===-1){fe(`No notes on channel ${V0.channel} but transpose requested???`);continue}let a3=Q5[Z2].ticks,Y5=k1*64+64,A0=z3.controllerChange|V0.channel%16,S5=new di(a3,A0,new Y3([a6.RPNMsb,0])),g3=new di(a3,A0,new Y3([a6.RPNLsb,1])),J3=new di(a3,A0,new Y3([a6.dataEntryMsb,Y5])),s9=new di(a3,A0,new Y3([a6.lsbForControl6DataEntry,0]));Q5.splice(Z2,0,s9),Q5.splice(Z2,0,J3),Q5.splice(Z2,0,g3),Q5.splice(Z2,0,S5)}}i4()}function lh(A,r){let l=[],g=[],d=[],R=[];r.channelSnapshots.forEach((u0,_0)=>{if(u0.isMuted){g.push(_0);return}let y0=u0.channelTransposeKeyShift+u0.customControllers[Cm.channelTransposeFine]/100;y0!==0&&l.push({channel:_0,keyShift:y0}),u0.lockPreset&&d.push({channel:_0,program:u0.program,bank:u0.bank,isDrum:u0.drumChannel}),u0.lockedControllers.forEach((p0,m1)=>{if(!p0||m1>127||m1===a6.bankSelect)return;let G=u0.midiControllers[m1]>>7;R.push({channel:_0,controllerNumber:m1,controllerValue:G})})}),bD(A,d,R,g,l)}var F7={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",_D="Created using SpessaSynth";function cy(A,r,l,g=0,d="Shift_JIS",R={},u0=!0){if($r("%cWriting the RMIDI File...",b1.info),j5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${d}`,b1.info,b1.value,b1.info,b1.value),j5("metadata",R),j5("Initial bank offset",r.bankOffset),u0){let Q5=function(){let Y5=0,A0=1/0;return r.tracks.forEach((S5,g3)=>{h2[g3]>=S5.length||S5[h2[g3]].ticksA0>Y5?A0:Y5),a3=[];for(let Y5=0;Y50;){let Y5=Q5(),A0=r.tracks[Y5];if(h2[Y5]>=A0.length){k1--;continue}let S5=A0[h2[Y5]];h2[Y5]++;let g3=r.midiPortChannelOffsets[k2[Y5]];if(S5.messageStatusByte===z3.midiPort){k2[Y5]=S5.messageData[0];continue}let J3=S5.messageStatusByte&240;if(J3!==z3.controllerChange&&J3!==z3.programChange&&J3!==z3.systemExclusive)continue;if(J3===z3.systemExclusive){if(S5.messageData[0]!==65||S5.messageData[2]!==66||S5.messageData[3]!==18||S5.messageData[4]!==64||!(S5.messageData[5]&16)||S5.messageData[6]!==21){S5.messageData[0]===67&&S5.messageData[2]===76&&S5.messageData[5]===126&&S5.messageData[6]===0?N0="xg":S5.messageData[0]===65&&S5.messageData[2]===66&&S5.messageData[6]===127?N0="gs":S5.messageData[0]===126&&S5.messageData[2]===9&&(N0="gm",v1.push({tNum:Y5,e:S5}));continue}let k9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][S5.messageData[5]&15]+g3;a3[k9].drums=!!(S5.messageData[7]>0&&S5.messageData[5]>>4);continue}let s9=(S5.messageStatusByte&15)+g3,m6=a3[s9];if(J3===z3.programChange){m6.drums?l.presets.findIndex(I4=>I4.program===S5.messageData[0]&&I4.bank===128)===-1&&(S5.messageData[0]=l.presets.find(I4=>I4.bank===128)?.program||0):l.presets.findIndex(I4=>I4.program===S5.messageData[0]&&I4.bank!==128)===-1&&(S5.messageData[0]=l.presets.find(I4=>I4.bank!==128)?.program||0),m6.program=S5.messageData[0];let k9=Math.max(0,m6.lastBank?.messageData[1]-r.bankOffset),Ie=m6.drums?128:k9;if(m6.lastBank===void 0)continue;if(N0==="xg"&&m6.drums&&(a3[s9].lastBank.messageData[1]=127),l.presets.findIndex(I4=>I4.bank===Ie&&I4.program===S5.messageData[0])===-1){let I4=l.presets.find(z6=>z6.program===S5.messageData[0])?.bank+g||g;m6.lastBank.messageData[1]=I4,j5(`%cNo preset %c${Ie}:${S5.messageData[0]}%c. Changing bank to ${I4}.`,b1.info,b1.recognized,b1.info)}else{let z6=(Ie===128?N0==="xg"?127:0:k9)+g;m6.lastBank.messageData[1]=z6,j5(`%cPreset %c${Ie}:${S5.messageData[0]}%c exists. Changing bank to ${z6}.`,b1.info,b1.recognized,b1.info)}continue}S5.messageData[0]===a6.bankSelect&&(m6.hasBankSelect=!0,N0==="xg"&&(m6.drums=S5.messageData[1]===120||S5.messageData[1]===126||S5.messageData[1]===127),m6.lastBank=S5)}if(a3.forEach((Y5,A0)=>{if(Y5.hasBankSelect===!0)return;let S5=A0%16,g3=z3.programChange|S5,J3=Math.floor(A0/16)*16,s9=r.midiPortChannelOffsets.indexOf(J3),m6=r.tracks.find((z6,ze)=>r.midiPorts[ze]===s9&&r.usedChannelsOnTrack[ze].has(S5));if(m6===void 0)return;let k9=m6.findIndex(z6=>z6.messageStatusByte===g3);if(k9===-1){let z6=m6.findIndex(qi=>qi.messageStatusByte>128&&qi.messageStatusByte<240&&(qi.messageStatusByte&15)===S5);if(z6===-1)return;let ze=m6[z6].ticks,Nr=l.getPreset(0,0).program;m6.splice(z6,0,new di(ze,z3.programChange|S5,new Y3([Nr]))),k9=z6}j5(`%cAdding bank select for %c${A0}`,b1.info,b1.recognized);let Ie=m6[k9].ticks,I4=l.getPreset(0,Y5.program)?.bank+g||g;m6.splice(k9,0,new di(Ie,z3.controllerChange|S5,new Y3([a6.bankSelect,I4])))}),N0!=="gs"&&N0!=="xg"){for(let A0 of v1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let Y5=0;r.tracks[0][0].messageStatusByte===z3.trackName&&Y5++,r.tracks[0].splice(Y5,0,LB(0))}}let _0=new Y3(Em(r).buffer),y0=[Ro("INFO")],p0=new TextEncoder;if(y0.push(Ve(F7.software,p0.encode("SpessaSynth"),!0)),R.name!==void 0?(y0.push(Ve(F7.name,p0.encode(R.name),!0)),d=Fo):y0.push(Ve(F7.name,r.rawMidiName,!0)),R.creationDate!==void 0)d=Fo,y0.push(Ve(F7.creationDate,p0.encode(R.creationDate),!0));else{let N0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});y0.push(Ve(F7.creationDate,Ro(N0),!0))}if(R.comment!==void 0&&(d=Fo,y0.push(Ve(F7.comment,p0.encode(R.comment)))),R.engineer!==void 0&&y0.push(Ve(F7.engineer,p0.encode(R.engineer),!0)),R.album!==void 0&&(d=Fo,y0.push(Ve(F7.album,p0.encode(R.album),!0))),R.artist!==void 0&&(d=Fo,y0.push(Ve(F7.artist,p0.encode(R.artist),!0))),R.genre!==void 0&&(d=Fo,y0.push(Ve(F7.genre,p0.encode(R.genre),!0))),R.picture!==void 0&&y0.push(Ve(F7.picture,new Uint8Array(R.picture))),R.copyright!==void 0)d=Fo,y0.push(Ve(F7.copyright,p0.encode(R.copyright),!0));else{let N0=r.copyright.length>0?r.copyright:_D;y0.push(Ve(F7.copyright,Ro(N0)))}let m1=new Y3(2);$t(m1,g,2),y0.push(Ve(F7.bankOffset,m1)),R.midiEncoding!==void 0&&(y0.push(Ve(F7.midiEncoding,p0.encode(R.midiEncoding))),d=Fo),y0.push(Ve(F7.encoding,Ro(d)));let G=wn(y0),V0=wn([Ro("RMID"),Ve("data",_0),Ve("LIST",G),A]);return j5("%cFinished!",b1.info),i4(),Ve("RIFF",V0)}function QC(A,r){let l=0;for(;A>0;){let g=r.tempoChanges.find(R=>R.ticks=128){this.MIDIout.send(g);return}break;case Lo.songChange:let d=l[0];this.songIndex=l[1],this.midiData=d,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(_0=>_0[1](d)),this.unpause();break;case Lo.textEvent:let R=l;this.onTextEvent&&this.onTextEvent(R[0],R[1]);break;case Lo.timeChange:let u0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(_0=>_0[1](u0)),this.unpause(),this._recalculateStartTime(u0);break;case Lo.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(_0=>_0[1]());break;case Lo.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case Lo.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(r){this._sendMessage(bi.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(bi.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=gy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(bi.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(bi.changeSong,!0)}previousSong(){this._sendMessage(bi.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,d=r+g,R=this.currentTime,u0=.01*this._playbackRate,_0=R-d;return this.highResTimeOffset+=_0*u0,d=this.highResTimeOffset+g,d}set currentTime(r){this.unpause(),this._sendMessage(bi.setTime,r)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(bi.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){fe("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(bi.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(bi.play,r)}stop(){this._sendMessage(bi.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};var yC=["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 hy(A){return` +`}};function kn(A,r,l,g,d){return A<<10|r<<9|l<<8|g<<7|d}var RB=960,xB=vn.concave,$y=[new a7({srcEnum:kn(xB,0,1,0,x7.noteOnVelocity),dest:_1.initialAttenuation,amt:RB,secSrcEnum:0,transform:0}),new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(xB,0,1,1,a6.mainVolume),dest:_1.initialAttenuation,amt:RB,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:526,dest:_1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new a7({srcEnum:650,dest:_1.pan,amt:1e3,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(xB,0,1,1,a6.expressionController),dest:_1.initialAttenuation,amt:RB,secSrcEnum:0,transform:0}),new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,0,x7.polyPressure),dest:_1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,0,0,1,a6.effects2Depth),dest:_1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.releaseTime),dest:_1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new a7({srcEnum:kn(vn.linear,1,0,1,a6.brightness),dest:_1.initialFilterFc,amt:4e3,secSrcEnum:0,transform:0})];function FB(A){let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(new a7(A.chunkData));return r}var B$=128,kD=147,xo=new Int16Array(kD).fill(0);xo[a6.mainVolume]=12800;xo[a6.expressionController]=16256;xo[a6.pan]=8192;xo[a6.releaseTime]=8192;xo[a6.brightness]=8192;xo[a6.effects1Depth]=5120;xo[B$+x7.pitchWheel]=8192;xo[B$+x7.pitchWheelRange]=256;var mm={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},vD=Object.keys(mm).length,SD=new Float32Array(vD);SD[mm.modulationMultiplier]=1;function LB(A){return new di(A,z3.systemExclusive,new Y3([65,16,66,18,64,0,127,0,65,247]))}function ly(A,r,l,g){return new di(g,z3.controllerChange|A%16,new Y3([r,l]))}function DD(A,r){let l=16|[1,2,3,4,5,6,7,8,0,9,10,11,12,13,14,15][A%16],g=[65,16,66,18,64,l,21,1],_=128-(64+l+21+1)%128;return new di(r,z3.systemExclusive,new Y3([...g,_,247]))}function bD(A,r=[],l=[],g=[],d=[]){ii("%cApplying changes to the MIDI file...",b1.info);let _=(V0,G0)=>{A.tracks.forEach((v1,h2)=>{if(A.midiPorts[h2]===G0)for(let k1=v1.length-1;k1>=0;k1--)v1[k1].messageStatusByte>=128&&v1[k1].messageStatusByte<240&&(v1[k1].messageStatusByte&15)===V0&&v1.splice(k1,1)})};g.forEach(V0=>{let G0=V0%16,v1=V0-G0,h2=A.midiPortChannelOffsets.findIndex(k1=>k1===v1);_(G0,h2),j5(`%cRemoving channel %c${V0}%c!`,b1.info,b1.recognized,b1.info)});let u0=!1,_0="gs",y0=[],p0=[];A.tracks.forEach((V0,G0)=>{V0.forEach(v1=>{let h2=v1.messageStatusByte&240;h2===z3.controllerChange?y0.push({track:G0,message:v1,channel:v1.messageStatusByte&15}):h2===z3.programChange?p0.push({track:G0,message:v1,channel:v1.messageStatusByte&15}):v1.messageStatusByte===z3.systemExclusive&&(v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[5]===126&&v1.messageData[6]===0?(j5("%cXG system on detected",b1.info),_0="xg",u0=!0):v1.messageData[0]===67&&v1.messageData[2]===76&&v1.messageData[3]===8&&v1.messageData[5]===3&&p0.push({track:G0,message:v1,channel:v1.messageData[4]}))})});let m1=(V0,G0,v1)=>A.tracks.reduce((h2,k1,Q5)=>{if(A.usedChannelsOnTrack[Q5].has(V0)&&A.midiPorts[Q5]===G0){let k2;v1?k2=k1.findIndex(Z2=>(Z2.messageStatusByte&240)===z3.noteOn):k2=k1.findIndex(Z2=>Z2.messageStatusByte>128&&Z2.messageStatusByte<240&&(Z2.messageStatusByte&15)===V0&&!(Z2.messageStatusByte&z3.controllerChange===240&&(Z2.messageData[0]===a6.resetAllControllers||Z2.messageData[0]===a6.allNotesOff||Z2.messageData[0]===a6.allSoundOff))),k2!==-1&&h2.push({index:k2,track:Q5})}return h2},[]),N=(V0,G0,v1)=>{let h2=y0.filter(k1=>k1.channel===V0&&k1.message.messageData[0]===v1&&A.midiPorts[k1.track]===G0);for(let k1=0;k1{let G0=V0.channel,v1=G0%16,h2=G0-v1,k1=A.midiPortChannelOffsets.findIndex(A0=>A0===h2),Q5=V0.controllerValue,k2=V0.controllerNumber;N(v1,k1,k2),j5(`%cNo controller %c${k2}%c on channel %c${G0}%c found. Adding it!`,b1.info,b1.unrecognized,b1.info,b1.value,b1.info);let Z2=m1(v1,k1,!0);if(Z2.length===0){fe("Program change but no notes... ignoring!");return}let a3=Z2.reduce((A0,S5)=>A.tracks[S5.track][S5.index].ticks{let G0=V0.channel%16,v1=V0.channel-G0,h2=A.midiPortChannelOffsets.findIndex(J3=>J3===v1),k1=V0.isDrum?0:V0.bank,Q5=V0.program,k2=p0.filter(J3=>A.midiPorts[J3.track]===h2&&J3.channel===G0);if(N(G0,h2,a6.bankSelect),N(G0,h2,a6.lsbForControl0BankSelect),(V0.isDrum||k1>0)&&!u0&&(A.tracks.forEach(J3=>{for(let s9=0;s90);if(Z2.length===0){fe("Program change but no notes... ignoring!");return}let a3=Z2.reduce((J3,s9)=>A.tracks[s9.track][s9.index].ticks{if(A.midiPorts[k2]!==v1||!A.usedChannelsOnTrack[k2].has(G0))return;let Z2=z3.noteOn|G0,a3=z3.noteOff|G0,Y5=z3.polyPressure|G0;Q5.forEach(A0=>{A0.messageStatusByte!==Z2&&A0.messageStatusByte!==a3&&A0.messageStatusByte!==Y5||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+h2)))})}),k1!==0){let Q5=A.tracks.find((m6,k9)=>A.usedChannelsOnTrack[k9].has(V0.channel));if(Q5===void 0){fe(`Channel ${V0.channel} unused but transpose requested???`);continue}let k2=z3.noteOn|V0.channel%16,Z2=Q5.findIndex(m6=>m6.messageStatusByte===k2);if(Z2===-1){fe(`No notes on channel ${V0.channel} but transpose requested???`);continue}let a3=Q5[Z2].ticks,Y5=k1*64+64,A0=z3.controllerChange|V0.channel%16,S5=new di(a3,A0,new Y3([a6.RPNMsb,0])),g3=new di(a3,A0,new Y3([a6.RPNLsb,1])),J3=new di(a3,A0,new Y3([a6.dataEntryMsb,Y5])),s9=new di(a3,A0,new Y3([a6.lsbForControl6DataEntry,0]));Q5.splice(Z2,0,s9),Q5.splice(Z2,0,J3),Q5.splice(Z2,0,g3),Q5.splice(Z2,0,S5)}}i4()}function lh(A,r){let l=[],g=[],d=[],_=[];r.channelSnapshots.forEach((u0,_0)=>{if(u0.isMuted){g.push(_0);return}let y0=u0.channelTransposeKeyShift+u0.customControllers[mm.channelTransposeFine]/100;y0!==0&&l.push({channel:_0,keyShift:y0}),u0.lockPreset&&d.push({channel:_0,program:u0.program,bank:u0.bank,isDrum:u0.drumChannel}),u0.lockedControllers.forEach((p0,m1)=>{if(!p0||m1>127||m1===a6.bankSelect)return;let N=u0.midiControllers[m1]>>7;_.push({channel:_0,controllerNumber:m1,controllerValue:N})})}),bD(A,d,_,g,l)}var F7={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",_D="Created using SpessaSynth";function cy(A,r,l,g=0,d="Shift_JIS",_={},u0=!0){if($r("%cWriting the RMIDI File...",b1.info),j5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${d}`,b1.info,b1.value,b1.info,b1.value),j5("metadata",_),j5("Initial bank offset",r.bankOffset),u0){let Q5=function(){let Y5=0,A0=1/0;return r.tracks.forEach((S5,g3)=>{h2[g3]>=S5.length||S5[h2[g3]].ticksA0>Y5?A0:Y5),a3=[];for(let Y5=0;Y50;){let Y5=Q5(),A0=r.tracks[Y5];if(h2[Y5]>=A0.length){k1--;continue}let S5=A0[h2[Y5]];h2[Y5]++;let g3=r.midiPortChannelOffsets[k2[Y5]];if(S5.messageStatusByte===z3.midiPort){k2[Y5]=S5.messageData[0];continue}let J3=S5.messageStatusByte&240;if(J3!==z3.controllerChange&&J3!==z3.programChange&&J3!==z3.systemExclusive)continue;if(J3===z3.systemExclusive){if(S5.messageData[0]!==65||S5.messageData[2]!==66||S5.messageData[3]!==18||S5.messageData[4]!==64||!(S5.messageData[5]&16)||S5.messageData[6]!==21){S5.messageData[0]===67&&S5.messageData[2]===76&&S5.messageData[5]===126&&S5.messageData[6]===0?G0="xg":S5.messageData[0]===65&&S5.messageData[2]===66&&S5.messageData[6]===127?G0="gs":S5.messageData[0]===126&&S5.messageData[2]===9&&(G0="gm",v1.push({tNum:Y5,e:S5}));continue}let k9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][S5.messageData[5]&15]+g3;a3[k9].drums=!!(S5.messageData[7]>0&&S5.messageData[5]>>4);continue}let s9=(S5.messageStatusByte&15)+g3,m6=a3[s9];if(J3===z3.programChange){m6.drums?l.presets.findIndex(I4=>I4.program===S5.messageData[0]&&I4.bank===128)===-1&&(S5.messageData[0]=l.presets.find(I4=>I4.bank===128)?.program||0):l.presets.findIndex(I4=>I4.program===S5.messageData[0]&&I4.bank!==128)===-1&&(S5.messageData[0]=l.presets.find(I4=>I4.bank!==128)?.program||0),m6.program=S5.messageData[0];let k9=Math.max(0,m6.lastBank?.messageData[1]-r.bankOffset),Ie=m6.drums?128:k9;if(m6.lastBank===void 0)continue;if(G0==="xg"&&m6.drums&&(a3[s9].lastBank.messageData[1]=127),l.presets.findIndex(I4=>I4.bank===Ie&&I4.program===S5.messageData[0])===-1){let I4=l.presets.find(z6=>z6.program===S5.messageData[0])?.bank+g||g;m6.lastBank.messageData[1]=I4,j5(`%cNo preset %c${Ie}:${S5.messageData[0]}%c. Changing bank to ${I4}.`,b1.info,b1.recognized,b1.info)}else{let z6=(Ie===128?G0==="xg"?127:0:k9)+g;m6.lastBank.messageData[1]=z6,j5(`%cPreset %c${Ie}:${S5.messageData[0]}%c exists. Changing bank to ${z6}.`,b1.info,b1.recognized,b1.info)}continue}S5.messageData[0]===a6.bankSelect&&(m6.hasBankSelect=!0,G0==="xg"&&(m6.drums=S5.messageData[1]===120||S5.messageData[1]===126||S5.messageData[1]===127),m6.lastBank=S5)}if(a3.forEach((Y5,A0)=>{if(Y5.hasBankSelect===!0)return;let S5=A0%16,g3=z3.programChange|S5,J3=Math.floor(A0/16)*16,s9=r.midiPortChannelOffsets.indexOf(J3),m6=r.tracks.find((z6,ze)=>r.midiPorts[ze]===s9&&r.usedChannelsOnTrack[ze].has(S5));if(m6===void 0)return;let k9=m6.findIndex(z6=>z6.messageStatusByte===g3);if(k9===-1){let z6=m6.findIndex(qi=>qi.messageStatusByte>128&&qi.messageStatusByte<240&&(qi.messageStatusByte&15)===S5);if(z6===-1)return;let ze=m6[z6].ticks,Gr=l.getPreset(0,0).program;m6.splice(z6,0,new di(ze,z3.programChange|S5,new Y3([Gr]))),k9=z6}j5(`%cAdding bank select for %c${A0}`,b1.info,b1.recognized);let Ie=m6[k9].ticks,I4=l.getPreset(0,Y5.program)?.bank+g||g;m6.splice(k9,0,new di(Ie,z3.controllerChange|S5,new Y3([a6.bankSelect,I4])))}),G0!=="gs"&&G0!=="xg"){for(let A0 of v1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let Y5=0;r.tracks[0][0].messageStatusByte===z3.trackName&&Y5++,r.tracks[0].splice(Y5,0,LB(0))}}let _0=new Y3(Cm(r).buffer),y0=[Ro("INFO")],p0=new TextEncoder;if(y0.push(Ve(F7.software,p0.encode("SpessaSynth"),!0)),_.name!==void 0?(y0.push(Ve(F7.name,p0.encode(_.name),!0)),d=Fo):y0.push(Ve(F7.name,r.rawMidiName,!0)),_.creationDate!==void 0)d=Fo,y0.push(Ve(F7.creationDate,p0.encode(_.creationDate),!0));else{let G0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});y0.push(Ve(F7.creationDate,Ro(G0),!0))}if(_.comment!==void 0&&(d=Fo,y0.push(Ve(F7.comment,p0.encode(_.comment)))),_.engineer!==void 0&&y0.push(Ve(F7.engineer,p0.encode(_.engineer),!0)),_.album!==void 0&&(d=Fo,y0.push(Ve(F7.album,p0.encode(_.album),!0))),_.artist!==void 0&&(d=Fo,y0.push(Ve(F7.artist,p0.encode(_.artist),!0))),_.genre!==void 0&&(d=Fo,y0.push(Ve(F7.genre,p0.encode(_.genre),!0))),_.picture!==void 0&&y0.push(Ve(F7.picture,new Uint8Array(_.picture))),_.copyright!==void 0)d=Fo,y0.push(Ve(F7.copyright,p0.encode(_.copyright),!0));else{let G0=r.copyright.length>0?r.copyright:_D;y0.push(Ve(F7.copyright,Ro(G0)))}let m1=new Y3(2);$t(m1,g,2),y0.push(Ve(F7.bankOffset,m1)),_.midiEncoding!==void 0&&(y0.push(Ve(F7.midiEncoding,p0.encode(_.midiEncoding))),d=Fo),y0.push(Ve(F7.encoding,Ro(d)));let N=wn(y0),V0=wn([Ro("RMID"),Ve("data",_0),Ve("LIST",N),A]);return j5("%cFinished!",b1.info),i4(),Ve("RIFF",V0)}function QC(A,r){let l=0;for(;A>0;){let g=r.tempoChanges.find(_=>_.ticks=128){this.MIDIout.send(g);return}break;case Lo.songChange:let d=l[0];this.songIndex=l[1],this.midiData=d,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(_0=>_0[1](d)),this.unpause();break;case Lo.textEvent:let _=l;this.onTextEvent&&this.onTextEvent(_[0],_[1]);break;case Lo.timeChange:let u0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(_0=>_0[1](u0)),this.unpause(),this._recalculateStartTime(u0);break;case Lo.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(_0=>_0[1]());break;case Lo.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case Lo.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}set playbackRate(r){this._sendMessage(bi.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(bi.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=gy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(bi.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}nextSong(){this._sendMessage(bi.changeSong,!0)}previousSong(){this._sendMessage(bi.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,d=r+g,_=this.currentTime,u0=.01*this._playbackRate,_0=_-d;return this.highResTimeOffset+=_0*u0,d=this.highResTimeOffset+g,d}set currentTime(r){this.unpause(),this._sendMessage(bi.setTime,r)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(bi.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){fe("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(bi.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(bi.play,r)}stop(){this._sendMessage(bi.stop)}midiData;onSongChange={};onTextEvent;onTimeChange={};onSongEnded={}};var yC=["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 hy(A){return` `}function p$(A){return` @@ -34,7 +34,7 @@ var cm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( -`}function Bm(A){return` +`}function pm(A){return` `}function Ey(A){return` @@ -42,7 +42,7 @@ var cm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( `}function Cy(A){return` -`}function pm(A){return` +`}function Qm(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 Qm(A){return` + `}function ym(A){return` @@ -66,7 +66,7 @@ var cm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>( `}function Qy(A){return` -`}function ch(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 yy(){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 wy(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=QB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,d)=>g+d.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 xD=parseFloat(getComputedStyle(document.body).fontSize);function ky(){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");yC.forEach(m1=>{let G=document.createElement("option");G.innerText=m1,G.value=m1,g.appendChild(G)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let d=document.createElement("p");d.classList.add("lyrics_text"),A.appendChild(d);let R=document.createElement("span");R.classList.add("lyrics_text_highlight"),d.appendChild(R);let u0=document.createElement("span");u0.classList.add("lyrics_text_gray"),d.appendChild(u0);let _0=document.createElement("details"),y0=document.createElement("summary");this.locale.bindObjectProperty(y0,"textContent","locale.sequencerController.lyrics.otherText.title"),_0.appendChild(y0);let p0=document.createElement("div");p0.innerText="",_0.appendChild(p0),A.appendChild(_0),this.lyricsElement.text={highlight:R,gray:u0,main:d,other:p0},this.lyricsElement.mainDiv=A,this.lyricsElement.selector=g,this.controls.appendChild(A),this.requiresTextUpdate=!0}function vy(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-xD*5)}function Sy(){let A="";for(let r of this.rawOtherTextEvents)A+=`
${Object.keys(z3).find(l=>z3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=A}var Lr=32,Dy="#ccc",by="#555",FD="#333",LD="#ddd",MD="Shift_JIS",xs=class{constructor(r,l,g){this.iconColor=Dy,this.iconDisabledColor=by,this.controls=r,this.encoding=MD,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=FD,this.iconDisabledColor=LD):(this.mode="dark",this.iconColor=Dy,this.iconDisabledColor=by),!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=p$(Lr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=hy(Lr),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(yC[g]),this.encodingSelector.value=yC[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let d=this.decodeTextFix(l.buffer);switch(g){default:return;case z3.text:case z3.copyright:case z3.cuePoint:case z3.trackName:case z3.instrumentName:case z3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case z3.lyric:this.text+=d,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?.[F7.encoding]!==void 0,l.isEmbedded){let g=(_0,y0,p0,m1="")=>this.seq.midiData.RMIDInfo?.[_0]===void 0?y0:m1+p0.decode(this.seq.midiData.RMIDInfo?.[_0]).replace(/\0$/,""),d=new TextDecoder,R=g(F7.midiEncoding,this.encoding,d),u0=g(F7.encoding,"utf-8",d);this.infoDecoder=new TextDecoder(u0),this.changeEncoding(R)}},"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=G=>{G.preventDefault();let V0=r.getBoundingClientRect(),N0=G.clientX-V0.left,v1=V0.width;this.seq.currentTime=N0/v1*this.seq.duration,g.innerHTML=p$(Lr)},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=ch("Play/Pause",p$(Lr));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let d=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=d;let R=ch("Previous song",dy(Lr));this.locale.bindObjectProperty(R,"title","locale.sequencerController.previousSong"),R.onclick=()=>this.switchToPreviousSong();let u0=ch("Next song",Iy(Lr));this.locale.bindObjectProperty(u0,"title","locale.sequencerController.nextSong"),u0.onclick=()=>this.switchToNextSong();let _0=ch("Loop this",fy(Lr));this.locale.bindObjectProperty(_0,"title","locale.sequencerController.loopThis");let y0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),_0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};_0.onclick=y0,this.loopButton=_0;let p0=ch("Show lyrics",uy(Lr));this.locale.bindObjectProperty(p0,"title","locale.sequencerController.lyrics.show"),p0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let m1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),p0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};p0.onclick=m1,document.addEventListener("keydown",G=>{switch(G.key.toLowerCase()){case X7.playPause:G.preventDefault(),d();break;case X7.toggleLoop:G.preventDefault(),y0();break;case X7.toggleLyrics:G.preventDefault(),m1();break;default:break}}),l.appendChild(R),l.appendChild(_0),l.appendChild(g),l.appendChild(p0),l.appendChild(u0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",G=>{switch(G.key.toLowerCase()){case X7.seekBackwards:G.preventDefault(),this.seq.currentTime-=5,g.innerHTML=p$(Lr);break;case X7.seekForwards:G.preventDefault(),this.seq.currentTime+=5,g.innerHTML=p$(Lr);break;case X7.previousSong:this.switchToPreviousSong();break;case X7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(G.key))){G.preventDefault();let V0=parseInt(G.key);0<=V0&&V0<=9&&(this.seq.currentTime=this.seq.duration*(V0/10),g.innerHTML=p$(Lr))}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=yy;xs.prototype.updateTitleAndMediaStatus=wy;xs.prototype.createLyrics=ky;xs.prototype.setLyricsText=vy;xs.prototype.updateOtherTextEvents=Sy;function _y(){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.preset.hide()})}function Ry(){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.preset.show()})}function xy(){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.preset.toggleMode(),A.presetReset.classList.toggle("voice_reset_light"),A.drumsToggle.classList.toggle("mute_button_light"),A.muteButton.classList.toggle("mute_button_light")})}var lr=class{constructor(r="none",l,g,d,R=0,u0=100,_0=!1,y0=void 0,p0=void 0,m1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=R,this.max=u0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=p0,this.unlockCallback=m1,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",d),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,_0){if(y0===void 0)throw new Error("No editable function given!");this.div.onmousedown=G=>{G.preventDefault(),G.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=G=>{if(!this.isActive)return;let V0=G.currentTarget.getBoundingClientRect(),N0=V0.left,v1=V0.width,h2=G.clientX-N0,k1=Math.max(0,Math.min(1,h2/v1));y0(k1*(u0-R)+R)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=G=>{this.div.onmousemove(G),this.isActive=!1},this.text.oncontextmenu=G=>{G.preventDefault()},this.div.onclick=G=>{G.preventDefault(),this.isActive=!0,this.div.onmousemove(G),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 Fy=["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","Helicopter","Applause","Gunshot"];var ym=class{constructor(r,l,g,d,R=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r,this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainDiv=document.createElement("select"),this.mainDiv.classList.add("voice_selector"),this.mainDiv.classList.add("controller_element"),l.bindObjectProperty(this.mainDiv,"title",g,d),this.reload(),this.mainDiv.onchange=()=>{R(this.mainDiv.value),this.mainDiv.blur()}}toggleMode(){this.mainDiv.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r,!this.isShown){this.isReloaded=!1;return}this.mainDiv.innerHTML="";let l=-20,g=!1,d="";for(let R of r){let u0=R.program;u0!==l&&(l=u0,r.filter(_0=>_0.program===l).length>1?(g=!0,d+=``):(g=!1,d+="")),g||R.bank!==0&&R.bank!==128?d+=``:d+=``}this.mainDiv.innerHTML=d,this.isReloaded=!0}set(r){this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainDiv.value=r)}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainDiv.value=this.value}hide(){this.isShown=!1}};var Sn=32;function Ly(A){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new lr(this.channelColors[A%this.channelColors.length],ke+"channelController.voiceMeter",this.locale,[A+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new lr(this.channelColors[A%this.channelColors.length],ke+"channelController.pitchBendMeter",this.locale,[A+1],-8192,8192,!0,k2=>{let Z2=g.isLocked;Z2&&this.synth.lockController(A,B$+x7.pitchWheel,!1),k2=Math.round(k2)+8192;let a3=k2>>7,Y5=k2&127;this.synth.pitchWheel(A,a3,Y5),Z2&&this.synth.lockController(A,B$+x7.pitchWheel,!0)},()=>this.synth.lockController(A,B$+x7.pitchWheel,!0),()=>this.synth.lockController(A,B$+x7.pitchWheel,!1));g.update(0),r.appendChild(g.div);let d=(k2,Z2,a3)=>{a3.isLocked?(this.synth.lockController(A,k2,!1),this.synth.controllerChange(A,k2,Z2),this.synth.lockController(A,k2,!0)):this.synth.controllerChange(A,k2,Z2)},R=(k2,Z2,a3)=>{let Y5=new lr(this.channelColors[A%this.channelColors.length],ke+Z2,this.locale,[A+1],0,127,!0,A0=>d(k2,Math.round(A0),Y5),()=>this.synth.lockController(A,k2,!0),()=>this.synth.lockController(A,k2,!1));return Y5.update(a3),Y5},u0=R(a6.pan,"channelController.panMeter",64);r.appendChild(u0.div);let _0=R(a6.expressionController,"channelController.expressionMeter",127);r.appendChild(_0.div);let y0=R(a6.mainVolume,"channelController.volumeMeter",100);r.appendChild(y0.div);let p0=R(a6.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(p0.div);let m1=R(a6.effects3Depth,"channelController.chorusMeter",0);r.appendChild(m1.div);let G=R(a6.effects1Depth,"channelController.reverbMeter",40);r.appendChild(G.div);let V0=new lr(this.channelColors[A%this.channelColors.length],ke+"channelController.transposeMeter",this.locale,[A+1],-36,36,!0,k2=>{k2=Math.round(k2),this.synth.transposeChannel(A,k2,!0),V0.update(k2)});V0.update(0),r.appendChild(V0.div);let N0=document.createElement("div"),v1=new ym([],this.locale,ke+"channelController.presetSelector.description",[A+1],async k2=>{let Z2=k2.split(":");this.synth.lockController(A,Hi,!1),this.synth.controllerChange(A,a6.bankSelect,parseInt(Z2[0]),!0),this.synth.programChange(A,parseInt(Z2[1]),!0),v1.mainDiv.classList.add("locked_selector"),this.synth.lockController(A,Hi,!0)});r.appendChild(v1.mainDiv),N0.innerHTML=Qy(Sn),this.locale.bindObjectProperty(N0,"title",ke+"channelController.presetReset.description",[A+1]),N0.classList.add("controller_element"),N0.classList.add("voice_reset"),N0.onclick=()=>{this.synth.lockController(A,Hi,!1),v1.mainDiv.classList.remove("locked_selector")},r.appendChild(N0);let h2=document.createElement("div");h2.innerHTML=Bm(Sn),this.locale.bindObjectProperty(h2,"title",ke+"channelController.soloButton.description",[A+1]),h2.classList.add("controller_element"),h2.classList.add("mute_button"),h2.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 k2=0;k2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let k2=0;k2{if(k1.hasAttribute("is_muted")){k1.removeAttribute("is_muted");let k2=this.soloChannels.size===0||this.soloChannels.has(A);this.synth.muteChannel(A,!k2),k1.innerHTML=MB(Sn)}else this.synth.muteChannel(A,!0),k1.setAttribute("is_muted","true"),k1.innerHTML=Cy(Sn)},r.appendChild(k1);let Q5=document.createElement("div");return Q5.innerHTML=A===vi?pm(Sn):Qm(Sn),this.locale.bindObjectProperty(Q5,"title",ke+"channelController.drumToggleButton.description",[A+1]),Q5.classList.add("controller_element"),Q5.classList.add("mute_button"),Q5.onclick=()=>{this.synth.setDrums(A,!this.synth.channelProperties[A].isDrum)},r.appendChild(Q5),{controller:r,voiceMeter:l,pitchWheel:g,pan:u0,expression:_0,volume:y0,mod:p0,chorus:m1,reverb:G,preset:v1,presetReset:N0,drumsToggle:Q5,soloButton:h2,muteButton:k1,transpose:V0}}function My(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(p0)/100),this.volumeController.update(p0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new lr("",ke+"mainPanMeter",this.locale,[],-1,1,!0,p0=>{this.synth.setMasterPan(p0),this.panController.update(p0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new lr("",ke+"mainTransposeMeter",this.locale,[],-12,12,!0,p0=>{this.synth.transpose(Math.round(p0*2)/2),this.transposeController.update(Math.round(p0*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",ke+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",ke+"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",ke+"systemReset.title"),this.locale.bindObjectProperty(l,"title",ke+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>this.synth.resetControllers();let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",ke+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",ke+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let d=document.createElement("button");this.locale.bindObjectProperty(d,"textContent",ke+"disableCustomVibrato.title"),this.locale.bindObjectProperty(d,"title",ke+"disableCustomVibrato.description"),d.classList.add("synthui_button"),d.classList.add("main_controller_element"),d.onclick=()=>{this.synth.lockAndResetChannelVibrato(),d.parentNode.removeChild(d)};let R=document.createElement("a");R.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",R.target="#",R.classList.add("main_controller_element"),R.classList.add("synthui_button"),this.locale.bindObjectProperty(R,"textContent",ke+"helpButton.title"),this.locale.bindObjectProperty(R,"title",ke+"helpButton.description");let u0=document.createElement("select");u0.classList.add("main_controller_element"),u0.classList.add("synthui_button"),this.locale.bindObjectProperty(u0,"title",ke+"interpolation.description");{let p0=document.createElement("option");p0.value="0",p0.selected=!0,this.locale.bindObjectProperty(p0,"textContent",ke+"interpolation.linear"),u0.appendChild(p0);let m1=document.createElement("option");m1.value="1",this.locale.bindObjectProperty(m1,"textContent",ke+"interpolation.nearestNeighbor"),u0.appendChild(m1),u0.onchange=()=>{this.synth.setInterpolationType(parseInt(u0.value))}}let _0=document.createElement("div");_0.classList.add("synthui_controller"),this.uiDiv.appendChild(_0);let y0=document.createElement("button");this.locale.bindObjectProperty(y0,"textContent",ke+"toggleButton.title"),this.locale.bindObjectProperty(y0,"title",ke+"toggleButton.description"),y0.classList.add("synthui_button"),y0.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(d),A.appendChild(R),A.appendChild(u0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,d,y0,R,u0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(y0),_0.appendChild(A),this.mainControllerDiv=_0,this.mainControllerDiv.onclick=p0=>p0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}_0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Gy(){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(40)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,d=r.controllerValue;switch(l){default:break;case a6.expressionController:this.controllers[g].expression.update(d);break;case a6.mainVolume:this.controllers[g].volume.update(d);break;case a6.pan:this.controllers[g].pan.update(d);break;case a6.modulationWheel:this.controllers[g].mod.update(d);break;case a6.effects3Depth:this.controllers[g].chorus.update(d);break;case a6.effects1Depth:this.controllers[g].reverb.update(d)}}),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?pm(32):Qm(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 ke="locale.synthesizerController.",Mr=class{constructor(r,l,g){this.channelColors=r;let d=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),d.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.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,d)=>g.program===d.program?g.bank-d.bank:g.program-d.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,d)=>g.program-d.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,d)=>{let R=this.synth.channelProperties[d].isDrum?this.percussionList:this.instrumentList;g.preset.reload(R),g.preset.set(`${R[0].bank}:${R[0].program}`)})})}};Mr.prototype.hideControllers=_y;Mr.prototype.showControllers=Ry;Mr.prototype.toggleDarkMode=xy;Mr.prototype.createChannelController=Ly;Mr.prototype.createChannelControllers=My;Mr.prototype.createMainSynthController=Ty;Mr.prototype.setEventListeners=Gy;var wC=null,wm=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=wC,this.selectedOutput=wC,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,j5("%cMIDI handler created!",b1.recognized),!0}catch(r){return fe("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return fe("Web MIDI Api not supported!",b1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),j5(`%cPlaying MIDI to %c${r.name}`,b1.info,b1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=wC,r.connectMidiOutput(void 0),j5("%cDisconnected from MIDI out.",b1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},j5(`%cListening for messages on %c${r.name}`,b1.info,b1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=wC,r.onmidimessage=void 0,j5(`%cDisconnected from %c${r.name}`,b1.info,b1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=wC;for(let r of this.inputs)r[1].onmidimessage=void 0}};var km=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 d=g.map(R=>parseInt(R,16));r.sendMessage(d)}),j5("%cWeb MIDI Link handler created!",b1.recognized)}};var Mo="midi range";function Ny(A,r,l){let g=0,d=this.htmlControls.keyboard,R=()=>{let u0=document.createElement("option");u0.value=g.toString(),this.locale.bindObjectProperty(u0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),u0.style.background=r.channelColors[g%r.channelColors.length],u0.style.color="rgb(0, 0, 0)",d.channelSelector.appendChild(u0),g++};for(let u0=0;u0{A.selectChannel(parseInt(d.channelSelector.value))},d.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{d.sizeSelector.value===Mo?(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[d.sizeSelector.value],l.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},600);return}d.sizeSelector.value===Mo?(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[d.sizeSelector.value],l.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},this.addSequencer=u0=>{u0.addOnSongChangeEvent(_0=>{this.autoKeyRange&&(A.keyRange=_0.keyRange,l.keyRange=_0.keyRange),_0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{R()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",u0=>{u0.userCalled&&(A.selectChannel(u0.channel),d.channelSelector.value=u0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",u0=>{if(u0.isMuted&&u0.channel===A.channel){let _0=0;for(;r.synth.channelProperties[_0].isMuted;)_0++;_0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{A.toggleMode(),this._saveSettings()},600);return}A.toggleMode(),this._saveSettings()},d.showSelector.onclick=()=>{A.shown=!A.shown,this._saveSettings()}}var Uy=` +`}function ch(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 yy(){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 wy(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=yB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,d)=>g+d.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 xD=parseFloat(getComputedStyle(document.body).fontSize);function ky(){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");yC.forEach(m1=>{let N=document.createElement("option");N.innerText=m1,N.value=m1,g.appendChild(N)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let d=document.createElement("p");d.classList.add("lyrics_text"),A.appendChild(d);let _=document.createElement("span");_.classList.add("lyrics_text_highlight"),d.appendChild(_);let u0=document.createElement("span");u0.classList.add("lyrics_text_gray"),d.appendChild(u0);let _0=document.createElement("details"),y0=document.createElement("summary");this.locale.bindObjectProperty(y0,"textContent","locale.sequencerController.lyrics.otherText.title"),_0.appendChild(y0);let p0=document.createElement("div");p0.innerText="",_0.appendChild(p0),A.appendChild(_0),this.lyricsElement.text={highlight:_,gray:u0,main:d,other:p0},this.lyricsElement.mainDiv=A,this.lyricsElement.selector=g,this.controls.appendChild(A),this.requiresTextUpdate=!0}function vy(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-xD*5)}function Sy(){let A="";for(let r of this.rawOtherTextEvents)A+=`
${Object.keys(z3).find(l=>z3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=A}var Lr=32,Dy="#ccc",by="#555",FD="#333",LD="#ddd",MD="Shift_JIS",xs=class{constructor(r,l,g){this.iconColor=Dy,this.iconDisabledColor=by,this.controls=r,this.encoding=MD,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=FD,this.iconDisabledColor=LD):(this.mode="dark",this.iconColor=Dy,this.iconDisabledColor=by),!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=p$(Lr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=hy(Lr),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(yC[g]),this.encodingSelector.value=yC[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let d=this.decodeTextFix(l.buffer);switch(g){default:return;case z3.text:case z3.copyright:case z3.cuePoint:case z3.trackName:case z3.instrumentName:case z3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case z3.lyric:this.text+=d,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?.[F7.encoding]!==void 0,l.isEmbedded){let g=(_0,y0,p0,m1="")=>this.seq.midiData.RMIDInfo?.[_0]===void 0?y0:m1+p0.decode(this.seq.midiData.RMIDInfo?.[_0]).replace(/\0$/,""),d=new TextDecoder,_=g(F7.midiEncoding,this.encoding,d),u0=g(F7.encoding,"utf-8",d);this.infoDecoder=new TextDecoder(u0),this.changeEncoding(_)}},"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=N=>{N.preventDefault();let V0=r.getBoundingClientRect(),G0=N.clientX-V0.left,v1=V0.width;this.seq.currentTime=G0/v1*this.seq.duration,g.innerHTML=p$(Lr)},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=ch("Play/Pause",p$(Lr));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let d=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=d;let _=ch("Previous song",dy(Lr));this.locale.bindObjectProperty(_,"title","locale.sequencerController.previousSong"),_.onclick=()=>this.switchToPreviousSong();let u0=ch("Next song",Iy(Lr));this.locale.bindObjectProperty(u0,"title","locale.sequencerController.nextSong"),u0.onclick=()=>this.switchToNextSong();let _0=ch("Loop this",fy(Lr));this.locale.bindObjectProperty(_0,"title","locale.sequencerController.loopThis");let y0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),_0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};_0.onclick=y0,this.loopButton=_0;let p0=ch("Show lyrics",uy(Lr));this.locale.bindObjectProperty(p0,"title","locale.sequencerController.lyrics.show"),p0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let m1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),p0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};p0.onclick=m1,document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case X7.playPause:N.preventDefault(),d();break;case X7.toggleLoop:N.preventDefault(),y0();break;case X7.toggleLyrics:N.preventDefault(),m1();break;default:break}}),l.appendChild(_),l.appendChild(_0),l.appendChild(g),l.appendChild(p0),l.appendChild(u0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case X7.seekBackwards:N.preventDefault(),this.seq.currentTime-=5,g.innerHTML=p$(Lr);break;case X7.seekForwards:N.preventDefault(),this.seq.currentTime+=5,g.innerHTML=p$(Lr);break;case X7.previousSong:this.switchToPreviousSong();break;case X7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(N.key))){N.preventDefault();let V0=parseInt(N.key);0<=V0&&V0<=9&&(this.seq.currentTime=this.seq.duration*(V0/10),g.innerHTML=p$(Lr))}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=yy;xs.prototype.updateTitleAndMediaStatus=wy;xs.prototype.createLyrics=ky;xs.prototype.setLyricsText=vy;xs.prototype.updateOtherTextEvents=Sy;function _y(){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.preset.hide()})}function Ry(){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.preset.show()})}function xy(){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.preset.toggleMode(),A.presetReset.classList.toggle("voice_reset_light"),A.drumsToggle.classList.toggle("mute_button_light"),A.muteButton.classList.toggle("mute_button_light")})}var lr=class{constructor(r="none",l,g,d,_=0,u0=100,_0=!1,y0=void 0,p0=void 0,m1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=_,this.max=u0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=p0,this.unlockCallback=m1,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",d),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,_0){if(y0===void 0)throw new Error("No editable function given!");this.div.onmousedown=N=>{N.preventDefault(),N.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=N=>{if(!this.isActive)return;let V0=N.currentTarget.getBoundingClientRect(),G0=V0.left,v1=V0.width,h2=N.clientX-G0,k1=Math.max(0,Math.min(1,h2/v1));y0(k1*(u0-_)+_)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=N=>{this.div.onmousemove(N),this.isActive=!1},this.text.oncontextmenu=N=>{N.preventDefault()},this.div.onclick=N=>{N.preventDefault(),this.isActive=!0,this.div.onmousemove(N),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 Fy=["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","Helicopter","Applause","Gunshot"];var wm=class{constructor(r,l,g,d,_=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r,this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainDiv=document.createElement("select"),this.mainDiv.classList.add("voice_selector"),this.mainDiv.classList.add("controller_element"),l.bindObjectProperty(this.mainDiv,"title",g,d),this.reload(),this.mainDiv.onchange=()=>{_(this.mainDiv.value),this.mainDiv.blur()}}toggleMode(){this.mainDiv.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r,!this.isShown){this.isReloaded=!1;return}this.mainDiv.innerHTML="";let l=-20,g=!1,d="";for(let _ of r){let u0=_.program;u0!==l&&(l=u0,r.filter(_0=>_0.program===l).length>1?(g=!0,d+=``):(g=!1,d+="")),g||_.bank!==0&&_.bank!==128?d+=``:d+=``}this.mainDiv.innerHTML=d,this.isReloaded=!0}set(r){this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainDiv.value=r)}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainDiv.value=this.value}hide(){this.isShown=!1}};var Sn=32;function Ly(A){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new lr(this.channelColors[A%this.channelColors.length],ke+"channelController.voiceMeter",this.locale,[A+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new lr(this.channelColors[A%this.channelColors.length],ke+"channelController.pitchBendMeter",this.locale,[A+1],-8192,8192,!0,k2=>{let Z2=g.isLocked;Z2&&this.synth.lockController(A,B$+x7.pitchWheel,!1),k2=Math.round(k2)+8192;let a3=k2>>7,Y5=k2&127;this.synth.pitchWheel(A,a3,Y5),Z2&&this.synth.lockController(A,B$+x7.pitchWheel,!0)},()=>this.synth.lockController(A,B$+x7.pitchWheel,!0),()=>this.synth.lockController(A,B$+x7.pitchWheel,!1));g.update(0),r.appendChild(g.div);let d=(k2,Z2,a3)=>{a3.isLocked?(this.synth.lockController(A,k2,!1),this.synth.controllerChange(A,k2,Z2),this.synth.lockController(A,k2,!0)):this.synth.controllerChange(A,k2,Z2)},_=(k2,Z2,a3)=>{let Y5=new lr(this.channelColors[A%this.channelColors.length],ke+Z2,this.locale,[A+1],0,127,!0,A0=>d(k2,Math.round(A0),Y5),()=>this.synth.lockController(A,k2,!0),()=>this.synth.lockController(A,k2,!1));return Y5.update(a3),Y5},u0=_(a6.pan,"channelController.panMeter",64);r.appendChild(u0.div);let _0=_(a6.expressionController,"channelController.expressionMeter",127);r.appendChild(_0.div);let y0=_(a6.mainVolume,"channelController.volumeMeter",100);r.appendChild(y0.div);let p0=_(a6.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(p0.div);let m1=_(a6.effects3Depth,"channelController.chorusMeter",0);r.appendChild(m1.div);let N=_(a6.effects1Depth,"channelController.reverbMeter",40);r.appendChild(N.div);let V0=new lr(this.channelColors[A%this.channelColors.length],ke+"channelController.transposeMeter",this.locale,[A+1],-36,36,!0,k2=>{k2=Math.round(k2),this.synth.transposeChannel(A,k2,!0),V0.update(k2)});V0.update(0),r.appendChild(V0.div);let G0=document.createElement("div"),v1=new wm([],this.locale,ke+"channelController.presetSelector.description",[A+1],async k2=>{let Z2=k2.split(":");this.synth.lockController(A,Hi,!1),this.synth.controllerChange(A,a6.bankSelect,parseInt(Z2[0]),!0),this.synth.programChange(A,parseInt(Z2[1]),!0),v1.mainDiv.classList.add("locked_selector"),this.synth.lockController(A,Hi,!0)});r.appendChild(v1.mainDiv),G0.innerHTML=Qy(Sn),this.locale.bindObjectProperty(G0,"title",ke+"channelController.presetReset.description",[A+1]),G0.classList.add("controller_element"),G0.classList.add("voice_reset"),G0.onclick=()=>{this.synth.lockController(A,Hi,!1),v1.mainDiv.classList.remove("locked_selector")},r.appendChild(G0);let h2=document.createElement("div");h2.innerHTML=pm(Sn),this.locale.bindObjectProperty(h2,"title",ke+"channelController.soloButton.description",[A+1]),h2.classList.add("controller_element"),h2.classList.add("mute_button"),h2.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 k2=0;k2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let k2=0;k2{if(k1.hasAttribute("is_muted")){k1.removeAttribute("is_muted");let k2=this.soloChannels.size===0||this.soloChannels.has(A);this.synth.muteChannel(A,!k2),k1.innerHTML=MB(Sn)}else this.synth.muteChannel(A,!0),k1.setAttribute("is_muted","true"),k1.innerHTML=Cy(Sn)},r.appendChild(k1);let Q5=document.createElement("div");return Q5.innerHTML=A===vi?Qm(Sn):ym(Sn),this.locale.bindObjectProperty(Q5,"title",ke+"channelController.drumToggleButton.description",[A+1]),Q5.classList.add("controller_element"),Q5.classList.add("mute_button"),Q5.onclick=()=>{this.synth.setDrums(A,!this.synth.channelProperties[A].isDrum)},r.appendChild(Q5),{controller:r,voiceMeter:l,pitchWheel:g,pan:u0,expression:_0,volume:y0,mod:p0,chorus:m1,reverb:N,preset:v1,presetReset:G0,drumsToggle:Q5,soloButton:h2,muteButton:k1,transpose:V0}}function My(){let A=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(p0)/100),this.volumeController.update(p0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new lr("",ke+"mainPanMeter",this.locale,[],-1,1,!0,p0=>{this.synth.setMasterPan(p0),this.panController.update(p0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new lr("",ke+"mainTransposeMeter",this.locale,[],-12,12,!0,p0=>{this.synth.transpose(Math.round(p0*2)/2),this.transposeController.update(Math.round(p0*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",ke+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",ke+"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",ke+"systemReset.title"),this.locale.bindObjectProperty(l,"title",ke+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>this.synth.resetControllers();let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",ke+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",ke+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let d=document.createElement("button");this.locale.bindObjectProperty(d,"textContent",ke+"disableCustomVibrato.title"),this.locale.bindObjectProperty(d,"title",ke+"disableCustomVibrato.description"),d.classList.add("synthui_button"),d.classList.add("main_controller_element"),d.onclick=()=>{this.synth.lockAndResetChannelVibrato(),d.parentNode.removeChild(d)};let _=document.createElement("a");_.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",_.target="#",_.classList.add("main_controller_element"),_.classList.add("synthui_button"),this.locale.bindObjectProperty(_,"textContent",ke+"helpButton.title"),this.locale.bindObjectProperty(_,"title",ke+"helpButton.description");let u0=document.createElement("select");u0.classList.add("main_controller_element"),u0.classList.add("synthui_button"),this.locale.bindObjectProperty(u0,"title",ke+"interpolation.description");{let p0=document.createElement("option");p0.value="0",p0.selected=!0,this.locale.bindObjectProperty(p0,"textContent",ke+"interpolation.linear"),u0.appendChild(p0);let m1=document.createElement("option");m1.value="1",this.locale.bindObjectProperty(m1,"textContent",ke+"interpolation.nearestNeighbor"),u0.appendChild(m1),u0.onchange=()=>{this.synth.setInterpolationType(parseInt(u0.value))}}let _0=document.createElement("div");_0.classList.add("synthui_controller"),this.uiDiv.appendChild(_0);let y0=document.createElement("button");this.locale.bindObjectProperty(y0,"textContent",ke+"toggleButton.title"),this.locale.bindObjectProperty(y0,"title",ke+"toggleButton.description"),y0.classList.add("synthui_button"),y0.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(d),A.appendChild(_),A.appendChild(u0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,d,y0,_,u0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(y0),_0.appendChild(A),this.mainControllerDiv=_0,this.mainControllerDiv.onclick=p0=>p0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}_0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Ny(){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(40)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,d=r.controllerValue;switch(l){default:break;case a6.expressionController:this.controllers[g].expression.update(d);break;case a6.mainVolume:this.controllers[g].volume.update(d);break;case a6.pan:this.controllers[g].pan.update(d);break;case a6.modulationWheel:this.controllers[g].mod.update(d);break;case a6.effects3Depth:this.controllers[g].chorus.update(d);break;case a6.effects1Depth:this.controllers[g].reverb.update(d)}}),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?Qm(32):ym(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 ke="locale.synthesizerController.",Mr=class{constructor(r,l,g){this.channelColors=r;let d=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),d.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.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,d)=>g.program===d.program?g.bank-d.bank:g.program-d.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,d)=>g.program-d.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,d)=>{let _=this.synth.channelProperties[d].isDrum?this.percussionList:this.instrumentList;g.preset.reload(_),g.preset.set(`${_[0].bank}:${_[0].program}`)})})}};Mr.prototype.hideControllers=_y;Mr.prototype.showControllers=Ry;Mr.prototype.toggleDarkMode=xy;Mr.prototype.createChannelController=Ly;Mr.prototype.createChannelControllers=My;Mr.prototype.createMainSynthController=Ty;Mr.prototype.setEventListeners=Ny;var wC=null,km=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=wC,this.selectedOutput=wC,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,j5("%cMIDI handler created!",b1.recognized),!0}catch(r){return fe("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return fe("Web MIDI Api not supported!",b1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),j5(`%cPlaying MIDI to %c${r.name}`,b1.info,b1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=wC,r.connectMidiOutput(void 0),j5("%cDisconnected from MIDI out.",b1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},j5(`%cListening for messages on %c${r.name}`,b1.info,b1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=wC,r.onmidimessage=void 0,j5(`%cDisconnected from %c${r.name}`,b1.info,b1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=wC;for(let r of this.inputs)r[1].onmidimessage=void 0}};var vm=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 d=g.map(_=>parseInt(_,16));r.sendMessage(d)}),j5("%cWeb MIDI Link handler created!",b1.recognized)}};var Mo="midi range";function Gy(A,r,l){let g=0,d=this.htmlControls.keyboard,_=()=>{let u0=document.createElement("option");u0.value=g.toString(),this.locale.bindObjectProperty(u0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),u0.style.background=r.channelColors[g%r.channelColors.length],u0.style.color="rgb(0, 0, 0)",d.channelSelector.appendChild(u0),g++};for(let u0=0;u0{A.selectChannel(parseInt(d.channelSelector.value))},d.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{d.sizeSelector.value===Mo?(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[d.sizeSelector.value],l.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},600);return}d.sizeSelector.value===Mo?(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[d.sizeSelector.value],l.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},this.addSequencer=u0=>{u0.addOnSongChangeEvent(_0=>{this.autoKeyRange&&(A.keyRange=_0.keyRange,l.keyRange=_0.keyRange),_0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{_()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",u0=>{u0.userCalled&&(A.selectChannel(u0.channel),d.channelSelector.value=u0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",u0=>{if(u0.isMuted&&u0.channel===A.channel){let _0=0;for(;r.synth.channelProperties[_0].isMuted;)_0++;_0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{A.toggleMode(),this._saveSettings()},600);return}A.toggleMode(),this._saveSettings()},d.showSelector.onclick=()=>{A.shown=!A.shown,this._saveSettings()}}var Uy=`

@@ -196,15 +196,15 @@ var cm=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(r,l)=>(
-`;function Dn(A){return A.parentElement.nextElementSibling}function Oy(A){let r=A.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(TB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function TB(A,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let g=A.getAttribute("min"),d=A.getAttribute("max"),R=A.getAttribute("value"),u0=A.getAttribute("units"),_0=A.getAttribute("input_id"),y0=document.createElement("input");y0.classList.add("settings_slider"),y0.type="range",y0.id=_0,y0.min=g,y0.max=d,y0.value=R;let p0;r&&(p0=document.createElement("span"),p0.textContent=R+u0);let m1=document.createElement("div");m1.classList.add("settings_visual_wrapper");let G=document.createElement("div");G.classList.add("settings_slider_progress"),m1.appendChild(G);let V0=document.createElement("div");return V0.classList.add("settings_slider_thumb"),m1.appendChild(V0),m1.appendChild(y0),y0.addEventListener("input",()=>{let N0=parseInt(m1.style.getPropertyValue("--visual-width").replace("%","")),v1=Math.round((y0.value-y0.min)/(y0.max-y0.min)*100);Math.abs((N0-v1)/100)>.05?m1.classList.add("settings_slider_transition"):m1.classList.remove("settings_slider_transition"),m1.style.setProperty("--visual-width",`${v1}%`)}),m1.style.setProperty("--visual-width",`${(y0.value-y0.min)/(y0.max-y0.min)*100}%`),l.appendChild(m1),r&&l.appendChild(p0),l}async function Py(){let A=await window.savedSettings;if(!A.interface)return;j5("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 d=g.sampleSize;r.analyserFftSlider.value=Math.log2(d),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=d,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(d)+2)),l.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${d}`,l.waveMultiplier=g.amplifier,r.waveMultiplierSlizer.value=g.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Dn(r.waveMultiplierSlizer).innerText=g.amplifier.toString();let R=this.htmlControls.renderer;l.renderAnalysers=g.renderWaveforms,R.analyserToggler.checked=g.renderWaveforms,l.renderNotes=g.renderNotes,R.noteToggler.checked=g.renderNotes,l.drawActiveNotes=g.drawActiveNotes,R.activeNoteToggler.checked=g.drawActiveNotes,l.showVisualPitch=g.showVisualPitch,R.visualPitchToggler.checked=g.showVisualPitch,l.stabilizeWaveforms=g.stabilizeWaveforms,R.stabilizeWaveformsToggler.checked=g.stabilizeWaveforms,l.keyRange=g.keyRange;let u0=this.htmlControls.keyboard,_0=this.midiKeyboard,y0=A.keyboard;_0.setKeyRange(y0.keyRange,!1),y0.autoRange?(u0.sizeSelector.value=Mo,this.autoKeyRange=!0):(this.autoKeyRange=!1,u0.sizeSelector.value=Object.keys(this.keyboardSizes).find(p0=>this.keyboardSizes[p0].min===y0.keyRange.min&&this.keyboardSizes[p0].max===y0.keyRange.max)),y0.mode==="dark"&&(_0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),y0.show===!1&&(_0.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 Hy(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function qy(){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===Mo,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 Yy(){let A=this.htmlControls.interface.themeSelector;A.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[g,d]of Object.entries(this.locales)){let R=document.createElement("option");R.value=g,R.textContent=d.localeName,r.appendChild(R)}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 vm={start:"#101010",end:"#212121"},Sm={start:"#bbb",end:"#f0f0f0"},Ky="#eee",Vy="#333",Dm={start:"#222",end:"#333"},bm={start:"#ccc",end:"#fff"},bn=.2;function zy(){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(Vy,Ky,bn,r,"--font-color"),_n(bm.start,Dm.start,bn,r,"--top-buttons-color-start"),_n(bm.end,Dm.end,bn,r,"--top-buttons-color-end"),_n(Sm.start,vm.start,bn,r,"--top-color-start"),_n(Sm.end,vm.end,bn,r,"--top-color-end")):(_n(Ky,Vy,bn,r,"--font-color"),_n(Dm.start,bm.start,bn,r,"--top-buttons-color-start"),_n(Dm.end,bm.end,bn,r,"--top-buttons-color-end"),_n(vm.start,Sm.start,bn,r,"--top-color-start"),_n(vm.end,Sm.end,bn,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var gh={};function _n(A,r,l,g,d){gh[d]&&(clearInterval(gh[d]),gh[d]=void 0);function R(G){G.length===4&&(G=`#${G[1]}${G[1]}${G[2]}${G[2]}${G[3]}${G[3]}`);let V0=parseInt(G.slice(1),16);return{r:V0>>16&255,g:V0>>8&255,b:V0&255}}function u0(G,V0,N0){return G+(V0-G)*N0}let _0=R(A),y0=R(r),p0=performance.now()/1e3;function m1(){let V0=performance.now()/1e3-p0,N0=Math.min(V0/l,1),v1=Math.round(u0(_0.r,y0.r,N0)),h2=Math.round(u0(_0.g,y0.g,N0)),k1=Math.round(u0(_0.b,y0.b,N0));g.style.setProperty(d,`rgb(${v1}, ${h2}, ${k1})`),N0>=1&&(clearInterval(gh[d]),gh[d]=void 0)}gh[d]=setInterval(m1,1e3/60)}function Zy(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 To(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 Wy(A,r){switch(A.type){case"button":let l=document.createElement("button");return To(l,A,r),Q$(A,[l]),l;case"text":let g=document.createElement("p");return To(g,A,r),Q$(A,[g]),g;case"input":let d=document.createElement("div");d.classList.add("notification_input_wrapper");let R=document.createElement("input");To(R,A,r),R.addEventListener("keydown",Q5=>Q5.stopPropagation());let u0=document.createElement("label");return To(u0,A,r),Q$(A,[R,u0]),d.append(u0),d.appendChild(R),d;case"file":let _0=document.createElement("label");_0.classList.add("notification_input_wrapper");let y0=document.createElement("input");y0.type="file";let p0=document.createElement("label");p0.classList.add("notification_file_button"),To(p0,A,r);let m1=document.createElement("label");return To(m1,A,r),Q$(A,[p0,y0,m1]),p0.appendChild(y0),_0.append(m1),_0.appendChild(p0),_0;case"progress":let G=document.createElement("div");G.classList.add("notification_progress_background");let V0=document.createElement("div");return V0.classList.add("notification_progress"),Q$(A,[V0,G]),G.appendChild(V0),G;case"toggle":return TD(A,r);case"range":let N0=document.createElement("input");N0.type="range";let v1=document.createElement("label");Q$(A,[N0,v1]),To(v1,A,r);let h2=TB(N0,!1),k1=document.createElement("div");return k1.classList.add("notification_slider_wrapper"),k1.appendChild(v1),k1.appendChild(h2),k1}}function Q$(A,r){if(A.attributes)for(let[l,g]of Object.entries(A.attributes))for(let d of r)d.setAttribute(l,g)}function TD(A,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");To(g,A,r);let d=document.createElement("input");d.type="checkbox",Q$(A,[g,d]);let R=document.createElement("div");R.classList.add("notification_switch"),R.appendChild(d);let u0=document.createElement("div");return u0.classList.add("notification_switch_slider"),R.appendChild(u0),l.appendChild(g),l.appendChild(R),l}var GD=13,ND=0,_m={};function O7(A,r,l=GD,g=!0,d=void 0,R=void 0){let u0=document.createElement("div"),_0=ND++;u0.classList.add("notification"),u0.innerHTML=` +`;function Dn(A){return A.parentElement.nextElementSibling}function Oy(A){let r=A.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(TB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function TB(A,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let g=A.getAttribute("min"),d=A.getAttribute("max"),_=A.getAttribute("value"),u0=A.getAttribute("units"),_0=A.getAttribute("input_id"),y0=document.createElement("input");y0.classList.add("settings_slider"),y0.type="range",y0.id=_0,y0.min=g,y0.max=d,y0.value=_;let p0;r&&(p0=document.createElement("span"),p0.textContent=_+u0);let m1=document.createElement("div");m1.classList.add("settings_visual_wrapper");let N=document.createElement("div");N.classList.add("settings_slider_progress"),m1.appendChild(N);let V0=document.createElement("div");return V0.classList.add("settings_slider_thumb"),m1.appendChild(V0),m1.appendChild(y0),y0.addEventListener("input",()=>{let G0=parseInt(m1.style.getPropertyValue("--visual-width").replace("%","")),v1=Math.round((y0.value-y0.min)/(y0.max-y0.min)*100);Math.abs((G0-v1)/100)>.05?m1.classList.add("settings_slider_transition"):m1.classList.remove("settings_slider_transition"),m1.style.setProperty("--visual-width",`${v1}%`)}),m1.style.setProperty("--visual-width",`${(y0.value-y0.min)/(y0.max-y0.min)*100}%`),l.appendChild(m1),r&&l.appendChild(p0),l}async function Py(){let A=await window.savedSettings;if(!A.interface)return;j5("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 d=g.sampleSize;r.analyserFftSlider.value=Math.log2(d),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=d,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(d)+2)),l.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${d}`,l.waveMultiplier=g.amplifier,r.waveMultiplierSlizer.value=g.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Dn(r.waveMultiplierSlizer).innerText=g.amplifier.toString();let _=this.htmlControls.renderer;l.renderAnalysers=g.renderWaveforms,_.analyserToggler.checked=g.renderWaveforms,l.renderNotes=g.renderNotes,_.noteToggler.checked=g.renderNotes,l.drawActiveNotes=g.drawActiveNotes,_.activeNoteToggler.checked=g.drawActiveNotes,l.showVisualPitch=g.showVisualPitch,_.visualPitchToggler.checked=g.showVisualPitch,l.stabilizeWaveforms=g.stabilizeWaveforms,_.stabilizeWaveformsToggler.checked=g.stabilizeWaveforms,l.keyRange=g.keyRange;let u0=this.htmlControls.keyboard,_0=this.midiKeyboard,y0=A.keyboard;_0.setKeyRange(y0.keyRange,!1),y0.autoRange?(u0.sizeSelector.value=Mo,this.autoKeyRange=!0):(this.autoKeyRange=!1,u0.sizeSelector.value=Object.keys(this.keyboardSizes).find(p0=>this.keyboardSizes[p0].min===y0.keyRange.min&&this.keyboardSizes[p0].max===y0.keyRange.max)),y0.mode==="dark"&&(_0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),y0.show===!1&&(_0.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 Hy(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function qy(){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===Mo,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 Yy(){let A=this.htmlControls.interface.themeSelector;A.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[g,d]of Object.entries(this.locales)){let _=document.createElement("option");_.value=g,_.textContent=d.localeName,r.appendChild(_)}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 Sm={start:"#101010",end:"#212121"},Dm={start:"#bbb",end:"#f0f0f0"},Ky="#eee",Vy="#333",bm={start:"#222",end:"#333"},_m={start:"#ccc",end:"#fff"},bn=.2;function zy(){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(Vy,Ky,bn,r,"--font-color"),_n(_m.start,bm.start,bn,r,"--top-buttons-color-start"),_n(_m.end,bm.end,bn,r,"--top-buttons-color-end"),_n(Dm.start,Sm.start,bn,r,"--top-color-start"),_n(Dm.end,Sm.end,bn,r,"--top-color-end")):(_n(Ky,Vy,bn,r,"--font-color"),_n(bm.start,_m.start,bn,r,"--top-buttons-color-start"),_n(bm.end,_m.end,bn,r,"--top-buttons-color-end"),_n(Sm.start,Dm.start,bn,r,"--top-color-start"),_n(Sm.end,Dm.end,bn,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var gh={};function _n(A,r,l,g,d){gh[d]&&(clearInterval(gh[d]),gh[d]=void 0);function _(N){N.length===4&&(N=`#${N[1]}${N[1]}${N[2]}${N[2]}${N[3]}${N[3]}`);let V0=parseInt(N.slice(1),16);return{r:V0>>16&255,g:V0>>8&255,b:V0&255}}function u0(N,V0,G0){return N+(V0-N)*G0}let _0=_(A),y0=_(r),p0=performance.now()/1e3;function m1(){let V0=performance.now()/1e3-p0,G0=Math.min(V0/l,1),v1=Math.round(u0(_0.r,y0.r,G0)),h2=Math.round(u0(_0.g,y0.g,G0)),k1=Math.round(u0(_0.b,y0.b,G0));g.style.setProperty(d,`rgb(${v1}, ${h2}, ${k1})`),G0>=1&&(clearInterval(gh[d]),gh[d]=void 0)}gh[d]=setInterval(m1,1e3/60)}function Zy(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 To(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 Wy(A,r){switch(A.type){case"button":let l=document.createElement("button");return To(l,A,r),Q$(A,[l]),l;case"text":let g=document.createElement("p");return To(g,A,r),Q$(A,[g]),g;case"input":let d=document.createElement("div");d.classList.add("notification_input_wrapper");let _=document.createElement("input");To(_,A,r),_.addEventListener("keydown",Q5=>Q5.stopPropagation());let u0=document.createElement("label");return To(u0,A,r),Q$(A,[_,u0]),d.append(u0),d.appendChild(_),d;case"file":let _0=document.createElement("label");_0.classList.add("notification_input_wrapper");let y0=document.createElement("input");y0.type="file";let p0=document.createElement("label");p0.classList.add("notification_file_button"),To(p0,A,r);let m1=document.createElement("label");return To(m1,A,r),Q$(A,[p0,y0,m1]),p0.appendChild(y0),_0.append(m1),_0.appendChild(p0),_0;case"progress":let N=document.createElement("div");N.classList.add("notification_progress_background");let V0=document.createElement("div");return V0.classList.add("notification_progress"),Q$(A,[V0,N]),N.appendChild(V0),N;case"toggle":return TD(A,r);case"range":let G0=document.createElement("input");G0.type="range";let v1=document.createElement("label");Q$(A,[G0,v1]),To(v1,A,r);let h2=TB(G0,!1),k1=document.createElement("div");return k1.classList.add("notification_slider_wrapper"),k1.appendChild(v1),k1.appendChild(h2),k1}}function Q$(A,r){if(A.attributes)for(let[l,g]of Object.entries(A.attributes))for(let d of r)d.setAttribute(l,g)}function TD(A,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");To(g,A,r);let d=document.createElement("input");d.type="checkbox",Q$(A,[g,d]);let _=document.createElement("div");_.classList.add("notification_switch"),_.appendChild(d);let u0=document.createElement("div");return u0.classList.add("notification_switch_slider"),_.appendChild(u0),l.appendChild(g),l.appendChild(_),l}var ND=13,GD=0,Rm={};function O7(A,r,l=ND,g=!0,d=void 0,_=void 0){let u0=document.createElement("div"),_0=GD++;u0.classList.add("notification"),u0.innerHTML=`

${A}

\xD7 -
`;let y0=document.createElement("div");if(y0.classList.add("notification_content"),R)for(let[m1,G]of Object.entries(R))y0.style[m1]=G;u0.appendChild(y0);for(let m1 of r){let G=Wy(m1,d);m1.onClick&&(G.onclick=()=>m1.onClick({div:u0,id:_0},G)),y0.appendChild(G)}g?u0.getElementsByClassName("close_btn")[0].onclick=()=>{gt(_0)}:u0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{u0.classList.add("drop")},75);let p0=setTimeout(()=>{gt(_0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(u0),_m[_0]={div:u0,timeout:p0},{div:u0,id:_0}}function gt(A){let r=_m[A].div;clearTimeout(_m[A].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),_m[A]=void 0}function jy(A,r,l){A.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(A,l.synth),this._createMidiOutputHandler(A,r)):(_o||O7(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Xy(A,r){if(A.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of A.inputs){let d=document.createElement("option");d.value=g[0],d.innerText=g[1].name,l.appendChild(d)}l.onchange=()=>{l.value==="-1"?A.disconnectAllDevicesFromSynth():A.connectDeviceToSynth(A.inputs.get(l.value),r),this._saveSettings()}}function ew(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 d=document.createElement("option");d.value=g[0],d.innerText=g[1].name,l.appendChild(d)}l.onchange=()=>{r.seq&&(l.value==="-1"?A.disconnectSeqFromMIDI(r.seq):A.connectMIDIOutputToSeq(A.outputs.get(l.value),r.seq),this._saveSettings())}}var tw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var iw={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 rw={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 nw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:tw,keyboardSettings:iw,midiSettings:rw,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 sw={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 Aw={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)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using"},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 ow={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"},channelController:Aw};var aw={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 $w={button:{title:"Save",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 lw={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:$w,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",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:sw,settings:nw,synthesizerController:ow,sequencerController:aw};var cw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var gw={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 hw={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 fw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:cw,keyboardSettings:gw,midiSettings:hw,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 uw={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 Iw={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)"},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}"},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 dw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad"},channelController:Iw};var Ew={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 Cw={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 mw={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:Cw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",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:uw,settings:fw,synthesizerController:dw,sequencerController:Ew};var Bw={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 pw={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 Qw={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 yw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Bw,keyboardSettings:pw,midiSettings:Qw,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 ww={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 kw={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"},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"},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 vw={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:kw};var Sw={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 Dw={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 bw={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:Dw,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",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 y0=document.createElement("div");if(y0.classList.add("notification_content"),_)for(let[m1,N]of Object.entries(_))y0.style[m1]=N;u0.appendChild(y0);for(let m1 of r){let N=Wy(m1,d);m1.onClick&&(N.onclick=()=>m1.onClick({div:u0,id:_0},N)),y0.appendChild(N)}g?u0.getElementsByClassName("close_btn")[0].onclick=()=>{gt(_0)}:u0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{u0.classList.add("drop")},75);let p0=setTimeout(()=>{gt(_0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(u0),Rm[_0]={div:u0,timeout:p0},{div:u0,id:_0}}function gt(A){let r=Rm[A].div;clearTimeout(Rm[A].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),Rm[A]=void 0}function jy(A,r,l){A.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(A,l.synth),this._createMidiOutputHandler(A,r)):(_o||O7(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Xy(A,r){if(A.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of A.inputs){let d=document.createElement("option");d.value=g[0],d.innerText=g[1].name,l.appendChild(d)}l.onchange=()=>{l.value==="-1"?A.disconnectAllDevicesFromSynth():A.connectDeviceToSynth(A.inputs.get(l.value),r),this._saveSettings()}}function ew(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 d=document.createElement("option");d.value=g[0],d.innerText=g[1].name,l.appendChild(d)}l.onchange=()=>{r.seq&&(l.value==="-1"?A.disconnectSeqFromMIDI(r.seq):A.connectMIDIOutputToSeq(A.outputs.get(l.value),r.seq),this._saveSettings())}}var tw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var iw={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 rw={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 nw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:tw,keyboardSettings:iw,midiSettings:rw,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 sw={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 Aw={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)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using"},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 ow={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"},channelController:Aw};var aw={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 $w={button:{title:"Save",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 lw={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:$w,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",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:sw,settings:nw,synthesizerController:ow,sequencerController:aw};var cw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var gw={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 hw={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 fw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:cw,keyboardSettings:gw,midiSettings:hw,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 uw={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 Iw={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)"},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}"},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 dw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad"},channelController:Iw};var Ew={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 Cw={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 mw={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:Cw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",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:uw,settings:fw,synthesizerController:dw,sequencerController:Ew};var Bw={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 pw={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 Qw={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 yw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Bw,keyboardSettings:pw,midiSettings:Qw,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 ww={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 kw={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"},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"},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 vw={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:kw};var Sw={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 Dw={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 bw={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:Dw,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",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:ww,settings:yw,synthesizerController:vw,sequencerController:Sw};var GB="en",y$={en:lw,pl:mw,ja:bw};var UD=.2,Ei=class{constructor(r,l,g,d,R,u0,_0,y0){this.mode="dark",this.autoKeyRange=!1,this.renderer=d,this.midiKeyboard=R,this.midiDeviceHandler=u0,this.synthui=l,this.sequi=g,this.locale=y0,this.musicMode=_0,this.locales=y$,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 p0=document.createElement("div");p0.style.position="relative",p0.classList.add("seamless_button"),p0.classList.add("settings_button"),r.appendChild(p0);let m1=document.createElement("div");m1.classList.add("seamless_button"),this.locale.bindObjectProperty(m1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(m1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(m1);let G=document.createElement("div");G.classList.add("seamless_button"),this.locale.bindObjectProperty(G,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(G,"title","locale.hideTopBar.description"),r.appendChild(G);let V0=document.getElementsByClassName("show_top_button")[0];V0.innerHTML=py(20);let N0=document.createElement("span");this.locale.bindObjectProperty(N0,"innerText","locale.settings.toggleButton"),p0.appendChild(N0);let v1=document.createElement("div");v1.innerHTML=my(24),v1.classList.add("gear"),p0.appendChild(v1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,p0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),m1.onclick=this.toggleMusicPlayerMode.bind(this),G.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=Uy,Oy(this.mainDiv);for(let k1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(k1,"textContent",k1.getAttribute("translate-path"));for(let k1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Q5=k1.getAttribute("translate-path-title");this.locale.bindObjectProperty(k1,"textContent",Q5+".title"),this.locale.bindObjectProperty(k1,"title",Q5+".description")}this.getHtmlControls(),document.addEventListener("keydown",k1=>{switch(k1.key.toLowerCase()){case X7.settingsShow:this.setVisibility(!this.visible);break;case X7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(d,R,u0,g,l)}):this.createHandlers(d,R,u0,g,l),this.topPartVisible=!0;let h2=!1;window.addEventListener("resize",()=>{let k1=window.screen.height,Q5=window.screen.width,k2=window.outerHeight,Z2=window.outerWidth,a3;a3=Q5===Z2&&k1===k2,a3!==h2&&(h2=a3,a3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;async toggleMusicPlayerMode(){if(this.musicMode.visible===!1){try{await document.body.requestFullscreen()}catch{}await new Promise(r=>setTimeout(r,500))}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"},UD*1e3)),this.visible=r}createHandlers(r,l,g,d,R){this._createRendererHandler(r),this._createMidiSettingsHandler(g,d,R),this._createKeyboardHandler(l,R,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")}}}};Ei.prototype._toggleDarkMode=zy;Ei.prototype._createInterfaceSettingsHandler=Yy;Ei.prototype._changeLayout=Jy;Ei.prototype._createRendererHandler=Zy;Ei.prototype._createMidiSettingsHandler=jy;Ei.prototype._createMidiInputHandler=Xy;Ei.prototype._createMidiOutputHandler=ew;Ei.prototype._createKeyboardHandler=Ny;Ei.prototype._loadSettings=Py;Ei.prototype._serializeSettings=qy;Ei.prototype._saveSettings=Hy;var _w=.5,Rm=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:ww,settings:yw,synthesizerController:vw,sequencerController:Sw};var NB="en",y$={en:lw,pl:mw,ja:bw};var UD=.2,Ei=class{constructor(r,l,g,d,_,u0,_0,y0){this.mode="dark",this.autoKeyRange=!1,this.renderer=d,this.midiKeyboard=_,this.midiDeviceHandler=u0,this.synthui=l,this.sequi=g,this.locale=y0,this.musicMode=_0,this.locales=y$,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 p0=document.createElement("div");p0.style.position="relative",p0.classList.add("seamless_button"),p0.classList.add("settings_button"),r.appendChild(p0);let m1=document.createElement("div");m1.classList.add("seamless_button"),this.locale.bindObjectProperty(m1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(m1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(m1);let N=document.createElement("div");N.classList.add("seamless_button"),this.locale.bindObjectProperty(N,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(N,"title","locale.hideTopBar.description"),r.appendChild(N);let V0=document.getElementsByClassName("show_top_button")[0];V0.innerHTML=py(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),p0.appendChild(G0);let v1=document.createElement("div");v1.innerHTML=my(24),v1.classList.add("gear"),p0.appendChild(v1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,p0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),m1.onclick=this.toggleMusicPlayerMode.bind(this),N.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=Uy,Oy(this.mainDiv);for(let k1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(k1,"textContent",k1.getAttribute("translate-path"));for(let k1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Q5=k1.getAttribute("translate-path-title");this.locale.bindObjectProperty(k1,"textContent",Q5+".title"),this.locale.bindObjectProperty(k1,"title",Q5+".description")}this.getHtmlControls(),document.addEventListener("keydown",k1=>{switch(k1.key.toLowerCase()){case X7.settingsShow:this.setVisibility(!this.visible);break;case X7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(d,_,u0,g,l)}):this.createHandlers(d,_,u0,g,l),this.topPartVisible=!0;let h2=!1;window.addEventListener("resize",()=>{let k1=window.screen.height,Q5=window.screen.width,k2=window.outerHeight,Z2=window.outerWidth,a3;a3=Q5===Z2&&k1===k2,a3!==h2&&(h2=a3,a3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}addSequencer;async toggleMusicPlayerMode(){if(this.musicMode.visible===!1){try{await document.body.requestFullscreen()}catch{}await new Promise(r=>setTimeout(r,500))}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"},UD*1e3)),this.visible=r}createHandlers(r,l,g,d,_){this._createRendererHandler(r),this._createMidiSettingsHandler(g,d,_),this._createKeyboardHandler(l,_,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")}}}};Ei.prototype._toggleDarkMode=zy;Ei.prototype._createInterfaceSettingsHandler=Yy;Ei.prototype._changeLayout=Jy;Ei.prototype._createRendererHandler=Zy;Ei.prototype._createMidiSettingsHandler=jy;Ei.prototype._createMidiInputHandler=Xy;Ei.prototype._createMidiOutputHandler=ew;Ei.prototype._createKeyboardHandler=Gy;Ei.prototype._loadSettings=Py;Ei.prototype._serializeSettings=qy;Ei.prototype._saveSettings=Hy;var _w=.5,xm=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=`
@@ -248,20 +248,20 @@ var cm=(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(` -`,""),d=(N0,v1,h2=!0)=>{let k1=document.getElementById(N0);if(v1.length>0)if(k1.parentElement.classList.remove("hidden"),k1.innerHTML="",v1.length>30&&h2){k1.classList.add("marquee");let Q5=document.createElement("span");Q5.textContent=v1,k1.appendChild(Q5)}else k1.textContent=v1;else k1.parentElement.classList.add("hidden")};d("player_info_detail",g),d("player_info_time",I$(this.seq.duration).time),d("player_info_file_name",l.fileName,!1);let R=(N0,v1,h2,k1="")=>this.seq.midiData.RMIDInfo?.[N0]===void 0?v1:k1+h2.decode(this.seq.midiData.RMIDInfo?.[N0]).replace(/\0$/,""),u0=R("IENC","ascii",new TextDecoder),_0=new TextDecoder(u0);d("player_info_album",R("IPRD","",_0)),d("player_info_artist",R("IART","",_0)),d("player_info_genre",R("IGNR","",_0)),d("player_info_creation",R("ICRD","",_0)+R("ICRT","",_0,` -`)),d("player_info_comment",R("ICMT","",_0));let y0=this.mainDiv.getElementsByTagName("svg")[0],p0=this.mainDiv.getElementsByTagName("img")[0],m1=document.getElementById("player_info_background_image");if(!l.isEmbedded){y0.style.display="",p0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){y0.style.display="",p0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}y0.style.display="none",p0.style.display="";let G=new Blob([l.RMIDInfo.IPIC.buffer]),V0=URL.createObjectURL(G);p0.src=V0,m1.style.setProperty("--bg-image",`url('${V0}')`)},"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 d=l.clientHeight,R=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${R}px`,g.style.height=`${d}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=""},_w*1e3)}else{let d=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${d}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=""},_w*1e3)}}};var xm=class{constructor(r){this.locale=y$[r]||y$[GB],this.fallbackLocale=y$[GB],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,d)=>typeof l[d]<"u"?l[d]:g)}bindObjectProperty(r,l,g,d=[]){let R={object:r,propertyName:l,localePath:g,formattingArguments:d,isEdited:!1};this._applyPropertyInternal(R),this._boundObjectProperties.push(R)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),d=l?this.fallbackLocale:this.locale;for(let R=1;R{this._validatePropertyIntegrity(d)}),this.locale=g,this._boundObjectProperties.forEach(d=>{this._applyPropertyInternal(d)}),this.onLocaleChanged.forEach(d=>d())}};function NB(A,r=!0,l=0,g={},d=void 0){let R=A.getChannelData(l),u0=A.getChannelData(l+1),_0=R.length,y0=2,p0=new Y3(0),m1=Object.keys(g).length>0;if(m1){let A0=new TextEncoder,S5=[Ro("INFO"),Ve("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&S5.push(Ve("IART",A0.encode(g.artist),!0)),g.album&&S5.push(Ve("IPRD",A0.encode(g.album),!0)),g.genre&&S5.push(Ve("IGNR",A0.encode(g.genre),!0)),g.title&&S5.push(Ve("INAM",A0.encode(g.title),!0)),p0=Ve("LIST",wn(S5))}let G=new Y3(0),V0=d?.end!==void 0&&d?.start!==void 0;if(V0){let A0=Math.floor(d.start*A.sampleRate),S5=Math.floor(d.end*A.sampleRate),g3=new Y3(24);$t(g3,0,4),$t(g3,0,4),ct(g3,"data"),$t(g3,0,4),$t(g3,0,4),$t(g3,A0,4);let J3=new Y3(24);$t(J3,1,4),$t(J3,0,4),ct(J3,"data"),$t(J3,0,4),$t(J3,0,4),$t(J3,S5,4);let s9=wn([new Y3([2,0,0,0]),g3,J3]);G=Ve("cue ",s9)}let N0=44,v1=_0*2*y0,h2=N0+v1+p0.length+G.length-8,k1=new Uint8Array(N0);k1.set([82,73,70,70],0),k1.set(new Uint8Array([h2&255,h2>>8&255,h2>>16&255,h2>>24&255]),4),k1.set([87,65,86,69],8),k1.set([102,109,116,32],12),k1.set([16,0,0,0],16),k1.set([1,0],20),k1.set([2,0],22);let Q5=A.sampleRate;k1.set(new Uint8Array([Q5&255,Q5>>8&255,Q5>>16&255,Q5>>24&255]),24);let k2=Q5*2*y0;k1.set(new Uint8Array([k2&255,k2>>8&255,k2>>16&255,k2>>24&255]),28),k1.set([4,0],32),k1.set([16,0],34),k1.set([100,97,116,97],36),k1.set(new Uint8Array([v1&255,v1>>8&255,v1>>16&255,v1>>24&255]),40);let Z2=new Uint8Array(h2+8),a3=N0;Z2.set(k1,0);let Y5=32767;if(r){let A0=R.map((S5,g3)=>Math.max(Math.abs(S5),Math.abs(u0[g3]))).reduce((S5,g3)=>Math.max(S5,g3));Y5=A0>0?32767/A0:1}for(let A0=0;A0<_0;A0++){let S5=Math.min(32767,Math.max(-37268,R[A0]*Y5)),g3=Math.min(32767,Math.max(-37268,u0[A0]*Y5));Z2[a3++]=S5&255,Z2[a3++]=S5>>8&255,Z2[a3++]=g3&255,Z2[a3++]=g3>>8&255}return m1&&(Z2.set(p0,a3),a3+=p0.length),V0&&Z2.set(G,a3),new Blob([Z2.buffer],{type:"audio/wav"})}var Fm="synthetizer/worklet_processor.min.js";var Rw=1e3;async function xw(A=!0,r=2,l=!1,g={},d=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let R=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),u0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),_0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),y0=O7(R,[{type:"text",textContent:_0},{type:"progress"}],9999999,!1),p0=await this.seq.getMIDI(),m1=QC(p0.loop.start,p0),G=QC(p0.loop.end,p0),V0=G-m1,N0=p0.duration+r+V0*d,v1=this.context.sampleRate,h2=v1*N0,k1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:v1,length:h2});await k1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+Fm,import.meta.url));let Q5=await this.synth.getSynthesizerSnapshot(),k2=this.soundFont,Z2;try{Z2=new oh(k1.destination,k2,!1,{parsedMIDI:p0,snapshot:Q5,oneOutput:l,loopCount:d},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(k9){throw O7(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),k9}let a3=y0.div.getElementsByTagName("p")[0],Y5=y0.div.getElementsByClassName("notification_progress")[0],A0=Rw/1e3,S5=Z2.currentTime,g3=N0,J3=.1,s9=setInterval(()=>{let k9=Z2.currentTime-S5;S5=Z2.currentTime;let Ie=Z2.currentTime/N0;Y5.style.width=`${Ie*100}%`;let I4=k9/A0,z6=(1-Ie)/I4*N0;z6!==1/0&&(g3=J3*z6+(1-J3)*g3,a3.innerText=`${u0} ${I$(g3).time}`)},Rw),m6=await k1.startRendering();if(Y5.style.width="100%",clearInterval(s9),a3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(k9=>setTimeout(k9,75)),l){let k9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",Ie=[],I4=new Set;for(let ze of p0.usedChannelsOnTrack)ze.forEach(Nr=>I4.add(Nr));for(let ze=0;ze<16;ze++){let Nr=!0;for(let qi=ze;qi{let Ls=Uo.textContent;Uo.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Om=>setTimeout(Om,75));let vC=NB(m6,!1,ze*2),v$=`${ze+1} - ${Q5.channelSnapshots[ze].patchName}.wav`;this.saveBlob(vC,v$),Uo.classList.add("green_button"),Uo.textContent=Ls}})}let z6=O7(this.localeManager.getLocaleString(k9+"title"),Ie,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});z6.div.style.width="30rem"}else{let k9=QC(p0.firstNoteOn,p0),Ie=m1-k9,I4=G-k9,z6;d===0&&(z6={start:Ie,end:I4});let ze=NB(m6,A,0,g,z6);this.saveBlob(ze,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}gt(y0.id),this.isExporting=!1}async function Fw(){if(this.isExporting)return;let A="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(p0,m1,G)=>this.seq.midiData.RMIDInfo?.[p0]===void 0?m1:G.decode(this.seq.midiData.RMIDInfo?.[p0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),d=new TextDecoder(g),R=l("IPRD","",d),u0=l("IART","",d),_0=l("IGNR","",d),y0=[{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:R,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:u0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:_0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:p0=>{gt(p0.id);let m1=p0.div.querySelector("input[normalize-volume-toggle]").checked,G=p0.div.querySelector("input[additional-time]").value,V0=p0.div.querySelector("input[loop-count]").value,N0=p0.div.querySelector("input[separate-channels-toggle]").checked,v1=p0.div.querySelector("input[name='artist']").value,h2=p0.div.querySelector("input[name='album']").value,k1=p0.div.querySelector("input[name='song_title']").value,Q5=p0.div.querySelector("input[name='genre']").value,k2={artist:v1.length>0?v1:void 0,album:h2.length>0?h2:void 0,title:k1.length>0?k1:void 0,genre:Q5.length>0?Q5:void 0};this._doExportAudioData(m1,parseInt(G),N0,k2,parseInt(V0))}}];O7(this.localeManager.getLocaleString(A+"title"),y0,9999999,!0,this.localeManager)}async function Lw(){let A=await this.seq.getMIDI();lh(A,await this.synth.getSynthesizerSnapshot());let r=Em(A),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Mw(A,r){ii("%cSearching for all used programs and keys...",b1.info);let l=16+A.midiPortChannelOffsets.reduce((G,V0)=>V0>G?V0:G),g=[];for(let G=0;G{u0[v1]>=N0.length||N0[u0[v1]].ticks0;){let G=y0(),V0=A.tracks[G];if(u0[G]>=V0.length){_0--;continue}let N0=V0[u0[G]];if(u0[G]++,N0.messageStatusByte===z3.midiPort){p0[G]=N0.messageData[0];continue}let v1=N0.messageStatusByte&240;if(v1!==z3.noteOn&&v1!==z3.controllerChange&&v1!==z3.programChange&&v1!==z3.systemExclusive)continue;let h2=(N0.messageStatusByte&15)+A.midiPortChannelOffsets[p0[G]]||0,k1=g[h2];switch(v1){case z3.programChange:k1.program=N0.messageData[0],d(k1);break;case z3.controllerChange:if(N0.messageData[0]!==a6.bankSelect||m1==="gs"&&k1.drums)continue;let Q5=N0.messageData[1],k2=Math.max(0,Q5-A.bankOffset);if(m1==="xg"){let Y5=Q5===120||Q5===126||Q5===127;Y5!==k1.drums?(k1.drums=Y5,k1.bank=k1.drums?128:k2,d(k1)):k1.bank=k1.drums?128:k2;continue}g[h2].bank=k2;break;case z3.noteOn:if(N0.messageData[1]===0)continue;d(k1),R[k1.string].add(`${N0.messageData[0]}-${N0.messageData[1]}`);break;case z3.systemExclusive:if(N0.messageData[0]!==65||N0.messageData[2]!==66||N0.messageData[3]!==18||N0.messageData[4]!==64||!(N0.messageData[5]&16)||N0.messageData[6]!==21){N0.messageData[0]===67&&N0.messageData[2]===76&&N0.messageData[5]===126&&N0.messageData[6]===0&&(m1="xg");continue}let Z2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][N0.messageData[5]&15]+A.midiPortChannelOffsets[p0[G]],a3=!!(N0.messageData[7]>0&&N0.messageData[5]>>4);k1=g[Z2],k1.drums=a3,k1.bank=a3?128:0,d(k1);break}}for(let G of Object.keys(R))R[G].size===0&&(j5(`%cDetected change but no keys for %c${G}`,b1.info,b1.value),delete R[G]);return i4(),R}function Lm(A,r){function l(d,R){let u0=0;for(let _0=0;_0=p0.min&&V0.key<=p0.max&&V0.velocity>=m1.min&&V0.velocity<=m1.max){G=!0;break}G||(j5(`%c${y0.sample.sampleName} %cremoved from %c${d.instrumentName}%c. Use count: %c${y0.useCount-1}`,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized),d.safeDeleteZone(_0)&&(u0++,_0--,j5(`%c${y0.sample.sampleName} %cdeleted`,b1.recognized,b1.info)),y0.sample.useCount<1&&A.deleteSample(y0.sample))}return u0}$r("%cTrimming soundfont...",b1.info);let g=Mw(r,A);ii("%cModifying soundfont...",b1.info),j5("Detected keys for midi:",g);for(let d=0;d{let G=m1.split("-");return{key:parseInt(G[0]),velocity:parseInt(G[1])}});ii(`%cTrimming %c${R.presetName}`,b1.info,b1.recognized),j5(`Keys for ${R.presetName}:`,y0);let p0=0;for(let m1=0;m1=V0.min&&h2.key<=V0.max&&h2.velocity>=N0.min&&h2.velocity<=N0.max){v1=!0;let k1=l(G.instrument,y0);j5(`%cTrimmed off %c${k1}%c zones from %c${G.instrument.instrumentName}`,b1.info,b1.recognized,b1.info,b1.recognized);break}v1||(p0++,R.deleteZone(m1),G.instrument.useCount<1&&A.deleteInstrument(G.instrument),m1--)}j5(`%cTrimmed off %c${p0}%c zones from %c${R.presetName}`,b1.info,b1.recognized,b1.info,b1.recognized),i4()}}A.removeUnusedElements(),A.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" +`,""),d=(G0,v1,h2=!0)=>{let k1=document.getElementById(G0);if(v1.length>0)if(k1.parentElement.classList.remove("hidden"),k1.innerHTML="",v1.length>30&&h2){k1.classList.add("marquee");let Q5=document.createElement("span");Q5.textContent=v1,k1.appendChild(Q5)}else k1.textContent=v1;else k1.parentElement.classList.add("hidden")};d("player_info_detail",g),d("player_info_time",I$(this.seq.duration).time),d("player_info_file_name",l.fileName,!1);let _=(G0,v1,h2,k1="")=>this.seq.midiData.RMIDInfo?.[G0]===void 0?v1:k1+h2.decode(this.seq.midiData.RMIDInfo?.[G0]).replace(/\0$/,""),u0=_("IENC","ascii",new TextDecoder),_0=new TextDecoder(u0);d("player_info_album",_("IPRD","",_0)),d("player_info_artist",_("IART","",_0)),d("player_info_genre",_("IGNR","",_0)),d("player_info_creation",_("ICRD","",_0)+_("ICRT","",_0,` +`)),d("player_info_comment",_("ICMT","",_0));let y0=this.mainDiv.getElementsByTagName("svg")[0],p0=this.mainDiv.getElementsByTagName("img")[0],m1=document.getElementById("player_info_background_image");if(!l.isEmbedded){y0.style.display="",p0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){y0.style.display="",p0.style.display="none",m1.style.setProperty("--bg-image","undefined");return}y0.style.display="none",p0.style.display="";let N=new Blob([l.RMIDInfo.IPIC.buffer]),V0=URL.createObjectURL(N);p0.src=V0,m1.style.setProperty("--bg-image",`url('${V0}')`)},"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 d=l.clientHeight,_=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${_}px`,g.style.height=`${d}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=""},_w*1e3)}else{let d=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${d}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=""},_w*1e3)}}};var Fm=class{constructor(r){this.locale=y$[r]||y$[NB],this.fallbackLocale=y$[NB],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,d)=>typeof l[d]<"u"?l[d]:g)}bindObjectProperty(r,l,g,d=[]){let _={object:r,propertyName:l,localePath:g,formattingArguments:d,isEdited:!1};this._applyPropertyInternal(_),this._boundObjectProperties.push(_)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),d=l?this.fallbackLocale:this.locale;for(let _=1;_{this._validatePropertyIntegrity(d)}),this.locale=g,this._boundObjectProperties.forEach(d=>{this._applyPropertyInternal(d)}),this.onLocaleChanged.forEach(d=>d())}};function GB(A,r=!0,l=0,g={},d=void 0){let _=A.getChannelData(l),u0=A.getChannelData(l+1),_0=_.length,y0=2,p0=new Y3(0),m1=Object.keys(g).length>0;if(m1){let A0=new TextEncoder,S5=[Ro("INFO"),Ve("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&S5.push(Ve("IART",A0.encode(g.artist),!0)),g.album&&S5.push(Ve("IPRD",A0.encode(g.album),!0)),g.genre&&S5.push(Ve("IGNR",A0.encode(g.genre),!0)),g.title&&S5.push(Ve("INAM",A0.encode(g.title),!0)),p0=Ve("LIST",wn(S5))}let N=new Y3(0),V0=d?.end!==void 0&&d?.start!==void 0;if(V0){let A0=Math.floor(d.start*A.sampleRate),S5=Math.floor(d.end*A.sampleRate),g3=new Y3(24);$t(g3,0,4),$t(g3,0,4),ct(g3,"data"),$t(g3,0,4),$t(g3,0,4),$t(g3,A0,4);let J3=new Y3(24);$t(J3,1,4),$t(J3,0,4),ct(J3,"data"),$t(J3,0,4),$t(J3,0,4),$t(J3,S5,4);let s9=wn([new Y3([2,0,0,0]),g3,J3]);N=Ve("cue ",s9)}let G0=44,v1=_0*2*y0,h2=G0+v1+p0.length+N.length-8,k1=new Uint8Array(G0);k1.set([82,73,70,70],0),k1.set(new Uint8Array([h2&255,h2>>8&255,h2>>16&255,h2>>24&255]),4),k1.set([87,65,86,69],8),k1.set([102,109,116,32],12),k1.set([16,0,0,0],16),k1.set([1,0],20),k1.set([2,0],22);let Q5=A.sampleRate;k1.set(new Uint8Array([Q5&255,Q5>>8&255,Q5>>16&255,Q5>>24&255]),24);let k2=Q5*2*y0;k1.set(new Uint8Array([k2&255,k2>>8&255,k2>>16&255,k2>>24&255]),28),k1.set([4,0],32),k1.set([16,0],34),k1.set([100,97,116,97],36),k1.set(new Uint8Array([v1&255,v1>>8&255,v1>>16&255,v1>>24&255]),40);let Z2=new Uint8Array(h2+8),a3=G0;Z2.set(k1,0);let Y5=32767;if(r){let A0=_.map((S5,g3)=>Math.max(Math.abs(S5),Math.abs(u0[g3]))).reduce((S5,g3)=>Math.max(S5,g3));Y5=A0>0?32767/A0:1}for(let A0=0;A0<_0;A0++){let S5=Math.min(32767,Math.max(-37268,_[A0]*Y5)),g3=Math.min(32767,Math.max(-37268,u0[A0]*Y5));Z2[a3++]=S5&255,Z2[a3++]=S5>>8&255,Z2[a3++]=g3&255,Z2[a3++]=g3>>8&255}return m1&&(Z2.set(p0,a3),a3+=p0.length),V0&&Z2.set(N,a3),new Blob([Z2.buffer],{type:"audio/wav"})}var Lm="synthetizer/worklet_processor.min.js";var Rw=1e3;async function xw(A=!0,r=2,l=!1,g={},d=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let _=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),u0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),_0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),y0=O7(_,[{type:"text",textContent:_0},{type:"progress"}],9999999,!1),p0=await this.seq.getMIDI(),m1=QC(p0.loop.start,p0),N=QC(p0.loop.end,p0),V0=N-m1,G0=p0.duration+r+V0*d,v1=this.context.sampleRate,h2=v1*G0,k1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:v1,length:h2});await k1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+Lm,import.meta.url));let Q5=await this.synth.getSynthesizerSnapshot(),k2=this.soundFont,Z2;try{Z2=new oh(k1.destination,k2,!1,{parsedMIDI:p0,snapshot:Q5,oneOutput:l,loopCount:d},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(k9){throw O7(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),k9}let a3=y0.div.getElementsByTagName("p")[0],Y5=y0.div.getElementsByClassName("notification_progress")[0],A0=Rw/1e3,S5=Z2.currentTime,g3=G0,J3=.1,s9=setInterval(()=>{let k9=Z2.currentTime-S5;S5=Z2.currentTime;let Ie=Z2.currentTime/G0;Y5.style.width=`${Ie*100}%`;let I4=k9/A0,z6=(1-Ie)/I4*G0;z6!==1/0&&(g3=J3*z6+(1-J3)*g3,a3.innerText=`${u0} ${I$(g3).time}`)},Rw),m6=await k1.startRendering();if(Y5.style.width="100%",clearInterval(s9),a3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(k9=>setTimeout(k9,75)),l){let k9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",Ie=[],I4=new Set;for(let ze of p0.usedChannelsOnTrack)ze.forEach(Gr=>I4.add(Gr));for(let ze=0;ze<16;ze++){let Gr=!0;for(let qi=ze;qi{let Ls=Uo.textContent;Uo.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Pm=>setTimeout(Pm,75));let vC=GB(m6,!1,ze*2),v$=`${ze+1} - ${Q5.channelSnapshots[ze].patchName}.wav`;this.saveBlob(vC,v$),Uo.classList.add("green_button"),Uo.textContent=Ls}})}let z6=O7(this.localeManager.getLocaleString(k9+"title"),Ie,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});z6.div.style.width="30rem"}else{let k9=QC(p0.firstNoteOn,p0),Ie=m1-k9,I4=N-k9,z6;d===0&&(z6={start:Ie,end:I4});let ze=GB(m6,A,0,g,z6);this.saveBlob(ze,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}gt(y0.id),this.isExporting=!1}async function Fw(){if(this.isExporting)return;let A="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(p0,m1,N)=>this.seq.midiData.RMIDInfo?.[p0]===void 0?m1:N.decode(this.seq.midiData.RMIDInfo?.[p0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),d=new TextDecoder(g),_=l("IPRD","",d),u0=l("IART","",d),_0=l("IGNR","",d),y0=[{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:_,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:u0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:_0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(A+"confirm"),onClick:p0=>{gt(p0.id);let m1=p0.div.querySelector("input[normalize-volume-toggle]").checked,N=p0.div.querySelector("input[additional-time]").value,V0=p0.div.querySelector("input[loop-count]").value,G0=p0.div.querySelector("input[separate-channels-toggle]").checked,v1=p0.div.querySelector("input[name='artist']").value,h2=p0.div.querySelector("input[name='album']").value,k1=p0.div.querySelector("input[name='song_title']").value,Q5=p0.div.querySelector("input[name='genre']").value,k2={artist:v1.length>0?v1:void 0,album:h2.length>0?h2:void 0,title:k1.length>0?k1:void 0,genre:Q5.length>0?Q5:void 0};this._doExportAudioData(m1,parseInt(N),G0,k2,parseInt(V0))}}];O7(this.localeManager.getLocaleString(A+"title"),y0,9999999,!0,this.localeManager)}async function Lw(){let A=await this.seq.getMIDI();lh(A,await this.synth.getSynthesizerSnapshot());let r=Cm(A),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Mw(A,r){ii("%cSearching for all used programs and keys...",b1.info);let l=16+A.midiPortChannelOffsets.reduce((N,V0)=>V0>N?V0:N),g=[];for(let N=0;N{u0[v1]>=G0.length||G0[u0[v1]].ticks0;){let N=y0(),V0=A.tracks[N];if(u0[N]>=V0.length){_0--;continue}let G0=V0[u0[N]];if(u0[N]++,G0.messageStatusByte===z3.midiPort){p0[N]=G0.messageData[0];continue}let v1=G0.messageStatusByte&240;if(v1!==z3.noteOn&&v1!==z3.controllerChange&&v1!==z3.programChange&&v1!==z3.systemExclusive)continue;let h2=(G0.messageStatusByte&15)+A.midiPortChannelOffsets[p0[N]]||0,k1=g[h2];switch(v1){case z3.programChange:k1.program=G0.messageData[0],d(k1);break;case z3.controllerChange:if(G0.messageData[0]!==a6.bankSelect||m1==="gs"&&k1.drums)continue;let Q5=G0.messageData[1],k2=Math.max(0,Q5-A.bankOffset);if(m1==="xg"){let Y5=Q5===120||Q5===126||Q5===127;Y5!==k1.drums?(k1.drums=Y5,k1.bank=k1.drums?128:k2,d(k1)):k1.bank=k1.drums?128:k2;continue}g[h2].bank=k2;break;case z3.noteOn:if(G0.messageData[1]===0)continue;d(k1),_[k1.string].add(`${G0.messageData[0]}-${G0.messageData[1]}`);break;case z3.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&&(m1="xg");continue}let Z2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][G0.messageData[5]&15]+A.midiPortChannelOffsets[p0[N]],a3=!!(G0.messageData[7]>0&&G0.messageData[5]>>4);k1=g[Z2],k1.drums=a3,k1.bank=a3?128:0,d(k1);break}}for(let N of Object.keys(_))_[N].size===0&&(j5(`%cDetected change but no keys for %c${N}`,b1.info,b1.value),delete _[N]);return i4(),_}function Mm(A,r){function l(d,_){let u0=0;for(let _0=0;_0=p0.min&&V0.key<=p0.max&&V0.velocity>=m1.min&&V0.velocity<=m1.max){N=!0;break}N||(j5(`%c${y0.sample.sampleName} %cremoved from %c${d.instrumentName}%c. Use count: %c${y0.useCount-1}`,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized),d.safeDeleteZone(_0)&&(u0++,_0--,j5(`%c${y0.sample.sampleName} %cdeleted`,b1.recognized,b1.info)),y0.sample.useCount<1&&A.deleteSample(y0.sample))}return u0}$r("%cTrimming soundfont...",b1.info);let g=Mw(r,A);ii("%cModifying soundfont...",b1.info),j5("Detected keys for midi:",g);for(let d=0;d{let N=m1.split("-");return{key:parseInt(N[0]),velocity:parseInt(N[1])}});ii(`%cTrimming %c${_.presetName}`,b1.info,b1.recognized),j5(`Keys for ${_.presetName}:`,y0);let p0=0;for(let m1=0;m1<_.presetZones.length;m1++){let N=_.presetZones[m1];if(N.isGlobal)continue;let V0=N.keyRange,G0=N.velRange,v1=!1;for(let h2 of y0)if(h2.key>=V0.min&&h2.key<=V0.max&&h2.velocity>=G0.min&&h2.velocity<=G0.max){v1=!0;let k1=l(N.instrument,y0);j5(`%cTrimmed off %c${k1}%c zones from %c${N.instrument.instrumentName}`,b1.info,b1.recognized,b1.info,b1.recognized);break}v1||(p0++,_.deleteZone(m1),N.instrument.useCount<1&&A.deleteInstrument(N.instrument),m1--)}j5(`%cTrimmed off %c${p0}%c zones from %c${_.presetName}`,b1.info,b1.recognized,b1.info,b1.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,j5("%cSoundfont modified!",b1.recognized),i4(),i4()}function Tw(){let A=4;for(let g of this.instruments)A+=g.instrumentZones.reduce((d,R)=>(R.generators=R.generators.filter(u0=>u0.generatorType!==_1.sampleID&&u0.generatorType!==_1.keyRange&&u0.generatorType!==_1.velRange),(R.velRange.max!==127||R.velRange.min!==0)&&R.generators.unshift({generatorType:_1.velRange,generatorValue:R.velRange.max<<8|R.velRange.min}),(R.keyRange.max!==127||R.keyRange.min!==0)&&R.generators.unshift({generatorType:_1.keyRange,generatorValue:R.keyRange.max<<8|R.keyRange.min}),R.isGlobal||R.generators.push({generatorType:_1.sampleID,generatorValue:this.samples.indexOf(R.sample)}),R.generators.length*4+d),0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let d of g.instrumentZones){d.generatorZoneStartIndex=l;for(let R of d.generators)p9(r,R.generatorType),p9(r,R.generatorValue),l++}return lt(r,0),$8(new we("igen",r.length,r))}function Gw(A,r,l,g,d){let R=this.samples.map((p0,m1)=>{l&&p0.compressSample(g,d);let G=p0.getRawData();return j5(`%cEncoded sample %c${m1}. ${p0.sampleName}%c of %c${this.samples.length}`,b1.info,b1.recognized,b1.info,b1.recognized),G}),u0=this.samples.reduce((p0,m1,G)=>p0+R[G].length+46,0),_0=new Y3(u0);this.samples.forEach((p0,m1)=>{let G=R[m1],V0,N0,v1=G.length;p0.isCompressed?(V0=_0.currentIndex,N0=V0+G.length):(V0=_0.currentIndex/2,N0=V0+G.length/2,v1+=46),A.push(V0),_0.set(G,_0.currentIndex),_0.currentIndex+=v1,r.push(N0)});let y0=$8(new we("smpl",_0.length,_0),new Y3([115,100,116,97]));return $8(new we("LIST",y0.length,y0))}function Nw(A,r){let g=new Y3(46*(this.samples.length+1));return this.samples.forEach((d,R)=>{ct(g,d.sampleName,20);let u0=A[R];lt(g,u0);let _0=r[R];lt(g,_0);let y0=d.sampleLoopStartIndex/2+u0,p0=d.sampleLoopEndIndex/2+u0;d.isCompressed&&(y0-=u0,p0-=u0),lt(g,y0),lt(g,p0),lt(g,d.sampleRate),g[g.currentIndex++]=d.samplePitch,g[g.currentIndex++]=d.samplePitchCorrection,p9(g,d.sampleLink),p9(g,d.sampleType)}),ct(g,"EOS",46),$8(new we("shdr",g.length,g))}function Uw(){let A=10;for(let g of this.instruments)A+=g.instrumentZones.reduce((d,R)=>R.modulators.length*10+d,0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let d of g.instrumentZones){d.modulatorZoneStartIndex=l;for(let R of d.modulators)p9(r,R.modulatorSource),p9(r,R.modulatorDestination),p9(r,R.transformAmount),p9(r,R.modulationSecondarySrc),p9(r,R.transformType),l++}return $t(r,0,10),$8(new we("imod",r.length,r))}function Ow(){let A=this.instruments.reduce((R,u0)=>u0.instrumentZones.length*4+R,4),r=new Y3(A),l=0,g=0,d=0;for(let R of this.instruments){R.instrumentZoneIndex=l;for(let u0 of R.instrumentZones)u0.zoneID=l,p9(r,g),p9(r,d),g+=u0.generators.length,d+=u0.modulators.length,l++}return p9(r,g),p9(r,d),$8(new we("ibag",r.length,r))}function Pw(){let A=this.instruments.length*22+22,r=new Y3(A),l=0,g=0;for(let d of this.instruments)ct(r,d.instrumentName,20),p9(r,l),l+=d.instrumentZones.length,d.instrumentID=g,g++;return ct(r,"EOI",20),p9(r,l),$8(new we("inst",r.length,r))}function Hw(){let A=4;for(let g of this.presets)A+=g.presetZones.reduce((d,R)=>(R.generators=R.generators.filter(u0=>u0.generatorType!==_1.instrument&&u0.generatorType!==_1.keyRange&&u0.generatorType!==_1.velRange),(R.velRange.max!==127||R.velRange.min!==0)&&R.generators.unshift({generatorType:_1.velRange,generatorValue:R.velRange.max<<8|R.velRange.min}),(R.keyRange.max!==127||R.keyRange.min!==0)&&R.generators.unshift({generatorType:_1.keyRange,generatorValue:R.keyRange.max<<8|R.keyRange.min}),R.isGlobal||R.generators.push({generatorType:_1.instrument,generatorValue:this.instruments.indexOf(R.instrument)}),R.generators.length*4+d),0);let r=new Y3(A),l=0;for(let g of this.presets)for(let d of g.presetZones){d.generatorZoneStartIndex=l;for(let R of d.generators)p9(r,R.generatorType),p9(r,R.generatorValue);l+=d.generators.length}return p9(r,0),p9(r,0),$8(new we("pgen",r.length,r))}function qw(){let A=10;for(let g of this.presets)A+=g.presetZones.reduce((d,R)=>R.modulators.length*10+d,0);let r=new Y3(A),l=0;for(let g of this.presets)for(let d of g.presetZones){d.modulatorZoneStartIndex=l;for(let R of d.modulators)p9(r,R.modulatorSource),p9(r,R.modulatorDestination),p9(r,R.transformAmount),p9(r,R.modulationSecondarySrc),p9(r,R.transformType),l++}return $t(r,0,10),$8(new we("pmod",r.length,r))}function Yw(){let A=this.presets.reduce((R,u0)=>u0.presetZones.length*4+R,4),r=new Y3(A),l=0,g=0,d=0;for(let R of this.presets){R.presetZoneStartIndex=l;for(let u0 of R.presetZones)u0.zoneID=l,p9(r,g),p9(r,d),g+=u0.generators.length,d+=u0.modulators.length,l++}return p9(r,g),p9(r,d),$8(new we("pbag",r.length,r))}function Jw(){let A=this.presets.length*38+38,r=new Y3(A),l=0;for(let g of this.presets)ct(r,g.presetName,20),p9(r,g.program),p9(r,g.bank),p9(r,l),lt(r,g.library),lt(r,g.genre),lt(r,g.morphology),l+=g.presetZones.length;return ct(r,"EOP",20),p9(r,0),p9(r,0),p9(r,l),lt(r,0),lt(r,0),lt(r,0),$8(new we("phdr",r.length,r))}var OD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Kw(A=OD){if(A.compress&&typeof A.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ii("%cSaving soundfont...",b1.info),j5(`%cCompression: %c${A?.compress||"false"}%c quality: %c${A?.compressionQuality||"none"}`,b1.info,b1.recognized,b1.info,b1.recognized),j5("%cWriting INFO...",b1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",A?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a3,Y5]of Object.entries(this.soundFontInfo))if(a3==="ifil"||a3==="iver"){let A0=parseInt(Y5.split(".")[0]),S5=parseInt(Y5.split(".")[1]),g3=new Y3(4);p9(g3,A0),p9(g3,S5),r.push($8(new we(a3,4,g3)))}else{let A0=new Y3(Y5.length);ct(A0,Y5),r.push($8(new we(a3,Y5.length,A0)))}let l=wn([new Y3([73,78,70,79]),...r]),g=$8(new we("LIST",l.length,l));j5("%cWriting SDTA...",b1.info);let d=[],R=[],u0=Gw.call(this,d,R,A?.compress,A?.compressionQuality||.5,A.compressionFunction);j5("%cWriting PDTA...",b1.info),j5("%cWriting SHDR...",b1.info);let _0=Nw.call(this,d,R);j5("%cWriting IGEN...",b1.info);let y0=Tw.call(this);j5("%cWriting IMOD...",b1.info);let p0=Uw.call(this);j5("%cWriting IBAG...",b1.info);let m1=Ow.call(this);j5("%cWriting INST...",b1.info);let G=Pw.call(this),V0=Hw.call(this);j5("%cWriting PMOD...",b1.info);let N0=qw.call(this);j5("%cWriting PBAG...",b1.info);let v1=Yw.call(this);j5("%cWriting PHDR...",b1.info);let h2=Jw.call(this),k1=wn([new Y3([112,100,116,97]),h2,v1,N0,V0,G,m1,p0,y0,_0]),Q5=$8(new we("LIST",k1.length,k1));j5("%cWriting the output file...",b1.info);let k2=wn([new Y3([115,102,98,107]),g,u0,Q5]),Z2=$8(new we("RIFF",k2.length,k2));return j5(`%cSaved succesfully! Final file size: %c${Z2.length}`,b1.info,b1.recognized),i4(),Z2}var w$=class A{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],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 d=this.presets.find(R=>R.bank===r&&R.program===l);if(d)return d;if(g!==!1)return r===128?this.presets.find(R=>R.bank===128):this.presets.find(R=>R.program===l)}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPreset(r,l){let g=this.presets.find(d=>d.bank===r&&d.program===l);return g||(g=this.presets.find(d=>d.program===l&&d.bank!==128),r===128&&(g=this.presets.find(d=>d.bank===128&&d.program===l),g||(g=this.presets.find(d=>d.bank===128))),g&&fe(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,b1.warn,b1.recognized)),g||(fe(`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||(fe("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(R=>{g.find(u0=>u0.bank===R.bank&&u0.program===R.program)===void 0&&g.push(R)});return new A({presets:g,info:l.soundFontInfo})}};w$.prototype.write=Kw;function Vw(A){ii("%cLoading instruments...",b1.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{R.sample.isSampleLoaded||R.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 d(V0,N0,v1){return v1>=V0&&v1<=N0}function R(V0,N0){return V0.modulatorSource===N0.modulatorSource&&V0.modulatorDestination===N0.modulatorDestination&&V0.modulationSecondarySrc===N0.modulationSecondarySrc&&V0.transformType===N0.transformType}function u0(V0,N0){V0.push(...N0.filter(v1=>!V0.find(h2=>h2.generatorType===v1.generatorType)))}function _0(V0,N0){V0.push(...N0.filter(v1=>!V0.find(h2=>R(v1,h2))))}let y0=[],p0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],m1=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(V0=>d(V0.keyRange.min,V0.keyRange.max,r)&&d(V0.velRange.min,V0.velRange.max,l)&&!V0.isGlobal).forEach(V0=>{if(V0.instrument.instrumentZones.length<1)return;let N0=V0.generators,v1=V0.modulators,h2=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].generators]:[],k1=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].modulators]:[];V0.instrument.instrumentZones.filter(k2=>d(k2.keyRange.min,k2.keyRange.max,r)&&d(k2.velRange.min,k2.velRange.max,l)&&!k2.isGlobal).forEach(k2=>{let Z2=[...k2.generators],a3=[...k2.modulators];u0(N0,p0),u0(Z2,h2),_0(v1,m1),_0(a3,k1),_0(a3,$y);let Y5=[...a3];for(let A0=0;A0R(S5,J3));g3!==-1?Y5[g3]=Y5[g3].sumTransform(S5):Y5.push(S5)}y0.push({instrumentGenerators:Z2,presetGenerators:N0,modulators:Y5,sample:k2.sample,sampleID:k2.generators.find(A0=>A0.generatorType===_1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=y0,y0}};var kC=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var Go=class extends kC{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},fh=class extends kC{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var uh=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 Mm=class extends hh{constructor(r,l){super(),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new uh,this.DLSInstrument.addUseCount();let d=new fh;d.instrument=this.DLSInstrument,this.presetZones=[d]}};function zw(A){this.verifyHeader(A,"LIST"),this.verifyText(ue(A.chunkData,4),"ins ");let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(N0=>N0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=r3(l.chunkData,4),d=r3(l.chunkData,4),R=r3(l.chunkData,4),u0=new Mm(d,R),_0="unnamedPreset",y0=Di(r,"INFO");if(y0){let N0=u4(y0.chunkData);for(;N0.header!=="INAM";)N0=u4(y0.chunkData);_0=ue(N0.chunkData,N0.chunkData.length).trim()}u0.presetName=_0,u0.DLSInstrument.instrumentName=_0,$r(`%cParsing %c"${_0}"%c...`,b1.info,b1.recognized,b1.info);let p0=Di(r,"lrgn");if(!p0)throw i4(),new Error("No region list!");let m1=new Go;m1.isGlobal=!0;let G=Di(r,"lart"),V0=Di(r,"lar2");this.readLart(G,V0,m1),u0.DLSInstrument.instrumentZones.push(m1);for(let N0=0;N0>10&15;Q5===vn.linear&&k1!==vn.linear&&(Q5=k1);let k2=g>>14&1,Z2=g>>15&1;u0===_1.initialAttenuation&&(Z2=!Z2),G=kn(Q5,k2,Z2,_0.isCC,_0.enum)}let V0=g>>4&15,N0=g>>8&1,v1=g>>9&1,h2=kn(V0,N0,v1,m1.isCC,m1.enum);if(y0){let k1=h2;h2=G,G=k1}return new a7({srcEnum:G,secSrcEnum:h2,dest:u0,transform:0,amt:d})}function UB(A,r){let l=A.chunkData,g=[],d=[];r3(l,4);let R=r3(l,4);for(let u0=0;u0>16;if(_0===0&&y0===0&&m1===0){let N0;switch(p0){case E6.pan:N0=new n9(_1.pan,V0);break;case E6.gain:N0=new n9(_1.initialAttenuation,-V0*10/.4);break;case E6.filterCutoff:N0=new n9(_1.initialFilterFc,V0);break;case E6.filterQ:N0=new n9(_1.initialFilterQ,V0);break;case E6.modLfoFreq:N0=new n9(_1.freqModLFO,V0);break;case E6.modLfoDelay:N0=new n9(_1.delayModLFO,V0);break;case E6.vibLfoFreq:N0=new n9(_1.freqVibLFO,V0);break;case E6.vibLfoDelay:N0=new n9(_1.delayVibLFO,V0);break;case E6.volEnvDelay:N0=new n9(_1.delayVolEnv,V0);break;case E6.volEnvAttack:N0=new n9(_1.attackVolEnv,V0);break;case E6.volEnvHold:N0=new n9(_1.holdVolEnv,V0);break;case E6.volEnvDecay:N0=new n9(_1.decayVolEnv,V0);break;case E6.volEnvRelease:N0=new n9(_1.releaseVolEnv,V0);break;case E6.volEnvSustain:let v1=(1e3-V0)/10;N0=new n9(_1.sustainVolEnv,v1*10);break;case E6.modEnvDelay:N0=new n9(_1.delayModEnv,V0);break;case E6.modEnvAttack:N0=new n9(_1.attackModEnv,V0);break;case E6.modEnvHold:N0=new n9(_1.holdModEnv,V0);break;case E6.modEnvDecay:N0=new n9(_1.decayModEnv,V0);break;case E6.modEnvRelease:N0=new n9(_1.releaseModEnv,V0);break;case E6.modEnvSustain:let h2=1e3-V0;N0=new n9(_1.sustainModEnv,h2);break;case E6.reverbSend:N0=new n9(_1.reverbEffectsSend,V0);break;case E6.chorusSend:N0=new n9(_1.chorusEffectsSend,V0);break;case E6.pitch:let k1=Math.floor(V0/100),Q5=Math.floor(V0-k1*100);N0=new n9(_1.fineTune,Q5),g.push(new n9(_1.coarseTune,k1));break}N0&&g.push(N0)}else{let N0=!0;if(y0===w4.none)if(_0===w4.modLfo&&p0===E6.pitch)g.push(new n9(_1.modLfoToPitch,V0));else if(_0===w4.modLfo&&p0===E6.gain)g.push(new n9(_1.modLfoToVolume,V0));else if(_0===w4.modLfo&&p0===E6.filterCutoff)g.push(new n9(_1.modLfoToFilterFc,V0));else if(_0===w4.vibratoLfo&&p0===E6.pitch)g.push(new n9(_1.vibLfoToPitch,V0));else if(_0===w4.modEnv&&p0===E6.pitch)g.push(new n9(_1.modEnvToPitch,V0));else if(_0===w4.modEnv&&p0===E6.filterCutoff)g.push(new n9(_1.modEnvToFilterFc,V0));else if(_0===w4.keyNum&&p0===E6.volEnvHold){g.push(new n9(_1.keyNumToVolEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&p0===E6.volEnvDecay){g.push(new n9(_1.keyNumToVolEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&p0===E6.modEnvHold){g.push(new n9(_1.keyNumToModEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdModEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&p0===E6.modEnvDecay){g.push(new n9(_1.keyNumToModEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayModEnv&&(h2.generatorValue+=v1)})}else N0=!1;else N0=!1;if(N0===!1){let v1=Ww(_0,y0,p0,m1,V0);v1?(d.push(v1),j5("%cSucceeded converting to SF2 Modulator!",b1.recognized)):fe("Failed converting to SF2 Modulator!")}}}return d.find(u0=>u0.modulatorDestination===_1.reverbEffectsSend)===void 0&&d.push(new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),d.find(u0=>u0.modulatorDestination===_1.chorusEffectsSend)===void 0&&d.push(new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&d.push(new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:d,generators:g}}function jw(A,r,l){if(A)for(;A.chunkData.currentIndexA.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(A0=>A0.header==="rgnh"),g=r3(l.chunkData,2),d=r3(l.chunkData,2),R=r3(l.chunkData,2),u0=r3(l.chunkData,2),_0=new Tm({min:g,max:d},{min:R,max:u0});r3(l.chunkData,2);let y0=r3(l.chunkData,2);y0!==0&&_0.generators.push(new n9(_1.exclusiveClass,y0));let p0=Di(r,"lart"),m1=Di(r,"lar2");this.readLart(p0,m1,_0),_0.isGlobal=!1;let G=r.find(A0=>A0.header==="wsmp");r3(G.chunkData,4);let V0=r3(G.chunkData,2);r3(G.chunkData,2);let h2=(r3(G.chunkData,4)|0)/-655360*10/.4;r3(G.chunkData,4);let k1=r3(G.chunkData,4),Q5,k2={start:0,end:0};if(k1===0)Q5=0;else{r3(G.chunkData,4),r3(G.chunkData,4)===0?Q5=1:Q5=3,k2.start=r3(G.chunkData,4);let S5=r3(G.chunkData,4);k2.end=k2.start+S5}let Z2=r.find(A0=>A0.header==="wlnk");if(Z2===void 0)return;r3(Z2.chunkData,2),r3(Z2.chunkData,2),r3(Z2.chunkData,4);let a3=r3(Z2.chunkData,4),Y5=this.samples[a3];if(Y5===void 0)throw new Error("Invalid sample ID!");return _0.setWavesample(h2,Q5,k2,V0,Y5,a3),_0}var Ih=class{constructor(r,l,g,d,R,u0,_0,y0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=d,this.sampleLink=R,this.sampleType=u0,this.sampleLoopStartIndex=_0,this.sampleLoopEndIndex=y0,this.isCompressed=(u0&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{fe(`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 Gm=class extends Ih{constructor(r,l,g,d,R,u0,_0){super(r,l,g,d,0,1,R*2,(u0-1)*2),this.sampleData=_0}getAudioData(){return this.sampleData}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 ek(A){ii("%cLoading Wave samples...",b1.recognized);let r=0;for(;A.chunkData.currentIndexg3.header==="fmt ");if(!d)throw new Error("No fmt chunk in the wave file!");if(r3(d.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(r3(d.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let _0=r3(d.chunkData,4);r3(d.chunkData,4),r3(d.chunkData,2);let y0=r3(d.chunkData,2),p0=y0/8,m1=Math.pow(2,p0*8-1),G=Math.pow(2,p0*8),V0,N0=!1;y0===8?(V0=255,N0=!0):V0=m1;let v1=g.find(g3=>g3.header==="data");if(!v1)throw new Error("No data chunk in the wave chunk!");let h2=v1.size/p0,k1=new Float32Array(h2);for(let g3=0;g3=m1&&(J3-=G),k1[g3]=J3/V0)}let Q5=60,k2=0,Z2=0,a3=k1.length-1,Y5=g.find(g3=>g3.header==="wsmp");if(Y5){if(r3(Y5.chunkData,4),Q5=r3(Y5.chunkData,2),k2=$h(Y5.chunkData[Y5.chunkData.currentIndex++],Y5.chunkData[Y5.chunkData.currentIndex++]),r3(Y5.chunkData,4),r3(Y5.chunkData,4),r3(Y5.chunkData,4)===1){r3(Y5.chunkData,8),Z2=r3(Y5.chunkData,4);let J3=r3(Y5.chunkData,4);a3=Z2+J3}}else fe("No wsmp chunk in wave... using sane defaults.");let A0=Di(g,"INFO"),S5=`Unnamed ${r}`;if(A0){let g3=u4(A0.chunkData);for(;g3.header!=="INAM"&&A0.chunkData.currentIndex(_.generators=_.generators.filter(u0=>u0.generatorType!==_1.sampleID&&u0.generatorType!==_1.keyRange&&u0.generatorType!==_1.velRange),(_.velRange.max!==127||_.velRange.min!==0)&&_.generators.unshift({generatorType:_1.velRange,generatorValue:_.velRange.max<<8|_.velRange.min}),(_.keyRange.max!==127||_.keyRange.min!==0)&&_.generators.unshift({generatorType:_1.keyRange,generatorValue:_.keyRange.max<<8|_.keyRange.min}),_.isGlobal||_.generators.push({generatorType:_1.sampleID,generatorValue:this.samples.indexOf(_.sample)}),_.generators.length*4+d),0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let d of g.instrumentZones){d.generatorZoneStartIndex=l;for(let _ of d.generators)p9(r,_.generatorType),p9(r,_.generatorValue),l++}return lt(r,0),$8(new we("igen",r.length,r))}function Nw(A,r,l,g,d){let _=this.samples.map((p0,m1)=>{l&&p0.compressSample(g,d);let N=p0.getRawData();return j5(`%cEncoded sample %c${m1}. ${p0.sampleName}%c of %c${this.samples.length}`,b1.info,b1.recognized,b1.info,b1.recognized),N}),u0=this.samples.reduce((p0,m1,N)=>p0+_[N].length+46,0),_0=new Y3(u0);this.samples.forEach((p0,m1)=>{let N=_[m1],V0,G0,v1=N.length;p0.isCompressed?(V0=_0.currentIndex,G0=V0+N.length):(V0=_0.currentIndex/2,G0=V0+N.length/2,v1+=46),A.push(V0),_0.set(N,_0.currentIndex),_0.currentIndex+=v1,r.push(G0)});let y0=$8(new we("smpl",_0.length,_0),new Y3([115,100,116,97]));return $8(new we("LIST",y0.length,y0))}function Gw(A,r){let g=new Y3(46*(this.samples.length+1));return this.samples.forEach((d,_)=>{ct(g,d.sampleName,20);let u0=A[_];lt(g,u0);let _0=r[_];lt(g,_0);let y0=d.sampleLoopStartIndex/2+u0,p0=d.sampleLoopEndIndex/2+u0;d.isCompressed&&(y0-=u0,p0-=u0),lt(g,y0),lt(g,p0),lt(g,d.sampleRate),g[g.currentIndex++]=d.samplePitch,g[g.currentIndex++]=d.samplePitchCorrection,p9(g,d.sampleLink),p9(g,d.sampleType)}),ct(g,"EOS",46),$8(new we("shdr",g.length,g))}function Uw(){let A=10;for(let g of this.instruments)A+=g.instrumentZones.reduce((d,_)=>_.modulators.length*10+d,0);let r=new Y3(A),l=0;for(let g of this.instruments)for(let d of g.instrumentZones){d.modulatorZoneStartIndex=l;for(let _ of d.modulators)p9(r,_.modulatorSource),p9(r,_.modulatorDestination),p9(r,_.transformAmount),p9(r,_.modulationSecondarySrc),p9(r,_.transformType),l++}return $t(r,0,10),$8(new we("imod",r.length,r))}function Ow(){let A=this.instruments.reduce((_,u0)=>u0.instrumentZones.length*4+_,4),r=new Y3(A),l=0,g=0,d=0;for(let _ of this.instruments){_.instrumentZoneIndex=l;for(let u0 of _.instrumentZones)u0.zoneID=l,p9(r,g),p9(r,d),g+=u0.generators.length,d+=u0.modulators.length,l++}return p9(r,g),p9(r,d),$8(new we("ibag",r.length,r))}function Pw(){let A=this.instruments.length*22+22,r=new Y3(A),l=0,g=0;for(let d of this.instruments)ct(r,d.instrumentName,20),p9(r,l),l+=d.instrumentZones.length,d.instrumentID=g,g++;return ct(r,"EOI",20),p9(r,l),$8(new we("inst",r.length,r))}function Hw(){let A=4;for(let g of this.presets)A+=g.presetZones.reduce((d,_)=>(_.generators=_.generators.filter(u0=>u0.generatorType!==_1.instrument&&u0.generatorType!==_1.keyRange&&u0.generatorType!==_1.velRange),(_.velRange.max!==127||_.velRange.min!==0)&&_.generators.unshift({generatorType:_1.velRange,generatorValue:_.velRange.max<<8|_.velRange.min}),(_.keyRange.max!==127||_.keyRange.min!==0)&&_.generators.unshift({generatorType:_1.keyRange,generatorValue:_.keyRange.max<<8|_.keyRange.min}),_.isGlobal||_.generators.push({generatorType:_1.instrument,generatorValue:this.instruments.indexOf(_.instrument)}),_.generators.length*4+d),0);let r=new Y3(A),l=0;for(let g of this.presets)for(let d of g.presetZones){d.generatorZoneStartIndex=l;for(let _ of d.generators)p9(r,_.generatorType),p9(r,_.generatorValue);l+=d.generators.length}return p9(r,0),p9(r,0),$8(new we("pgen",r.length,r))}function qw(){let A=10;for(let g of this.presets)A+=g.presetZones.reduce((d,_)=>_.modulators.length*10+d,0);let r=new Y3(A),l=0;for(let g of this.presets)for(let d of g.presetZones){d.modulatorZoneStartIndex=l;for(let _ of d.modulators)p9(r,_.modulatorSource),p9(r,_.modulatorDestination),p9(r,_.transformAmount),p9(r,_.modulationSecondarySrc),p9(r,_.transformType),l++}return $t(r,0,10),$8(new we("pmod",r.length,r))}function Yw(){let A=this.presets.reduce((_,u0)=>u0.presetZones.length*4+_,4),r=new Y3(A),l=0,g=0,d=0;for(let _ of this.presets){_.presetZoneStartIndex=l;for(let u0 of _.presetZones)u0.zoneID=l,p9(r,g),p9(r,d),g+=u0.generators.length,d+=u0.modulators.length,l++}return p9(r,g),p9(r,d),$8(new we("pbag",r.length,r))}function Jw(){let A=this.presets.length*38+38,r=new Y3(A),l=0;for(let g of this.presets)ct(r,g.presetName,20),p9(r,g.program),p9(r,g.bank),p9(r,l),lt(r,g.library),lt(r,g.genre),lt(r,g.morphology),l+=g.presetZones.length;return ct(r,"EOP",20),p9(r,0),p9(r,0),p9(r,l),lt(r,0),lt(r,0),lt(r,0),$8(new we("phdr",r.length,r))}var OD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Kw(A=OD){if(A.compress&&typeof A.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ii("%cSaving soundfont...",b1.info),j5(`%cCompression: %c${A?.compress||"false"}%c quality: %c${A?.compressionQuality||"none"}`,b1.info,b1.recognized,b1.info,b1.recognized),j5("%cWriting INFO...",b1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",A?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a3,Y5]of Object.entries(this.soundFontInfo))if(a3==="ifil"||a3==="iver"){let A0=parseInt(Y5.split(".")[0]),S5=parseInt(Y5.split(".")[1]),g3=new Y3(4);p9(g3,A0),p9(g3,S5),r.push($8(new we(a3,4,g3)))}else{let A0=new Y3(Y5.length);ct(A0,Y5),r.push($8(new we(a3,Y5.length,A0)))}let l=wn([new Y3([73,78,70,79]),...r]),g=$8(new we("LIST",l.length,l));j5("%cWriting SDTA...",b1.info);let d=[],_=[],u0=Nw.call(this,d,_,A?.compress,A?.compressionQuality||.5,A.compressionFunction);j5("%cWriting PDTA...",b1.info),j5("%cWriting SHDR...",b1.info);let _0=Gw.call(this,d,_);j5("%cWriting IGEN...",b1.info);let y0=Tw.call(this);j5("%cWriting IMOD...",b1.info);let p0=Uw.call(this);j5("%cWriting IBAG...",b1.info);let m1=Ow.call(this);j5("%cWriting INST...",b1.info);let N=Pw.call(this),V0=Hw.call(this);j5("%cWriting PMOD...",b1.info);let G0=qw.call(this);j5("%cWriting PBAG...",b1.info);let v1=Yw.call(this);j5("%cWriting PHDR...",b1.info);let h2=Jw.call(this),k1=wn([new Y3([112,100,116,97]),h2,v1,G0,V0,N,m1,p0,y0,_0]),Q5=$8(new we("LIST",k1.length,k1));j5("%cWriting the output file...",b1.info);let k2=wn([new Y3([115,102,98,107]),g,u0,Q5]),Z2=$8(new we("RIFF",k2.length,k2));return j5(`%cSaved succesfully! Final file size: %c${Z2.length}`,b1.info,b1.recognized),i4(),Z2}var w$=class A{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],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 d=this.presets.find(_=>_.bank===r&&_.program===l);if(d)return d;if(g!==!1)return r===128?this.presets.find(_=>_.bank===128):this.presets.find(_=>_.program===l)}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPreset(r,l){let g=this.presets.find(d=>d.bank===r&&d.program===l);return g||(g=this.presets.find(d=>d.program===l&&d.bank!==128),r===128&&(g=this.presets.find(d=>d.bank===128&&d.program===l),g||(g=this.presets.find(d=>d.bank===128))),g&&fe(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,b1.warn,b1.recognized)),g||(fe(`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||(fe("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(_=>{g.find(u0=>u0.bank===_.bank&&u0.program===_.program)===void 0&&g.push(_)});return new A({presets:g,info:l.soundFontInfo})}};w$.prototype.write=Kw;function Vw(A){ii("%cLoading instruments...",b1.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{_.sample.isSampleLoaded||_.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 d(V0,G0,v1){return v1>=V0&&v1<=G0}function _(V0,G0){return V0.modulatorSource===G0.modulatorSource&&V0.modulatorDestination===G0.modulatorDestination&&V0.modulationSecondarySrc===G0.modulationSecondarySrc&&V0.transformType===G0.transformType}function u0(V0,G0){V0.push(...G0.filter(v1=>!V0.find(h2=>h2.generatorType===v1.generatorType)))}function _0(V0,G0){V0.push(...G0.filter(v1=>!V0.find(h2=>_(v1,h2))))}let y0=[],p0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],m1=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(V0=>d(V0.keyRange.min,V0.keyRange.max,r)&&d(V0.velRange.min,V0.velRange.max,l)&&!V0.isGlobal).forEach(V0=>{if(V0.instrument.instrumentZones.length<1)return;let G0=V0.generators,v1=V0.modulators,h2=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].generators]:[],k1=V0.instrument.instrumentZones[0].isGlobal?[...V0.instrument.instrumentZones[0].modulators]:[];V0.instrument.instrumentZones.filter(k2=>d(k2.keyRange.min,k2.keyRange.max,r)&&d(k2.velRange.min,k2.velRange.max,l)&&!k2.isGlobal).forEach(k2=>{let Z2=[...k2.generators],a3=[...k2.modulators];u0(G0,p0),u0(Z2,h2),_0(v1,m1),_0(a3,k1),_0(a3,$y);let Y5=[...a3];for(let A0=0;A0_(S5,J3));g3!==-1?Y5[g3]=Y5[g3].sumTransform(S5):Y5.push(S5)}y0.push({instrumentGenerators:Z2,presetGenerators:G0,modulators:Y5,sample:k2.sample,sampleID:k2.generators.find(A0=>A0.generatorType===_1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=y0,y0}};var kC=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var No=class extends kC{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},fh=class extends kC{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var uh=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 Tm=class extends hh{constructor(r,l){super(),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new uh,this.DLSInstrument.addUseCount();let d=new fh;d.instrument=this.DLSInstrument,this.presetZones=[d]}};function zw(A){this.verifyHeader(A,"LIST"),this.verifyText(ue(A.chunkData,4),"ins ");let r=[];for(;A.chunkData.length>A.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(G0=>G0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=r3(l.chunkData,4),d=r3(l.chunkData,4),_=r3(l.chunkData,4),u0=new Tm(d,_),_0="unnamedPreset",y0=Di(r,"INFO");if(y0){let G0=u4(y0.chunkData);for(;G0.header!=="INAM";)G0=u4(y0.chunkData);_0=ue(G0.chunkData,G0.chunkData.length).trim()}u0.presetName=_0,u0.DLSInstrument.instrumentName=_0,$r(`%cParsing %c"${_0}"%c...`,b1.info,b1.recognized,b1.info);let p0=Di(r,"lrgn");if(!p0)throw i4(),new Error("No region list!");let m1=new No;m1.isGlobal=!0;let N=Di(r,"lart"),V0=Di(r,"lar2");this.readLart(N,V0,m1),u0.DLSInstrument.instrumentZones.push(m1);for(let G0=0;G0>10&15;Q5===vn.linear&&k1!==vn.linear&&(Q5=k1);let k2=g>>14&1,Z2=g>>15&1;u0===_1.initialAttenuation&&(Z2=!Z2),N=kn(Q5,k2,Z2,_0.isCC,_0.enum)}let V0=g>>4&15,G0=g>>8&1,v1=g>>9&1,h2=kn(V0,G0,v1,m1.isCC,m1.enum);if(y0){let k1=h2;h2=N,N=k1}return new a7({srcEnum:N,secSrcEnum:h2,dest:u0,transform:0,amt:d})}function UB(A,r){let l=A.chunkData,g=[],d=[];r3(l,4);let _=r3(l,4);for(let u0=0;u0<_;u0++){let _0=r3(l,2),y0=r3(l,2),p0=r3(l,2),m1=r3(l,2),V0=(r3(l,4)|0)>>16;if(_0===0&&y0===0&&m1===0){let G0;switch(p0){case E6.pan:G0=new n9(_1.pan,V0);break;case E6.gain:G0=new n9(_1.initialAttenuation,-V0*10/.4);break;case E6.filterCutoff:G0=new n9(_1.initialFilterFc,V0);break;case E6.filterQ:G0=new n9(_1.initialFilterQ,V0);break;case E6.modLfoFreq:G0=new n9(_1.freqModLFO,V0);break;case E6.modLfoDelay:G0=new n9(_1.delayModLFO,V0);break;case E6.vibLfoFreq:G0=new n9(_1.freqVibLFO,V0);break;case E6.vibLfoDelay:G0=new n9(_1.delayVibLFO,V0);break;case E6.volEnvDelay:G0=new n9(_1.delayVolEnv,V0);break;case E6.volEnvAttack:G0=new n9(_1.attackVolEnv,V0);break;case E6.volEnvHold:G0=new n9(_1.holdVolEnv,V0);break;case E6.volEnvDecay:G0=new n9(_1.decayVolEnv,V0);break;case E6.volEnvRelease:G0=new n9(_1.releaseVolEnv,V0);break;case E6.volEnvSustain:let v1=(1e3-V0)/10;G0=new n9(_1.sustainVolEnv,v1*10);break;case E6.modEnvDelay:G0=new n9(_1.delayModEnv,V0);break;case E6.modEnvAttack:G0=new n9(_1.attackModEnv,V0);break;case E6.modEnvHold:G0=new n9(_1.holdModEnv,V0);break;case E6.modEnvDecay:G0=new n9(_1.decayModEnv,V0);break;case E6.modEnvRelease:G0=new n9(_1.releaseModEnv,V0);break;case E6.modEnvSustain:let h2=1e3-V0;G0=new n9(_1.sustainModEnv,h2);break;case E6.reverbSend:G0=new n9(_1.reverbEffectsSend,V0);break;case E6.chorusSend:G0=new n9(_1.chorusEffectsSend,V0);break;case E6.pitch:let k1=Math.floor(V0/100),Q5=Math.floor(V0-k1*100);G0=new n9(_1.fineTune,Q5),g.push(new n9(_1.coarseTune,k1));break}G0&&g.push(G0)}else{let G0=!0;if(y0===w4.none)if(_0===w4.modLfo&&p0===E6.pitch)g.push(new n9(_1.modLfoToPitch,V0));else if(_0===w4.modLfo&&p0===E6.gain)g.push(new n9(_1.modLfoToVolume,V0));else if(_0===w4.modLfo&&p0===E6.filterCutoff)g.push(new n9(_1.modLfoToFilterFc,V0));else if(_0===w4.vibratoLfo&&p0===E6.pitch)g.push(new n9(_1.vibLfoToPitch,V0));else if(_0===w4.modEnv&&p0===E6.pitch)g.push(new n9(_1.modEnvToPitch,V0));else if(_0===w4.modEnv&&p0===E6.filterCutoff)g.push(new n9(_1.modEnvToFilterFc,V0));else if(_0===w4.keyNum&&p0===E6.volEnvHold){g.push(new n9(_1.keyNumToVolEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&p0===E6.volEnvDecay){g.push(new n9(_1.keyNumToVolEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayVolEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&p0===E6.modEnvHold){g.push(new n9(_1.keyNumToModEnvHold,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.holdModEnv&&(h2.generatorValue+=v1)})}else if(_0===w4.keyNum&&p0===E6.modEnvDecay){g.push(new n9(_1.keyNumToModEnvDecay,V0/-128));let v1=Math.round(60/128*V0);g.forEach(h2=>{h2.generatorType===_1.decayModEnv&&(h2.generatorValue+=v1)})}else G0=!1;else G0=!1;if(G0===!1){let v1=Ww(_0,y0,p0,m1,V0);v1?(d.push(v1),j5("%cSucceeded converting to SF2 Modulator!",b1.recognized)):fe("Failed converting to SF2 Modulator!")}}}return d.find(u0=>u0.modulatorDestination===_1.reverbEffectsSend)===void 0&&d.push(new a7({srcEnum:219,dest:_1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),d.find(u0=>u0.modulatorDestination===_1.chorusEffectsSend)===void 0&&d.push(new a7({srcEnum:221,dest:_1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&d.push(new a7({srcEnum:129,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new a7({srcEnum:13,dest:_1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:d,generators:g}}function jw(A,r,l){if(A)for(;A.chunkData.currentIndexA.chunkData.currentIndex;)r.push(u4(A.chunkData));let l=r.find(A0=>A0.header==="rgnh"),g=r3(l.chunkData,2),d=r3(l.chunkData,2),_=r3(l.chunkData,2),u0=r3(l.chunkData,2),_0=new Nm({min:g,max:d},{min:_,max:u0});r3(l.chunkData,2);let y0=r3(l.chunkData,2);y0!==0&&_0.generators.push(new n9(_1.exclusiveClass,y0));let p0=Di(r,"lart"),m1=Di(r,"lar2");this.readLart(p0,m1,_0),_0.isGlobal=!1;let N=r.find(A0=>A0.header==="wsmp");r3(N.chunkData,4);let V0=r3(N.chunkData,2);r3(N.chunkData,2);let h2=(r3(N.chunkData,4)|0)/-655360*10/.4;r3(N.chunkData,4);let k1=r3(N.chunkData,4),Q5,k2={start:0,end:0};if(k1===0)Q5=0;else{r3(N.chunkData,4),r3(N.chunkData,4)===0?Q5=1:Q5=3,k2.start=r3(N.chunkData,4);let S5=r3(N.chunkData,4);k2.end=k2.start+S5}let Z2=r.find(A0=>A0.header==="wlnk");if(Z2===void 0)return;r3(Z2.chunkData,2),r3(Z2.chunkData,2),r3(Z2.chunkData,4);let a3=r3(Z2.chunkData,4),Y5=this.samples[a3];if(Y5===void 0)throw new Error("Invalid sample ID!");return _0.setWavesample(h2,Q5,k2,V0,Y5,a3),_0}var Ih=class{constructor(r,l,g,d,_,u0,_0,y0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=d,this.sampleLink=_,this.sampleType=u0,this.sampleLoopStartIndex=_0,this.sampleLoopEndIndex=y0,this.isCompressed=(u0&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{fe(`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 Gm=class extends Ih{constructor(r,l,g,d,_,u0,_0){super(r,l,g,d,0,1,_*2,(u0-1)*2),this.sampleData=_0}getAudioData(){return this.sampleData}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 ek(A){ii("%cLoading Wave samples...",b1.recognized);let r=0;for(;A.chunkData.currentIndexg3.header==="fmt ");if(!d)throw new Error("No fmt chunk in the wave file!");if(r3(d.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(r3(d.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let _0=r3(d.chunkData,4);r3(d.chunkData,4),r3(d.chunkData,2);let y0=r3(d.chunkData,2),p0=y0/8,m1=Math.pow(2,p0*8-1),N=Math.pow(2,p0*8),V0,G0=!1;y0===8?(V0=255,G0=!0):V0=m1;let v1=g.find(g3=>g3.header==="data");if(!v1)throw new Error("No data chunk in the wave chunk!");let h2=v1.size/p0,k1=new Float32Array(h2);for(let g3=0;g3=m1&&(J3-=N),k1[g3]=J3/V0)}let Q5=60,k2=0,Z2=0,a3=k1.length-1,Y5=g.find(g3=>g3.header==="wsmp");if(Y5){if(r3(Y5.chunkData,4),Q5=r3(Y5.chunkData,2),k2=$h(Y5.chunkData[Y5.chunkData.currentIndex++],Y5.chunkData[Y5.chunkData.currentIndex++]),r3(Y5.chunkData,4),r3(Y5.chunkData,4),r3(Y5.chunkData,4)===1){r3(Y5.chunkData,8),Z2=r3(Y5.chunkData,4);let J3=r3(Y5.chunkData,4);a3=Z2+J3}}else fe("No wsmp chunk in wave... using sane defaults.");let A0=Di(g,"INFO"),S5=`Unnamed ${r}`;if(A0){let g3=u4(A0.chunkData);for(;g3.header!=="INAM"&&A0.chunkData.currentIndexy0.header==="colh");if(!R)throw i4(),new Error("No colh chunk!");this.instrumentAmount=r3(R.chunkData,4),j5(`%cInstruments amount: %c${this.instrumentAmount}`,b1.info,b1.recognized);let u0=Di(g,"wvpl");this.readDLSSamples(u0);let _0=Di(g,"lins");if(!_0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(_0),j5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=Vw;Fs.prototype.readDLSInstrument=zw;Fs.prototype.readRegion=Xw;Fs.prototype.readLart=jw;Fs.prototype.readDLSSamples=ek;var No=No!==void 0?No:{},tk=!1,ik;No.isInitialized=new Promise(A=>ik=A);var qD=function(A){var r,l,g,d,R,u0,_0,y0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",p0="",m1=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do d=y0.indexOf(A.charAt(m1++)),R=y0.indexOf(A.charAt(m1++)),u0=y0.indexOf(A.charAt(m1++)),_0=y0.indexOf(A.charAt(m1++)),r=d<<2|R>>4,l=(15&R)<<4|u0>>2,g=(3&u0)<<6|_0,p0+=String.fromCharCode(r),u0!==64&&(p0+=String.fromCharCode(l)),_0!==64&&(p0+=String.fromCharCode(g));while(m11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.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)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):m6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(cr(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)})):(g3||J3)&&(g3?document.currentScript&&(k9=document.currentScript.src):k9=self.location.href,k9=k9.indexOf("blob:")!==0?k9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},J3&&(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,D2){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}D2()},Z3.onerror=D2,Z3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var I4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),z6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||I4);for(A in S5)S5.hasOwnProperty(A)&&(A0[A]=S5[A]);function ze(R0){var X0=N0;return N0=N0+R0+15&-16,X0}function Nr(R0){var X0=y0[Z2>>2],C1=X0+R0+15&-16;return y0[Z2>>2]=C1,C1>=_9&&!Ur()?(y0[Z2>>2]=X0,0):X0}function qi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function Uo(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 cr(X0%8==0),X0/8}}function Ls(R0){Ls.shown||(Ls.shown={}),Ls.shown[R0]||(Ls.shown[R0]=1,z6(R0))}S5=void 0;var vC={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},v$=[];function Om(R0,X0){for(var C1=0,D2=C1;D2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function S$(R0,X0,C1){return C1&&C1.length?A0["dynCall_"+R0].apply(null,[X0].concat(C1)):A0["dynCall_"+R0].call(null,X0)}var Oo=0,Eh=0;function cr(R0,X0){R0||Yi("Assertion failed: "+X0)}function Po(R0){var X0=A0["_"+R0];return cr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var SC={stackSave:function(){TC()},stackRestore:function(){U$()},arrayToC:function(R0){var X0,C1,D2=Ho(R0.length);return X0=R0,C1=D2,d.set(X0,C1),D2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=Ho(C1),bC(R0,X0,C1)}return X0}},Ms={string:SC.stringToC,array:SC.arrayToC};function Ch(R0,X0,C1,D2,Z3){var c9=Po(R0),J9=[],g6=0;if(D2)for(var E7=0;E7>0]=X0;break;case"i16":u0[R0>>1]=X0;break;case"i32":y0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+ph(tempDouble=X0)>=1?tempDouble>0?(0|yh(+Qh(tempDouble/4294967296),4294967295))>>>0:~~+G$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],y0[R0>>2]=tempI64[0],y0[R0+4>>2]=tempI64[1];break;case"float":m1[R0>>2]=X0;break;case"double":G[R0>>3]=X0;break;default:Yi("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 d[R0>>0];case"i16":return u0[R0>>1];case"i32":case"i64":return y0[R0>>2];case"float":return m1[R0>>2];case"double":return G[R0>>3];default:Yi("invalid type for getValue: "+X0)}return null}function ZB(R0,X0,C1,D2){typeof R0=="number"?(c9=!0,J9=R0):(c9=!1,J9=R0.length);var Z3=typeof X0=="string"?X0:null;if(g6=C1==4?D2:[typeof Ps=="function"?Ps:ze,Ho,ze,Nr][C1===void 0?2:C1](Math.max(J9,Z3?1:X0.length)),c9){for(D2=g6,cr((3&g6)==0),E7=g6+(-4&J9);D2>2]=0;for(E7=g6+J9;D2>0]=0;return g6}if(Z3==="i8")return R0.subarray||R0.slice?R.set(R0,g6):R.set(new Uint8Array(R0),g6),g6;for(var c9,J9,g6,E7,Me,Ze,ve,g9=0;g9>0],(D2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var g6="";if(c9<128){for(;X0>0;)Z3=String.fromCharCode.apply(String,R.subarray(R0,R0+Math.min(X0,1024))),g6=g6?g6+Z3:Z3,R0+=1024,X0-=1024;return g6}return C1=R0,function(Me,Ze){for(var ve=Ze;Me[ve];)++ve;if(ve-Ze>16&&Me.subarray&&DC)return DC.decode(Me.subarray(Ze,ve));for(var g9,Lt,xi,C7,Mt,Fi,Li="";;){if(!(g9=Me[Ze++]))return Li;if(!(128&g9)){Li+=String.fromCharCode(g9);continue}if(Lt=63&Me[Ze++],(224&g9)==192){Li+=String.fromCharCode((31&g9)<<6|Lt);continue}if(xi=63&Me[Ze++],(240&g9)==224?g9=(15&g9)<<12|Lt<<6|xi:(C7=63&Me[Ze++],(248&g9)==240?g9=(7&g9)<<18|Lt<<12|xi<<6|C7:(Mt=63&Me[Ze++],g9=(252&g9)==248?(3&g9)<<24|Lt<<18|xi<<12|C7<<6|Mt:(1&g9)<<30|Lt<<24|xi<<18|C7<<12|Mt<<6|(Fi=63&Me[Ze++]))),g9<65536)Li+=String.fromCharCode(g9);else{var Fn=g9-65536;Li+=String.fromCharCode(55296|Fn>>10,56320|1023&Fn)}}}(R,C1)}function WB(R0){for(var X0="";;){var C1=d[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ts(R0,X0){return function(D2,Z3,c9){for(var J9=0;J9>0]=D2.charCodeAt(J9);c9||(d[Z3>>0]=0)}(R0,X0,!1)}var DC=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(R0,X0,C1,D2){if(!(D2>0))return 0;for(var Z3=C1,c9=C1+D2-1,J9=0;J9=55296&&g6<=57343&&(g6=65536+((1023&g6)<<10)|1023&R0.charCodeAt(++J9)),g6<=127){if(C1>=c9)break;X0[C1++]=g6}else if(g6<=2047){if(C1+1>=c9)break;X0[C1++]=192|g6>>6,X0[C1++]=128|63&g6}else if(g6<=65535){if(C1+2>=c9)break;X0[C1++]=224|g6>>12,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=2097151){if(C1+3>=c9)break;X0[C1++]=240|g6>>18,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=67108863){if(C1+4>=c9)break;X0[C1++]=248|g6>>24,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else{if(C1+5>=c9)break;X0[C1++]=252|g6>>30,X0[C1++]=128|g6>>24&63,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}}return X0[C1]=0,C1-Z3}function bC(R0,X0,C1){return Rn(R0,R,X0,C1)}function Gs(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&(D2=65536+((1023&D2)<<10)|1023&R0.charCodeAt(++C1)),D2<=127?++X0:D2<=2047?X0+=2:D2<=65535?X0+=3:D2<=2097151?X0+=4:D2<=67108863?X0+=5:X0+=6}return X0}var _C=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function jB(R0){for(var X0=R0,C1=X0>>1;u0[C1];)++C1;if((X0=C1<<1)-R0>32&&_C)return _C.decode(R.subarray(R0,X0));for(var D2=0,Z3="";;){var c9=u0[R0+2*D2>>1];if(c9==0)return Z3;++D2,Z3+=String.fromCharCode(c9)}}function XB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var D2=X0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,c9=0;c9>1]=J9,X0+=2}return u0[X0>>1]=0,X0-D2}function ep(R0){return 2*R0.length}function tp(R0){for(var X0=0,C1="";;){var D2=y0[R0+4*X0>>2];if(D2==0)return C1;if(++X0,D2>=65536){var Z3=D2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(D2)}}function ip(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var D2=X0,Z3=D2+C1-4,c9=0;c9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++c9)),y0[X0>>2]=J9,(X0+=4)+4>Z3)break}return y0[X0>>2]=0,X0-D2}function rp(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&++C1,X0+=4}return X0}function np(R0){var X0=Gs(R0)+1,C1=Ps(X0);return C1&&Rn(R0,d,C1,X0),C1}function sp(R0){var X0=Gs(R0)+1,C1=Ho(X0);return Rn(R0,d,C1,X0),C1}function RC(R0){return R0}function Hm(){var R0,X0=function(){var D2=Error();if(!D2.stack){try{throw Error(0)}catch(Z3){D2=Z3}if(!D2.stack)return"(no stack trace available)"}return D2.stack.toString()}();return A0.extraStackTrace&&(X0+=` -`+A0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var D2,Z3=D2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function mh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function xC(R0){A0.buffer=g=R0}function Y9(){A0.HEAP8=d=new Int8Array(g),A0.HEAP16=u0=new Int16Array(g),A0.HEAP32=y0=new Int32Array(g),A0.HEAPU8=R=new Uint8Array(g),A0.HEAPU16=_0=new Uint16Array(g),A0.HEAPU32=p0=new Uint32Array(g),A0.HEAPF32=m1=new Float32Array(g),A0.HEAPF64=G=new Float64Array(g)}function Ur(){var R0=A0.usingWasm?65536:16777216,X0=2147483648-R0;if(y0[Z2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?mh(2*_9,R0):Math.min(mh((3*_9+2147483648)/4,R0),X0);var D2=A0.reallocBuffer(_9);return D2&&D2.byteLength==_9?(xC(D2),Y9(),!0):(_9=C1,!1)}V0=N0=h2=k1=Q5=k2=Z2=0,v1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(g,R0);else{var X0,C1=d;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!Jm(X0)&&X0});try{(a3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a3=function(X0){return X0.byteLength}}var _$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function R$(){return _9}function Ns(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<_$&&z6("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+_9+"! (TOTAL_STACK="+_$+")"),A0.buffer?g=A0.buffer:(typeof WebAssembly=="object"&&typeof WebAssembly.Memory=="function"?(A0.wasmMemory=new WebAssembly.Memory({initial:_9/65536}),g=A0.wasmMemory.buffer):g=new ArrayBuffer(_9),A0.buffer=g),Y9();var Or=[],x$=[],Bh=[],Ci=[],F$=[],L$=!1,_i=!1;function qm(R0){Or.unshift(R0)}function FC(R0){x$.unshift(R0)}function Us(R0){Bh.unshift(R0)}function Pr(R0){Ci.unshift(R0)}function Ri(R0){F$.unshift(R0)}function M$(R0,X0,C1){var D2,Z3;Ls("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!"),C1&&(D2=d[Z3=X0+Gs(R0)]),bC(R0,X0,1/0),C1&&(d[Z3]=D2)}function LC(R0,X0,C1){return R0>=0?R0:X0<=32?2*Math.abs(1<=D2&&(X0<=32||R0>D2)&&(R0=-2*D2+R0),R0}var ph=Math.abs,G$=Math.ceil,Qh=Math.floor,yh=Math.min,xn=0,wh=null,Os=null;function Ap(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var MC="data:application/octet-stream;base64,";function N$(R0){return String.prototype.startsWith?R0.startsWith(MC):R0.indexOf(MC)===0}(function(){var X0="main.wast",C1="main.wasm",D2="main.temp.asm.js";N$(X0)||(X0=Ie(X0)),N$(C1)||(C1=Ie(C1)),N$(D2)||(D2=Ie(D2));var Z3={global:null,env:null,asm2wasm:vC,parent:A0},c9=null;function J9(ve){return ve}function g6(){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(ve){Yi(ve)}}A0.asmPreload=A0.asm;var E7=A0.reallocBuffer,Me=function(ve){ve=mh(ve,A0.usingWasm?65536:16777216);var g9=A0.buffer.byteLength;if(A0.usingWasm)try{var Lt=A0.wasmMemory.grow((ve-g9)/65536);return Lt!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(ve){return Ze==="asmjs"?E7(ve):Me(ve)};var Ze="";A0.asm=function(ve,g9,Lt){var xi;if(!(g9=xi=g9).table){var C7,Mt=A0.wasmTableSize;Mt===void 0&&(Mt=1024);var Fi=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Fi!==void 0?g9.table=new WebAssembly.Table({initial:Mt,maximum:Fi,element:"anyfunc"}):g9.table=new WebAssembly.Table({initial:Mt,element:"anyfunc"}):g9.table=Array(Mt),A0.wasmTable=g9.table}return g9.memoryBase||(g9.memoryBase=A0.STATIC_BASE),g9.tableBase||(g9.tableBase=0),C7=function(Fn,gr,GC){if(typeof WebAssembly!="object")return z6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return z6("no native wasm Memory in use"),!1;function kh(hr,Ji){if((c9=hr.exports).memory){var qo,Hs,qs;qo=c9.memory,Hs=A0.buffer,qo.byteLength0?C1:Gs(R0)+1,Z3=Array(D2),c9=Rn(R0,Z3,0,Z3.length);return X0&&(Z3.length=c9),Z3}function Ym(R0){for(var X0=[],C1=0;C1255&&(D2&=255),X0.push(String.fromCharCode(D2))}return X0.join("")}N0+=16,Z2=ze(4),Q5=(h2=k1=qi(N0))+_$,k2=qi(Q5),y0[Z2>>2]=k2,v1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Yi,assert:cr,enlargeMemory:Ur,getTotalMemory:R$,abortOnCannotGrowMemory:function(){Yi("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,D2){var Z3=TC();try{return A0.dynCall_iii(X0,C1,D2)}catch(c9){if(U$(Z3),typeof c9!="number"&&c9!=="longjmp")throw c9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,D2,Z3){Yi("Assertion failed: "+b$(X0)+", at: "+[C1?b$(C1):"unknown filename",D2,Z3?b$(Z3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(y0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,D2){return R.set(R.subarray(C1,C1+D2),X0),X0},_llvm_floor_f64:Qh,DYNAMICTOP_PTR:Z2,tempDoublePtr:Ft,ABORT:Oo,STACKTOP:k1,STACK_MAX:Q5};var Hr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Hr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var Jm=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 Ps=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 Ho=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},U$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},TC=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function O$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function P$(R0){R0=R0||A0.arguments,!(xn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)qm(A0.preRun.shift());Ns(Or)}(),!(xn>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,Oo||(L$||(L$=!0,Ns(x$)),Ns(Bh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Ri(A0.postRun.shift());Ns(F$)}()))}}function Km(R0,X0){(!X0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Oo=!0,Eh=R0,k1=Y5,Ns(Ci),_i=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new O$(R0)))}function Yi(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(I4(R0),z6(R0),R0=JSON.stringify(R0)):R0="",Oo=!0,Eh=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=Hr,A0.ccall=Ch,A0.cwrap=function(X0,C1,D2,Z3){var c9=(D2=D2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&c9&&!Z3?Po(X0):function(){return Ch(X0,C1,D2,arguments,Z3)}},O$.prototype=Error(),O$.prototype.constructor=O$,Os=function R0(){A0.calledRun||P$(),A0.calledRun||(Os=R0)},A0.run=P$,A0.abort=Yi,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,P$(),A0.onRuntimeInitialized=()=>{tk=!0,ik()},No.decode=function(R0){return function(C1){if(!tk)throw Error("Not initialized");var D2={};function Z3(gr){return new Int32Array(A0.HEAPU8.buffer,gr,1)[0]}function c9(gr,GC){var kh=new ArrayBuffer(GC*Float32Array.BYTES_PER_ELEMENT),Q8=new Float32Array(kh);return Q8.set(new Float32Array(A0.HEAPU8.buffer,gr,GC)),Q8}D2.open=A0.cwrap("stb_vorbis_js_open","number",[]),D2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),D2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),D2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),D2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,g6,E7,Me,Ze=D2.open(),ve=(J9=C1,g6=C1.byteLength,E7=A0._malloc(g6),(Me=new Uint8Array(A0.HEAPU8.buffer,E7,g6)).set(new Uint8Array(J9,0,g6)),Me),g9=A0._malloc(4),Lt=A0._malloc(4),xi=D2.decode(Ze,ve.byteOffset,ve.byteLength,g9,Lt);if(A0._free(ve.byteOffset),xi<0)throw D2.close(Ze),A0._free(g9),Error("stbvorbis decode failed: "+xi);for(var C7=D2.channels(Ze),Mt=Array(C7),Fi=new Int32Array(A0.HEAPU32.buffer,Z3(g9),C7),Li=0;LiA.chunkData.currentIndex;){let R=YD(d,A.chunkData,r,l);g.push(R),d++}return g.length>1&&g.pop(),g}function YD(A,r,l,g){let d=ue(r,20),R=r3(r,4)*2,u0=r3(r,4)*2,_0=r3(r,4)*2,y0=r3(r,4)*2,p0=r3(r,4),m1=r[r.currentIndex++];m1===255&&(m1=60);let G=ay(r[r.currentIndex++]),V0=r3(r,2),N0=r3(r,2);return new OB(d,R,u0,_0,y0,p0,m1,G,V0,N0,l,A,g)}var PB=class extends uh{constructor(r){super(),this.instrumentName=ue(r.chunkData,20).trim(),this.instrumentZoneIndex=r3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;gA.chunkData.currentIndex;){let g=new PB(A);if(l.length>0){let d=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(d,r)}l.push(g)}return l.length>1&&l.pop(),l}var HB=class extends Go{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function sk(A,r,l,g){let d=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let R=new HB(A.chunkData);if(d.length>0){let u0=R.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,_0=R.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(u0,_0),d[d.length-1].getGenerators(r),d[d.length-1].getModulators(l),d[d.length-1].getSample(g),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(R)}return d.length>1&&d.pop(),d}var qB=class extends fh{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Ak(A,r,l,g){let d=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let R=new qB(A.chunkData);if(d.length>0){let u0=R.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,_0=R.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(u0,_0),d[d.length-1].getGenerators(r),d[d.length-1].getModulators(l),d[d.length-1].getInstrument(g),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(R)}return d.length>1&&d.pop(),d}var YB=class extends hh{constructor(r){super(),this.presetName=ue(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=r3(r.chunkData,2),this.bank=r3(r.chunkData,2),this.presetZoneStartIndex=r3(r.chunkData,2),this.library=r3(r.chunkData,4),this.genre=r3(r.chunkData,4),this.morphology=r3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;gA.chunkData.currentIndex;){let g=new YB(A);if(l.length>0){let d=g.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(d,r)}l.push(g)}return l.length>1&&l.pop(),l}var Nm=class extends w${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new Y3(r),$r("%cParsing SoundFont...",b1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=u4(this.dataArray,!1);this.verifyHeader(g,"riff");let d=ue(this.dataArray,4).toLowerCase();if(d!=="sfbk"&&d!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${d}"`);let R=d==="sfpk",u0=u4(this.dataArray);for(this.verifyHeader(u0,"list"),ue(u0.chunkData,4);u0.chunkData.length>u0.chunkData.currentIndex;){let s9=u4(u0.chunkData),m6;switch(s9.header.toLowerCase()){case"ifil":case"iver":m6=`${r3(s9.chunkData,2)}.${r3(s9.chunkData,2)}`;break;case"icmt":m6=ue(s9.chunkData,s9.chunkData.length,void 0,!1);break;default:m6=ue(s9.chunkData,s9.chunkData.length)}j5(`%c"${s9.header}": %c"${m6}"`,b1.info,b1.recognized),this.soundFontInfo[s9.header]=m6}let _0=u4(this.dataArray,!1);this.verifyHeader(_0,"list"),this.verifyText(ue(this.dataArray,4),"sdta"),j5("%cVerifying smpl chunk...",b1.warn);let y0=u4(this.dataArray,!1);this.verifyHeader(y0,"smpl");let p0;if(R){j5("%cSF2Pack detected, attempting to decode the smpl chunk...",b1.info);try{p0=No.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+_0.size-12)).data[0]}catch(s9){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${s9}`)}j5(`%cDecoded the smpl chunk! Length: %c${p0.length}`,b1.info,b1.value)}else p0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;j5(`%cSkipping sample chunk, length: %c${_0.size-12}`,b1.info,b1.value),this.dataArray.currentIndex+=_0.size-12,j5("%cLoading preset data chunk...",b1.warn);let m1=u4(this.dataArray);this.verifyHeader(m1,"list"),ue(m1.chunkData,4);let G=u4(m1.chunkData);this.verifyHeader(G,"phdr");let V0=u4(m1.chunkData);this.verifyHeader(V0,"pbag");let N0=u4(m1.chunkData);this.verifyHeader(N0,"pmod");let v1=u4(m1.chunkData);this.verifyHeader(v1,"pgen");let h2=u4(m1.chunkData);this.verifyHeader(h2,"inst");let k1=u4(m1.chunkData);this.verifyHeader(k1,"ibag");let Q5=u4(m1.chunkData);this.verifyHeader(Q5,"imod");let k2=u4(m1.chunkData);this.verifyHeader(k2,"igen");let Z2=u4(m1.chunkData);this.verifyHeader(Z2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...rk(Z2,p0,!R));let a3=_B(k2),Y5=FB(Q5),A0=sk(k1,a3,Y5,this.samples);this.instruments=nk(h2,A0);let S5=_B(v1),g3=FB(N0),J3=Ak(V0,S5,g3,this.instruments);this.presets.push(...ok(G,J3)),this.presets.sort((s9,m6)=>s9.program-m6.program+(s9.bank-m6.bank)),j5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info),i4(),R&&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 dh(A){let r=A.slice(8,12),l=new Y3(r);return ue(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(A):new Nm(A,!1)}async function ak(){let A="locale.exportAudio.formats.formats.soundfont.options.";O7(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,d=parseInt(r.div.querySelector("input[type='range']").value)/10;gt(r.id),$r("%cExporting minified soundfont...",b1.info);let R=await this.seq.getMIDI(),u0=dh(R.embeddedSoundFont||this.soundFont);lh(R,await this.synth.getSynthesizerSnapshot()),l&&Lm(u0,R);let _0=u0.write({compress:g,compressionQuality:d,compressionFunction:this.compressionFunc}),y0=new Blob([_0.buffer],{type:"audio/soundfont"}),p0=u0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(y0,`${u0.soundFontInfo.INAM||"unnamed"}.${p0}`),i4()}}],99999999,!0,this.localeManager)}async function $k(){let A="locale.exportAudio.formats.";O7(this.localeManager.getLocaleString(A+"title"),[{type:"button",translatePathTitle:A+"formats.wav.button",onClick:r=>{gt(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:A+"formats.midi.button",onClick:r=>{gt(r.id),this.exportMidi()}},{type:"button",translatePathTitle:A+"formats.soundfont.button",onClick:r=>{gt(r.id);try{this._exportSoundfont()}catch{O7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:A+"formats.rmidi.button",onClick:r=>{gt(r.id);try{this._exportRMIDI()}catch{O7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function lk(){let A=(G,V0,N0)=>this.seq.midiData.RMIDInfo?.[G]===void 0?V0:N0.decode(this.seq.midiData.RMIDInfo?.[G]).replace(/\0$/,""),r=A("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=A("IPRD","",l),d=A("IART","",l),R=A("IGNR","",l),u0=A("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),_0="locale.exportAudio.formats.formats.rmidi.options.",y0="locale.exportAudio.formats.metadata.",m1=O7(this.localeManager.getLocaleString(_0+"title"),[{type:"toggle",translatePathTitle:_0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:_0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:y0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:y0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:y0+"artist",attributes:{value:d,name:"artist",type:"text"}},{type:"input",translatePathTitle:y0+"genre",attributes:{value:R,name:"genre",type:"text"}},{type:"input",translatePathTitle:y0+"comment",attributes:{value:u0,name:"comment",type:"text"}},{type:"file",translatePathTitle:y0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:_0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:_0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(_0+"confirm"),onClick:async G=>{let V0=G.div.querySelector("input[compress-toggle='1']").checked,N0=parseInt(G.div.querySelector("input[type='range']").value)/10,v1=G.div.querySelector("input[name='album']").value,h2=G.div.querySelector("input[name='artist']").value,k1=G.div.querySelector("input[name='song_title']").value,Q5=G.div.querySelector("input[name='comment']").value,k2=G.div.querySelector("input[name='genre']").value,Z2=parseInt(G.div.querySelector("input[name='bank_offset']").value),a3=G.div.querySelector("input[name='adjust']").checked,Y5=G.div.querySelector("input[type='file']")?.files[0];gt(G.id),ii("%cExporting RMIDI...",b1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",S5=O7(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(z6=>setTimeout(z6,500));let g3=S5.div.getElementsByClassName("export_rmidi_message")[0],J3=await this.seq.getMIDI(),s9=dh(J3.embeddedSoundFont||this.soundFont);g3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(z6=>setTimeout(z6,75)),lh(J3,await this.synth.getSynthesizerSnapshot()),g3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(z6=>setTimeout(z6,75)),Lm(s9,J3);let m6=s9.write({compress:V0,compressionQuality:N0,compressionFunction:this.compressionFunc});g3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(z6=>setTimeout(z6,75));let k9;Y5?.type.split("/")[0]==="image"?k9=await Y5.arrayBuffer():J3.RMIDInfo?.IPIC!==void 0&&(k9=J3.RMIDInfo.IPIC.buffer);let Ie=cy(m6,J3,s9,Z2,this.seqUI.encoding,{name:k1,comment:Q5,engineer:s9.soundFontInfo.IENG,picture:k9,album:v1.length>0?v1:void 0,artist:h2.length>0?h2:void 0,genre:k2.length>0?k2:void 0,midiEncoding:this.seqUI.encoding},a3),I4=new Blob([Ie.buffer],{type:"audio/rmid"});this.saveBlob(I4,`${k1||"unnamed_song"}.rmi`),g3.textContent=this.localeManager.getLocaleString(A0+"done"),gt(S5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");m1.oninput=()=>{m1.files[0]&&(m1.parentElement.firstChild.textContent=m1.files[0].name)}}var Um={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",d=typeof process=="object"&&typeof cm=="function"&&!g,R=typeof importScripts=="function",u0=!g&&!d&&!R;if(d){A.print||(A.print=function($){process.stdout.write($+` +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[y0,p0]of Object.entries(this.soundFontInfo))j5(`%c"${y0}": %c"${p0}"`,b1.info,b1.recognized);let _=g.find(y0=>y0.header==="colh");if(!_)throw i4(),new Error("No colh chunk!");this.instrumentAmount=r3(_.chunkData,4),j5(`%cInstruments amount: %c${this.instrumentAmount}`,b1.info,b1.recognized);let u0=Di(g,"wvpl");this.readDLSSamples(u0);let _0=Di(g,"lins");if(!_0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(_0),j5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=Vw;Fs.prototype.readDLSInstrument=zw;Fs.prototype.readRegion=Xw;Fs.prototype.readLart=jw;Fs.prototype.readDLSSamples=ek;var Go=Go!==void 0?Go:{},tk=!1,ik;Go.isInitialized=new Promise(A=>ik=A);var qD=function(A){var r,l,g,d,_,u0,_0,y0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",p0="",m1=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do d=y0.indexOf(A.charAt(m1++)),_=y0.indexOf(A.charAt(m1++)),u0=y0.indexOf(A.charAt(m1++)),_0=y0.indexOf(A.charAt(m1++)),r=d<<2|_>>4,l=(15&_)<<4|u0>>2,g=(3&u0)<<6|_0,p0+=String.fromCharCode(r),u0!==64&&(p0+=String.fromCharCode(l)),_0!==64&&(p0+=String.fromCharCode(g));while(m11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.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)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):m6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(cr(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)})):(g3||J3)&&(g3?document.currentScript&&(k9=document.currentScript.src):k9=self.location.href,k9=k9.indexOf("blob:")!==0?k9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},J3&&(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,D2){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}D2()},Z3.onerror=D2,Z3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var I4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),z6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||I4);for(A in S5)S5.hasOwnProperty(A)&&(A0[A]=S5[A]);function ze(R0){var X0=G0;return G0=G0+R0+15&-16,X0}function Gr(R0){var X0=y0[Z2>>2],C1=X0+R0+15&-16;return y0[Z2>>2]=C1,C1>=_9&&!Ur()?(y0[Z2>>2]=X0,0):X0}function qi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function Uo(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 cr(X0%8==0),X0/8}}function Ls(R0){Ls.shown||(Ls.shown={}),Ls.shown[R0]||(Ls.shown[R0]=1,z6(R0))}S5=void 0;var vC={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},v$=[];function Pm(R0,X0){for(var C1=0,D2=C1;D2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function S$(R0,X0,C1){return C1&&C1.length?A0["dynCall_"+R0].apply(null,[X0].concat(C1)):A0["dynCall_"+R0].call(null,X0)}var Oo=0,Eh=0;function cr(R0,X0){R0||Yi("Assertion failed: "+X0)}function Po(R0){var X0=A0["_"+R0];return cr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var SC={stackSave:function(){TC()},stackRestore:function(){U$()},arrayToC:function(R0){var X0,C1,D2=Ho(R0.length);return X0=R0,C1=D2,d.set(X0,C1),D2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=Ho(C1),bC(R0,X0,C1)}return X0}},Ms={string:SC.stringToC,array:SC.arrayToC};function Ch(R0,X0,C1,D2,Z3){var c9=Po(R0),J9=[],g6=0;if(D2)for(var E7=0;E7>0]=X0;break;case"i16":u0[R0>>1]=X0;break;case"i32":y0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+ph(tempDouble=X0)>=1?tempDouble>0?(0|yh(+Qh(tempDouble/4294967296),4294967295))>>>0:~~+N$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],y0[R0>>2]=tempI64[0],y0[R0+4>>2]=tempI64[1];break;case"float":m1[R0>>2]=X0;break;case"double":N[R0>>3]=X0;break;default:Yi("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 d[R0>>0];case"i16":return u0[R0>>1];case"i32":case"i64":return y0[R0>>2];case"float":return m1[R0>>2];case"double":return N[R0>>3];default:Yi("invalid type for getValue: "+X0)}return null}function ZB(R0,X0,C1,D2){typeof R0=="number"?(c9=!0,J9=R0):(c9=!1,J9=R0.length);var Z3=typeof X0=="string"?X0:null;if(g6=C1==4?D2:[typeof Ps=="function"?Ps:ze,Ho,ze,Gr][C1===void 0?2:C1](Math.max(J9,Z3?1:X0.length)),c9){for(D2=g6,cr((3&g6)==0),E7=g6+(-4&J9);D2>2]=0;for(E7=g6+J9;D2>0]=0;return g6}if(Z3==="i8")return R0.subarray||R0.slice?_.set(R0,g6):_.set(new Uint8Array(R0),g6),g6;for(var c9,J9,g6,E7,Me,Ze,ve,g9=0;g9>0],(D2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var g6="";if(c9<128){for(;X0>0;)Z3=String.fromCharCode.apply(String,_.subarray(R0,R0+Math.min(X0,1024))),g6=g6?g6+Z3:Z3,R0+=1024,X0-=1024;return g6}return C1=R0,function(Me,Ze){for(var ve=Ze;Me[ve];)++ve;if(ve-Ze>16&&Me.subarray&&DC)return DC.decode(Me.subarray(Ze,ve));for(var g9,Lt,xi,C7,Mt,Fi,Li="";;){if(!(g9=Me[Ze++]))return Li;if(!(128&g9)){Li+=String.fromCharCode(g9);continue}if(Lt=63&Me[Ze++],(224&g9)==192){Li+=String.fromCharCode((31&g9)<<6|Lt);continue}if(xi=63&Me[Ze++],(240&g9)==224?g9=(15&g9)<<12|Lt<<6|xi:(C7=63&Me[Ze++],(248&g9)==240?g9=(7&g9)<<18|Lt<<12|xi<<6|C7:(Mt=63&Me[Ze++],g9=(252&g9)==248?(3&g9)<<24|Lt<<18|xi<<12|C7<<6|Mt:(1&g9)<<30|Lt<<24|xi<<18|C7<<12|Mt<<6|(Fi=63&Me[Ze++]))),g9<65536)Li+=String.fromCharCode(g9);else{var Fn=g9-65536;Li+=String.fromCharCode(55296|Fn>>10,56320|1023&Fn)}}}(_,C1)}function WB(R0){for(var X0="";;){var C1=d[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ts(R0,X0){return function(D2,Z3,c9){for(var J9=0;J9>0]=D2.charCodeAt(J9);c9||(d[Z3>>0]=0)}(R0,X0,!1)}var DC=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(R0,X0,C1,D2){if(!(D2>0))return 0;for(var Z3=C1,c9=C1+D2-1,J9=0;J9=55296&&g6<=57343&&(g6=65536+((1023&g6)<<10)|1023&R0.charCodeAt(++J9)),g6<=127){if(C1>=c9)break;X0[C1++]=g6}else if(g6<=2047){if(C1+1>=c9)break;X0[C1++]=192|g6>>6,X0[C1++]=128|63&g6}else if(g6<=65535){if(C1+2>=c9)break;X0[C1++]=224|g6>>12,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=2097151){if(C1+3>=c9)break;X0[C1++]=240|g6>>18,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else if(g6<=67108863){if(C1+4>=c9)break;X0[C1++]=248|g6>>24,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}else{if(C1+5>=c9)break;X0[C1++]=252|g6>>30,X0[C1++]=128|g6>>24&63,X0[C1++]=128|g6>>18&63,X0[C1++]=128|g6>>12&63,X0[C1++]=128|g6>>6&63,X0[C1++]=128|63&g6}}return X0[C1]=0,C1-Z3}function bC(R0,X0,C1){return Rn(R0,_,X0,C1)}function Ns(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&(D2=65536+((1023&D2)<<10)|1023&R0.charCodeAt(++C1)),D2<=127?++X0:D2<=2047?X0+=2:D2<=65535?X0+=3:D2<=2097151?X0+=4:D2<=67108863?X0+=5:X0+=6}return X0}var _C=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function jB(R0){for(var X0=R0,C1=X0>>1;u0[C1];)++C1;if((X0=C1<<1)-R0>32&&_C)return _C.decode(_.subarray(R0,X0));for(var D2=0,Z3="";;){var c9=u0[R0+2*D2>>1];if(c9==0)return Z3;++D2,Z3+=String.fromCharCode(c9)}}function XB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var D2=X0,Z3=(C1-=2)<2*R0.length?C1/2:R0.length,c9=0;c9>1]=J9,X0+=2}return u0[X0>>1]=0,X0-D2}function ep(R0){return 2*R0.length}function tp(R0){for(var X0=0,C1="";;){var D2=y0[R0+4*X0>>2];if(D2==0)return C1;if(++X0,D2>=65536){var Z3=D2-65536;C1+=String.fromCharCode(55296|Z3>>10,56320|1023&Z3)}else C1+=String.fromCharCode(D2)}}function ip(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var D2=X0,Z3=D2+C1-4,c9=0;c9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++c9)),y0[X0>>2]=J9,(X0+=4)+4>Z3)break}return y0[X0>>2]=0,X0-D2}function rp(R0){for(var X0=0,C1=0;C1=55296&&D2<=57343&&++C1,X0+=4}return X0}function np(R0){var X0=Ns(R0)+1,C1=Ps(X0);return C1&&Rn(R0,d,C1,X0),C1}function sp(R0){var X0=Ns(R0)+1,C1=Ho(X0);return Rn(R0,d,C1,X0),C1}function RC(R0){return R0}function qm(){var R0,X0=function(){var D2=Error();if(!D2.stack){try{throw Error(0)}catch(Z3){D2=Z3}if(!D2.stack)return"(no stack trace available)"}return D2.stack.toString()}();return A0.extraStackTrace&&(X0+=` +`+A0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var D2,Z3=D2=C1;return C1===Z3?C1:C1+" ["+Z3+"]"})}function mh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function xC(R0){A0.buffer=g=R0}function Y9(){A0.HEAP8=d=new Int8Array(g),A0.HEAP16=u0=new Int16Array(g),A0.HEAP32=y0=new Int32Array(g),A0.HEAPU8=_=new Uint8Array(g),A0.HEAPU16=_0=new Uint16Array(g),A0.HEAPU32=p0=new Uint32Array(g),A0.HEAPF32=m1=new Float32Array(g),A0.HEAPF64=N=new Float64Array(g)}function Ur(){var R0=A0.usingWasm?65536:16777216,X0=2147483648-R0;if(y0[Z2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?mh(2*_9,R0):Math.min(mh((3*_9+2147483648)/4,R0),X0);var D2=A0.reallocBuffer(_9);return D2&&D2.byteLength==_9?(xC(D2),Y9(),!0):(_9=C1,!1)}V0=G0=h2=k1=Q5=k2=Z2=0,v1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(g,R0);else{var X0,C1=d;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!Km(X0)&&X0});try{(a3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a3=function(X0){return X0.byteLength}}var _$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function R$(){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?A0.dynCall_v(C1):A0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9<_$&&z6("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+_9+"! (TOTAL_STACK="+_$+")"),A0.buffer?g=A0.buffer:(typeof WebAssembly=="object"&&typeof WebAssembly.Memory=="function"?(A0.wasmMemory=new WebAssembly.Memory({initial:_9/65536}),g=A0.wasmMemory.buffer):g=new ArrayBuffer(_9),A0.buffer=g),Y9();var Or=[],x$=[],Bh=[],Ci=[],F$=[],L$=!1,_i=!1;function Ym(R0){Or.unshift(R0)}function FC(R0){x$.unshift(R0)}function Us(R0){Bh.unshift(R0)}function Pr(R0){Ci.unshift(R0)}function Ri(R0){F$.unshift(R0)}function M$(R0,X0,C1){var D2,Z3;Ls("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!"),C1&&(D2=d[Z3=X0+Ns(R0)]),bC(R0,X0,1/0),C1&&(d[Z3]=D2)}function LC(R0,X0,C1){return R0>=0?R0:X0<=32?2*Math.abs(1<=D2&&(X0<=32||R0>D2)&&(R0=-2*D2+R0),R0}var ph=Math.abs,N$=Math.ceil,Qh=Math.floor,yh=Math.min,xn=0,wh=null,Os=null;function Ap(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var MC="data:application/octet-stream;base64,";function G$(R0){return String.prototype.startsWith?R0.startsWith(MC):R0.indexOf(MC)===0}(function(){var X0="main.wast",C1="main.wasm",D2="main.temp.asm.js";G$(X0)||(X0=Ie(X0)),G$(C1)||(C1=Ie(C1)),G$(D2)||(D2=Ie(D2));var Z3={global:null,env:null,asm2wasm:vC,parent:A0},c9=null;function J9(ve){return ve}function g6(){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(ve){Yi(ve)}}A0.asmPreload=A0.asm;var E7=A0.reallocBuffer,Me=function(ve){ve=mh(ve,A0.usingWasm?65536:16777216);var g9=A0.buffer.byteLength;if(A0.usingWasm)try{var Lt=A0.wasmMemory.grow((ve-g9)/65536);return Lt!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(ve){return Ze==="asmjs"?E7(ve):Me(ve)};var Ze="";A0.asm=function(ve,g9,Lt){var xi;if(!(g9=xi=g9).table){var C7,Mt=A0.wasmTableSize;Mt===void 0&&(Mt=1024);var Fi=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Fi!==void 0?g9.table=new WebAssembly.Table({initial:Mt,maximum:Fi,element:"anyfunc"}):g9.table=new WebAssembly.Table({initial:Mt,element:"anyfunc"}):g9.table=Array(Mt),A0.wasmTable=g9.table}return g9.memoryBase||(g9.memoryBase=A0.STATIC_BASE),g9.tableBase||(g9.tableBase=0),C7=function(Fn,gr,NC){if(typeof WebAssembly!="object")return z6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return z6("no native wasm Memory in use"),!1;function kh(hr,Ji){if((c9=hr.exports).memory){var qo,Hs,qs;qo=c9.memory,Hs=A0.buffer,qo.byteLength0?C1:Ns(R0)+1,Z3=Array(D2),c9=Rn(R0,Z3,0,Z3.length);return X0&&(Z3.length=c9),Z3}function Jm(R0){for(var X0=[],C1=0;C1255&&(D2&=255),X0.push(String.fromCharCode(D2))}return X0.join("")}G0+=16,Z2=ze(4),Q5=(h2=k1=qi(G0))+_$,k2=qi(Q5),y0[Z2>>2]=k2,v1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Yi,assert:cr,enlargeMemory:Ur,getTotalMemory:R$,abortOnCannotGrowMemory:function(){Yi("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,D2){var Z3=TC();try{return A0.dynCall_iii(X0,C1,D2)}catch(c9){if(U$(Z3),typeof c9!="number"&&c9!=="longjmp")throw c9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,D2,Z3){Yi("Assertion failed: "+b$(X0)+", at: "+[C1?b$(C1):"unknown filename",D2,Z3?b$(Z3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(y0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,D2){return _.set(_.subarray(C1,C1+D2),X0),X0},_llvm_floor_f64:Qh,DYNAMICTOP_PTR:Z2,tempDoublePtr:Ft,ABORT:Oo,STACKTOP:k1,STACK_MAX:Q5};var Hr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Hr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var Km=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 Ps=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 Ho=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},U$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},TC=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function O$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function P$(R0){R0=R0||A0.arguments,!(xn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)Ym(A0.preRun.shift());Gs(Or)}(),!(xn>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,Oo||(L$||(L$=!0,Gs(x$)),Gs(Bh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Ri(A0.postRun.shift());Gs(F$)}()))}}function Vm(R0,X0){(!X0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Oo=!0,Eh=R0,k1=Y5,Gs(Ci),_i=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new O$(R0)))}function Yi(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(I4(R0),z6(R0),R0=JSON.stringify(R0)):R0="",Oo=!0,Eh=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=Hr,A0.ccall=Ch,A0.cwrap=function(X0,C1,D2,Z3){var c9=(D2=D2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&c9&&!Z3?Po(X0):function(){return Ch(X0,C1,D2,arguments,Z3)}},O$.prototype=Error(),O$.prototype.constructor=O$,Os=function R0(){A0.calledRun||P$(),A0.calledRun||(Os=R0)},A0.run=P$,A0.abort=Yi,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,P$(),A0.onRuntimeInitialized=()=>{tk=!0,ik()},Go.decode=function(R0){return function(C1){if(!tk)throw Error("Not initialized");var D2={};function Z3(gr){return new Int32Array(A0.HEAPU8.buffer,gr,1)[0]}function c9(gr,NC){var kh=new ArrayBuffer(NC*Float32Array.BYTES_PER_ELEMENT),Q8=new Float32Array(kh);return Q8.set(new Float32Array(A0.HEAPU8.buffer,gr,NC)),Q8}D2.open=A0.cwrap("stb_vorbis_js_open","number",[]),D2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),D2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),D2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),D2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,g6,E7,Me,Ze=D2.open(),ve=(J9=C1,g6=C1.byteLength,E7=A0._malloc(g6),(Me=new Uint8Array(A0.HEAPU8.buffer,E7,g6)).set(new Uint8Array(J9,0,g6)),Me),g9=A0._malloc(4),Lt=A0._malloc(4),xi=D2.decode(Ze,ve.byteOffset,ve.byteLength,g9,Lt);if(A0._free(ve.byteOffset),xi<0)throw D2.close(Ze),A0._free(g9),Error("stbvorbis decode failed: "+xi);for(var C7=D2.channels(Ze),Mt=Array(C7),Fi=new Int32Array(A0.HEAPU32.buffer,Z3(g9),C7),Li=0;LiA.chunkData.currentIndex;){let _=YD(d,A.chunkData,r,l);g.push(_),d++}return g.length>1&&g.pop(),g}function YD(A,r,l,g){let d=ue(r,20),_=r3(r,4)*2,u0=r3(r,4)*2,_0=r3(r,4)*2,y0=r3(r,4)*2,p0=r3(r,4),m1=r[r.currentIndex++];m1===255&&(m1=60);let N=ay(r[r.currentIndex++]),V0=r3(r,2),G0=r3(r,2);return new OB(d,_,u0,_0,y0,p0,m1,N,V0,G0,l,A,g)}var PB=class extends uh{constructor(r){super(),this.instrumentName=ue(r.chunkData,20).trim(),this.instrumentZoneIndex=r3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;gA.chunkData.currentIndex;){let g=new PB(A);if(l.length>0){let d=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(d,r)}l.push(g)}return l.length>1&&l.pop(),l}var HB=class extends No{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function sk(A,r,l,g){let d=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let _=new HB(A.chunkData);if(d.length>0){let u0=_.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,_0=_.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(u0,_0),d[d.length-1].getGenerators(r),d[d.length-1].getModulators(l),d[d.length-1].getSample(g),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(_)}return d.length>1&&d.pop(),d}var qB=class extends fh{constructor(r){super(),this.generatorZoneStartIndex=r3(r,2),this.modulatorZoneStartIndex=r3(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===_1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===_1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===_1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Ak(A,r,l,g){let d=[];for(;A.chunkData.length>A.chunkData.currentIndex;){let _=new qB(A.chunkData);if(d.length>0){let u0=_.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,_0=_.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(u0,_0),d[d.length-1].getGenerators(r),d[d.length-1].getModulators(l),d[d.length-1].getInstrument(g),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(_)}return d.length>1&&d.pop(),d}var YB=class extends hh{constructor(r){super(),this.presetName=ue(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=r3(r.chunkData,2),this.bank=r3(r.chunkData,2),this.presetZoneStartIndex=r3(r.chunkData,2),this.library=r3(r.chunkData,4),this.genre=r3(r.chunkData,4),this.morphology=r3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;gA.chunkData.currentIndex;){let g=new YB(A);if(l.length>0){let d=g.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(d,r)}l.push(g)}return l.length>1&&l.pop(),l}var Um=class extends w${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new Y3(r),$r("%cParsing SoundFont...",b1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=u4(this.dataArray,!1);this.verifyHeader(g,"riff");let d=ue(this.dataArray,4).toLowerCase();if(d!=="sfbk"&&d!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${d}"`);let _=d==="sfpk",u0=u4(this.dataArray);for(this.verifyHeader(u0,"list"),ue(u0.chunkData,4);u0.chunkData.length>u0.chunkData.currentIndex;){let s9=u4(u0.chunkData),m6;switch(s9.header.toLowerCase()){case"ifil":case"iver":m6=`${r3(s9.chunkData,2)}.${r3(s9.chunkData,2)}`;break;case"icmt":m6=ue(s9.chunkData,s9.chunkData.length,void 0,!1);break;default:m6=ue(s9.chunkData,s9.chunkData.length)}j5(`%c"${s9.header}": %c"${m6}"`,b1.info,b1.recognized),this.soundFontInfo[s9.header]=m6}let _0=u4(this.dataArray,!1);this.verifyHeader(_0,"list"),this.verifyText(ue(this.dataArray,4),"sdta"),j5("%cVerifying smpl chunk...",b1.warn);let y0=u4(this.dataArray,!1);this.verifyHeader(y0,"smpl");let p0;if(_){j5("%cSF2Pack detected, attempting to decode the smpl chunk...",b1.info);try{p0=Go.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+_0.size-12)).data[0]}catch(s9){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${s9}`)}j5(`%cDecoded the smpl chunk! Length: %c${p0.length}`,b1.info,b1.value)}else p0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;j5(`%cSkipping sample chunk, length: %c${_0.size-12}`,b1.info,b1.value),this.dataArray.currentIndex+=_0.size-12,j5("%cLoading preset data chunk...",b1.warn);let m1=u4(this.dataArray);this.verifyHeader(m1,"list"),ue(m1.chunkData,4);let N=u4(m1.chunkData);this.verifyHeader(N,"phdr");let V0=u4(m1.chunkData);this.verifyHeader(V0,"pbag");let G0=u4(m1.chunkData);this.verifyHeader(G0,"pmod");let v1=u4(m1.chunkData);this.verifyHeader(v1,"pgen");let h2=u4(m1.chunkData);this.verifyHeader(h2,"inst");let k1=u4(m1.chunkData);this.verifyHeader(k1,"ibag");let Q5=u4(m1.chunkData);this.verifyHeader(Q5,"imod");let k2=u4(m1.chunkData);this.verifyHeader(k2,"igen");let Z2=u4(m1.chunkData);this.verifyHeader(Z2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...rk(Z2,p0,!_));let a3=_B(k2),Y5=FB(Q5),A0=sk(k1,a3,Y5,this.samples);this.instruments=nk(h2,A0);let S5=_B(v1),g3=FB(G0),J3=Ak(V0,S5,g3,this.instruments);this.presets.push(...ok(N,J3)),this.presets.sort((s9,m6)=>s9.program-m6.program+(s9.bank-m6.bank)),j5(`%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.`,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info,b1.recognized,b1.info),i4(),_&&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 dh(A){let r=A.slice(8,12),l=new Y3(r);return ue(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(A):new Um(A,!1)}async function ak(){let A="locale.exportAudio.formats.formats.soundfont.options.";O7(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,d=parseInt(r.div.querySelector("input[type='range']").value)/10;gt(r.id),$r("%cExporting minified soundfont...",b1.info);let _=await this.seq.getMIDI(),u0=dh(_.embeddedSoundFont||this.soundFont);lh(_,await this.synth.getSynthesizerSnapshot()),l&&Mm(u0,_);let _0=u0.write({compress:g,compressionQuality:d,compressionFunction:this.compressionFunc}),y0=new Blob([_0.buffer],{type:"audio/soundfont"}),p0=u0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(y0,`${u0.soundFontInfo.INAM||"unnamed"}.${p0}`),i4()}}],99999999,!0,this.localeManager)}async function $k(){let A="locale.exportAudio.formats.";O7(this.localeManager.getLocaleString(A+"title"),[{type:"button",translatePathTitle:A+"formats.wav.button",onClick:r=>{gt(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:A+"formats.midi.button",onClick:r=>{gt(r.id),this.exportMidi()}},{type:"button",translatePathTitle:A+"formats.soundfont.button",onClick:r=>{gt(r.id);try{this._exportSoundfont()}catch{O7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:A+"formats.rmidi.button",onClick:r=>{gt(r.id);try{this._exportRMIDI()}catch{O7("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function lk(){let A=(N,V0,G0)=>this.seq.midiData.RMIDInfo?.[N]===void 0?V0:G0.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),r=A("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=A("IPRD","",l),d=A("IART","",l),_=A("IGNR","",l),u0=A("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),_0="locale.exportAudio.formats.formats.rmidi.options.",y0="locale.exportAudio.formats.metadata.",m1=O7(this.localeManager.getLocaleString(_0+"title"),[{type:"toggle",translatePathTitle:_0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:_0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:y0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:y0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:y0+"artist",attributes:{value:d,name:"artist",type:"text"}},{type:"input",translatePathTitle:y0+"genre",attributes:{value:_,name:"genre",type:"text"}},{type:"input",translatePathTitle:y0+"comment",attributes:{value:u0,name:"comment",type:"text"}},{type:"file",translatePathTitle:y0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:_0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:_0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(_0+"confirm"),onClick:async N=>{let V0=N.div.querySelector("input[compress-toggle='1']").checked,G0=parseInt(N.div.querySelector("input[type='range']").value)/10,v1=N.div.querySelector("input[name='album']").value,h2=N.div.querySelector("input[name='artist']").value,k1=N.div.querySelector("input[name='song_title']").value,Q5=N.div.querySelector("input[name='comment']").value,k2=N.div.querySelector("input[name='genre']").value,Z2=parseInt(N.div.querySelector("input[name='bank_offset']").value),a3=N.div.querySelector("input[name='adjust']").checked,Y5=N.div.querySelector("input[type='file']")?.files[0];gt(N.id),ii("%cExporting RMIDI...",b1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",S5=O7(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(z6=>setTimeout(z6,500));let g3=S5.div.getElementsByClassName("export_rmidi_message")[0],J3=await this.seq.getMIDI(),s9=dh(J3.embeddedSoundFont||this.soundFont);g3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(z6=>setTimeout(z6,75)),lh(J3,await this.synth.getSynthesizerSnapshot()),g3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(z6=>setTimeout(z6,75)),Mm(s9,J3);let m6=s9.write({compress:V0,compressionQuality:G0,compressionFunction:this.compressionFunc});g3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(z6=>setTimeout(z6,75));let k9;Y5?.type.split("/")[0]==="image"?k9=await Y5.arrayBuffer():J3.RMIDInfo?.IPIC!==void 0&&(k9=J3.RMIDInfo.IPIC.buffer);let Ie=cy(m6,J3,s9,Z2,this.seqUI.encoding,{name:k1,comment:Q5,engineer:s9.soundFontInfo.IENG,picture:k9,album:v1.length>0?v1:void 0,artist:h2.length>0?h2:void 0,genre:k2.length>0?k2:void 0,midiEncoding:this.seqUI.encoding},a3),I4=new Blob([Ie.buffer],{type:"audio/rmid"});this.saveBlob(I4,`${k1||"unnamed_song"}.rmi`),g3.textContent=this.localeManager.getLocaleString(A0+"done"),gt(S5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");m1.oninput=()=>{m1.files[0]&&(m1.parentElement.firstChild.textContent=m1.files[0].name)}}var Om={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",d=typeof process=="object"&&typeof cm=="function"&&!g,_=typeof importScripts=="function",u0=!g&&!d&&!_;if(d){A.print||(A.print=function($){process.stdout.write($+` `)}),A.printErr||(A.printErr=function($){process.stderr.write($+` -`)});var _0=void 0,y0=void 0;A.read=function($,h){$=y0.normalize($);var u=_0.readFileSync($);return!u&&$!=y0.resolve($)&&($=path.join(__dirname,"..","src",$),u=_0.readFileSync($)),u&&!h&&(u=u.toString()),u},A.readBinary=function($){return A.read($,!0)},A.load=function($){m1(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 Yo))throw i}),A.inspect=function(){return"[Emscripten Module object]"}}else if(u0)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 J4(typeof h=="object"),h},typeof scriptArgs<"u"?A.arguments=scriptArgs:typeof arguments<"u"&&(A.arguments=arguments);else if(g||R){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 p0=!1;A.print||(A.print=p0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}R&&(A.load=importScripts),typeof A.setWindowTitle>"u"&&(A.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function m1(i){eval.call(null,i)}!A.load&&A.read&&(A.load=function($){m1(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 G={setTempRet0:function(i){z6=i},getTempRet0:function(){return z6},stackSave:function(){return Ci},stackRestore:function(i){Ci=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 G.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return J4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(G.getNativeTypeSize(i),G.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(J4((i&7)===4),i+=4):J4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?G.getNativeFieldSize(i):0),G.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=qm();if(!h)return _i=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var u=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return u},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};A.Runtime=G;var V0=0,N0=!1,v1=0,h2=0,k1,Q5,k2,Z2,a3,Y5,A0,S5,g3,J3,s9,m6,k9,Ie,I4,z6,ze,Nr,qi,Uo,Ls,vC,v$,Om,Ik;function J4(i,$){i||Ys("Assertion failed: "+$)}var dk=this;function Pm(i){var $=A["_"+i];if(!$)try{$=void("_"+i)}catch{}return J4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var S$,Oo;(function(){var i={stackSave:function(){G.stackSave()},stackRestore:function(){G.stackRestore()},arrayToC:function(W0){var t1=G.stackAlloc(W0.length);return Ho(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=G.stackAlloc((W0.length<<2)+1),Ps(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};Oo=function(t1,b2,s,o1,m){var y5=Pm(t1),p2=[],T5=0;if(o1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Ur[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":Ie=[$>>>0,(m6=$,+P$(m6)>=1?m6>0?(Lt(+Me(m6/4294967296),4294967295)|0)>>>0:~~+E7((m6-+(~~m6>>>0))/4294967296)>>>0:0)],_9[i>>2]=Ie[0],_9[i+4>>2]=Ie[1];break;case"float":q$[i>>2]=$;break;case"double":R$[i>>3]=$;break;default:Ys("invalid type for setValue: "+h)}}A.setValue=Eh;function cr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Ur[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return q$[i>>2];case"double":return R$[i>>3];default:Ys("invalid type for setValue: "+$)}return null}A.getValue=cr;var Po=0,SC=1,Ms=2,Ch=3,M3=4;A.ALLOC_NORMAL=Po,A.ALLOC_STACK=SC,A.ALLOC_STATIC=Ms,A.ALLOC_DYNAMIC=Ch,A.ALLOC_NONE=M3;function E3(i,$,h,u){var O,e;typeof i=="number"?(O=!0,e=i):(O=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==M3?t1=u:t1=[vh,G.stackAlloc,G.staticAlloc,G.dynamicAlloc][h===void 0?Ms:h](Math.max(e,W0?1:$.length)),O){var u=t1,b2;for(J4((t1&3)==0),b2=t1+(e&-4);u>2]=0;for(b2=t1+e;u>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?mi.set(i,t1):mi.set(new Uint8Array(i),t1),t1;for(var s=0,o1,m,y5;s>0],h|=u,!(u==0&&!$||(O++,$&&O==$)););$||($=O);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,mi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return A.UTF8ToString(i)}A.Pointer_stringify=D$;function b$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}A.AsciiToString=b$;function WB(i,$){return U$(i,$,!1)}A.stringToAscii=WB;function Ts(i,$){for(var h,u,O,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(u=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|u);continue}if(O=i[$++]&63,(h&240)==224?h=(h&15)<<12|u<<6|O:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|u<<12|O<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|u<<18|O<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|u<<24|O<<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)}}}A.UTF8ArrayToString=Ts;function DC(i){return Ts(mi,i)}A.UTF8ToString=DC;function Rn(i,$,h,u){if(!(u>0))return 0;for(var O=h,e=h+u-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-O}A.stringToUTF8Array=Rn;function bC(i,$,h){return Rn(i,mi,$,h)}A.stringToUTF8=bC;function Gs(i){for(var $=0,h=0;h=55296&&u<=57343&&(u=65536+((u&1023)<<10)|i.charCodeAt(++h)&1023),u<=127?++$:u<=2047?$+=2:u<=65535?$+=3:u<=2097151?$+=4:u<=67108863?$+=5:$+=6}return $}A.lengthBytesUTF8=Gs;function _C(i){for(var $=0,h="";;){var u=Ur[i+$*2>>1];if(u==0)return h;++$,h+=String.fromCharCode(u)}}A.UTF16ToString=_C;function jB(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var u=$,O=h>1]=W0,$+=2}return Ur[$>>1]=0,$-u}A.stringToUTF16=jB;function XB(i){return i.length*2}A.lengthBytesUTF16=XB;function ep(i){for(var $=0,h="";;){var u=_9[i+$*4>>2];if(u==0)return h;if(++$,u>=65536){var O=u-65536;h+=String.fromCharCode(55296|O>>10,56320|O&1023)}else h+=String.fromCharCode(u)}}A.UTF32ToString=ep;function tp(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var u=$,O=u+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>O)break}return _9[$>>2]=0,$-u}A.stringToUTF32=tp;function ip(i){for(var $=0,h=0;h=55296&&u<=57343&&++h,$+=4}return $}A.lengthBytesUTF32=ip;function rp(i){var $=!!A.___cxa_demangle;if($)try{var h=vh(i.length);Ps(i.substr(1),h);var u=vh(4),O=A.___cxa_demangle(h,0,0,u);if(cr(u,"i32")===0&&O)return D$(O)}catch{}finally{h&&zm(h),u&&zm(u),O&&zm(O)}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&&A.print(p2),A.print(i);for(var T5="",R9=0;R9"}else P9=V9;e:for(;e0;){var fr=i[e++];if(fr in W0)d4.push(W0[fr]);else switch(fr){case"P":d4.push(m(!0,1,!0)[0]+"*");break;case"R":d4.push(m(!0,1,!0)[0]+"&");break;case"L":{e++;var J$=i.indexOf("E",e),c8=J$-e;d4.push(i.substr(e,c8)),e+=c8+2;break}case"A":{var c8=parseInt(i.substr(e));if(e+=c8.toString().length,i[e]!=="_")throw"?";e++,d4.push(m(!0,1,!0)[0]+" ["+c8+"]");break}case"E":break e;default:P9+="?"+fr;break e}}return!R9&&d4.length===1&&d4[0]==="void"&&(d4=[]),p2?(P9&&d4.push(P9+"?"),d4):P9+y8()}var y5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=D$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}y5=m()}catch{y5+="?"}return y5.indexOf("?")>=0&&!$&&G.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),y5}function np(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=rp($);return $===h?$:$+" ["+h+"]"})}function sp(){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 RC(){return np(sp())}A.stackTrace=RC;var Hm=4096;function mh(i){return i%4096>0&&(i+=4096-i%4096),i}var xC,Y9,mi,Ur,_$,_9,H$,q$,R$,Ns=0,Or=0,x$=!1,Bh=0,Ci=0,F$=0,L$=0,_i=0;function qm(){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 FC=A.TOTAL_STACK||5242880,Us=A.TOTAL_MEMORY||16777216,Pr=64*1024;Pr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?G.dynCall("v",h):G.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var LC=[],T$=[],ph=[],G$=[],Qh=[],yh=!1,xn=!1;function wh(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)Ft(A.preRun.shift());M$(LC)}function Os(){yh||(yh=!0,M$(T$))}function Ap(){M$(ph)}function MC(){M$(G$),xn=!0}function N$(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)Ym(A.postRun.shift());M$(Qh)}function Ft(i){LC.unshift(i)}A.addOnPreRun=A.addOnPreRun=Ft;function op(i){T$.unshift(i)}A.addOnInit=A.addOnInit=op;function ap(i){ph.unshift(i)}A.addOnPreMain=A.addOnPreMain=ap;function $p(i){G$.unshift(i)}A.addOnExit=A.addOnExit=$p;function Ym(i){Qh.unshift(i)}A.addOnPostRun=A.addOnPostRun=Ym;function Hr(i,$,h){var u=h>0?h:Gs(i)+1,O=new Array(u),e=Rn(i,O,0,O.length);return $&&(O.length=e),O}A.intArrayFromString=Hr;function Jm(i){for(var $=[],h=0;h255&&(u&=255),$.push(String.fromCharCode(u))}return $.join("")}A.intArrayToString=Jm;function Ps(i,$,h){for(var u=Hr(i,h),O=0;O>0]=e,O=O+1}}A.writeStringToMemory=Ps;function Ho(i,$){for(var h=0;h>0]=i[h]}A.writeArrayToMemory=Ho;function U$(i,$,h){for(var u=0;u>0]=i.charCodeAt(u);h||(Y9[$>>0]=0)}A.writeAsciiToMemory=U$;function TC(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 u=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=u&&($<=32||i>u)&&(i=-2*u+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var u=$>>>16,O=$&65535,e=h>>>16,W0=h&65535;return O*W0+(u*W0+O*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 P$=Math.abs,Km=Math.cos,Yi=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,D2=Math.atan,Z3=Math.atan2,c9=Math.exp,J9=Math.log,g6=Math.sqrt,E7=Math.ceil,Me=Math.floor,Ze=Math.pow,ve=Math.imul,g9=Math.fround,Lt=Math.min,xi=Math.clz32,C7=0,Mt=null,Fi=null;function Li(i){return i}function Fn(i){C7++,A.monitorRunDependencies&&A.monitorRunDependencies(C7)}A.addRunDependency=Fn;function gr(i){if(C7--,A.monitorRunDependencies&&A.monitorRunDependencies(C7),C7==0&&(Mt!==null&&(clearInterval(Mt),Mt=null),Fi)){var $=Fi;Fi=null,$()}}A.removeRunDependency=gr,A.preloadedImages={},A.preloadedAudios={};var GC=null,kh=[];Ns=8,Or=Ns+553552,T$.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.GLOBAL_BASE+41032),E3([1],"i8",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.GLOBAL_BASE+72464),E3([1],"i8",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.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",M3,G.GLOBAL_BASE+551416);var Q8=G.alignMemory(E3(12,"i8",Ms),8);J4(Q8%8==0);function Vm(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3]}function hr(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3],Y9[Q8+4]=Y9[i+4],Y9[Q8+5]=Y9[i+5],Y9[Q8+6]=Y9[i+6],Y9[Q8+7]=Y9[i+7]}var Ji=Km,qo=P$,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 lp(i){switch(i){case 30:return Hm;case 85:return Pr/Hm;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=jk;var cp=!0;A._strlen=Vk,A._strcat=zk,A._bitshift64Shl=iv;function Ek(){A.abort()}A._i64Add=Zk;var Ck=Me,mk={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"},Ln={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Ln.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Ln.stream_ops)},stream_ops:{open:function(i){var $=Ln.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,u,O){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,W0=0;W00?$=u.slice(0,O).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var _0=void 0,y0=void 0;A.read=function($,h){$=y0.normalize($);var u=_0.readFileSync($);return!u&&$!=y0.resolve($)&&($=path.join(__dirname,"..","src",$),u=_0.readFileSync($)),u&&!h&&(u=u.toString()),u},A.readBinary=function($){return A.read($,!0)},A.load=function($){m1(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 Yo))throw i}),A.inspect=function(){return"[Emscripten Module object]"}}else if(u0)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 J4(typeof h=="object"),h},typeof scriptArgs<"u"?A.arguments=scriptArgs:typeof arguments<"u"&&(A.arguments=arguments);else if(g||_){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 p0=!1;A.print||(A.print=p0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}_&&(A.load=importScripts),typeof A.setWindowTitle>"u"&&(A.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function m1(i){eval.call(null,i)}!A.load&&A.read&&(A.load=function($){m1(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 N={setTempRet0:function(i){z6=i},getTempRet0:function(){return z6},stackSave:function(){return Ci},stackRestore:function(i){Ci=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 N.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return J4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(N.getNativeTypeSize(i),N.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(J4((i&7)===4),i+=4):J4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?N.getNativeFieldSize(i):0),N.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=Ym();if(!h)return _i=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var u=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return u},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};A.Runtime=N;var V0=0,G0=!1,v1=0,h2=0,k1,Q5,k2,Z2,a3,Y5,A0,S5,g3,J3,s9,m6,k9,Ie,I4,z6,ze,Gr,qi,Uo,Ls,vC,v$,Pm,Ik;function J4(i,$){i||Ys("Assertion failed: "+$)}var dk=this;function Hm(i){var $=A["_"+i];if(!$)try{$=void("_"+i)}catch{}return J4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var S$,Oo;(function(){var i={stackSave:function(){N.stackSave()},stackRestore:function(){N.stackRestore()},arrayToC:function(W0){var t1=N.stackAlloc(W0.length);return Ho(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=N.stackAlloc((W0.length<<2)+1),Ps(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};Oo=function(t1,b2,s,o1,m){var y5=Hm(t1),p2=[],T5=0;if(o1)for(var R9=0;R9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Ur[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":Ie=[$>>>0,(m6=$,+P$(m6)>=1?m6>0?(Lt(+Me(m6/4294967296),4294967295)|0)>>>0:~~+E7((m6-+(~~m6>>>0))/4294967296)>>>0:0)],_9[i>>2]=Ie[0],_9[i+4>>2]=Ie[1];break;case"float":q$[i>>2]=$;break;case"double":R$[i>>3]=$;break;default:Ys("invalid type for setValue: "+h)}}A.setValue=Eh;function cr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Ur[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return q$[i>>2];case"double":return R$[i>>3];default:Ys("invalid type for setValue: "+$)}return null}A.getValue=cr;var Po=0,SC=1,Ms=2,Ch=3,M3=4;A.ALLOC_NORMAL=Po,A.ALLOC_STACK=SC,A.ALLOC_STATIC=Ms,A.ALLOC_DYNAMIC=Ch,A.ALLOC_NONE=M3;function E3(i,$,h,u){var O,e;typeof i=="number"?(O=!0,e=i):(O=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==M3?t1=u:t1=[vh,N.stackAlloc,N.staticAlloc,N.dynamicAlloc][h===void 0?Ms:h](Math.max(e,W0?1:$.length)),O){var u=t1,b2;for(J4((t1&3)==0),b2=t1+(e&-4);u>2]=0;for(b2=t1+e;u>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?mi.set(i,t1):mi.set(new Uint8Array(i),t1),t1;for(var s=0,o1,m,y5;s>0],h|=u,!(u==0&&!$||(O++,$&&O==$)););$||($=O);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,mi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return A.UTF8ToString(i)}A.Pointer_stringify=D$;function b$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}A.AsciiToString=b$;function WB(i,$){return U$(i,$,!1)}A.stringToAscii=WB;function Ts(i,$){for(var h,u,O,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(u=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|u);continue}if(O=i[$++]&63,(h&240)==224?h=(h&15)<<12|u<<6|O:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|u<<12|O<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|u<<18|O<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|u<<24|O<<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)}}}A.UTF8ArrayToString=Ts;function DC(i){return Ts(mi,i)}A.UTF8ToString=DC;function Rn(i,$,h,u){if(!(u>0))return 0;for(var O=h,e=h+u-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-O}A.stringToUTF8Array=Rn;function bC(i,$,h){return Rn(i,mi,$,h)}A.stringToUTF8=bC;function Ns(i){for(var $=0,h=0;h=55296&&u<=57343&&(u=65536+((u&1023)<<10)|i.charCodeAt(++h)&1023),u<=127?++$:u<=2047?$+=2:u<=65535?$+=3:u<=2097151?$+=4:u<=67108863?$+=5:$+=6}return $}A.lengthBytesUTF8=Ns;function _C(i){for(var $=0,h="";;){var u=Ur[i+$*2>>1];if(u==0)return h;++$,h+=String.fromCharCode(u)}}A.UTF16ToString=_C;function jB(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var u=$,O=h>1]=W0,$+=2}return Ur[$>>1]=0,$-u}A.stringToUTF16=jB;function XB(i){return i.length*2}A.lengthBytesUTF16=XB;function ep(i){for(var $=0,h="";;){var u=_9[i+$*4>>2];if(u==0)return h;if(++$,u>=65536){var O=u-65536;h+=String.fromCharCode(55296|O>>10,56320|O&1023)}else h+=String.fromCharCode(u)}}A.UTF32ToString=ep;function tp(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var u=$,O=u+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>O)break}return _9[$>>2]=0,$-u}A.stringToUTF32=tp;function ip(i){for(var $=0,h=0;h=55296&&u<=57343&&++h,$+=4}return $}A.lengthBytesUTF32=ip;function rp(i){var $=!!A.___cxa_demangle;if($)try{var h=vh(i.length);Ps(i.substr(1),h);var u=vh(4),O=A.___cxa_demangle(h,0,0,u);if(cr(u,"i32")===0&&O)return D$(O)}catch{}finally{h&&Zm(h),u&&Zm(u),O&&Zm(O)}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&&A.print(p2),A.print(i);for(var T5="",R9=0;R9"}else P9=V9;e:for(;e0;){var fr=i[e++];if(fr in W0)d4.push(W0[fr]);else switch(fr){case"P":d4.push(m(!0,1,!0)[0]+"*");break;case"R":d4.push(m(!0,1,!0)[0]+"&");break;case"L":{e++;var J$=i.indexOf("E",e),c8=J$-e;d4.push(i.substr(e,c8)),e+=c8+2;break}case"A":{var c8=parseInt(i.substr(e));if(e+=c8.toString().length,i[e]!=="_")throw"?";e++,d4.push(m(!0,1,!0)[0]+" ["+c8+"]");break}case"E":break e;default:P9+="?"+fr;break e}}return!R9&&d4.length===1&&d4[0]==="void"&&(d4=[]),p2?(P9&&d4.push(P9+"?"),d4):P9+y8()}var y5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=D$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}y5=m()}catch{y5+="?"}return y5.indexOf("?")>=0&&!$&&N.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),y5}function np(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=rp($);return $===h?$:$+" ["+h+"]"})}function sp(){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 RC(){return np(sp())}A.stackTrace=RC;var qm=4096;function mh(i){return i%4096>0&&(i+=4096-i%4096),i}var xC,Y9,mi,Ur,_$,_9,H$,q$,R$,Gs=0,Or=0,x$=!1,Bh=0,Ci=0,F$=0,L$=0,_i=0;function Ym(){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 FC=A.TOTAL_STACK||5242880,Us=A.TOTAL_MEMORY||16777216,Pr=64*1024;Pr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?N.dynCall("v",h):N.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var LC=[],T$=[],ph=[],N$=[],Qh=[],yh=!1,xn=!1;function wh(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)Ft(A.preRun.shift());M$(LC)}function Os(){yh||(yh=!0,M$(T$))}function Ap(){M$(ph)}function MC(){M$(N$),xn=!0}function G$(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)Jm(A.postRun.shift());M$(Qh)}function Ft(i){LC.unshift(i)}A.addOnPreRun=A.addOnPreRun=Ft;function op(i){T$.unshift(i)}A.addOnInit=A.addOnInit=op;function ap(i){ph.unshift(i)}A.addOnPreMain=A.addOnPreMain=ap;function $p(i){N$.unshift(i)}A.addOnExit=A.addOnExit=$p;function Jm(i){Qh.unshift(i)}A.addOnPostRun=A.addOnPostRun=Jm;function Hr(i,$,h){var u=h>0?h:Ns(i)+1,O=new Array(u),e=Rn(i,O,0,O.length);return $&&(O.length=e),O}A.intArrayFromString=Hr;function Km(i){for(var $=[],h=0;h255&&(u&=255),$.push(String.fromCharCode(u))}return $.join("")}A.intArrayToString=Km;function Ps(i,$,h){for(var u=Hr(i,h),O=0;O>0]=e,O=O+1}}A.writeStringToMemory=Ps;function Ho(i,$){for(var h=0;h>0]=i[h]}A.writeArrayToMemory=Ho;function U$(i,$,h){for(var u=0;u>0]=i.charCodeAt(u);h||(Y9[$>>0]=0)}A.writeAsciiToMemory=U$;function TC(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 u=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=u&&($<=32||i>u)&&(i=-2*u+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var u=$>>>16,O=$&65535,e=h>>>16,W0=h&65535;return O*W0+(u*W0+O*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 P$=Math.abs,Vm=Math.cos,Yi=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,D2=Math.atan,Z3=Math.atan2,c9=Math.exp,J9=Math.log,g6=Math.sqrt,E7=Math.ceil,Me=Math.floor,Ze=Math.pow,ve=Math.imul,g9=Math.fround,Lt=Math.min,xi=Math.clz32,C7=0,Mt=null,Fi=null;function Li(i){return i}function Fn(i){C7++,A.monitorRunDependencies&&A.monitorRunDependencies(C7)}A.addRunDependency=Fn;function gr(i){if(C7--,A.monitorRunDependencies&&A.monitorRunDependencies(C7),C7==0&&(Mt!==null&&(clearInterval(Mt),Mt=null),Fi)){var $=Fi;Fi=null,$()}}A.removeRunDependency=gr,A.preloadedImages={},A.preloadedAudios={};var NC=null,kh=[];Gs=8,Or=Gs+553552,T$.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+41032),E3([1],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+72464),E3([1],"i8",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.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",M3,N.GLOBAL_BASE+551416);var Q8=N.alignMemory(E3(12,"i8",Ms),8);J4(Q8%8==0);function zm(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3]}function hr(i){Y9[Q8]=Y9[i],Y9[Q8+1]=Y9[i+1],Y9[Q8+2]=Y9[i+2],Y9[Q8+3]=Y9[i+3],Y9[Q8+4]=Y9[i+4],Y9[Q8+5]=Y9[i+5],Y9[Q8+6]=Y9[i+6],Y9[Q8+7]=Y9[i+7]}var Ji=Vm,qo=P$,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 lp(i){switch(i){case 30:return qm;case 85:return Pr/qm;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=jk;var cp=!0;A._strlen=Vk,A._strcat=zk,A._bitshift64Shl=iv;function Ek(){A.abort()}A._i64Add=Zk;var Ck=Me,mk={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"},Ln={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Ln.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Ln.stream_ops)},stream_ops:{open:function(i){var $=Ln.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,u,O){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,W0=0;W00?$=u.slice(0,O).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=Hr($,!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,u){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 O=k.createNode(i,$,h,u);return k.isDir(O.mode)?(O.node_ops=v9.ops_table.dir.node,O.stream_ops=v9.ops_table.dir.stream,O.contents={}):k.isFile(O.mode)?(O.node_ops=v9.ops_table.file.node,O.stream_ops=v9.ops_table.file.stream,O.usedBytes=0,O.contents=null):k.isLink(O.mode)?(O.node_ops=v9.ops_table.link.node,O.stream_ops=v9.ops_table.link.stream):k.isChrdev(O.mode)&&(O.node_ops=v9.ops_table.chrdev.node,O.stream_ops=v9.ops_table.chrdev.stream),O.timestamp=Date.now(),i&&(i.contents[$]=O),O},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 u=1024*1024;$=Math.max($,h*(h0&&i.contents.set(O.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,u){return v9.createNode(i,$,h,u)},rename:function(i,$,h){if(k.isDir(i.mode)){var u;try{u=k.lookupNode($,h)}catch{}if(u)for(var O in u.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 u 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 u=v9.createNode(i,$,41471,0);return u.link=h,u},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,u,O){var e=i.node.contents;if(O>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-O,u);if(J4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(O,O+W0),h);else for(var t1=0;t10||O+uT5.timestamp)&&(O.push(y5),u++)});var e=[];if(Object.keys($.entries).forEach(function(y5){var p2=$.entries[y5],T5=i.entries[y5];T5||(e.push(y5),u++)}),!u)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([m7.DB_STORE_NAME],"readwrite"),o1=s.objectStore(m7.DB_STORE_NAME);function m(y5){if(y5)return m.errored?void 0:(m.errored=!0,h(y5));if(++t1>=u)return h(null)}s.onerror=function(y5){m(this.error),y5.preventDefault()},O.sort().forEach(function(y5){$.type==="local"?m7.loadRemoteEntry(o1,y5,function(p2,T5){if(p2)return m(p2);m7.storeLocalEntry(y5,T5,m)}):m7.loadLocalEntry(y5,function(p2,T5){if(p2)return m(p2);m7.storeRemoteEntry(o1,y5,T5,m)})}),e.sort().reverse().forEach(function(y5){$.type==="local"?m7.removeLocalEntry(y5,m):m7.removeRemoteEntry(o1,y5,m)})}},l8={isWindows:!1,staticInit:function(){l8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return J4(d),l8.createNode(null,"/",l8.getMode(i.opts.root),0)},createNode:function(i,$,h,u){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var O=k.createNode(i,$,h);return O.node_ops=l8.node_ops,O.stream_ops=l8.stream_ops,O},getMode:function(i){var $;try{$=B7.lstatSync(i),l8.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(),l9.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 l8.flagsToPermissionStringMap?l8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=l8.realPath(i),h;try{h=B7.lstatSync($)}catch(u){throw u.code?new k.ErrnoError(L2[u.code]):u}return l8.isWindows&&!h.blksize&&(h.blksize=4096),l8.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=l8.realPath(i);try{if($.mode!==void 0&&(B7.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var u=new Date($.timestamp);B7.utimesSync(h,u,u)}$.size!==void 0&&B7.truncateSync(h,$.size)}catch(O){throw O.code?new k.ErrnoError(L2[O.code]):O}},lookup:function(i,$){var h=l9.join2(l8.realPath(i),$),u=l8.getMode(h);return l8.createNode(i,$,u)},mknod:function(i,$,h,u){var O=l8.createNode(i,$,h,u),e=l8.realPath(O);try{k.isDir(O.mode)?B7.mkdirSync(e,O.mode):B7.writeFileSync(e,"",{mode:O.mode})}catch(W0){throw W0.code?new k.ErrnoError(L2[W0.code]):W0}return O},rename:function(i,$,h){var u=l8.realPath(i),O=l9.join2(l8.realPath($),h);try{B7.renameSync(u,O)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=l9.join2(l8.realPath(i),$);try{B7.unlinkSync(h)}catch(u){throw u.code?new k.ErrnoError(L2[u.code]):u}},rmdir:function(i,$){var h=l9.join2(l8.realPath(i),$);try{B7.rmdirSync(h)}catch(u){throw u.code?new k.ErrnoError(L2[u.code]):u}},readdir:function(i){var $=l8.realPath(i);try{return B7.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var u=l9.join2(l8.realPath(i),$);try{B7.symlinkSync(h,u)}catch(O){throw O.code?new k.ErrnoError(L2[O.code]):O}},readlink:function(i){var $=l8.realPath(i);try{return $=B7.readlinkSync($),$=fp.relative(fp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=l8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=B7.openSync($,l8.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,u,O){if(u===0)return 0;var e=new Buffer(u),W0;try{W0=B7.readSync(i.nfd,e,0,u,O)}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 O=l9.normalizeArray(i.split("/").filter(function(y5){return!!y5}),!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,u=0;u<$.length;u++)h=(h<<5)-h+$.charCodeAt(u)|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 u=k.hashName(i.id,$),O=k.nameTable[u];O;O=O.name_next){var e=O.name;if(O.parent.id===i.id&&e===$)return O}return k.lookup(i,$)},createNode:function(i,$,h,u){if(!k.FSNode){k.FSNode=function(t1,b2,s,o1){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=o1},k.FSNode.prototype={};var O=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&O)===O},set:function(t1){t1?this.mode|=O:this.mode&=~O}},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,u);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 u;try{u=k.lookupNode(i,$)}catch(e){return e.errno}var O=k.nodePermissions(i,"wx");if(O)return O;if(h){if(!k.isDir(u.mode))return L2.ENOTDIR;if(k.isRoot(u)||k.getPath(u)===k.cwd())return L2.EBUSY}else if(k.isDir(u.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 u=new k.FSStream;for(var O in i)u[O]=i[O];i=u;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 u=h.pop();$.push(u),h.push.apply(h,u.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),u=0;function O(e){if(e)return O.errored?void 0:(O.errored=!0,$(e));++u>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return O(null);e.type.syncfs(e,i,O)})},mount:function(i,$,h){var u=h==="/",O=!h,e;if(u&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!u&&!O){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,u?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,u=h.mounted,O=k.getMounts(u);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;O.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(u);J4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var u=k.lookupPath(i,{parent:!0}),O=u.node,e=l9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(L2.EINVAL);var W0=k.mayCreate(O,e);if(W0)throw new k.ErrnoError(W0);if(!O.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return O.node_ops.mknod(O,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(!l9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),u=h.node;if(!u)throw new k.ErrnoError(L2.ENOENT);var O=l9.basename($),e=k.mayCreate(u,O);if(e)throw new k.ErrnoError(e);if(!u.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return u.node_ops.symlink(u,O,i)},rename:function(i,$){var h=l9.dirname(i),u=l9.dirname($),O=l9.basename(i),e=l9.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,O),o1=l9.relative(i,u);if(o1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(o1=l9.relative($,h),o1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var m;try{m=k.lookupNode(b2,e)}catch{}if(s!==m){var y5=k.isDir(s.mode),p2=k.mayDelete(t1,O,y5);if(p2)throw new k.ErrnoError(p2);if(p2=m?k.mayDelete(b2,e,y5):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)||m&&k.isMountpoint(m))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,u=l9.basename(i),O=k.lookupNode(h,u),e=k.mayDelete(h,u,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(O))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,u),k.destroyNode(O);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,u=l9.basename(i),O=k.lookupNode(h,u),e=k.mayDelete(h,u,!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(O))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,u),k.destroyNode(O);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 l9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),u=h.node;if(!u)throw new k.ErrnoError(L2.ENOENT);if(!u.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return u.node_ops.getattr(u)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var u;if(typeof i=="string"){var O=k.lookupPath(i,{follow:!h});u=O.node}else u=i;if(!u.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);u.node_ops.setattr(u,{mode:$&4095|u.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,u){var O;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!u});O=e.node}else O=i;if(!O.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);O.node_ops.setattr(O,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var u=k.getStream(i);if(!u)throw new k.ErrnoError(L2.EBADF);k.chown(u.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var u=k.lookupPath(i,{follow:!0});h=u.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 O=k.nodePermissions(h,"w");if(O)throw new k.ErrnoError(O);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 u=k.lookupPath(i,{follow:!0}),O=u.node;O.node_ops.setattr(O,{timestamp:Math.max($,h)})},open:function(i,$,h,u,O){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=l9.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},u,O);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(m){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+m.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,u,O){if(u<0||O<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 O>"u")O=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var W0=i.stream_ops.read(i,$,h,u,O);return e||(i.position+=W0),W0},write:function(i,$,h,u,O,e){if(u<0||O<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 O>"u")O=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,u,O,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,u,O,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,u,O,e,W0)},msync:function(i,$,h,u,O){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,u,O)},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,u=k.open(i,$.flags),O=k.stat(i),e=O.size,W0=new Uint8Array(e);return k.read(u,W0,0,e,0),$.encoding==="utf8"?h=Ts(W0,0):$.encoding==="binary"&&(h=W0),k.close(u),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 u=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var O=new Uint8Array(Gs($)+1),e=Rn($,O,0,O.length);k.write(u,O,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(u,$,0,$.length,0,h.canOwn);k.close(u)},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,u,O,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Ln.register(k.makedev(5,0),Ln.default_tty_ops),Ln.register(k.makedev(6,0),Ln.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 d?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[Bk>>2]=k.getPtrForStream(i),J4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[pk>>2]=k.getPtrForStream($),J4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Qk>>2]=k.getPtrForStream(h),J4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(u){this.errno=u;for(var O in L2)if(L2[O]===u){this.code=O;break}},this.setErrno($),this.message=mk[$]},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){J4(!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||y5<0)){var p2=y5%this.chunkSize,T5=y5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(y5){this.getter=y5},e.prototype.cacheLength=function(){var y5=new XMLHttpRequest;if(y5.open("HEAD",h,!1),y5.send(null),!(y5.status>=200&&y5.status<300||y5.status===304))throw new Error("Couldn't load "+h+". Status: "+y5.status);var p2=Number(y5.getResponseHeader("Content-length")),T5,R9=(T5=y5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",P9=1024*1024;R9||(P9=p2);var d4=function(V9,c8){if(V9>c8)throw new Error("invalid range ("+V9+", "+c8+") or no bytes requested!");if(c8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var K4=new XMLHttpRequest;if(K4.open("GET",h,!1),p2!==P9&&K4.setRequestHeader("Range","bytes="+V9+"-"+c8),typeof Uint8Array<"u"&&(K4.responseType="arraybuffer"),K4.overrideMimeType&&K4.overrideMimeType("text/plain; charset=x-user-defined"),K4.send(null),!(K4.status>=200&&K4.status<300||K4.status===304))throw new Error("Couldn't load "+h+". Status: "+K4.status);return K4.response!==void 0?new Uint8Array(K4.response||[]):Hr(K4.responseText||"",!0)},y8=this;y8.setDataGetter(function(V9){var c8=V9*P9,K4=(V9+1)*P9-1;if(K4=Math.min(K4,p2-1),typeof y8.chunks[V9]>"u"&&(y8.chunks[V9]=d4(c8,K4)),typeof y8.chunks[V9]>"u")throw new Error("doXHR failed!");return y8.chunks[V9]}),this._length=p2,this._chunkSize=P9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!R)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,u,O);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={},o1=Object.keys(b2.stream_ops);return o1.forEach(function(m){var y5=b2.stream_ops[m];s[m]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);return y5.apply(null,arguments)}}),s.read=function(y5,p2,T5,R9,P9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);var d4=y5.node.contents;if(P9>=d4.length)return 0;var y8=Math.min(d4.length-P9,R9);if(J4(y8>=0),d4.slice)for(var V9=0;V9=0;u--){var O=i[u];O==="."?i.splice(u,1):O===".."?(i.splice(u,1),h++):h&&(i.splice(u,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=l9.normalizeArray(i.split("/").filter(function(u){return!!u}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=l9.splitPath(i),h=$[0],u=$[1];return!h&&!u?".":(u&&(u=u.substr(0,u.length-1)),h+u)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return l9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return l9.normalize(i.join("/"))},join2:function(i,$){return l9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var u=h>=0?arguments[h]:k.cwd();if(typeof u!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!u)return"";i=u+"/"+i,$=u.charAt(0)==="/"}return i=l9.normalizeArray(i.split("/").filter(function(O){return!!O}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=l9.resolve(i).substr(1),$=l9.resolve($).substr(1);function h(s){for(var o1=0;o1=0&&s[m]==="";m--);return o1>m?[]:s.slice(o1,m-o1+1)}for(var u=h(i.split("/")),O=h($.split("/")),e=Math.min(u.length,O.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,o1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=o1:(o1=o1+.5,J1.mainLoop.remainingBlockers=(8*s+o1)/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"&&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 u<"u"?G.dynCall("vi",i,[u]):G.dynCall("v",i)}),!(e0?NC(0,1e3/$):NC(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,gp(h,0,!1,J1.mainLoop.arg,!0),NC(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,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){G.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 m=J1.URLObject.createObjectURL(s),y5=new Image;y5.onload=function(){J4(y5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=y5.width,T5.height=y5.height;var R9=T5.getContext("2d");R9.drawImage(y5,0,0),A.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(m),t1&&t1(e)},y5.onerror=function(T5){console.log("Image "+m+" could not be decoded"),b2&&b2()},y5.src=m},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,b2){var s=!1;function o1(R9){s||(s=!0,A.preloadedAudios[W0]=R9,t1&&t1(e))}function m(){s||(s=!0,A.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var y5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return m()}var p2=J1.URLObject.createObjectURL(y5),T5=new Audio;T5.addEventListener("canplaythrough",function(){o1(T5)},!1),T5.onerror=function(P9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function d4(y8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c8="=",K4="",Mi=0,Ti=0,fr=0;fr=6;){var J$=Mi>>Ti-6&63;Ti-=6,K4+=V9[J$]}return Ti==2?(K4+=V9[(Mi&3)<<4],K4+=c8+c8):Ti==4&&(K4+=V9[(Mi&15)<<2],K4+=c8),K4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+d4(e),o1(T5)},T5.src=p2,J1.safeSetTimeout(function(){o1(T5)},1e4)}else return m()},A.preloadPlugins.push($);var h=A.canvas;function u(){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",u,!1),document.addEventListener("mozpointerlockchange",u,!1),document.addEventListener("webkitpointerlockchange",u,!1),document.addEventListener("mspointerlockchange",u,!1),A.elementPointerLock&&h.addEventListener("click",function(O){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),O.preventDefault())},!1))},createContext:function(i,$,h,u){if($&&A.ctx&&i==A.canvas)return A.ctx;var O,e;if($){var W0={antialias:!1,alpha:!1};if(u)for(var t1 in u)W0[t1]=u[t1];e=GL.createContext(i,W0),e&&(O=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else O=i.getContext("2d");return O?(h&&($||J4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),A.ctx=O,$&&GL.makeContextCurrent(e),A.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),O):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 u=A.canvas;function O(){J1.isFullScreen=!1;var W0=u.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(u.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},u.cancelFullScreen=u.cancelFullScreen.bind(document),J1.lockPointer&&u.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(u,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),A.onFullScreen&&A.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(u)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",O,!1),document.addEventListener("mozfullscreenchange",O,!1),document.addEventListener("webkitfullscreenchange",O,!1),document.addEventListener("MSFullscreenChange",O,!1));var e=document.createElement("div");u.parentNode.insertBefore(e,u),e.appendChild(u),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(!N0)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(){N0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return A.noExitRuntime=!0,setTimeout(function(){N0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return A.noExitRuntime=!0,setInterval(function(){N0||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,u=A.canvas.height,O=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-(O+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(u/$.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 o1=J1.touches[W0.identifier];o1||(o1=s),J1.lastTouches[W0.identifier]=o1,J1.touches[W0.identifier]=s}return}var m=i.pageX-(O+$.left),y5=i.pageY-(e+$.top);m=m*(h/$.width),y5=y5*(u/$.height),J1.mouseMovementX=m-J1.mouseX,J1.mouseMovementY=y5-J1.mouseY,J1.mouseX=m,J1.mouseY=y5}},xhrLoad:function(i,$,h){var u=new XMLHttpRequest;u.open("GET",i,!0),u.responseType="arraybuffer",u.onload=function(){u.status==200||u.status==0&&u.response?$(u.response):h()},u.onerror=h,u.send(null)},asyncLoad:function(i,$,h,u){J1.xhrLoad(i,function(O){J4(O,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(O)),u||gr("al "+i)},function(O){if(h)h();else throw'Loading data file "'+i+'" failed.'}),u||Fn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=A.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var u=A.canvas;J1.updateCanvasDimensions(u,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+G.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+G.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+G.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+G.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var u=$,O=h;if(A.forcedAspectRatio&&A.forcedAspectRatio>0&&(u/O>2]=$),$}function Gk(){A.printErr("missing function: floor0_exportbundle"),Ys(-1)}if(Hs=G.staticAlloc(4),_9[Hs>>2]=0,A.requestFullScreen=function($,h,u){J1.requestFullScreen($,h,u)},A.requestAnimationFrame=function($){J1.requestAnimationFrame($)},A.setCanvasSize=function($,h,u){J1.setCanvasSize($,h,u)},A.pauseMainLoop=function(){J1.mainLoop.pause()},A.resumeMainLoop=function(){J1.mainLoop.resume()},A.getUserMedia=function(){J1.getUserMedia()},A.createContext=function($,h,u,O){return J1.createContext($,h,u,O)},k.staticInit(),T$.unshift(function(){!A.noFSInit&&!k.init.initialized&&k.init()}),ph.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,T$.unshift(function(){Ln.init()}),G$.push(function(){Ln.shutdown()}),d)var B7=void 0,fp=void 0;Bh=Ci=G.alignMemory(Or),x$=!0,F$=Bh+FC,L$=_i=G.alignMemory(F$),J4(L$>0]=u[t>>0],u[p2+1>>0]=u[t+1>>0],u[p2+2>>0]=u[t+2>>0],u[p2+3>>0]=u[t+3>>0]}function Bb(t){t=t|0,u[p2>>0]=u[t>>0],u[p2+1>>0]=u[t+1>>0],u[p2+2>>0]=u[t+2>>0],u[p2+3>>0]=u[t+3>>0],u[p2+4>>0]=u[t+4>>0],u[p2+5>>0]=u[t+5>>0],u[p2+6>>0]=u[t+6>>0],u[p2+7>>0]=u[t+7>>0]}function Ev(t){t=t|0,H6=t}function Cv(){return H6|0}function jm(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0;E=m,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,u[n>>0]=0,c=t+16|0,e[c>>2]=256}function mv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0;_=m,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,b=t+4|0,e[b>>2]=w,e[t>>2]=o,c=8+(w<<2)|0,f=e[c>>2]|0,E=u[Q>>0]|0,I=E&255,C=I&f,p=C&255,u[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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0;P0=m,f=o>>>0>32;do if(!f){if(E=e[t>>2]|0,b=t+16|0,t0=e[b>>2]|0,n0=t0+-4|0,Q0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,Q0)T=c;else{if(F0=(c|0)==0,F0)return;if(Y0=(t0|0)>2147483391,Y0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,C=Ni(z0,I)|0,p=(C|0)==0,p))break;e[O0>>2]=C,B=e[b>>2]|0,v=B+256|0,e[b>>2]=v,S=e[t>>2]|0,w=C+S|0,e[a>>2]=w,T=w}y=8+(o<<2)|0,D=e[y>>2]|0,Q=D&n,x=t+4|0,_=e[x>>2]|0,F=_+o|0,L=Q<<_,M=u[T>>0]|0,N=M&255,P=N|L,z=P&255,u[T>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[x>>2]|0,W=8-J|0,e0=Q>>>W,H=e0&255,X=e[a>>2]|0,U=X+1|0,u[U>>0]=H,a0=(F|0)>15,a0&&(Z=e[x>>2]|0,V=16-Z|0,o0=Q>>>V,i0=o0&255,r0=e[a>>2]|0,K=r0+2|0,u[K>>0]=i0,c0=(F|0)>23,c0&&(s0=e[x>>2]|0,l0=24-s0|0,j=Q>>>l0,$0=j&255,g0=e[a>>2]|0,f0=g0+3|0,u[f0>>0]=$0,d0=(F|0)>31,d0))))if(w0=e[x>>2]|0,h0=(w0|0)==0,h0){b0=e[a>>2]|0,m0=b0+4|0,u[m0>>0]=0;break}else{E0=32-w0|0,C0=Q>>>E0,I0=C0&255,v0=e[a>>2]|0,K0=v0+4|0,u[K0>>0]=I0;break}while(!1);L0=(F|0)/8&-1,T0=e[t>>2]|0,U0=T0+L0|0,e[t>>2]=U0,B0=e[a>>2]|0,q0=B0+L0|0,e[a>>2]=q0,x0=F&7,e[x>>2]=x0;return}while(!1);D0=t+8|0,M0=e[D0>>2]|0,J0=(M0|0)==0,J0||d2(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 Xm(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;f=m,n=t+8|0,o=e[n>>2]|0,a=(o|0)==0,a||d2(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 ht(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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,u[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function eB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0;if(v0=m,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,g0=V+n|0,Q0=e[t>>2]|0,d0=t+16|0,w0=e[d0>>2]|0,h0=w0+-4|0,f=(Q0|0)<(h0|0),!f){if(E=g0+7|0,I=E>>3,C=w0-I|0,p=(Q0|0)>(C|0),p)return o=-1,o|0;if(B=(g0|0)==0,B)return o=0,o|0}return v=t+12|0,S=e[v>>2]|0,w=u[S>>0]|0,y=w&255,Q=y>>>V,b=(g0|0)>8,b?(x=S+1|0,_=u[x>>0]|0,F=_&255,L=8-V|0,M=F<16,N?(P=S+2|0,Y=u[P>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=S+3|0,U=u[X>>0]|0,a0=U&255,Z=24-V|0,o0=a0<>0]|0,s0=c0&255,l0=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,b=y-Q|0,x=(S|0)>(b|0),x){B=t+12|0,e[B>>2]=0,e[t>>2]=y,_=1,e[o>>2]=_;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,C=S+c|0,e[t>>2]=C,p=v&7,_=p,e[o>>2]=_;return}}function z4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;D0=m,C=n>>>0>32;do if(C)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,m0=c;else{if(p=8+(n<<2)|0,F=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,h0=K+n|0,F0=e[t>>2]|0,L0=t+16|0,T0=e[L0>>2]|0,U0=T0+-4|0,B=(F0|0)<(U0|0),!B){if(v=h0+7|0,S=v>>3,w=T0-S|0,y=(F0|0)>(w|0),y){f=t,E=e0,m0=T0;break}if(D=(h0|0)==0,D)return o=0,o|0}return Q=t+12|0,b=e[Q>>2]|0,x=u[b>>0]|0,_=x&255,L=_>>>K,M=(h0|0)>8,M?(T=b+1|0,N=u[T>>0]|0,P=N&255,z=8-K|0,Y=P<16,J?(W=b+2|0,H=u[W>>0]|0,X=H&255,U=16-K|0,a0=X<24,V?(o0=b+3|0,n0=u[o0>>0]|0,i0=n0&255,r0=24-K|0,c0=i0<>0]|0,f0=g0&255,Q0=32-K|0,d0=f0<>2]=I0,v0=F0+C0|0,e[t>>2]=v0,K0=h0&7,e[e0>>2]=K0,o=E0,o|0}while(!1);return b0=t+12|0,e[b0>>2]=0,e[f>>2]=m0,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,C=0;return C=m,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 Pp(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+8|0,o=e[n>>2]|0,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0;if(M=m,c=(t|0)==0,c)return o=-1,o|0;ne(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,b=t+20|0,e[b>>2]=Q,x=(w|0)==0;do if(x)I=y;else{if(_=(y|0)==0,E=(Q|0)==0,F=E|_,F){d2(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 C=(I|0)==0,C||d2(I),p=e[b>>2]|0,B=(p|0)==0,B||d2(p),ne(t|0,0,360)|0,o=-1,o|0}function pv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0;return v=m,n=(t|0)==0,n||(o=e[t>>2]|0,a=(o|0)==0,a||d2(o),c=t+16|0,f=e[c>>2]|0,E=(f|0)==0,E||d2(f),I=t+20|0,C=e[I>>2]|0,p=(C|0)==0,p||d2(C),ne(t|0,0,360)|0),0}function Qv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0;if(T0=m,n=(t|0)==0,!n){if(o=e[t>>2]|0,w=o+22|0,u[w>>0]=0,N=e[t>>2]|0,a0=N+23|0,u[a0>>0]=0,j=e[t>>2]|0,w0=j+24|0,u[w0>>0]=0,h0=e[t>>2]|0,E0=h0+25|0,u[E0>>0]=0,C0=t+4|0,a=e[C0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,v0=0,m0=0;;)if(v=v0<<8,S=v0>>>24,y=f+m0|0,D=u[y>>0]|0,Q=D&255,b=Q^S,x=144+(b<<2)|0,_=e[x>>2]|0,F=_^v,L=m0+1|0,M=(L|0)<(a|0),M)v0=F,m0=L;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,C=(I|0)>0,C)for(p=t+8|0,B=e[p>>2]|0,b0=I0,F0=0;;)if(T=b0<<8,P=b0>>>24,z=B+F0|0,Y=u[z>>0]|0,t0=Y&255,J=t0^P,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^T,X=F0+1|0,U=(X|0)<(I|0),U)b0=H,F0=X;else{K0=H;break}else K0=I0;Z=K0&255,V=e[t>>2]|0,o0=V+22|0,u[o0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,K=r0+23|0,u[K>>0]=i0,c0=K0>>>16,s0=c0&255,l0=e[t>>2]|0,$0=l0+24|0,u[$0>>0]=s0,g0=K0>>>24,f0=g0&255,Q0=e[t>>2]|0,d0=Q0+25|0,u[d0>>0]=f0}}function yv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0;if(I2=m,j=(t|0)==0,j||(v0=e[t>>2]|0,D0=(v0|0)==0,D0))return I=-1,I|0;if(S0=(n|0)==0,S0)return I=0,I|0;Z0=(o|0)>0;e:do if(Z0){for(u2=0,y2=0;;){if(y1=(n+(y2<<3)|0)+4|0,P1=e[y1>>2]|0,s2=(P1|0)<0,y=2147483647-P1|0,P=(u2|0)>(y|0),M2=s2|P,M2){I=-1;break}if(Z=P1+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,c0=t+12|0,s0=e[c0>>2]|0,l0=(s0|0)==0,w=t+8|0,l0||($0=e[w>>2]|0,g0=$0-s0|0,e[w>>2]=g0,f0=($0|0)==(s0|0),f0||(Q0=v0+s0|0,Zo(v0|0,Q0|0,g0|0)|0),e[c0>>2]=0),d0=t+4|0,w0=e[d0>>2]|0,h0=w0-n2|0,E0=e[w>>2]|0,C0=(h0|0)>(E0|0);do if(!C0){if(I0=2147483647-n2|0,K0=(w0|0)>(I0|0),K0)return b0=e[t>>2]|0,m0=(b0|0)==0,m0||d2(b0),F0=t+16|0,L0=e[F0>>2]|0,T0=(L0|0)==0,T0||d2(L0),U0=t+20|0,B0=e[U0>>2]|0,q0=(B0|0)==0,q0||d2(B0),ne(t|0,0,360)|0,I=-1,I|0;if(x0=w0+n2|0,M0=(x0|0)<2147482623,J0=x0+1024|0,E=M0?J0:x0,Y0=e[t>>2]|0,O0=Ni(Y0,E)|0,z0=(O0|0)==0,!z0){e[d0>>2]=E,e[t>>2]=O0;break}return G0=e[t>>2]|0,P0=(G0|0)==0,P0||d2(G0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||d2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||d2(c1),ne(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=wv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(Z0)for(p=e[w>>2]|0,p1=p,S2=0;d1=e[t>>2]|0,B1=d1+p1|0,Q1=n+(S2<<3)|0,R1=e[Q1>>2]|0,x1=(n+(S2<<3)|0)+4|0,S1=e[x1>>2]|0,n4(B1|0,R1|0,S1|0)|0,F1=e[x1>>2]|0,L1=e[w>>2]|0,N1=L1+F1|0,e[w>>2]=N1,w1=S2+1|0,e2=(w1|0)==(o|0),!e2;)p1=N1,S2=w1;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,E1=e[h1>>2]|0,u1=(r0|0)>1,m2=0;U1=a1+m2|0,Z1=A1+(U1<<2)|0,e[Z1>>2]=255,G1=I1,D1=G1,K1=e[D1>>2]|0,H1=G1+4|0,q1=H1,Y1=e[q1>>2]|0,j1=E1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=K1,O1=r2+4|0,l2=O1,e[l2>>2]=Y1,z1=m2+1|0,f2=(z1|0)<(r0|0),f2;)m2=z1;_2=u1?r0:1,B=I1,a2=E1,w2=_2}else C=t+20|0,v=e[C>>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,g2=a2+(A2<<3)|0,t2=g2,$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,b=Q,e[b>>2]=f,x=A1+(a1<<2)|0,_=e[x>>2]|0,F=_|256,e[x>>2]=F,L=a1+K|0,e[s1>>2]=L,M=t+344|0,T=M,N=T,z=e[N>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=Vs(z|0,J|0,1,0)|0,e0=H6,H=M,X=H,e[X>>2]=W,U=H+4|0,a0=U,e[a0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(o0=t+328|0,e[o0>>2]=1,I=0,I|0)}function qC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0;return x=m,m=m+16|0,Q=x,o=e[n>>2]|0,e[Q>>2]=o,a=n+4|0,C=e[a>>2]|0,p=Q+4|0,e[p>>2]=C,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=yv(t,Q,1,v,D,E)|0,m=x,I|0}function Hp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0;return c=m,o=Yp(t,n,1,4096)|0,o|0}function qp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0;return x=m,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(o=0,o|0):(C=t+328|0,p=e[C>>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?b=7:D=0):Q?D=0:b=7,(b|0)==7&&(D=1),y=Yp(t,n,D,4096)|0,o=y,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;return $0=m,c=t+24|0,f=e[c>>2]|0,Q=f-n|0,Y=t+28|0,o0=e[Y>>2]|0,r0=(Q|0)>(o0|0),r0?(a=0,a|0):(K=2147483647-n|0,c0=(f|0)>(K|0),c0?(s0=e[t>>2]|0,l0=(s0|0)==0,l0||d2(s0),E=t+16|0,I=e[E>>2]|0,C=(I|0)==0,C||d2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||d2(B),ne(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,b=e[D>>2]|0,x=o<<2,_=Ni(b,x)|0,F=(_|0)==0,F?(L=e[t>>2]|0,M=(L|0)==0,M||d2(L),T=e[D>>2]|0,N=(T|0)==0,N||d2(T),P=t+20|0,z=e[P>>2]|0,t0=(z|0)==0,t0||d2(z),ne(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=_,J=t+20|0,W=e[J>>2]|0,e0=o<<3,H=Ni(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,a0=(U|0)==0,a0||d2(U),Z=e[D>>2]|0,V=(Z|0)==0,V||d2(Z),n0=e[J>>2]|0,i0=(n0|0)==0,i0||d2(n0),ne(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=H,e[c>>2]=o,a=0,a|0))))}function Yp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0;if(w5=m,Q=t+28|0,b=e[Q>>2]|0,c1=(b|0)>255,c=c1?255:b,h1=(t|0)==0,h1||(F1=e[t>>2]|0,q1=(F1|0)==0,A2=(c|0)==0,y3=A2|q1,y3))return f=0,f|0;e2=t+332|0,q2=e[e2>>2]|0,V2=(q2|0)==0;e:do if(V2)for(d0=t+16|0,$3=0;;){if(L0=($3|0)<(c|0),!L0){I=o,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,q5=$3,P5=14;break e}if(z0=e[d0>>2]|0,H0=z0+($3<<2)|0,e1=e[H0>>2]|0,S0=e1&255,i1=(S0|0)==255,$1=$3+1|0,i1)$3=$1;else{I=o,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,q5=$1,P5=14;break}}else if(x=(c|0)>0,x){for(J=t+16|0,i0=t+20|0,C5=0,v5=-1,c5=-1,o5=-1,z2=-1,c2=-1,B5=-1,e5=-1,n5=-1,W5=0,R3=0,m3=0;;){if(f1=(C5|0)>(a|0),g1=(W5|0)>3,T3=f1&g1,T3){E=1,N5=v5,_5=c5,H2=o5,I5=z2,A5=c2,l5=B5,m5=e5,M1=n5,l3=m3;break}if(l1=e[J>>2]|0,s1=l1+(m3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,A1=n1+C5|0,Z0=(n1|0)==255,Z0?(g5=v5,Y2=c5,h5=o5,t5=z2,R5=c2,W2=B5,a5=e5,F2=n5,t6=0,G3=R3):(I1=e[i0>>2]|0,E1=I1+(m3<<3)|0,u1=E1,d1=u1,B1=e[d1>>2]|0,p1=u1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,y1=B1&255,S1=zs(B1|0,R1|0,8)|0,L1=H6,N1=S1&255,w1=zs(B1|0,R1|0,16)|0,U1=H6,Z1=w1&255,G1=zs(B1|0,R1|0,24)|0,D1=H6,K1=G1&255,P1=R1&255,H1=zs(B1|0,R1|0,40)|0,Y1=H6,j1=H1&255,r2=zs(B1|0,R1|0,48)|0,W1=H6,O1=r2&255,l2=zs(B1|0,R1|0,56)|0,z1=H6,f2=l2&255,g5=y1,Y2=Z1,h5=K1,t5=P1,R5=j1,W2=O1,a5=f2,F2=N1,t6=x1,G3=x1),s2=m3+1|0,E2=(s2|0)<(c|0),E2)C5=A1,v5=g5,c5=Y2,o5=h5,z2=t5,c2=R5,B5=W2,e5=a5,n5=F2,W5=t6,R3=G3,m3=s2;else{E=o,N5=g5,_5=Y2,H2=h5,I5=t5,A5=R5,l5=W2,m5=a5,M1=F2,l3=s2;break}}V1=(l3|0)==255,V1?(n3=N5,C3=_5,L5=H2,K5=I5,w3=A5,f3=l5,B3=m5,K3=M1,U5=255):(I=E,p5=N5,H5=_5,X5=H2,d5=I5,u3=A5,h3=l5,J5=m5,e3=M1,q5=l3,P5=14)}else I=o,p5=-1,H5=-1,X5=-1,d5=-1,u3=-1,h3=-1,J5=-1,e3=-1,q5=0,P5=14;while(!1);if((P5|0)==14){if(g2=(I|0)==0,g2)return f=0,f|0;n3=p5,C3=H5,L5=X5,K5=d5,w3=u3,f3=h3,B3=J5,K3=e3,U5=q5}if(a2=t+40|0,u[a2>>0]=79,u[a2+1>>0]=103,u[a2+2>>0]=103,u[a2+3>>0]=83,t2=t+44|0,u[t2>>0]=0,$2=t+45|0,u[$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,C=V2?y2:u2,o3=C&255,u[$2>>0]=o3,S2=t+328|0,w2=e[S2>>2]|0,m2=(w2|0)!=0,M2=(b|0)==(U5|0),z5=m2&M2,z5&&(p=V2?y2:u2,_2=p|4,G2=_2&255,u[$2>>0]=G2),e[e2>>2]=1,I2=t+46|0,u[I2>>0]=n3,J2=t+47|0,u[J2>>0]=K3,N2=t+48|0,u[N2>>0]=C3,T2=t+49|0,u[T2>>0]=L5,O2=t+50|0,u[O2>>0]=K5,K2=t+51|0,u[K2>>0]=w3,s5=t+52|0,u[s5>>0]=f3,P2=t+53|0,u[P2>>0]=B3,T1=t+336|0,j2=e[T1>>2]|0,x5=j2&255,X2=t+54|0,u[X2>>0]=x5,D5=j2>>>8,f5=D5&255,k5=t+55|0,u[k5>>0]=f5,O5=j2>>>16,$5=O5&255,v2=t+56|0,u[v2>>0]=$5,E5=j2>>>24,r5=E5&255,x2=t+57|0,u[x2>>0]=r5,R2=t+340|0,B2=e[R2>>2]|0,_=(B2|0)==-1,_?(e[R2>>2]=0,L=0):L=B2,F=L+1|0,e[R2>>2]=F,M=L&255,T=t+58|0,u[T>>0]=M,N=L>>>8,P=N&255,z=t+59|0,u[z>>0]=P,Y=L>>>16,t0=Y&255,W=t+60|0,u[W>>0]=t0,e0=L>>>24,H=e0&255,X=t+61|0,u[X>>0]=H,U=t+62|0,a0=U5&255,Z=t+66|0,u[U>>0]=0,u[U+1>>0]=0,u[U+2>>0]=0,u[U+3>>0]=0,u[Z>>0]=a0,V=(U5|0)>0,V){if(o0=e[o2>>2]|0,n0=o0&255,r0=t+67|0,u[r0>>0]=n0,K=o0&255,b5=(U5|0)==1,b5)B=K;else for(s0=1,w0=K;;)if(S=e[i2>>2]|0,c0=S+(s0<<2)|0,l0=e[c0>>2]|0,j=l0&255,$0=s0+27|0,g0=(t+40|0)+$0|0,u[g0>>0]=j,f0=l0&255,Q0=f0+w0|0,h0=s0+1|0,u5=(h0|0)==(U5|0),u5){B=Q0;break}else s0=h0,w0=Q0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,m0=w,B0=y,x0=D,F5=B}else m0=F1,B0=b,x0=o2,F5=0;return e[n>>2]=a2,E0=U5+27|0,C0=t+324|0,e[C0>>2]=E0,I0=n+4|0,e[I0>>2]=E0,v0=t+12|0,K0=e[v0>>2]|0,b0=m0+K0|0,F0=n+8|0,e[F0>>2]=b0,T0=n+12|0,e[T0>>2]=F5,U0=B0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,D0=U0<<2,Zo(x0|0,q0|0,D0|0)|0,M0=t+20|0,J0=e[M0>>2]|0,Y0=J0+(U5<<3)|0,O0=e[Q>>2]|0,G0=O0<<3,Zo(J0|0,Y0|0,G0|0)|0,P0=e[v0>>2]|0,r1=P0+F5|0,e[v0>>2]=r1,Qv(n),f=1,f|0}function kv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0;return H0=m,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,ht(V),g0=c+16|0,b0=e[g0>>2]|0,ht(b0),J0=c+20|0,G0=e[J0>>2]|0,ht(G0),P0=c+24|0,f=e[P0>>2]|0,ht(f),E=c+28|0,I=e[E>>2]|0,ht(I),C=c+32|0,p=e[C>>2]|0,ht(p),B=c+36|0,v=e[B>>2]|0,ht(v),S=c+40|0,w=e[S>>2]|0,ht(w),y=c+44|0,Q=e[y>>2]|0,ht(Q),b=c+48|0,x=e[b>>2]|0,ht(x),_=c+52|0,F=e[_>>2]|0,ht(F),L=c+56|0,M=e[L>>2]|0,ht(M),T=c+60|0,N=e[T>>2]|0,ht(N),P=c+64|0,Y=e[P>>2]|0,ht(Y),t0=c+68|0,J=e[t0>>2]|0,ht(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=QQ[H&1](t)|0,U=(X|0)==0,U?(a0=(n|0)==0,a0?(o=0,o|0):(Z=bh(t)|0,o0=(Z|0)==0,o0?(n0=t+4|0,i0=Pp(n0)|0,e[n>>2]=i0,r0=p7(n0)|0,K=n+4|0,e[K>>2]=r0,c0=n+8|0,e[c0>>2]=0,s0=t+44|0,l0=e[s0>>2]|0,j=n+12|0,e[j>>2]=l0,$0=t+48|0,f0=$0,Q0=f0,d0=e[Q0>>2]|0,w0=f0+4|0,h0=w0,E0=e[h0>>2]|0,C0=n+16|0,I0=C0,v0=I0,e[v0>>2]=d0,K0=I0+4|0,m0=K0,e[m0>>2]=E0,F0=t+56|0,L0=F0,T0=L0,U0=e[T0>>2]|0,B0=L0+4|0,q0=B0,x0=e[q0>>2]|0,D0=n+24|0,M0=D0,Y0=M0,e[Y0>>2]=U0,O0=M0+4|0,z0=O0,e[z0>>2]=x0,o=0,o|0):(o=-131,o|0))):(o=X,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0;d0=m,o=t+28|0,a=e[o>>2]|0,f0=n,w0=f0+48|0;do e[f0>>2]=0,f0=f0+4|0;while((f0|0)<(w0|0));y=a+3372|0,P=e[y>>2]|0,Z=(P|0)>0,Z&&(s0=t+8|0,l0=e[s0>>2]|0,j=e[a>>2]|0,$0=j>>1,g0=a+4|0,c=e[g0>>2]|0,f=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=f,e[n>>2]=1,I=a+3360|0,C=e[I>>2]|0,p=+(C|0),B=+($0|0),v=p*B,S=+(l0|0),w=v/S,D=+Gi(w),Q=~~D,b=n+12|0,e[b>>2]=Q,x=a+3364|0,_=e[x>>2]|0,F=+(_|0),L=F*B,M=L/S,T=+Gi(M),N=~~T,z=n+16|0,e[z>>2]=N,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/S,H=+Gi(e0),X=~~H,U=n+20|0,e[U>>2]=X,a0=n+32|0,o1[a0>>3]=7,V=+(P|0),o0=a+3376|0,n0=+o1[o0>>3],i0=V*n0,r0=~~i0,K=n+8|0,e[K>>2]=r0,c0=n+4|0,e[c0>>2]=r0)}function Sv(t){t=t|0;var n=0,o=0,a=0,c=0;a=m,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function bh(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,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,C=(I|0)!=0,n=C&1,n|0}function Dv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0;if(S6=m,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,c2=e[_5>>2]|0,F2=v2+4|0,L5=e[F2>>2]|0,R3=L5+28|0,M5=e[R3>>2]|0,v=c2+112|0,M=+o1[v>>3],X=+Gi(M),s0=~~X,C0=(B+12|0)+(s0<<2)|0,q0=e[C0>>2]|0,H0=p7(q0)|0,n1=H0<<3,R1=t+28|0,D1=e[R1>>2]|0,f2=(D1|0)==0,X1=c2+96|0,I2=e[X1>>2]|0,f2?(x5=c2+100|0,D5=e[x5>>2]|0,U=I2,w0=x5,I0=D5):(V2=c2+104|0,f5=e[V2>>2]|0,k5=c2+100|0,O5=e[k5>>2]|0,$5=i5(f5,I2)|0,E5=i5(f5,O5)|0,U=$5,w0=k5,I0=E5),r5=M5+(D1<<2)|0,x2=e[r5>>2]|0,R2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,F5=+(C5|0),u5=M5+3376|0,b5=+o1[u5>>3],N5=F5*b5,H2=~~N5,I5=c2+80|0,A5=e[I5>>2]|0,l5=(A5|0)==0,m5=c2+120|0,l5)return M1=e[m5>>2]|0,v5=(M1|0)==0,v5?(e[m5>>2]=t,o=0,o|0):(o=-1,o|0);if(e[m5>>2]=t,c5=c2+92|0,o5=e[c5>>2]|0,z2=(o5|0)>0,z2){f2?a5=o5:(B5=c2+104|0,e5=e[B5>>2]|0,n5=i5(e5,o5)|0,a5=n5),g5=M5+3384|0,Y2=+o1[g5>>3],h5=15/Y2,t5=c2+84|0,R5=e[t5>>2]|0,W2=n1-a5|0,p5=R5+W2|0,H5=(p5|0)>(H2|0);e:do if(H5)if(X5=(s0|0)>0,d5=(n1|0)>(a5|0),v6=d5&X5,v6)if(u3=n1-a5|0,h3=u3+R5|0,J5=(h3|0)>(H2|0),J5)for(U3=s0;;){if(e3=U3+-1|0,n3=(B+12|0)+(e3<<2)|0,C3=e[n3>>2]|0,K5=p7(C3)|0,w3=K5<<3,f3=(U3|0)>1,B3=(w3|0)>(a5|0),k6=B3&f3,!k6){V5=e3;break e}if(I=e[t5>>2]|0,K3=w3-a5|0,T3=K3+I|0,z5=(T3|0)>(H2|0),z5)U3=e3;else{V5=e3;break}}else V5=s0;else V5=s0;else if(y3=(p5|0)<(H2|0),y3)if(W5=s0+1|0,t6=(W5|0)<15,G3=(n1|0)<(a5|0),j3=G3&t6,j3)if(o3=n1-a5|0,$3=o3+R5|0,l3=($3|0)<(H2|0),l3)for(q5=W5;;){if(m3=(B+12|0)+(q5<<2)|0,U5=e[m3>>2]|0,P5=p7(U5)|0,w5=P5<<3,N3=q5+1|0,n6=(N3|0)<15,t3=(w5|0)<(a5|0),B6=t3&n6,!B6){V5=q5;break e}if(E=e[t5>>2]|0,A3=w5-a5|0,x3=A3+E|0,h6=(x3|0)<(H2|0),h6)q5=N3;else{V5=q5;break}}else V5=s0;else V5=s0;else V5=s0;while(!1);p3=+(V5|0),k3=+o1[v>>3],Q3=p3-k3,i6=+Gi(Q3),W3=+(R2|0),S=i6/W3,w=L5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*S,b=-h5,x=Qh5,S3=_?h5:C6,F=S3/D,L=F*W3,T=L+k3,o1[v>>3]=T,N=+Gi(T),P=~~N,z=(B+12|0)+(P<<2)|0,Y=e[z>>2]|0,t0=p7(Y)|0,J=t0<<3,C=e[X1>>2]|0,W=C,v3=P,X3=J}else W=I2,v3=s0,X3=n1;e0=(W|0)>0,H=(X3|0)<(U|0),l6=H&e0;e:do if(l6)if(a0=c2+88|0,Z=e[a0>>2]|0,V=X3-U|0,o0=V+Z|0,n0=(o0|0)<0,n0)for(c3=v3,e6=X3;;){if(i0=c3+1|0,r0=(c3|0)>13,r0){O3=i0,f6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,c0=e[K>>2]|0,l0=p7(c0)|0,j=l0<<3,$0=e[a0>>2]|0,g0=j-U|0,f0=g0+$0|0,Q0=(f0|0)<0,Q0)c3=i0,e6=j;else{O3=i0,f6=j;break}}else O3=v3,f6=X3;else O3=v3,f6=X3;while(!1);d0=e[w0>>2]|0,h0=(d0|0)>0,E0=(f6|0)>(I0|0),p6=E0&h0;e:do if(p6)if(v0=c2+88|0,K0=e[v0>>2]|0,b0=f6-I0|0,m0=b0+K0|0,F0=e[B2>>2]|0,L0=(m0|0)>(F0|0),L0)for($6=O3,P3=f6;;){if(T0=$6+-1|0,U0=($6|0)<1,U0){I3=T0,D3=P3;break e}if(B0=(B+12|0)+(T0<<2)|0,x0=e[B0>>2]|0,D0=p7(x0)|0,M0=D0<<3,J0=e[v0>>2]|0,Y0=M0-I0|0,O0=Y0+J0|0,z0=e[B2>>2]|0,G0=(O0|0)>(z0|0),G0)$6=T0,P3=M0;else{I3=T0,D3=M0;break}}else I3=O3,D3=f6;else I3=O3,D3=f6;while(!1);if(P0=(I3|0)<0,P0)r1=e[B2>>2]|0,e1=c2+88|0,S0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-S0|0,$1=(c1|0)/8&-1,f1=c2+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,mv(A1,Z0),I1=e[g1>>2]|0,h1=p7(I1)|0,E1=h1<<3,H3=E1):H3=D3;else{if(u1=c2+88|0,d1=e[u1>>2]|0,B1=U+7|0,p1=B1-d1|0,Q1=(p1|0)/8&-1,x1=(I3|0)>14,c=x1?14:I3,y1=c2+124|0,e[y1>>2]=c,S1=(B+12|0)+(c<<2)|0,F1=e[S1>>2]|0,L1=p7(F1)|0,N1=Q1-L1|0,w1=(N1|0)>0,U1=e[S1>>2]|0,w1)for(G1=U1,w6=N1;;)if(Z1=w6+-1|0,U2(G1,0,8),K1=(w6|0)>1,P1=e[S1>>2]|0,K1)G1=P1,w6=Z1;else{f=P1;break}else f=U1;H1=p7(f)|0,q1=H1<<3,H3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?V3=37:(r2=e[w0>>2]|0,W1=(r2|0)>0,W1&&(V3=37));do if((V3|0)==37){if(O1=(I0|0)>0,l2=(H3|0)>(I0|0),_6=O1&l2,_6){s2=H3-I0|0,E2=c2+88|0,A2=e[E2>>2]|0,V1=s2+A2|0,e[E2>>2]=V1;break}if(g2=(U|0)>0,a2=(H3|0)<(U|0),q6=g2&a2,q6){t2=H3-U|0,$2=c2+88|0,i2=e[$2>>2]|0,o2=t2+i2|0,e[$2>>2]=o2;break}if(n2=c2+88|0,u2=e[n2>>2]|0,e2=(u2|0)>(H2|0),e2)if(O1){y2=H3-I0|0,S2=u2+y2|0,w2=(S2|0)<(H2|0),n=w2?H2:S2,e[n2>>2]=n;break}else{e[n2>>2]=H2;break}else if(g2){m2=H3-U|0,M2=u2+m2|0,_2=(M2|0)>(H2|0),a=_2?H2:M2,e[n2>>2]=a;break}else{e[n2>>2]=H2;break}}while(!1);return G2=e[c5>>2]|0,J2=(G2|0)>0,J2?(N2=e[R1>>2]|0,q2=(N2|0)==0,q2?P2=G2:(T2=c2+104|0,O2=e[T2>>2]|0,K2=i5(O2,G2)|0,P2=K2),s5=H3-P2|0,T1=c2+84|0,j2=e[T1>>2]|0,X2=s5+j2|0,e[T1>>2]=X2,o=0,o|0):(o=0,o|0)}function Jp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0;return I0=m,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):(g0=(n|0)==0,g0||(f0=z+104|0,Q0=e[f0>>2]|0,d0=z+64|0,w0=e[d0>>2]|0,f=w0+104|0,E=e[f>>2]|0,I=E+80|0,C=e[I>>2]|0,E0=(C|0)==0,E0?h0=7:(p=c+124|0,B=e[p>>2]|0,h0=B),v=(Q0+12|0)+(h0<<2)|0,S=e[v>>2]|0,w=Pp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=p7(y)|0,b=n+4|0,e[b>>2]=Q,x=n+8|0,e[x>>2]=0,_=z+44|0,F=e[_>>2]|0,L=n+12|0,e[L>>2]=F,M=z+48|0,T=M,N=T,P=e[N>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,H=e0,e[H>>2]=P,X=e0+4|0,U=X,e[U>>2]=J,a0=z+56|0,Z=a0,o0=Z,n0=e[o0>>2]|0,i0=Z+4|0,r0=i0,K=e[r0>>2]|0,c0=n+24|0,s0=c0,l0=s0,e[l0>>2]=n0,j=s0+4|0,$0=j,e[$0>>2]=K),e[D>>2]=0,o=1,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0;L=m,_=n,M=_+112|0;do e[_>>2]=0,_=_+4|0;while((_|0)<(M|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=r4(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,x=0;;)if(f=(x|0)==7,f){e[c>>2]=D,jm(D),x=8;continue}else{if(E=r4(1,20)|0,I=Q+(x<<2)|0,e[I>>2]=E,jm(E),C=x+1|0,b=(C|0)==15,b)break;x=C;continue}return 0}function P7(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0;return Y=m,o=n+7|0,a=o&-8,y=t+72|0,_=e[y>>2]|0,F=_+a|0,L=t+76|0,M=e[L>>2]|0,T=(F|0)>(M|0),N=t+68|0,P=e[N>>2]|0,T?(c=(P|0)==0,c||(f=P,E=S9(8)|0,I=t+80|0,C=e[I>>2]|0,p=C+_|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[L>>2]=a,w=S9(a)|0,e[N>>2]=w,e[y>>2]=0,Q=w,b=0,D=Q+b|0,x=b+a|0,e[y>>2]=x,D|0):(Q=P,b=_,D=Q+b|0,x=b+a|0,e[y>>2]=x,D|0)}function _v(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(Z=m,a=t+104|0,c=e[a>>2]|0,D=t+84|0,N=e[D>>2]|0,P=(N|0)==0,!P)for(X=N;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,d2(t0),d2(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,C=e[I>>2]|0,p=C+f|0,B=Ni(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,b=(Q|0)==0,b||d2(Q),x=(c|0)==0,x){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(_=(c+12|0)+(H<<2)|0,F=e[_>>2]|0,Xm(F),L=(H|0)==7,L){H=8;continue}if(M=e[_>>2]|0,d2(M),T=H+1|0,e0=(T|0)==15,e0)break;H=T}d2(c),U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}function Rv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0;return b=m,a=Fv(t,n,1)|0,c=(a|0)==0,c?(C=t+104|0,p=e[C>>2]|0,B=gS(n)|0,v=p+60|0,e[v>>2]=B,S=r4(1,180)|0,e[p>>2]=S,Nv(S,n),w=p+80|0,vv(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 Kp(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0;if(N2=m,B=(t|0)==0,!B){if(v=t+4|0,C0=e[v>>2]|0,q0=(C0|0)!=0,q0?(H0=C0+28|0,n1=e[H0>>2]|0,B0=n1):B0=0,R1=t+104|0,D1=e[R1>>2]|0,z1=(D1|0)!=0,z1){if(o2=e[D1>>2]|0,S=(o2|0)==0,S||(Uv(o2),T=e[D1>>2]|0,d2(T)),U=D1+12|0,l0=e[U>>2]|0,f0=(l0|0)==0,f0||(Q0=e[l0>>2]|0,sB(Q0),d0=e[U>>2]|0,w0=e[d0>>2]|0,d2(w0),h0=e[U>>2]|0,d2(h0)),E0=D1+16|0,I0=e[E0>>2]|0,v0=(I0|0)==0,v0||(K0=e[I0>>2]|0,sB(K0),b0=e[E0>>2]|0,m0=e[b0>>2]|0,d2(m0),F0=e[E0>>2]|0,d2(F0)),L0=D1+48|0,T0=e[L0>>2]|0,U0=(T0|0)==0,!U0){if(x0=(B0|0)==0,x0)u1=T0;else if(D0=B0+16|0,M0=e[D0>>2]|0,J0=(M0|0)>0,J0){if(Y0=B0+800|0,O0=e[Y0>>2]|0,z0=25640+(O0<<2)|0,G0=e[z0>>2]|0,P0=G0+16|0,r1=e[P0>>2]|0,e1=e[T0>>2]|0,Ws[r1&7](e1),S0=e[D0>>2]|0,i1=(S0|0)>1,i1)for($1=1;n=e[L0>>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[D0>>2]|0,E1=(I1|0)<(h1|0),E1;)$1=I1;o=e[L0>>2]|0,u1=o}else u1=T0;d2(u1)}if(d1=D1+52|0,B1=e[d1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(B0|0)==0,Q1)V1=B1;else if(x1=B0+20|0,y1=e[x1>>2]|0,S1=(y1|0)>0,S1){if(F1=B0+1312|0,L1=e[F1>>2]|0,N1=25648+(L1<<2)|0,w1=e[N1>>2]|0,U1=w1+16|0,Z1=e[U1>>2]|0,G1=e[B1>>2]|0,Ws[Z1&7](G1),K1=e[x1>>2]|0,P1=(K1|0)>1,P1)for(q1=1;a=e[d1>>2]|0,H1=F1+(q1<<2)|0,Y1=e[H1>>2]|0,j1=25648+(Y1<<2)|0,r2=e[j1>>2]|0,W1=r2+16|0,O1=e[W1>>2]|0,l2=a+(q1<<2)|0,f2=e[l2>>2]|0,Ws[O1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,A2=(s2|0)<(E2|0),A2;)q1=s2;c=e[d1>>2]|0,V1=c}else V1=B1;d2(V1)}if(g2=D1+56|0,a2=e[g2>>2]|0,t2=(a2|0)==0,!t2){if($2=(B0|0)==0,$2)_2=a2;else if(i2=B0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if(iQ(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(S2=1;f=e[g2>>2]|0,y2=f+(S2*52|0)|0,iQ(y2),w2=S2+1|0,m2=e[i2>>2]|0,M2=(w2|0)<(m2|0),M2;)S2=w2;E=e[g2>>2]|0,_2=E}else _2=a2;d2(_2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||hS(y),Q=D1+80|0,Sv(Q),b=D1+20|0,gQ(b),x=D1+32|0,gQ(x)}if(_=t+8|0,F=e[_>>2]|0,L=(F|0)==0,!L){if(q0)if(M=C0+4|0,N=e[M>>2]|0,P=(N|0)>0,P){for(Y=F,g0=N,G2=0;z=Y+(G2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=g0:(d2(t0),C=e[M>>2]|0,H=C),W=G2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[_>>2]|0,Y=I,g0=H,G2=W;p=e[_>>2]|0,X=p}else X=F;else X=F;d2(X),a0=t+12|0,Z=e[a0>>2]|0,V=(Z|0)==0,V||d2(Z)}z1&&(o0=D1+64|0,n0=e[o0>>2]|0,i0=(n0|0)==0,i0||d2(n0),r0=D1+68|0,K=e[r0>>2]|0,c0=(K|0)==0,c0||d2(K),s0=D1+72|0,j=e[s0>>2]|0,$0=(j|0)==0,$0||d2(j),d2(D1)),I2=t,q2=I2+112|0;do e[I2>>2]=0,I2=I2+4|0;while((I2|0)<(q2|0))}}function Vp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0;if(q0=m,I=t+4|0,C=e[I>>2]|0,_=t+104|0,W=e[_>>2]|0,r0=W+64|0,w0=e[r0>>2]|0,m0=(w0|0)==0,m0||d2(w0),e[r0>>2]=0,F0=W+68|0,L0=e[F0>>2]|0,T0=(L0|0)==0,T0||d2(L0),e[F0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||d2(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,b=(y|0)<(Q|0),b)o=C+4|0,f=e[o>>2]|0,X=f,B0=11;else if(x=n<<1,F=w+x|0,e[D>>2]=F,L=C+4|0,M=e[L>>2]|0,T=(M|0)>0,T)if(N=t+8|0,P=e[N>>2]|0,z=e[P>>2]|0,Y=F<<2,t0=Ni(z,Y)|0,J=e[N>>2]|0,e[J>>2]=t0,e0=e[L>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,o0=e[N>>2]|0,n0=o0+(i0<<2)|0,K=e[n0>>2]|0,c0=a<<2,s0=Ni(K,c0)|0,l0=e[N>>2]|0,j=l0+(i0<<2)|0,e[j>>2]=s0,$0=i0+1|0,g0=e[L>>2]|0,f0=($0|0)<(g0|0),f0)i0=$0;else{X=g0,B0=11;break}else X=e0,B0=11;if((B0|0)==11&&(U=(X|0)>0,U)){for(a0=t+8|0,Z=e[S>>2]|0,V=t+12|0,U0=0;;)if(Q0=e[a0>>2]|0,d0=Q0+(U0<<2)|0,h0=e[d0>>2]|0,E0=h0+(Z<<2)|0,C0=e[V>>2]|0,I0=C0+(U0<<2)|0,e[I0>>2]=E0,v0=U0+1|0,K0=(v0|0)<(X|0),K0)U0=v0;else{c=V;break}return b0=e[c>>2]|0,b0|0}return E=t+12|0,c=E,b0=e[c>>2]|0,b0|0}function xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=t+4|0,C=e[I>>2]|0,_=C+28|0,W=e[_>>2]|0,r0=(n|0)<1,!r0)return Q0=t+20|0,d0=e[Q0>>2]|0,h0=d0+n|0,E0=t+16|0,C0=e[E0>>2]|0,I0=(h0|0)>(C0|0),I0?(a=-131,m=O0,a|0):(e[Q0>>2]=h0,v0=t+28|0,K0=e[v0>>2]|0,b0=(K0|0)==0,!b0||(m0=t+48|0,F0=e[m0>>2]|0,L0=h0-F0|0,U0=W+4|0,B0=e[U0>>2]|0,q0=(L0|0)>(B0|0),!q0)?(a=0,m=O0,a|0):(Zp(t),a=0,m=O0,a|0));if(w0=m,m=m+128|0,T0=t+28|0,x0=e[T0>>2]|0,D0=(x0|0)==0,D0&&Zp(t),M0=W+4|0,p=e[M0>>2]|0,B=p*3|0,Vp(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,b=C+4|0,x=e[b>>2]|0,F=(x|0)>0,!F)return a=0,m=O0,a|0;for(L=t+8|0,M=S,J0=0;;){if(T=(M|0)>64,T?(N=e[M0>>2]|0,P=(M|0)>(N|0),o=P?N:M,z=e[L>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=M-o|0,J=t0+(f<<2)|0,+Wp(J,w0,o,32),e0=e[L>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,a0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,o0=V-U|0,jp(w0,Z,32,a0,o0)):(n0=e[L>>2]|0,i0=n0+(J0<<2)|0,K=e[i0>>2]|0,c0=K+(M<<2)|0,s0=e[v>>2]|0,l0=s0-M|0,j=l0<<2,ne(c0|0,0,j|0)|0),$0=J0+1|0,g0=e[b>>2]|0,f0=($0|0)<(g0|0),!f0){a=0;break}c=e[w>>2]|0,M=c,J0=$0}return m=O0,a|0}function zp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0;if(s4=m,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,w5=e[s2>>2]|0,i6=t+104|0,v6=e[i6>>2]|0,f6=v6+60|0,u6=e[f6>>2]|0,G6=t+48|0,X6=e[G6>>2]|0,w=t+40|0,N=e[w>>2]|0,a0=w5+(N<<2)|0,j=e[a0>>2]|0,v0=(j|0)/2&-1,D0=X6-v0|0,S0=n+104|0,Z0=e[S0>>2]|0,y1=t+28|0,P1=e[y1>>2]|0,E2=(P1|0)==0,E2||(u2=t+32|0,N2=e[u2>>2]|0,D5=(N2|0)==-1,D5))return a=0,a|0;B2=Ov(t)|0,m5=(B2|0)==-1;do if(m5){if(Y2=e[u2>>2]|0,u3=(Y2|0)==0,u3)return a=0,a|0;K3=t+44|0,e[K3>>2]=0,f=K3,U3=0;break}else if(m3=e[w5>>2]|0,N3=w5+4|0,M5=e[N3>>2]|0,n6=(m3|0)==(M5|0),t3=t+44|0,n6){e[t3>>2]=0,f=t3,U3=0;break}else{e[t3>>2]=B2,f=t3,U3=B2;break}while(!1);if(A3=e[G6>>2]|0,x3=e[w>>2]|0,h6=w5+(x3<<2)|0,p3=e[h6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+A3|0,W3=w5+(U3<<2)|0,V5=e[W3>>2]|0,v3=(V5|0)/4&-1,c3=Q3+v3|0,O3=(V5|0)/2&-1,$6=c3+O3|0,I3=t+20|0,w6=e[I3>>2]|0,k6=(w6|0)<($6|0),k6)return a=0,a|0;if(B6=n+84|0,j3=e[B6>>2]|0,l6=(j3|0)==0,!l6)for(I9=j3;p6=I9+4|0,_6=e[p6>>2]|0,q6=e[I9>>2]|0,d2(q6),d2(I9),C6=(_6|0)==0,!C6;)I9=_6;S3=n+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(P3=n+68|0,D3=e[P3>>2]|0,H3=n+76|0,V3=e[H3>>2]|0,S6=V3+X3|0,s6=Ni(D3,S6)|0,e[P3>>2]=s6,i3=e[S3>>2]|0,O6=e[H3>>2]|0,s3=O6+i3|0,e[H3>>2]=s3,e[S3>>2]=0),A6=n+72|0,e[A6>>2]=0,e[B6>>2]=0,b3=t+36|0,T6=e[b3>>2]|0,r6=n+24|0,e[r6>>2]=T6,Q6=e[w>>2]|0,R6=n+28|0,e[R6>>2]=Q6,J6=e[f>>2]|0,I6=n+32|0,e[I6>>2]=J6,Y6=(Q6|0)==0;do if(Y6)if(r9=Pv(t)|0,x6=(r9|0)==0,N6=Z0+8|0,x6){e[N6>>2]=1;break}else{e[N6>>2]=0;break}else if(F3=(T6|0)==0,Z6=(J6|0)==0,G9=F3|Z6,j6=Z0+8|0,G9){e[j6>>2]=0;break}else{e[j6>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,K6=t+64|0,y6=K6,F6=y6,L3=e[F6>>2]|0,L6=y6+4|0,A9=L6,W6=e[A9>>2]|0,h9=Vs(L3|0,W6|0,1,0)|0,f9=H6,u9=K6,o9=u9,e[o9>>2]=h9,a9=u9+4|0,T9=a9,e[T9>>2]=f9,d6=n+56|0,M6=d6,y=M6,e[y>>2]=L3,D=M6+4|0,Q=D,e[Q>>2]=W6,b=t+56|0,x=b,_=x,F=e[_>>2]|0,L=x+4|0,M=L,T=e[M>>2]|0,P=n+48|0,z=P,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=T,W=e[w>>2]|0,e0=w5+(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[u6>>2],o0=Z>V,o0?(s[u6>>2]=Z,n0=Z):n0=V,i0=+IS(n0,t),s[u6>>2]=i0,s[U>>2]=i0,r0=S+4|0,K=e[r0>>2]|0,c0=K<<2,s0=c0+7|0,l0=s0&-8,$0=e[A6>>2]|0,g0=l0+$0|0,f0=n+76|0,Q0=e[f0>>2]|0,d0=(g0|0)>(Q0|0),w0=n+68|0,h0=e[w0>>2]|0,d0?(E0=(h0|0)==0,E0||(C0=h0,I0=S9(8)|0,K0=e[S3>>2]|0,b0=K0+$0|0,e[S3>>2]=b0,m0=e[B6>>2]|0,F0=I0+4|0,e[F0>>2]=m0,e[I0>>2]=C0,e[B6>>2]=I0),e[f0>>2]=l0,L0=S9(l0)|0,e[w0>>2]=L0,e[A6>>2]=0,c=e[r0>>2]|0,U0=L0,B0=0,M0=c,G0=l0):(U0=h0,B0=$0,M0=K,G0=Q0),T0=U0+B0|0,q0=B0+l0|0,e[A6>>2]=q0,e[n>>2]=T0,x0=M0<<2,J0=x0+7|0,Y0=J0&-8,O0=Y0+q0|0,z0=(O0|0)>(G0|0),z0?(P0=(U0|0)==0,P0||(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[f0>>2]=Y0,f1=S9(Y0)|0,e[w0>>2]=f1,e[A6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,P5=Y0):(l1=U0,s1=q0,n1=M0,P5=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=P5,S1=l1,e9=0;;){if(h1=e[X>>2]|0,E1=h1+D0|0,u1=E1<<2,d1=u1+7|0,B1=d1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(F1=(S1|0)==0,F1||(L1=S1,N1=S9(8)|0,w1=e[S3>>2]|0,U1=w1+Q1|0,e[S3>>2]=U1,Z1=e[B6>>2]|0,G1=N1+4|0,e[G1>>2]=Z1,e[N1>>2]=L1,e[B6>>2]=N1),e[f0>>2]=B1,D1=S9(B1)|0,e[w0>>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,r2=j1+(e9<<2)|0,e[r2>>2]=K1,W1=e[Z0>>2]|0,O1=W1+(e9<<2)|0,l2=e[O1>>2]|0,z1=e[I1>>2]|0,f2=z1+(e9<<2)|0,A2=e[f2>>2]|0,n4(l2|0,A2|0,u1|0)|0,V1=e[Z0>>2]|0,g2=V1+(e9<<2)|0,a2=e[g2>>2]|0,t2=a2+(D0<<2)|0,$2=e[n>>2]|0,i2=$2+(e9<<2)|0,e[i2>>2]=t2,o2=e9+1|0,X1=e[r0>>2]|0,n2=(o2|0)<(X1|0),!n2)break e;I=e[A6>>2]|0,C=e[f0>>2]|0,p=e[w0>>2]|0,Q1=I,x1=C,S1=p,e9=o2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(S2=e[G6>>2]|0,w2=(S2|0)<(e2|0),!w2))return e[u2>>2]=-1,m2=n+44|0,e[m2>>2]=1,a=1,a|0;if(M2=w5+4|0,_2=e[M2>>2]|0,G2=(_2|0)/2&-1,I2=c3-G2|0,J2=(I2|0)>0,!J2)return a=1,a|0;if(q2=e[v6>>2]|0,Hv(q2,I2),T2=e[I3>>2]|0,O2=T2-I2|0,e[I3>>2]=O2,K2=e[r0>>2]|0,s5=(K2|0)>0,s5&&(P2=t+8|0,T1=e[P2>>2]|0,j2=e[T1>>2]|0,x5=j2+(I2<<2)|0,X2=O2<<2,Zo(j2|0,x5|0,X2|0)|0,V2=e[r0>>2]|0,f5=(V2|0)>1,f5))for($5=1;B=e[I3>>2]|0,k5=e[P2>>2]|0,O5=k5+($5<<2)|0,v2=e[O5>>2]|0,E5=v2+(I2<<2)|0,r5=B<<2,Zo(v2|0,E5|0,r5|0)|0,x2=$5+1|0,R2=e[r0>>2]|0,C5=(x2|0)<(R2|0),C5;)$5=x2;return F5=e[w>>2]|0,e[b3>>2]=F5,u5=e[f>>2]|0,e[w>>2]=u5,e[G6>>2]=G2,b5=e[u2>>2]|0,N5=(b5|0)==0,N5?(f3=(I2|0)<0,B3=f3<<31>>31,T3=b,z5=T3,y3=e[z5>>2]|0,W5=T3+4|0,t6=W5,R3=e[t6>>2]|0,G3=Vs(y3|0,R3|0,I2|0,B3|0)|0,o3=H6,$3=b,l3=$3,e[l3>>2]=G3,q5=$3+4|0,U5=q5,e[U5>>2]=o3,a=1,a|0):(_5=b5-I2|0,H2=(_5|0)<1,o=H2?-1:_5,e[u2>>2]=o,I5=(o|0)>(G2|0),I5?(a5=(I2|0)<0,F2=a5<<31>>31,p5=b,H5=p5,X5=e[H5>>2]|0,d5=p5+4|0,h3=d5,J5=e[h3>>2]|0,e3=Vs(X5|0,J5|0,I2|0,F2|0)|0,n3=H6,C3=b,L5=C3,e[L5>>2]=e3,K5=C3+4|0,w3=K5,e[w3>>2]=n3,a=1,a|0):(A5=o+I2|0,l5=A5-G2|0,M1=(l5|0)<0,v5=M1<<31>>31,c5=b,o5=c5,z2=e[o5>>2]|0,c2=c5+4|0,B5=c2,e5=e[B5>>2]|0,n5=Vs(z2|0,e5|0,l5|0,v5|0)|0,g5=H6,h5=b,t5=h5,e[t5>>2]=n5,R5=h5+4|0,W2=R5,e[W2>>2]=g5,a=1,a|0))}function Fv(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0;if(t5=m,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,O1=e[Z1>>2]|0,$2=(O1|0)<1,$2)||(M2=e[B>>2]|0,P2=(M2|0)<64,P2)||(v2=B+4|0,_5=e[v2>>2]|0,v=(_5|0)<(M2|0),v))return a=1,a|0;M=B+3656|0,X=e[M>>2]|0,Y2=t,R5=Y2+112|0;do e[Y2>>2]=0,Y2=Y2+4|0;while((Y2|0)<(R5|0));s0=r4(1,136)|0,C0=t+104|0,e[C0>>2]=s0,q0=t+4|0,e[q0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,d1=L7(n1)|0,B1=s0+44|0,e[B1>>2]=d1,Q1=r4(1,4)|0,R1=s0+12|0,e[R1>>2]=Q1,x1=r4(1,4)|0,y1=s0+16|0,e[y1>>2]=x1,S1=r4(1,20)|0,e[Q1>>2]=S1,F1=r4(1,20)|0,e[x1>>2]=F1,L1=e[B>>2]|0,N1=L1>>X,nB(S1,N1),w1=e[y1>>2]|0,U1=e[w1>>2]|0,G1=e[v2>>2]|0,D1=G1>>X,nB(U1,D1),K1=e[B>>2]|0,P1=L7(K1)|0,H1=P1+-7|0,q1=s0+4|0,e[q1>>2]=H1,Y1=e[v2>>2]|0,j1=L7(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,l2=(o|0)==0;e:do if(l2){if(B2=B+2848|0,C5=e[B2>>2]|0,F5=(C5|0)==0,F5&&(u5=B+24|0,b5=e[u5>>2]|0,N5=r4(b5,56)|0,e[B2>>2]=N5,H2=e[u5>>2]|0,I5=(H2|0)>0,I5)){for(E1=H2,B5=0;;){if(A5=(B+1824|0)+(B5<<2)|0,l5=e[A5>>2]|0,m5=(l5|0)==0,m5){M1=E1;break}if(c5=e[B2>>2]|0,o5=c5+(B5*56|0)|0,z2=MS(o5,l5)|0,S=(z2|0)==0,!S){h5=20;break}if(w=e[A5>>2]|0,AB(w),e[A5>>2]=0,y=B5+1|0,D=e[u5>>2]|0,Q=(y|0)<(D|0),Q)E1=D,B5=y;else break e}if((h5|0)==20&&(I=e[u5>>2]|0,M1=I),v5=(M1|0)>0,v5)for(u1=M1,g5=0;s1=(B+1824|0)+(g5<<2)|0,a1=e[s1>>2]|0,A1=(a1|0)==0,A1?h1=u1:(AB(a1),e[s1>>2]=0,C=e[u5>>2]|0,h1=C),Z0=g5+1|0,I1=(Z0|0)<(h1|0),I1;)u1=h1,g5=Z0;return Kp(t),a=-1,a|0}}else{if(z1=s0+20|0,f2=e[B>>2]|0,cQ(z1,f2),s2=s0+32|0,E2=e[v2>>2]|0,cQ(s2,E2),A2=B+2848|0,V1=e[A2>>2]|0,g2=(V1|0)==0,g2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=r4(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,lQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,S2=c+(w2*56|0)|0,m2=(B+1824|0)+(w2<<2)|0,_2=e[m2>>2]|0,lQ(S2,_2)|0,G2=w2+1|0,I2=e[a2>>2]|0,J2=(G2|0)<(I2|0),J2;)w2=G2;N2=B+28|0,q2=e[N2>>2]|0,T2=r4(q2,52)|0,O2=s0+56|0,e[O2>>2]=T2,K2=e[N2>>2]|0,s5=(K2|0)>0;t:do if(s5)for(T1=B+2868|0,j2=n+8|0,X2=T2,c2=0;;){if(x5=X2+(c2*52|0)|0,D5=(B+2852|0)+(c2<<2)|0,V2=e[D5>>2]|0,f5=e[V2>>2]|0,k5=B+(f5<<2)|0,O5=e[k5>>2]|0,$5=(O5|0)/2&-1,E5=e[j2>>2]|0,uS(x5,V2,T1,$5,E5),r5=c2+1|0,x2=e[N2>>2]|0,R2=(r5|0)<(x2|0),!R2)break t;f=e[O2>>2]|0,X2=f,c2=r5}while(!1);e[t>>2]=1}while(!1);if(b=e[v2>>2]|0,x=t+16|0,e[x>>2]=b,_=n+4|0,F=e[_>>2]|0,L=F<<2,T=S9(L)|0,N=t+8|0,e[N>>2]=T,P=S9(L)|0,z=t+12|0,e[z>>2]=P,Y=(F|0)>0,Y&&(t0=r4(b,4)|0,e[T>>2]=t0,J=(F|0)>1,J))for(H=1;E=e[N>>2]|0,W=r4(b,4)|0,e0=E+(H<<2)|0,e[e0>>2]=W,U=H+1|0,a0=(U|0)<(F|0),a0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,o0=e[v2>>2]|0,n0=(o0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,K=B+16|0,c0=e[K>>2]|0,l0=r4(c0,4)|0,j=s0+48|0,e[j>>2]=l0,$0=B+20|0,g0=e[$0>>2]|0,f0=r4(g0,4)|0,Q0=s0+52|0,e[Q0>>2]=f0,d0=e[K>>2]|0,w0=(d0|0)>0,w0)for(e5=0;I0=(B+800|0)+(e5<<2)|0,v0=e[I0>>2]|0,K0=25640+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0+8|0,F0=e[m0>>2]|0,L0=(B+1056|0)+(e5<<2)|0,T0=e[L0>>2]|0,U0=ft[F0&15](t,T0)|0,B0=e[j>>2]|0,x0=B0+(e5<<2)|0,e[x0>>2]=U0,D0=e5+1|0,M0=e[K>>2]|0,J0=(D0|0)<(M0|0),J0;)e5=D0;if(h0=e[$0>>2]|0,E0=(h0|0)>0,E0)n5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(n5<<2)|0,O0=e[Y0>>2]|0,z0=25648+(O0<<2)|0,G0=e[z0>>2]|0,P0=G0+8|0,r1=e[P0>>2]|0,e1=(B+1568|0)+(n5<<2)|0,S0=e[e1>>2]|0,i1=ft[r1&15](t,S0)|0,c1=e[Q0>>2]|0,$1=c1+(n5<<2)|0,e[$1>>2]=i1,f1=n5+1|0,g1=e[$0>>2]|0,l1=(f1|0)<(g1|0),l1)n5=f1;else{a=0;break}return a|0}function Zp(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0;if(b0=m,m=m+64|0,c=b0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,n=Y,o0=m,m=m+((1*n|0)+15&-16)|0,f0=t+28|0,e[f0>>2]=1,d0=t+48|0,w0=e[d0>>2]|0,h0=Q-w0|0,E0=(h0|0)>32,!E0){m=b0;return}if(E=t+4|0,I=e[E>>2]|0,C=I+4|0,p=e[C>>2]|0,B=(p|0)>0,!B){m=b0;return}for(v=t+8|0,S=Q,C0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,D=y+(C0<<2)|0,b=e[D>>2]|0,I0=0;x=I0^-1,_=S+x|0,F=b+(_<<2)|0,L=e[F>>2]|0,M=o0+(I0<<2)|0,e[M>>2]=L,T=I0+1|0,N=(S|0)>(T|0),N;)I0=T;if(P=e[d0>>2]|0,z=S-P|0,+Wp(o0,c,z,16),t0=e[f>>2]|0,J=e[d0>>2]|0,o=t0-J|0,W=o0+(o<<2)|0,a=o+-16|0,e0=o0+(a<<2)|0,jp(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,a0=U+(C0<<2)|0,Z=e[a0>>2]|0,v0=0;V=o0+(v0<<2)|0,n0=e[V>>2]|0,i0=v0^-1,r0=H+i0|0,K=Z+(r0<<2)|0,e[K>>2]=n0,c0=v0+1|0,s0=(H|0)>(c0|0),s0;)v0=c0;if(l0=C0+1|0,j=e[E>>2]|0,$0=j+4|0,g0=e[$0>>2]|0,Q0=(l0|0)<(g0|0),Q0)S=H,C0=l0;else break}m=b0}function Lv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0;o2=m,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,N=e[I>>2]|0,U2(n,N,24),a0=e[I>>2]|0,j=(a0|0)>1;e:do if(j)for(v0=t+8|0,D0=e[v0>>2]|0,c=u[D0>>0]|0,S0=c,O1=1;;){if(Z0=S0<<24>>24==0,Z0){W1=O1;break e}if(y1=D0+O1|0,C=u[y1>>0]|0,D=C<<24>>24>24,D){W1=O1;break e}if(Q=O1+1|0,b=(Q|0)<(a0|0),b)S0=C,O1=Q;else{W1=Q;break}}else W1=1;while(!1);x=(W1|0)==(a0|0);e:do if(x){if(U2(n,1,1),_=t+8|0,F=e[_>>2]|0,L=u[F>>0]|0,M=L<<24>>24,T=M+-1|0,U2(n,T,5),P=e[I>>2]|0,z=(P|0)>1,z)for(y=P,H1=0,z1=1;;){if(Y=e[_>>2]|0,t0=Y+z1|0,J=u[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,H=u[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,o0=n0-q1|0,i0=L7(o0)|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,c0=(K|0)<(s0|0),c0)y=s0,H1=Y1,z1=K;else{a=s0,P1=Y1,l2=K;break}}else a=P,P1=0,l2=1;l0=l2-P1|0,$0=a-P1|0,g0=L7($0)|0,U2(n,l0,g0)}else{U2(n,0,1),f0=e[I>>2]|0,Q0=(f0|0)>0;t:do if(Q0)for(d0=t+8|0,w0=e[d0>>2]|0,s2=0;;){if(h0=w0+s2|0,E0=u[h0>>0]|0,C0=E0<<24>>24==0,C0){f2=s2;break t}if(I0=s2+1|0,K0=(I0|0)<(f0|0),K0)s2=I0;else{f2=I0;break}}else f2=0;while(!1);if(b0=(f2|0)==(f0|0),b0){if(U2(n,0,1),m0=e[I>>2]|0,F0=(m0|0)>0,!F0)break;for(L0=t+8|0,E2=0;;)if(T0=e[L0>>2]|0,U0=T0+E2|0,B0=u[U0>>0]|0,q0=B0<<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),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(G0=t+8|0,A2=0;P0=e[G0>>2]|0,r1=P0+A2|0,H0=u[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=u[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,E1=e[h1>>2]|0,u1=(E1|0)==0,u1)return o=-1,o|0;if(d1=t+16|0,B1=e[d1>>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),F1=t+28|0,L1=e[F1>>2]|0,U2(n,L1,1),N1=e[n1>>2]|0,(N1|0)==1)w1=xS(t)|0,$2=w1;else if((N1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,G1=i5(Z1,U1)|0,$2=G1;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,g2=(B|0)>-1,t2=0-B|0,v=g2?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 _h(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0;return z=m,c=(n|0)<0,c||(f=t+12|0,Q=e[f>>2]|0,x=Q+4|0,_=e[x>>2]|0,F=(_|0)>(n|0),!F)?(a=0,a|0):(L=t+20|0,M=e[L>>2]|0,T=M+(n<<2)|0,N=e[T>>2]|0,E=Q+8|0,I=e[E>>2]|0,C=I+n|0,p=u[C>>0]|0,B=p<<24>>24,U2(o,N,B),v=e[f>>2]|0,S=v+8|0,w=e[S>>2]|0,y=w+n|0,D=u[y>>0]|0,b=D<<24>>24,a=b,a|0)}function YC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0;return w=m,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=Rh(t,n)|0,I=(E|0)>-1,!I)?(o=-1,o|0):(C=t+24|0,p=e[C>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,o=v,o|0)}function Mv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0;if(j=m,C=t+8|0,p=e[C>>2]|0,F=(p|0)>0,!F)return c=0,m=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,a0=m,m=m+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,r0=0;;){if(T=Rh(t,o)|0,N=(T|0)==-1,N){c=-1;break}if(P=e[V>>2]|0,z=e[t>>2]|0,Y=i5(z,T)|0,t0=P+(Y<<2)|0,J=a0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,H=(W|0)<(X|0),H)r0=W;else{o0=z;break e}}return m=j,c|0}else o0=e0;while(!1);if(E=(o0|0)<1,I=Z^1,n0=E|I,n0)return c=0,m=j,c|0;for(K=0,s0=0;;){for(c0=0;w=a0+(c0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],b=c0+s0|0,x=n+(b<<2)|0,_=+s[x>>2],L=_+Q,s[x>>2]=L,M=c0+1|0,i0=(M|0)==(X|0),!i0;)c0=M;if(B=K+1|0,v=s0+X|0,S=(B|0)<(o0|0),S)K=B,s0=v;else{c=0;break}}return m=j,c|0}function Tv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0;if(j2=m,Y=t+8|0,t0=e[Y>>2]|0,l0=(t0|0)>0,!l0)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=Rh(t,o)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(o0=e[K1>>2]|0,n0=e[t>>2]|0,i0=i5(n0,Z)|0,r0=(n0|0)>0,r0){for(K=(n0|0)>1,P2=K?n0:1,u2=X1,I2=0;c0=I2+1|0,z=I2+i0|0,s0=o0+(z<<2)|0,j=+s[s0>>2],$0=u2+1|0,g0=n+(u2<<2)|0,f0=+s[g0>>2],Q0=f0+j,s[g0>>2]=Q0,d0=(c0|0)<(n0|0),d0;)u2=$0,I2=c0;f2=X1+P2|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=Rh(t,o)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,a0=e[t>>2]|0,a0|0){case 4:{B=H,Q=U,T1=19;break t}case 3:{v=H,b=U,T1=21;break t}case 7:{I=H,w=U,T1=13;break t}case 6:{C=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,G2=e2,s5=0;break t}case 2:{S=H,x=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,w0=E<<3,h0=f+(w0<<2)|0,E0=+s[h0>>2],C0=e2+1|0,v0=n+(e2<<2)|0,K0=+s[v0>>2],b0=K0+E0,s[v0>>2]=b0,L0=w0,U0=f,y2=C0,J2=1,T1=14):(T1|0)==13?(T1=0,m0=I*7|0,L0=m0,U0=w,y2=e2,J2=0,T1=14):(T1|0)==15?(T1=0,Y0=C*6|0,z0=Y0,P0=y,S2=e2,N2=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,E1=B<<2,d1=E1,p1=Q,m2=e2,T2=0,T1=20):(T1|0)==21?(T1=0,L1=v*3|0,w1=L1,Z1=b,M2=e2,O2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,O1=x,_2=e2,K2=0,T1=24),(T1|0)==14&&(T1=0,F0=J2+1|0,P=J2+L0|0,T0=U0+(P<<2)|0,B0=+s[T0>>2],q0=y2+1|0,D0=n+(y2<<2)|0,M0=+s[D0>>2],J0=M0+B0,s[D0>>2]=J0,z0=L0,P0=U0,S2=q0,N2=F0,T1=16),(T1|0)==16&&(T1=0,O0=N2+1|0,N=N2+z0|0,G0=P0+(N<<2)|0,r1=+s[G0>>2],H0=S2+1|0,S0=n+(S2<<2)|0,i1=+s[S0>>2],c1=i1+r1,s[S0>>2]=c1,g1=z0,s1=P0,w2=H0,q2=O0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,T=q2+g1|0,l1=s1+(T<<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,d1=g1,p1=s1,m2=n1,T2=f1,T1=20),(T1|0)==20&&(T1=0,u1=T2+1|0,M=T2+d1|0,B1=p1+(M<<2)|0,Q1=+s[B1>>2],R1=m2+1|0,y1=n+(m2<<2)|0,S1=+s[y1>>2],F1=S1+Q1,s[y1>>2]=F1,w1=d1,Z1=p1,M2=R1,O2=u1,T1=22),(T1|0)==22&&(T1=0,N1=O2+1|0,L=O2+w1|0,U1=Z1+(L<<2)|0,G1=+s[U1>>2],D1=M2+1|0,P1=n+(M2<<2)|0,H1=+s[P1>>2],q1=H1+G1,s[P1>>2]=q1,r2=w1,O1=Z1,_2=D1,K2=N1,T1=24),(T1|0)==24&&(T1=0,j1=K2+1|0,F=K2+r2|0,W1=O1+(F<<2)|0,l2=+s[W1>>2],z1=_2+1|0,s2=n+(_2<<2)|0,E2=+s[s2>>2],A2=E2+l2,s[s2>>2]=A2,V1=r2,a2=O1,G2=z1,s5=j1),_=s5+V1|0,g2=a2+(_<<2)|0,t2=+s[g2>>2],$2=G2+1|0,i2=n+(G2<<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 Gv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0;if(l0=m,B=t+8|0,v=e[B>>2]|0,M=(v|0)>0,!M||(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=Rh(t,c)|0,S=(Z|0)==-1,S){I=-1,s0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=i5(y,Z)|0,Q=(y|0)>0,Q)for(n0=V,K=i0,c0=0;;)if(p=c0+D|0,b=w+(p<<2)|0,x=+s[b>>2],_=n0+1|0,F=n+(n0<<2)|0,L=e[F>>2]|0,T=L+(K<<2)|0,N=+s[T>>2],P=N+x,s[T>>2]=P,z=(_|0)==(a|0),Y=z&1,C=Y+K|0,E=z?0:_,t0=c0+1|0,J=(t0|0)<(y|0),J)n0=E,K=C,c0=t0;else{o0=E,r0=C;break}else o0=V,r0=i0;if(a0=(r0|0)<(H|0),a0)V=o0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function Rh(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,o0=eB(n,Y)|0,f0=(o0|0)>-1;do if(f0){if(m0=t+32|0,Y0=e[m0>>2]|0,c1=Y0+(o0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,C=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,l1=C;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,b=D+w|0,x=u[b>>0]|0,_=x<<24>>24,tB(n,_),o=w,o|0}else F=t+8|0,L=e[F>>2]|0,f1=L,l1=0;while(!1);if(M=eB(n,f)|0,T=(M|0)<0,N=(f|0)>1,P=T&N,P)for(Z0=f;;)if(z=Z0+-1|0,t0=eB(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=T,n1=M,A1=f;if(a)return o=-1,o|0;if(H=n1>>>16,X=n1<<16,U=H|X,a0=U>>>8,Z=a0&16711935,V=U<<8,n0=V&-16711936,i0=Z|n0,r0=i0>>>4,K=r0&252645135,c0=i0<<4,s0=c0&-252645136,l0=K|s0,j=l0>>>2,$0=j&858993459,g0=l0<<2,Q0=g0&-858993460,d0=$0|Q0,w0=d0>>>1,h0=w0&1431655765,E0=d0<<1,C0=E0&-1431655766,I0=h0|C0,v0=f1-l1|0,K0=(v0|0)>1,K0)for(b0=t+20|0,F0=e[b0>>2]|0,T0=v0,g1=f1,a1=l1;;)if(L0=T0>>1,U0=L0+a1|0,B0=F0+(U0<<2)|0,q0=e[B0>>2]|0,x0=q0>>>0>I0>>>0,D0=x0?0:L0,M0=D0+a1|0,J0=x0?L0:0,O0=g1-J0|0,z0=O0-M0|0,G0=(z0|0)>1,G0)T0=z0,g1=O0,a1=M0;else{s1=M0;break}else s1=l1;return P0=t+28|0,r1=e[P0>>2]|0,H0=r1+s1|0,e1=u[H0>>0]|0,S0=e1<<24>>24,i1=(S0|0)>(A1|0),i1?(tB(n,A1),o=-1,o|0):(tB(n,S0),o=s1,o|0)}function Nv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;for(c1=m,p=n+28|0,B=e[p>>2]|0,L=n+4|0,H=e[L>>2]|0,c0=t+4|0,e[c0>>2]=128,E0=t+8|0,e[E0>>2]=64,B0=B+2932|0,Y0=e[B0>>2]|0,O0=t+12|0,e[O0>>2]=Y0,e[t>>2]=H,z0=t+164|0,e[z0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|0)/2&-1,y=t+176|0,e[y>>2]=w,D=r4(128,4)|0,Q=t+36|0,e[Q>>2]=D,b=t+16|0,nB(b,128),x=e[Q>>2]|0,H0=0;_=+(H0|0),F=_*.024736950028266088,M=+Tn(+F),T=M,N=x+(H0<<2)|0,P=T*T,s[N>>2]=P,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,a0=t+92|0,e[a0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,o0=t+120|0,e[o0>>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,S0=0;;){if(K=s0<<2,l0=S9(K)|0,j=((t+40|0)+(S0<<4)|0)+8|0,e[j>>2]=l0,$0=(s0|0)>0,$0){for(g0=+(s0|0),f0=((t+40|0)+(S0<<4)|0)+12|0,C=+s[f0>>2],b0=C,e1=0;;)if(Q0=+(e1|0),d0=Q0+.5,w0=d0/g0,h0=w0*3.141592653589793,C0=+Tn(+h0),I0=C0,v0=l0+(e1<<2)|0,s[v0>>2]=I0,K0=b0+I0,m0=e1+1|0,G0=(m0|0)==(s0|0),G0){o=K0;break}else b0=K0,e1=m0;s[f0>>2]=o,E=f0,L0=o}else c=((t+40|0)+(S0<<4)|0)+12|0,I=+s[c>>2],E=c,L0=I;if(F0=1/L0,s[E>>2]=F0,T0=S0+1|0,P0=(T0|0)==7,P0)break;a=((t+40|0)+(T0<<4)|0)+4|0,f=e[a>>2]|0,s0=f,S0=T0}U0=H*7|0,q0=r4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,D0=e[z0>>2]|0,M0=r4(D0,4)|0,J0=t+160|0,e[J0>>2]=M0}function Uv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0;T=m,n=t+16|0,sB(n),o=t+48|0,w=e[o>>2]|0,d2(w),D=t+64|0,Q=e[D>>2]|0,d2(Q),b=t+80|0,x=e[b>>2]|0,d2(x),_=t+96|0,F=e[_>>2]|0,d2(F),L=t+112|0,a=e[L>>2]|0,d2(a),c=t+128|0,f=e[c>>2]|0,d2(f),E=t+144|0,I=e[E>>2]|0,d2(I),C=t+36|0,p=e[C>>2]|0,d2(p),B=t+152|0,v=e[B>>2]|0,d2(v),S=t+160|0,y=e[S>>2]|0,d2(y),ne(t|0,0,180)|0}function Ov(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,f=t+4|0,E=e[f>>2]|0,F=E+28|0,e0=e[F>>2]|0,K=e0+2868|0,h0=t+104|0,U0=e[h0>>2]|0,P0=e[U0>>2]|0,s1=P0+168|0,p1=e[s1>>2]|0,I=P0+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,b=(S|0)<0,n=b?0:S,x=D+2|0,_=P0+164|0,L=e[_>>2]|0,M=(x|0)>(L|0),M&&(e[_>>2]=x,T=P0+160|0,N=e[T>>2]|0,P=x<<2,z=Ni(N,P)|0,e[T>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=P0+156|0,J=P0+160|0,W=t+8|0,H=P0+40|0,X=P0+152|0,D1=n;;){if(U=e[t0>>2]|0,a0=U+1|0,Z=(U|0)>23,a=Z?24:a0,e[t0>>2]=a,V=e[P0>>2]|0,o0=(V|0)>0,o0){for(G1=0,q1=0;;)if(c0=e[W>>2]|0,s0=c0+(G1<<2)|0,l0=e[s0>>2]|0,j=e[I>>2]|0,$0=i5(j,D1)|0,g0=l0+($0<<2)|0,f0=e[X>>2]|0,Q0=G1*7|0,d0=f0+(Q0*144|0)|0,w0=qv(P0,K,g0,H,d0)|0,E0=w0|q1,C0=G1+1|0,I0=e[P0>>2]|0,v0=(C0|0)<(I0|0),v0)G1=C0,q1=E0;else{c=E0;break}K0=D1+2|0,b0=e[J>>2]|0,m0=b0+(K0<<2)|0,e[m0>>2]=0,F0=c&1,L0=(F0|0)==0,L0||(T0=b0+(D1<<2)|0,e[T0>>2]=1,B0=D1+1|0,q0=b0+(B0<<2)|0,e[q0>>2]=1),x0=c&2,D0=(x0|0)==0,D0||(M0=b0+(D1<<2)|0,e[M0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,O0=b0+(Y0<<2)|0,e[O0>>2]=1)),z0=c&4,G0=(z0|0)==0,G0||(e[t0>>2]=-1)}else n0=D1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=D1+1|0,Z1=(r1|0)==(Q|0),Z1)break;D1=r1}if(H0=e[I>>2]|0,e1=i5(H0,Q)|0,e[s1>>2]=e1,S0=t+48|0,i1=e[S0>>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,E1=(h1|0)/4&-1,u1=I1+E1|0,d1=P0+176|0,B1=e[d1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return o=-1,o|0;for(x1=P0+160|0,K1=B1;;){if(F1=(K1|0)<(u1|0),!F1){o=1,Y1=22;break}if(e[d1>>2]=K1,L1=(K1|0)/(H0|0)&-1,N1=e[x1>>2]|0,w1=N1+(L1<<2)|0,U1=e[w1>>2]|0,C=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&C,y1=H0+K1|0,H1){P1=K1,Y1=21;break}if(S1=(y1|0)<(Q1|0),S1)K1=y1;else{o=-1,Y1=22;break}}return(Y1|0)==21?(B=P0+172|0,e[B>>2]=P1,o=0,o|0):(Y1|0)==22?o|0:0}function Pv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0;if(E0=m,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,o0=e[Y>>2]|0,s0=o0+28|0,l0=e[s0>>2]|0,j=t+48|0,$0=e[j>>2]|0,g0=t+40|0,E=e[g0>>2]|0,I=l0+(E<<2)|0,C=e[I>>2]|0,p=(C|0)/4&-1,B=$0-p|0,v=p+$0|0,S=(E|0)==0,S?(N=e[l0>>2]|0,P=(N|0)/4&-1,o=P,a=P):(w=t+36|0,y=e[w>>2]|0,D=l0+(y<<2)|0,b=e[D>>2]|0,x=(b|0)/4&-1,_=t+44|0,F=e[_>>2]|0,L=l0+(F<<2)|0,M=e[L>>2]|0,T=(M|0)/4&-1,o=T,a=x),f0=B-a|0,Q0=v+o|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(f0|0),W=(t0|0)<(Q0|0),w0=J&W,w0)return n=1,n|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(f0|0)/(H|0)&-1,U=(Q0|0)/(H|0)&-1,a0=(X|0)<(U|0),!a0)return n=0,n|0;for(Z=Q+160|0,V=e[Z>>2]|0,d0=X;;){if(r0=V+(d0<<2)|0,K=e[r0>>2]|0,c0=(K|0)==0,n0=d0+1|0,!c0){n=1,h0=9;break}if(i0=(n0|0)<(U|0),i0)d0=n0;else{n=0,h0=9;break}}return(h0|0)==9?n|0:0}function Hv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0;if(N=m,o=t+168|0,a=e[o>>2]|0,y=t+8|0,Q=e[y>>2]|0,b=(a|0)/(Q|0)&-1,x=b+2|0,_=(n|0)/(Q|0)&-1,F=t+160|0,L=e[F>>2]|0,M=L+(_<<2)|0,c=x-_|0,f=c<<2,Zo(L|0,M|0,f|0)|0,E=e[o>>2]|0,I=E-n|0,e[o>>2]=I,C=t+172|0,p=e[C>>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[C>>2]=v,S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D}function qv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0;if(I3=m,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,M2=+s[$2>>2],P2=t0<<2,b=P2,v2=m,m=m+((1*b|0)+15&-16)|0,_5=t+156|0,c2=e[_5>>2]|0,F2=(c2|0)>5,L5=(c2|0)/2&-1,f=F2?L5:2,J=n+60|0,i0=+s[J>>2],d0=L5+-2|0,L0=+(d0|0),z0=i0-L0,g1=z0<0,h6=g1?0:z0,d1=h6>i0,p3=d1?i0:h6,w1=(t0|0)>0,w1)for(r2=t+36|0,a2=e[r2>>2]|0,P5=0;i2=o+(P5<<2)|0,o2=+s[i2>>2],X1=a2+(P5<<2)|0,n2=+s[X1>>2],u2=n2*o2,e2=v2+(P5<<2)|0,s[e2>>2]=u2,y2=P5+1|0,m3=(y2|0)==(t0|0),!m3;)P5=y2;S2=t+16|0,Xp(S2,v2,v2),w2=+s[v2>>2],m2=w2*w2,_2=m2,G2=v2+4|0,I2=+s[G2>>2],J2=I2,N2=J2*J2,q2=N2*.7,T2=q2+_2,O2=v2+8|0,K2=+s[O2>>2],s5=K2,T1=s5*s5,j2=T1*.2,x5=T2+j2,X2=x5,D5=c+140|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5?(k5=c+136|0,O5=+s[k5>>2],$5=O5+X2,E5=c+132|0,s[E5>>2]=$5,s[k5>>2]=X2,M=E5,H2=$5):(r5=c+132|0,x2=+s[r5>>2],R2=x2+X2,s[r5>>2]=R2,B2=c+136|0,C5=+s[B2>>2],F5=C5+X2,s[B2>>2]=F5,M=r5,H2=R2),u5=(c+72|0)+(V2<<2)|0,b5=+s[u5>>2],N5=H2-b5,s[M>>2]=N5,s[u5>>2]=X2,I5=e[D5>>2]|0,A5=I5+1|0,l5=(I5|0)>13,E=l5?0:A5,e[D5>>2]=E,m5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(v5=H2*.0625,c5=(s[p2>>2]=v5,e[p2>>2]|0),o5=c5&2147483647,z2=+(o5>>>0),B5=z2*7177114298428933e-22,e5=B5+-764.6162109375,n5=e5,g5=n5*.5,Y2=g5+-15,h5=Y2,x=h5,F0=w2,w5=0;;){if(m0=F0*F0,T0=w5|1,U0=v2+(T0<<2)|0,B0=+s[U0>>2],q0=B0*B0,x0=q0+m0,D0=(s[p2>>2]=x0,e[p2>>2]|0),M0=D0&2147483647,J0=+(M0>>>0),Y0=J0*35885571492144663e-23,O0=Y0+-382.30810546875,G0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=w5+2|0,S0=(e1|0)<(m5|0),!S0)break e;i1=x+-8,F=v2+(e1<<2)|0,L=+s[F>>2],x=i1,F0=L,w5=e1}while(!1);if(t5=(f|0)>0,t5)A3=0,U3=0;else{for(t3=0,W3=0;;){if(c1=(a+(t3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(t3<<4)|0,s1=e[l1>>2]|0,a1=(a+(t3<<4)|0)+8|0,n1=e[a1>>2]|0,o3=0,N3=0;;)if(A1=s1+N3|0,Z0=v2+(A1<<2)|0,I1=+s[Z0>>2],h1=n1+(N3<<2)|0,E1=+s[h1>>2],u1=E1*I1,B1=u1+o3,p1=N3+1|0,Q1=(p1|0)<($1|0),Q1)o3=B1,N3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(t3<<4)|0)+12|0,x1=+s[R1>>2],y1=x1*R3,S1=(c+(t3*144|0)|0)+68|0,F1=e[S1>>2]|0,L1=(F1|0)<1,p=L1?16:-1,I=p+F1|0,N1=(c+(t3*144|0)|0)+(I<<2)|0,U1=+s[N1>>2],Z1=y1U1,v=D1?U1:y1,K1=v+-99999,P1=G1+99999,H1=(c+(t3*144|0)|0)+(F1<<2)|0,s[H1>>2]=y1,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)+(t3<<2)|0,O1=+s[W1>>2],l2=O1+p3,z1=P1>l2,f2=W3|5,V5=z1?f2:W3,s2=(n+32|0)+(t3<<2)|0,E2=+s[s2>>2],A2=E2-p3,V1=K1>2]|0,a5=(W2|0)>0,a5)for(Q0=a+(A3<<4)|0,n0=e[Q0>>2]|0,w0=(a+(A3<<4)|0)+8|0,s0=e[w0>>2]|0,$3=0,M5=0;;)if(o0=n0+M5|0,r0=v2+(o0<<2)|0,K=+s[r0>>2],c0=s0+(M5<<2)|0,l0=+s[c0>>2],j=l0*K,$0=j+$3,g0=M5+1|0,f0=(g0|0)<(W2|0),f0)$3=$0,M5=g0;else{G3=$0;break}else G3=0;for(h0=(a+(A3<<4)|0)+12|0,E0=+s[h0>>2],h3=E0*G3,e3=(c+(A3*144|0)|0)+68|0,u3=e[e3>>2]|0,C0=(u3|0)<1,B=C0?16:-1,C=B+u3|0,I0=(c+(A3*144|0)|0)+(C<<2)|0,v0=+s[I0>>2],K0=h3v0,S=b0?v0:h3,n6=0,x3=C,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,T=Z?X:Q3,V=n6+1|0,q5=(V|0)==(f|0),q5){_=a0,N=T;break}else n6=V,x3=w,k3=a0,Q3=T;if(p5=S-N,H5=X5-_,d5=(c+(A3*144|0)|0)+(u3<<2)|0,s[d5>>2]=h3,J5=e[e3>>2]|0,n3=J5+1|0,C3=(J5|0)>15,Q=C3?0:n3,e[e3>>2]=Q,K5=(n+4|0)+(A3<<2)|0,w3=+s[K5>>2],f3=w3+p3,B3=H5>f3,K3=U3|5,v3=B3?K3:U3,T3=(n+32|0)+(A3<<2)|0,z5=+s[T3>>2],y3=z5-p3,W5=p5>2]|0,m2=n+1288|0,j3=e[m2>>2]|0,L3=n+1284|0,d6=e[L3>>2]|0,d9=(d6|0)>0,d9){for(g8=0;Z4=p4+(g8<<2)|0,e[Z4>>2]=-200,Ee=g8+1|0,Ce=(Ee|0)==(d6|0),!Ce;)g8=Ee;if(d9){for(q3=0;f4=l4+(q3<<2)|0,e[f4>>2]=-200,W=q3+1|0,$4=(W|0)==(d6|0),!$4;)q3=W;if(d9){for(r0=d6<<2,ne(L8|0,0,r0|0)|0,y9=0;w0=De+(y9<<2)|0,e[w0>>2]=1,T0=y9+1|0,Ne=(T0|0)==(d6|0),!Ne;)y9=T0;if(d9){if(l1=d6<<2,ne(z8|0,-1,l1|0)|0,B1=(d6|0)>1,!B1)return ee=0,m=e4,ee|0;for(U1=j3+-1|0,W1=J+1112|0,t2=d6+-1|0,L=e[n>>2]|0,m4=L,m9=0,me=0;;){D4=m9+1|0,b4=n+(D4<<2)|0,R4=e[b4>>2]|0,M4=U6+(m9*56|0)|0,Le=M4,b7=Le+56|0;do e[Le>>2]=0,Le=Le+4|0;while((Le|0)<(b7|0));if(e[M4>>2]=m4,T4=(U6+(m9*56|0)|0)+4|0,e[T4>>2]=R4,U9=(R4|0)<(j3|0),e7=U9?R4:U1,G4=(e7|0)<(m4|0),G4)w8=0,j8=0,S8=0,D8=0,d8=0,Fe=0,t7=0,q9=0,J8=0,_8=0,H7=0,q7=0;else for(k4=m4,h8=0,Ue=0,P4=0,j9=0,Be=0,s8=0,d3=0,b9=0,o8=0,B9=0,o7=0,R8=0;;){o4=a+(k4<<2)|0,P=+s[o4>>2],x4=P*7.314285755157471,h4=x4+1023.5,de=~~h4,H9=(de|0)>1023,E9=(de|0)<0,E=E9?0:de,v=H9?1023:E,Te=(v|0)==0;do if(Te)P8=h8,e8=Ue,i8=P4,I8=j9,Pe=Be,Q4=s8,C8=d3,q8=b9,q4=o8,Je=B9,re=o7,K8=R8;else if(We=o+(k4<<2)|0,N4=+s[We>>2],Ge=+s[W1>>2],U4=Ge+N4,W4=!(U4>=P),W4){Ae=k4+s8|0,W9=v+R8|0,oe=i5(k4,k4)|0,ae=oe+j9|0,B4=i5(v,v)|0,e0=B4+B9|0,H=i5(v,k4)|0,X=H+b9|0,U=Ue+1|0,P8=h8,e8=U,i8=P4,I8=ae,Pe=Be,Q4=Ae,C8=d3,q8=X,q4=o8,Je=e0,re=o7,K8=W9;break}else{Se=k4+Be|0,je=v+o7|0,Z9=i5(k4,k4)|0,se=Z9+P4|0,b6=i5(v,v)|0,O4=b6+o8|0,F9=i5(v,k4)|0,a4=F9+d3|0,_4=h8+1|0,P8=_4,e8=Ue,i8=se,I8=j9,Pe=Se,Q4=s8,C8=a4,q8=b9,q4=O4,Je=B9,re=je,K8=R8;break}while(!1);if(a0=k4+1|0,Z=(k4|0)<(e7|0),Z)k4=a0,h8=P8,Ue=e8,P4=i8,j9=I8,Be=Pe,s8=Q4,d3=C8,b9=q8,o8=q4,B9=Je,o7=re,R8=K8;else{w8=P8,j8=e8,S8=i8,D8=I8,d8=Pe,Fe=Q4,t7=C8,q9=q8,J8=q4,_8=Je,H7=re,q7=K8;break}}if(V=(U6+(m9*56|0)|0)+8|0,e[V>>2]=d8,o0=(U6+(m9*56|0)|0)+12|0,e[o0>>2]=H7,n0=(U6+(m9*56|0)|0)+16|0,e[n0>>2]=S8,i0=(U6+(m9*56|0)|0)+20|0,e[i0>>2]=J8,K=(U6+(m9*56|0)|0)+24|0,e[K>>2]=t7,c0=(U6+(m9*56|0)|0)+28|0,e[c0>>2]=w8,s0=(U6+(m9*56|0)|0)+32|0,e[s0>>2]=Fe,l0=(U6+(m9*56|0)|0)+36|0,e[l0>>2]=q7,j=(U6+(m9*56|0)|0)+40|0,e[j>>2]=D8,$0=(U6+(m9*56|0)|0)+44|0,e[$0>>2]=_8,g0=(U6+(m9*56|0)|0)+48|0,e[g0>>2]=q9,f0=(U6+(m9*56|0)|0)+52|0,e[f0>>2]=j8,Q0=w8+me|0,c6=(D4|0)==(t2|0),c6){f7=Q0;break}else m4=R4,m9=D4,me=Q0}}else he=9}else he=9}else he=9}else he=9;if((he|0)==9){if(G0=(d6|0)==0,!G0)return ee=0,m=e4,ee|0;M2=U6+4|0,Le=U6,b7=Le+56|0;do e[Le>>2]=0,Le=Le+4|0;while((Le|0)<(b7|0));if(e[M2>>2]=j3,P2=(j3|0)<1,P2)U8=0,W8=0,H8=0,u8=0,n8=0,X9=0,E8=0,te=0,n7=0,s7=0,M7=0,T7=0;else for(v2=J+1112|0,c4=0,k8=0,f8=0,t8=0,le=0,ce=0,ge=0,H4=0,ie=0,A8=0,Ye=0,v7=0,a8=0;;){_5=a+(c4<<2)|0,N=+s[_5>>2],c2=N*7.314285755157471,F2=c2+1023.5,L5=~~F2,R3=(L5|0)>1023,M5=(L5|0)<0,f=M5?0:L5,B=R3?1023:f,U3=(B|0)==0;do if(U3)O8=k8,Re=f8,xe=t8,r8=le,Oe=ce,pe=ge,He=H4,qe=ie,b8=A8,A7=Ye,S7=v7,D7=a8;else if(l6=o+(c4<<2)|0,H3=+s[l6>>2],r6=+s[v2>>2],r9=r6+H3,x6=!(r9>=N),x6){h9=c4+ge|0,f9=B+a8|0,u9=i5(c4,c4)|0,o9=u9+le|0,a9=i5(B,B)|0,T9=a9+Ye|0,M6=i5(B,c4)|0,e9=M6+ie|0,G9=f8+1|0,O8=k8,Re=G9,xe=t8,r8=o9,Oe=ce,pe=h9,He=H4,qe=e9,b8=A8,A7=T9,S7=v7,D7=f9;break}else{N6=c4+ce|0,D6=B+v7|0,K6=i5(c4,c4)|0,y6=K6+t8|0,F6=i5(B,B)|0,L6=F6+A8|0,X6=i5(B,c4)|0,A9=X6+H4|0,W6=k8+1|0,O8=W6,Re=f8,xe=y6,r8=le,Oe=N6,pe=ge,He=A9,qe=ie,b8=L6,A7=Ye,S7=D6,D7=a8;break}while(!1);if(I9=c4+1|0,C9=(I9|0)==(j3|0),C9){U8=O8,W8=Re,H8=xe,u8=r8,n8=Oe,X9=pe,E8=He,te=qe,n7=b8,s7=A7,M7=S7,T7=D7;break}else c4=I9,k8=O8,f8=Re,t8=xe,le=r8,ce=Oe,ge=pe,H4=He,ie=qe,A8=b8,Ye=A7,v7=S7,a8=D7}E4=U6+8|0,e[E4>>2]=n8,s4=U6+12|0,e[s4>>2]=M7,g4=U6+16|0,e[g4>>2]=H8,N9=U6+20|0,e[N9>>2]=n7,z9=U6+24|0,e[z9>>2]=E8,D9=U6+28|0,e[D9>>2]=U8,P6=U6+32|0,e[P6>>2]=X9,t9=U6+36|0,e[t9>>2]=T7,C4=U6+40|0,e[C4>>2]=u8,S4=U6+44|0,e[S4>>2]=s7,A4=U6+48|0,e[A4>>2]=te,Q9=U6+52|0,e[Q9>>2]=W8,f7=U8}if(d0=(f7|0)==0,d0)return ee=0,m=e4,ee|0;e[r7>>2]=-200,e[Y8>>2]=-200,h0=d6+-1|0,iB(U6,h0,r7,Y8,J)|0,E0=e[r7>>2]|0,e[p4>>2]=E0,e[l4>>2]=E0,C0=e[Y8>>2]|0,I0=l4+4|0,e[I0>>2]=C0,v0=p4+4|0,e[v0>>2]=C0,K0=(d6|0)>2;do if(K0){b0=J+1112|0,m0=J+1096|0,F0=J+1100|0,L0=J+1104|0,L4=2;e:for(;;){U0=(n+520|0)+(L4<<2)|0,B0=e[U0>>2]|0,q0=L8+(B0<<2)|0,x0=e[q0>>2]|0,D0=De+(B0<<2)|0,M0=e[D0>>2]|0,J0=z8+(x0<<2)|0,Y0=e[J0>>2]|0,O0=(Y0|0)==(M0|0);t:do if(!O0){if(z0=(n+520|0)+(x0<<2)|0,P0=e[z0>>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,S0=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=l4+(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,E1=(h1|0)<0,u1=l4+(M0<<2)|0,d1=e[u1>>2]|0,E1?Q=d1:(p1=(d1|0)<0,p1?Q=h1:(Q1=d1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,y1=(Q|0)==-1,w7=x1|y1,w7){he=38;break e}S1=Q-y|0,F1=c1-S0|0,_e=(S1|0)>-1,w9=0-S1|0,L1=_e?S1:w9,N1=(S1|0)/(F1|0)&-1,w1=S1>>31,Z1=w1|1,G1=a+(S0<<2)|0,Y=+s[G1>>2],D1=Y*7.314285755157471,K1=D1+1023.5,P1=~~K1,H1=(P1|0)>1023,q1=(P1|0)<0,I=q1?0:P1,S=H1?1023:I,Y1=i5(N1,F1)|0,l7=(Y1|0)>-1,h7=0-Y1|0,j1=l7?Y1:h7,r2=L1-j1|0,O1=y-S|0,l2=i5(O1,O1)|0,z1=o+(S0<<2)|0,f2=+s[z1>>2],s2=+s[b0>>2],E2=s2+f2,A2=!(E2>=Y),A2?he=42:(V1=+(y|0),g2=+s[m0>>2],a2=g2+V1,$2=+(S|0),i2=a2<$2,i2||(o2=+s[F0>>2],X1=V1-o2,n2=X1>$2,n2||(he=42)));i:do if((he|0)==42){if(he=0,u2=S0+1|0,e2=(u2|0)<(c1|0),e2)for(I2=u2,j4=0,y7=l2,N8=1,u7=y;;){if(y2=j4+r2|0,S2=(y2|0)<(F1|0),w2=S2?0:Z1,_2=S2?0:F1,F4=y2-_2|0,F=u7+N1|0,i7=F+w2|0,G2=a+(I2<<2)|0,z=+s[G2>>2],J2=z*7.314285755157471,N2=J2+1023.5,q2=~~N2,T2=(q2|0)>1023,O2=(q2|0)<0,C=O2?0:q2,D=T2?1023:C,K2=i7-D|0,s5=i5(K2,K2)|0,T1=s5+y7|0,j2=N8+1|0,x5=o+(I2<<2)|0,X2=+s[x5>>2],D5=X2+s2,V2=D5>=z,f5=(D|0)!=0,X8=V2&f5,X8&&(k5=+(i7|0),O5=+s[m0>>2],$5=O5+k5,E5=+(D|0),r5=$5>2],R2=k5-x2,B2=R2>E5,B2)))break i;if(C5=I2+1|0,F5=(C5|0)<(c1|0),F5)I2=C5,j4=F4,y7=T1,N8=j2,u7=i7;else{Z8=T1,G8=j2;break}}else Z8=l2,G8=1;if(u5=+s[m0>>2],b5=u5*u5,N5=+(G8|0),H2=b5/N5,I5=+s[L0>>2],A5=H2>I5,!A5&&(l5=+s[F0>>2],m5=l5*l5,M1=m5/N5,v5=M1>I5,!v5&&(c5=(Z8|0)/(G8|0)&-1,o5=+(c5|0),z2=o5>I5,z2)))break;$3=p4+(L4<<2)|0,e[$3>>2]=-200,l3=l4+(L4<<2)|0,e[l3>>2]=-200;break t}while(!1);if(e[M8>>2]=-200,e[T8>>2]=-200,e[be>>2]=-200,e[Xe>>2]=-200,B5=U6+(P0*56|0)|0,e5=B0-P0|0,n5=iB(B5,e5,M8,T8,J)|0,g5=U6+(B0*56|0)|0,Y2=H0-B0|0,h5=iB(g5,Y2,be,Xe,J)|0,t5=(n5|0)!=0,t5&&(e[M8>>2]=y,R5=e[be>>2]|0,e[T8>>2]=R5),W2=(h5|0)==0,!W2&&(a5=e[T8>>2]|0,e[be>>2]=a5,e[Xe>>2]=Q,t5)){p5=p4+(L4<<2)|0,e[p5>>2]=-200,H5=l4+(L4<<2)|0,e[H5>>2]=-200;break}if(X5=e[M8>>2]|0,e[s1>>2]=X5,d5=(x0|0)==0,d5&&(e[p4>>2]=X5),u3=e[T8>>2]|0,h3=p4+(L4<<2)|0,e[h3>>2]=u3,J5=e[be>>2]|0,e3=l4+(L4<<2)|0,e[e3>>2]=J5,n3=e[Xe>>2]|0,e[I1>>2]=n3,C3=(M0|0)==1,C3&&(e[I0>>2]=n3),K5=J5&u3,w3=(K5|0)>-1,w3){f3=(B0|0)>0;i:do if(f3)for(V8=B0;;){if(Q7=V8+-1|0,K3=De+(Q7<<2)|0,T3=e[K3>>2]|0,z5=(T3|0)==(M0|0),!z5)break i;if(e[K3>>2]=L4,y3=(V8|0)>1,y3)V8=Q7;else break}while(!1);if(g7=B0+1|0,B3=(g7|0)<(d6|0),B3)for(F8=g7;;){if(W5=L8+(F8<<2)|0,t6=e[W5>>2]|0,G3=(t6|0)==(x0|0),!G3)break t;if(e[W5>>2]=L4,c7=F8+1|0,o3=(c7|0)<(d6|0),o3)F8=c7;else break}}}while(!1);if(m3=L4+1|0,q5=(m3|0)<(d6|0),q5)L4=m3;else{he=68;break}}if((he|0)==38)gv(1);else if((he|0)==68){M=e[p4>>2]|0,T=e[l4>>2]|0,w5=M,n6=T;break}}else w5=E0,n6=E0;while(!1);if(U5=d6<<2,P5=P7(t,U5)|0,N3=(w5|0)<0,N3?w=n6:(t3=(n6|0)<0,t3?w=w5:(A3=n6+w5|0,x3=A3>>1,w=x3)),e[P5>>2]=w,h6=e[v0>>2]|0,p3=(h6|0)<0,k3=e[I0>>2]|0,p3?x=k3:(Q3=(k3|0)<0,Q3?x=h6:(i6=k3+h6|0,W3=i6>>1,x=W3)),V5=P5+4|0,e[V5>>2]=x,K0)X4=2;else return ee=P5,m=e4,ee|0;for(;;)if(v3=X4+-2|0,c3=(n+1032|0)+(v3<<2)|0,O3=e[c3>>2]|0,$6=(n+780|0)+(v3<<2)|0,I3=e[$6>>2]|0,w6=(J+836|0)+(O3<<2)|0,k6=e[w6>>2]|0,v6=(J+836|0)+(I3<<2)|0,B6=e[v6>>2]|0,p6=P5+(O3<<2)|0,_6=e[p6>>2]|0,q6=P5+(I3<<2)|0,C6=e[q6>>2]|0,S3=(J+836|0)+(X4<<2)|0,X3=e[S3>>2]|0,e6=_6&32767,f6=C6&32767,P3=f6-e6|0,D3=B6-k6|0,$7=(P3|0)>-1,v8=0-P3|0,V3=$7?P3:v8,S6=X3-k6|0,s6=i5(V3,S6)|0,i3=(s6|0)/(D3|0)&-1,O6=(P3|0)<0,s3=0-i3|0,_=O6?s3:i3,b=_+e6|0,A6=p4+(X4<<2)|0,u6=e[A6>>2]|0,b3=(u6|0)<0,T6=l4+(X4<<2)|0,Q6=e[T6>>2]|0,b3?p=Q6:(R6=(Q6|0)<0,R6?p=u6:(J6=Q6+u6|0,I6=J6>>1,p=I6)),Y6=(p|0)<0,F3=(b|0)==(p|0),k7=Y6|F3,Z6=b|32768,c=k7?Z6:p,G6=P5+(X4<<2)|0,e[G6>>2]=c,j6=X4+1|0,$e=(j6|0)==(d6|0),$e){ee=P5;break}else X4=j6;return m=e4,ee|0}function x8(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;if(o0=m,f=n+1284|0,E=e[f>>2]|0,b=(o|0)!=0,z=(a|0)!=0,a0=b&z,!a0)return Z=0,Z|0;if(Y=E<<2,t0=P7(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,C=i5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=i5(v,c)|0,w=C+32768|0,y=w+S|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,x=e[e0>>2]|0,_=x&32768,F=(_|0)==0,F||(L=e[p>>2]|0,M=L&32768,T=(M|0)==0,T||(N=D|32768,e[Q>>2]=N)),P=U+1|0,X=(P|0)==(E|0),X){Z=t0;break}else U=P;return Z|0}function Yv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0;if(L6=m,m=m+336|0,x6=L6+64|0,c3=L6+32|0,F3=L6,D=o+1296|0,Q=e[D>>2]|0,g2=o+1284|0,x2=e[g2>>2]|0,A5=n+64|0,n5=e[A5>>2]|0,X5=n5+4|0,f3=e[X5>>2]|0,$3=f3+28|0,A3=e[$3>>2]|0,b=A3+2848|0,t0=e[b>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),x5=n+36|0,X2=e[x5>>2]|0,D5=(X2|0)/2&-1,V2=D5<<2,ne(c|0,0,V2|0)|0,E=0,m=L6,E|0;if(Q0=(x2|0)>0,Q0)for(F0=Q+832|0,f6=0;O0=a+(f6<<2)|0,f1=e[O0>>2]|0,u1=f1&32767,N1=e[F0>>2]|0,(N1|0)==4?(K2=u1>>>4,N6=K2):(N1|0)==1?(j1=u1>>>2,N6=j1):(N1|0)==2?(a2=u1>>>3,N6=a2):(N1|0)==3?(w2=(u1>>>0)/12&-1,N6=w2):N6=u1,f5=f1&32768,k5=f5|N6,e[O0>>2]=k5,O5=f6+1|0,C6=(O5|0)==(x2|0),!C6;)f6=O5;if($5=e[a>>2]|0,e[x6>>2]=$5,v2=a+4|0,E5=e[v2>>2]|0,r5=x6+4|0,e[r5>>2]=E5,R2=(x2|0)>2,B2=o+1292|0,R2){for(P3=2;;){if(C5=P3+-2|0,F5=(o+1032|0)+(C5<<2)|0,u5=e[F5>>2]|0,b5=(o+780|0)+(C5<<2)|0,N5=e[b5>>2]|0,_5=(Q+836|0)+(u5<<2)|0,H2=e[_5>>2]|0,I5=(Q+836|0)+(N5<<2)|0,l5=e[I5>>2]|0,m5=a+(u5<<2)|0,M1=e[m5>>2]|0,v5=a+(N5<<2)|0,c5=e[v5>>2]|0,o5=(Q+836|0)+(P3<<2)|0,z2=e[o5>>2]|0,c2=M1&32767,B5=c5&32767,e5=B5-c2|0,g5=l5-H2|0,H3=(e5|0)>-1,Z6=0-e5|0,Y2=H3?e5:Z6,h5=z2-H2|0,t5=i5(Y2,h5)|0,R5=(t5|0)/(g5|0)&-1,W2=(e5|0)<0,a5=0-R5|0,C=W2?a5:R5,I=C+c2|0,F2=a+(P3<<2)|0,p5=e[F2>>2]|0,H5=p5&32768,d5=(H5|0)!=0,u3=(p5|0)==(I|0),r9=d5|u3,r9)h3=I|32768,e[F2>>2]=h3,J5=x6+(P3<<2)|0,e[J5>>2]=0;else{e3=e[B2>>2]|0,n3=e3-I|0,C3=(n3|0)<(I|0),f=C3?n3:I,L5=p5-I|0,K5=(L5|0)<0;do if(K5)if(w3=0-f|0,B3=(L5|0)<(w3|0),B3){K3=L5^-1,T3=f+K3|0,D6=T3;break}else{z5=L5<<1,y3=z5^-1,D6=y3;break}else if(W5=(f|0)>(L5|0),W5){R3=L5<<1,D6=R3;break}else{t6=f+L5|0,D6=t6;break}while(!1);G3=x6+(P3<<2)|0,e[G3>>2]=D6,e[m5>>2]=c2,o3=e[v5>>2]|0,l3=o3&32767,e[v5>>2]=l3}if(m3=P3+1|0,q6=(m3|0)==(x2|0),q6)break;P3=m3}v=e[x6>>2]|0,S=e[r5>>2]|0,i6=v,v3=S}else i6=$5,v3=E5;if(U2(t,1,1),q5=o+1308|0,U5=e[q5>>2]|0,P5=U5+1|0,e[q5>>2]=P5,w5=e[B2>>2]|0,N3=w5+-1|0,M5=L7(N3)|0,n6=M5<<1,t3=o+1304|0,x3=e[t3>>2]|0,h6=x3+n6|0,e[t3>>2]=h6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=L7(k3)|0,U2(t,i6,Q3),W3=e[B2>>2]|0,U3=W3+-1|0,V5=L7(U3)|0,U2(t,v3,V5),x=e[Q>>2]|0,_=(x|0)>0,_)for(F=o+1300|0,D3=0,s6=2;;){if(L=(Q+4|0)+(D3<<2)|0,M=e[L>>2]|0,T=(Q+128|0)+(M<<2)|0,N=e[T>>2]|0,P=(Q+192|0)+(M<<2)|0,z=e[P>>2]|0,Y=1<>2]=0,e[c3+4>>2]=0,e[c3+8>>2]=0,e[c3+12>>2]=0,e[c3+16>>2]=0,e[c3+20>>2]=0,e[c3+24>>2]=0,e[c3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;$0=((Q+320|0)+(M<<5)|0)+(s3<<2)|0,g0=e[$0>>2]|0,f0=(g0|0)<0,f0?y=1:(d0=(A3+1824|0)+(g0<<2)|0,w0=e[d0>>2]|0,h0=w0+4|0,E0=e[h0>>2]|0,y=E0),C0=F3+(s3<<2)|0,e[C0>>2]=y,I0=s3+1|0,v0=(I0|0)<(Y|0),v0;)s3=I0;e0=(N|0)>0;e:do if(e0){if(W)for(O3=0,w6=0,A6=0;;)if(K0=c3+(A6<<2)|0,b0=e[K0>>2]|0,m0=b0<>2]|0,T6=0;;){if(H=F3+(T6<<2)|0,X=e[H>>2]|0,a0=(U|0)<(X|0),a0){r6=T6,L3=31;break}if(Z=T6+1|0,V=(Z|0)<(Y|0),V)T6=Z;else{L3=33;break}}if((L3|0)==31?(L3=0,o0=c3+(u6<<2)|0,e[o0>>2]=r6,r0=r6):(L3|0)==33&&(L3=0,p=c3+(u6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<<$6,K=i0|k6,c0=$6+z|0,s0=u6+1|0,_6=(s0|0)==(N|0),_6){I3=K;break}else $6=c0,k6=K,u6=s0}}else I3=0;while(!1);B0=(Q+256|0)+(M<<2)|0,q0=e[B0>>2]|0,x0=t0+(q0*56|0)|0,D0=_h(x0,I3,t)|0,M0=e[F>>2]|0,J0=M0+D0|0,e[F>>2]=J0}if(Y0=(N|0)>0,Y0)for(b3=0;z0=c3+(b3<<2)|0,G0=e[z0>>2]|0,P0=((Q+320|0)+(M<<5)|0)+(G0<<2)|0,r1=e[P0>>2]|0,H0=(r1|0)>-1,H0&&(e1=b3+s6|0,S0=x6+(e1<<2)|0,i1=e[S0>>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=_h(l1,i1,t)|0,a1=e[t3>>2]|0,n1=a1+s1|0,e[t3>>2]=n1)),A1=b3+1|0,p6=(A1|0)==(N|0),!p6;)b3=A1;if(Z0=N+s6|0,I1=D3+1|0,h1=e[Q>>2]|0,E1=(I1|0)<(h1|0),E1)D3=I1,s6=Z0;else break}if(d1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=i5(p1,d1)|0,R1=n+28|0,x1=e[R1>>2]|0,y1=A3+(x1<<2)|0,S1=e[y1>>2]|0,F1=(S1|0)/2&-1,L1=e[g2>>2]|0,w1=(L1|0)>1,w1)for(X3=0,i3=1,Q6=0,I6=Q1;;){if(K1=(o+260|0)+(i3<<2)|0,P1=e[K1>>2]|0,H1=a+(P1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,r2=(Y1|0)==(q1|0),r2)if(W1=e[B1>>2]|0,O1=i5(W1,q1)|0,l2=(Q+836|0)+(P1<<2)|0,z1=e[l2>>2]|0,f2=O1-I6|0,s2=z1-Q6|0,V3=(f2|0)>-1,G6=0-f2|0,E2=V3?f2:G6,A2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=i5(A2,s2)|0,S6=($2|0)>-1,j6=0-$2|0,i2=S6?$2:j6,o2=E2-i2|0,X1=(F1|0)>(z1|0),K6=X1?z1:F1,n2=(K6|0)>(Q6|0),n2&&(u2=c+(Q6<<2)|0,e[u2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(K6|0),y2)for(I2=e2,v6=0,y6=I6;;)if(S2=v6+o2|0,m2=(S2|0)<(s2|0),M2=m2?0:t2,_2=m2?0:s2,B6=S2-_2|0,B=y6+A2|0,F6=B+M2|0,G2=c+(I2<<2)|0,e[G2>>2]=F6,J2=I2+1|0,l6=(J2|0)==(K6|0),l6){e6=z1,R6=z1,Y6=O1;break}else I2=J2,v6=B6,y6=F6;else e6=z1,R6=z1,Y6=O1;else e6=X3,R6=Q6,Y6=I6;if(N2=i3+1|0,q2=e[g2>>2]|0,T2=(N2|0)<(q2|0),T2)X3=e6,i3=N2,Q6=R6,I6=Y6;else{S3=e6,J6=Y6;break}}else S3=0,J6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,G1=(Z1|0)/2&-1,D1=(S3|0)<(G1|0),D1)O6=S3;else return E=1,m=L6,E|0;for(;;)if(O2=c+(O6<<2)|0,e[O2>>2]=J6,s5=O6+1|0,P2=e[U1>>2]|0,T1=(P2|0)/2&-1,j2=(s5|0)<(T1|0),j2)O6=s5;else{E=1;break}return m=L6,E|0}function iB(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0;if(s5=m,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,d0=e[i0>>2]|0,L0=(n|0)>0,L0)for(z0=c+1108|0,g1=+s[z0>>2],t2=0,X1=0,u2=0,w2=0,G2=0,q2=0;;)if(d1=(t+(X1*56|0)|0)+52|0,w1=e[d1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,M=v+w1|0,H=+(M|0),X=H*g1,U=v+1|0,a0=+(U|0),Z=X/a0,V=Z,o0=V+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,K=+(r0|0),c0=(t+(X1*56|0)|0)+8|0,s0=e[c0>>2]|0,l0=+(s0|0),j=l0*o0,$0=K+w2,g0=$0+j,f0=(t+(X1*56|0)|0)+36|0,Q0=e[f0>>2]|0,w0=+(Q0|0),h0=(t+(X1*56|0)|0)+12|0,E0=e[h0>>2]|0,C0=+(E0|0),I0=C0*o0,v0=w0+q2,K0=v0+I0,b0=(t+(X1*56|0)|0)+40|0,m0=e[b0>>2]|0,F0=+(m0|0),T0=(t+(X1*56|0)|0)+16|0,U0=e[T0>>2]|0,B0=+(U0|0),q0=B0*o0,x0=F0+u2,D0=x0+q0,M0=(t+(X1*56|0)|0)+48|0,J0=e[M0>>2]|0,Y0=+(J0|0),O0=(t+(X1*56|0)|0)+24|0,G0=e[O0>>2]|0,P0=+(G0|0),r1=P0*o0,H0=Y0+G2,e1=H0+r1,S0=+(w1|0),i1=+(v|0),c1=o0*i1,$1=S0+t2,f1=$1+c1,l1=X1+1|0,o2=(l1|0)==(n|0),o2){a2=f1,n2=D0,S2=g0,_2=e1,N2=K0;break}else t2=f1,X1=l1,u2=D0,w2=g0,G2=e1,q2=K0;else a2=0,n2=0,S2=0,_2=0,N2=0;return s1=e[o>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),A1=S2+n1,Z0=+(s1|0),I1=Z0+N2,h1=i5(p,p)|0,E1=+(h1|0),u1=n2+E1,B1=i5(s1,p)|0,p1=+(B1|0),Q1=p1+_2,R1=a2+1,$2=R1,e2=u1,m2=A1,I2=Q1,T2=I1):($2=a2,e2=n2,m2=S2,I2=_2,T2=N2),x1=e[a>>2]|0,y1=(x1|0)>-1,y1?(S1=+(d0|0),F1=m2+S1,L1=+(x1|0),N1=L1+T2,U1=i5(d0,d0)|0,Z1=+(U1|0),G1=e2+Z1,D1=i5(x1,d0)|0,K1=+(D1|0),P1=K1+I2,H1=$2+1,i2=H1,y2=G1,M2=F1,J2=P1,O2=N1):(i2=$2,y2=e2,M2=m2,J2=I2,O2=T2),q1=y2*i2,Y1=M2*M2,j1=q1-Y1,W1=j1>0,W1?(O1=O2*y2,l2=M2*J2,z1=O1-l2,f2=z1/j1,s2=J2*i2,E2=M2*O2,A2=s2-E2,V1=A2/j1,g2=+(p|0),S=V1*g2,w=S+f2,y=+Gi(w),D=~~y,e[o>>2]=D,Q=+(d0|0),b=V1*Q,x=b+f2,_=+Gi(x),F=~~_,e[a>>2]=F,L=e[o>>2]|0,T=(L|0)>1023,T?(e[o>>2]=1023,E=e[a>>2]|0,N=E,W=1023):(N=F,W=L),P=(N|0)>1023,P?(e[a>>2]=1023,I=e[o>>2]|0,z=I,e0=1023):(z=W,e0=N),Y=(z|0)<0,Y?(e[o>>2]=0,C=e[a>>2]|0,t0=C):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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=0;if(S0=m,E=t+836|0,I=t+840|0,x=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,d0=(i0|0)>0,d0){for(L0=t+4|0,J0=0,H0=-1;;)if(B=L0+(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(B0=t+128|0,q0=t+192|0,C=t+256|0,p=t+320|0,Y0=0;;){if(b=B0+(Y0<<2)|0,_=e[b>>2]|0,F=_+-1|0,U2(n,F,3),L=q0+(Y0<<2)|0,M=e[L>>2]|0,U2(n,M,2),T=e[L>>2]|0,N=(T|0)==0,N?(z0=0,e1=8):(P=C+(Y0<<2)|0,z=e[P>>2]|0,U2(n,z,8),c=e[L>>2]|0,Y=(c|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),H=z0+1|0,X=e[L>>2]|0,U=1<>2]|0,n0=o0+-1|0,U2(n,n0,2),r0=x+-1|0,K=L7(r0)|0,U2(n,K,4),c0=L7(r0)|0,s0=e[t>>2]|0,l0=(s0|0)>0,!!l0)for(j=t+4|0,$0=t+128|0,T0=s0,x0=0,O0=0,G0=0;;){if(g0=j+(O0<<2)|0,f0=e[g0>>2]|0,Q0=$0+(f0<<2)|0,w0=e[Q0>>2]|0,h0=w0+x0|0,E0=(G0|0)<(h0|0),E0){for(r1=G0;C0=r1+2|0,I0=E+(C0<<2)|0,v0=e[I0>>2]|0,U2(n,v0,c0),K0=r1+1|0,D0=(K0|0)==(h0|0),!D0;)r1=K0;f=e[t>>2]|0,F0=f,P0=h0}else F0=T0,P0=G0;if(b0=O0+1|0,m0=(b0|0)<(F0|0),m0)T0=F0,x0=h0,O0=b0,G0=P0;else break}}function Kv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0;z1=m,m=m+272|0,O1=z1,D=t+28|0,Q=e[D>>2]|0,Y=r4(1,1120)|0,o0=z4(n,5)|0,e[Y>>2]=o0,f0=(o0|0)>0;e:do if(f0){for(m0=Y+4|0,Z1=0,r2=-1;;){if(_=z4(n,4)|0,F=m0+(Z1<<2)|0,e[F>>2]=_,L=(_|0)<0,L)break e;if(M=(r2|0)<(_|0),c=M?_:r2,T=Z1+1|0,N=e[Y>>2]|0,P=(T|0)<(N|0),P)Z1=T,r2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,E1=Y+192|0,L1=Y+256|0,b=Q+24|0,x=Y+320|0,G1=0;;){if(z=z4(n,3)|0,t0=z+1|0,J=$1+(G1<<2)|0,e[J>>2]=t0,W=z4(n,2)|0,e0=E1+(G1<<2)|0,e[e0>>2]=W,H=(W|0)<0,H||(X=(W|0)==0,X?(E=L1+(G1<<2)|0,I=e[E>>2]|0,Z=I):(U=z4(n,8)|0,a0=L1+(G1<<2)|0,e[a0>>2]=U,Z=U),V=(Z|0)<0,V)||(n0=e[b>>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($0=z4(n,8)|0,g0=$0+-1|0,Q0=(x+(G1<<5)|0)+(H1<<2)|0,e[Q0>>2]=g0,d0=($0|0)<0,d0||(w0=e[b>>2]|0,h0=($0|0)>(w0|0),l0=H1+1|0,h0))break e;if(c0=e[e0>>2]|0,s0=1<>2]=v0,b0=z4(n,4)|0,F0=(b0|0)<0,!F0)){if(L0=e[Y>>2]|0,T0=(L0|0)>0,T0)for(U0=Y+4|0,B0=Y+128|0,q0=Y+836|0,x0=1<>2]|0,J0=B0+(M0<<2)|0,O0=e[J0>>2]|0,z0=O0+U1|0,G0=(z0|0)>63,G0)break e;if(P0=(q1|0)<(z0|0),P0){for(j1=q1;;){if(r1=z4(n,b0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=r1,S0=(r1|0)>-1,i1=(r1|0)<(x0|0),W1=S0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(z0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=N1,Y1=q1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)N1=s1,U1=z0,D1=g1,q1=Y1;else{C=q0,p=x0,w1=z0;break}}else w=Y+836|0,y=1<>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=w1+2|0,A1=(w1|0)>-2,A1)for(K1=0;Z0=C+(K1<<2)|0,I1=O1+(K1<<2)|0,e[I1>>2]=Z0,h1=K1+1|0,u1=(h1|0)<(n1|0),u1;)K1=h1;xh(O1,n1,4,8),d1=(n1|0)>1;t:do if(d1){for(v=e[O1>>2]|0,S=e[v>>2]|0,y1=S,P1=1;Q1=O1+(P1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(y1|0)==(x1|0),B1=P1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)y1=x1,P1=B1;else break t;if(F1=(Y|0)==0,F1)o=0;else break e;return m=z1,o|0}while(!1);return o=Y,m=z1,o|0}while(!1);return d2(Y),o=0,m=z1,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0;if(F1=m,m=m+272|0,y1=F1,a=r4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,V=e[z>>2]|0,g0=a+1288|0,e[g0>>2]=V,b0=e[n>>2]|0,J0=(b0|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,C=f+(I<<2)|0,p=e[C>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(b0|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?(L=w,p1=o,S1=7):(xh(y1,w,4,8),B1=o)}else r1=a+1284|0,e[r1>>2]=2,L=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;b=D+(l1<<2)|0,x=y1+(l1<<2)|0,e[x>>2]=b,_=l1+1|0,F=(_|0)<(L|0),F;)l1=_;for(xh(y1,L,4,8),M=D,T=a+260|0,s1=0;Y=y1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-M|0,e0=W>>2,H=T+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(L|0),U;)s1=X;for(N=a+260|0,P=a+520|0,a1=0;Z=N+(a1<<2)|0,o0=e[Z>>2]|0,n0=P+(o0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(L|0),r0;)a1=i0;for(a0=a+260|0,n1=0;;)if(K=a0+(n1<<2)|0,c0=e[K>>2]|0,s0=D+(c0<<2)|0,l0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=l0,$0=n1+1|0,f0=($0|0)<(L|0),f0)n1=$0;else{B1=p1;break}}if(Q0=n+832|0,d0=e[Q0>>2]|0,(d0|0)==4?(C0=a+1292|0,e[C0>>2]=64):(d0|0)==2?(h0=a+1292|0,e[h0>>2]=128):(d0|0)==1?(w0=a+1292|0,e[w0>>2]=256):(d0|0)==3&&(E0=a+1292|0,e[E0>>2]=86),I0=(B1|0)>0,!I0)return m=F1,a|0;for(v0=a+1032|0,K0=a+780|0,A1=0;;){for(m0=A1+2|0,F0=D+(m0<<2)|0,L0=e[F0>>2]|0,T0=e[g0>>2]|0,S0=1,$1=T0,Z0=0,I1=0,u1=0;;)if(U0=D+(Z0<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)>(u1|0),x0=(B0|0)<(L0|0),R1=q0&x0,h1=R1?Z0:I1,d1=R1?B0:u1,D0=(B0|0)<($1|0),M0=(B0|0)>(L0|0),x1=D0&M0,i1=x1?Z0:S0,f1=x1?B0:$1,Y0=Z0+1|0,O0=(Y0|0)<(m0|0),O0)S0=i1,$1=f1,Z0=Y0,I1=h1,u1=d1;else{c1=i1,E1=h1;break}if(z0=v0+(A1<<2)|0,e[z0>>2]=E1,G0=K0+(A1<<2)|0,e[G0>>2]=c1,P0=A1+1|0,e1=(P0|0)==(B1|0),e1)break;A1=P0}return m=F1,a|0}function zv(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function Zv(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function Wv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;if(w2=m,f=n+1296|0,E=e[f>>2]|0,r0=t+64|0,w0=e[r0>>2]|0,T0=w0+4|0,G0=e[T0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,x=z4(I,1)|0,J=(x|0)==1,!J)return o=0,o|0;U=n+1284|0,a0=e[U>>2]|0,Z=a0<<2,V=P7(t,Z)|0,o0=n+1292|0,n0=e[o0>>2]|0,i0=n0+-1|0,K=L7(i0)|0,c0=z4(I,K)|0,e[V>>2]=c0,s0=e[o0>>2]|0,l0=s0+-1|0,j=L7(l0)|0,$0=z4(I,j)|0,g0=V+4|0,e[g0>>2]=$0,f0=e[E>>2]|0,Q0=(f0|0)>0;e:do if(Q0){i2=0,n2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,v0=e[I0>>2]|0,K0=(E+128|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=(E+192|0)+(v0<<2)|0,F0=e[m0>>2]|0,L0=1<>2]|0,x0=W1+(q0*56|0)|0,D0=YC(x0,I)|0,M0=(D0|0)==-1,M0){o=0,S2=25;break}else t2=D0;if(J0=(b0|0)>0,J0)for(Y0=L0+-1|0,$2=t2,u2=0;;){if(O0=$2&Y0,z0=((E+320|0)+(v0<<5)|0)+(O0<<2)|0,P0=e[z0>>2]|0,r1=$2>>F0,H0=(P0|0)>-1,H0){if(e1=W1+(P0*56|0)|0,S0=YC(e1,I)|0,i1=u2+n2|0,c1=V+(i1<<2)|0,e[c1>>2]=S0,$1=(S0|0)==-1,$1){o=0,S2=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)<(b0|0),a1)$2=r1,u2=s1;else break}if(n1=b0+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((S2|0)==25)return o|0}while(!1);if(d0=e[U>>2]|0,h0=(d0|0)>2,!h0)return o=V,o|0;for(E0=n+1032|0,C0=n+780|0,o2=2;;){if(h1=o2+-2|0,E1=E0+(h1<<2)|0,u1=e[E1>>2]|0,d1=(E+836|0)+(u1<<2)|0,p1=e[d1>>2]|0,Q1=C0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,y1=e[x1>>2]|0,S1=V+(u1<<2)|0,F1=e[S1>>2]|0,L1=V+(R1<<2)|0,N1=e[L1>>2]|0,w1=(E+836|0)+(o2<<2)|0,Z1=e[w1>>2]|0,G1=F1&32767,D1=N1&32767,K1=D1-G1|0,P1=y1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=i5(H1,q1)|0,j1=(Y1|0)/(P1|0)&-1,r2=(K1|0)<0,O1=0-j1|0,c=r2?O1:j1,a=c+G1|0,l2=e[o0>>2]|0,z1=l2-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,g2=V1<<1,a2=(s2|0)<(g2|0);do if(a2)if(S=s2&1,w=(S|0)==0,w){b=s2>>1,y2=b;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(C=(z1|0)>(a|0),C){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);_=y2+a|0,F=_&32767,e[f2>>2]=F,L=e[E1>>2]|0,M=V+(L<<2)|0,T=e[M>>2]|0,N=T&32767,e[M>>2]=N,P=e[Q1>>2]|0,z=V+(P<<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 jv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0;if(w1=m,E=n+1296|0,I=e[E>>2]|0,x=t+64|0,J=e[x>>2]|0,i0=J+4|0,d0=e[i0>>2]|0,L0=d0+28|0,z0=e[L0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,C=z0+(f1<<2)|0,p=e[C>>2]|0,B=(p|0)/2&-1,v=(o|0)==0,v)return c1=B<<2,ne(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=i5(y,S)|0,Q=(D|0)<0,b=(D|0)>255,_=b?255:D,F=Q?0:_,L=n+1284|0,M=e[L>>2]|0,T=(M|0)>1,T)for(N=n+260|0,A1=0,E1=1,d1=0,Q1=F;;){if(t0=N+(E1<<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(a0=(I+836|0)+(W<<2)|0,Z=e[a0>>2]|0,V=i5(y,H)|0,o0=(V|0)<0,n0=(V|0)>255,r0=n0?255:V,K=o0?0:r0,c0=K-Q1|0,s0=Z-d1|0,I1=(c0|0)>-1,x1=0-c0|0,l0=I1?c0:x1,j=(c0|0)/(s0|0)&-1,$0=c0>>31,g0=$0|1,f0=i5(j,s0)|0,h1=(f0|0)>-1,y1=0-f0|0,Q0=h1?f0:y1,w0=l0-Q0|0,h0=(B|0)>(Z|0),S1=h0?Z:B,E0=(S1|0)>(d1|0),E0&&(C0=1768+(Q1<<2)|0,I0=+s[C0>>2],v0=a+(d1<<2)|0,K0=+s[v0>>2],b0=K0*I0,s[v0>>2]=b0),m0=d1+1|0,F0=(m0|0)<(S1|0),F0)for(J0=m0,g1=0,F1=Q1;;)if(T0=g1+w0|0,U0=(T0|0)<(s0|0),B0=U0?0:g0,q0=U0?0:s0,l1=T0-q0|0,f=F1+j|0,L1=f+B0|0,x0=1768+(L1<<2)|0,D0=+s[x0>>2],M0=a+(J0<<2)|0,Y0=+s[M0>>2],O0=Y0*D0,s[M0>>2]=O0,G0=J0+1|0,a1=(G0|0)==(S1|0),a1){Z0=Z,B1=Z,R1=K;break}else J0=G0,g1=l1,F1=L1;else Z0=Z,B1=Z,R1=K;else Z0=A1,B1=d1,R1=Q1;if(P0=E1+1|0,r1=(P0|0)<(M|0),r1)A1=Z0,E1=P0,d1=B1,Q1=R1;else{n1=Z0,p1=R1;break}}else n1=0,p1=F;if(P=(n1|0)<(B|0),!P)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],u1=n1;;)if(H0=a+(u1<<2)|0,e1=+s[H0>>2],S0=e1*Y,s[H0>>2]=S0,i1=u1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else u1=i1;return c|0}function Xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return C=m,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 eS(t){t=t|0;var n=0,o=0;o=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;o0=m,c=z$(n|0)|0,f=z$(o|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=m,m=m+((1*a|0)+15&-16)|0,oB(J|0,n|0)|0,Z=z$(J|0)|0,a0=J+Z|0,u[a0>>0]=61,u[a0+1>>0]=0,EQ(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=Ni(W,U)|0,e[t>>2]=E,I=t+4|0,C=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Ni(C,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,b=w+1|0,x=S9(b)|0,_=e[t>>2]|0,F=_+(y<<2)|0,e[F>>2]=x,L=e[t>>2]|0,M=L+(y<<2)|0,T=e[M>>2]|0,oB(T|0,J|0)|0,N=e[e0>>2]|0,P=N+1|0,e[e0>>2]=P,z=e[t>>2]|0,t0=z+(P<<2)|0,e[t0>>2]=0,m=o0}function iS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0;if(Y=m,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(x=t+8|0,_=e[x>>2]|0,F=(_|0)>0,F){for(b=_,M=f,P=0;L=M+(P<<2)|0,T=e[L>>2]|0,N=(T|0)==0,N?C=b:(d2(T),o=e[x>>2]|0,C=o),E=P+1|0,I=(E|0)<(C|0),!!I;)n=e[t>>2]|0,b=C,M=n,P=E;a=e[t>>2]|0,p=a}else p=f;d2(p)}B=t+4|0,v=e[B>>2]|0,S=(v|0)==0,S||d2(v),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||d2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function rS(t){t=t|0;var n=0,o=0,a=0,c=0;c=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=r4(1,3664)|0,o=t+28|0,e[o>>2]=n}function rB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0;if(B1=m,f=t+28|0,E=e[f>>2]|0,b=(E|0)==0,b){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,Q0=(n0|0)>0,Q0)for(g1=n0,A1=0;n1=(E+32|0)+(A1<<2)|0,I=e[n1>>2]|0,C=(I|0)==0,C?v=g1:(d2(I),n=e[t0>>2]|0,v=n),p=A1+1|0,B=(p|0)<(v|0),B;)g1=v,A1=p;if(F0=E+12|0,O0=e[F0>>2]|0,f1=(O0|0)>0,f1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,x=(Q|0)==0,x?Y=l1:(_=(E+288|0)+(Z0<<2)|0,F=e[_>>2]|0,L=25664+(F<<2)|0,M=e[L>>2]|0,T=M+8|0,N=e[T>>2]|0,Ws[N&7](Q),o=e[F0>>2]|0,Y=o),P=Z0+1|0,z=(P|0)<(Y|0),z;)l1=Y,Z0=P;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:(a0=(E+800|0)+(I1<<2)|0,Z=e[a0>>2]|0,V=25640+(Z<<2)|0,o0=e[V>>2]|0,i0=o0+12|0,r0=e[i0>>2]|0,Ws[r0&7](X),a=e[S>>2]|0,s0=a),K=I1+1|0,c0=(K|0)<(s0|0),c0;)s1=s0,I1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;f0=(E+1568|0)+(h1<<2)|0,d0=e[f0>>2]|0,w0=(d0|0)==0,w0?L0=a1:(h0=(E+1312|0)+(h1<<2)|0,E0=e[h0>>2]|0,C0=25648+(E0<<2)|0,I0=e[C0>>2]|0,v0=I0+12|0,K0=e[v0>>2]|0,Ws[K0&7](d0),c=e[J>>2]|0,L0=c),b0=h1+1|0,m0=(b0|0)<(L0|0),m0;)a1=L0,h1=b0;if(l0=E+24|0,j=e[l0>>2]|0,$0=(j|0)>0,g0=E+2848|0,$0)for(E1=0;T0=(E+1824|0)+(E1<<2)|0,U0=e[T0>>2]|0,B0=(U0|0)==0,B0||AB(U0),q0=e[g0>>2]|0,x0=(q0|0)==0,x0||(D0=q0+(E1*56|0)|0,LS(D0)),M0=E1+1|0,J0=e[l0>>2]|0,Y0=(M0|0)<(J0|0),Y0;)E1=M0;if(z0=e[g0>>2]|0,G0=(z0|0)==0,G0||d2(z0),P0=E+28|0,r1=e[P0>>2]|0,H0=(r1|0)>0,H0)for(u1=0;e1=(E+2852|0)+(u1<<2)|0,S0=e[e1>>2]|0,fS(S0),i1=u1+1|0,c1=e[P0>>2]|0,$1=(i1|0)<(c1|0),$1;)u1=i1;d2(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 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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0;if(z2=m,m=m+32|0,M1=z2,C=t+4|0,p=e[C>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,G1=(Q1|0)==0,G1)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,m=z2,f|0;if(l2=p+4|0,i2=e[l2>>2]|0,_2=(i2|0)<1,_2)v5=-129,o5=27;else if(jm(M1),T1=p+28|0,E5=e[T1>>2]|0,B=(E5|0)==0,B)v5=-130,o5=27;else if(L=e[E5>>2]|0,H=(L|0)<64,H)v5=-130,o5=27;else if(c0=E5+4|0,E0=e[c0>>2]|0,B0=(E0|0)<(L|0),B0)v5=-130,o5=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[l2>>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),E1=e[E5>>2]|0,u1=E1+-1|0,d1=L7(u1)|0,U2(M1,d1,4),B1=e[c0>>2]|0,p1=B1+-1|0,R1=L7(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,y1=e[x1>>2]|0,S1=(y1|0)==0,S1||d2(y1),F1=p7(M1)|0,L1=S9(F1)|0,e[x1>>2]=L1,N1=M1+8|0,w1=e[N1>>2]|0,U1=p7(M1)|0,n4(L1|0,w1|0,U1|0)|0,Z1=e[x1>>2]|0,e[o>>2]=Z1,D1=p7(M1)|0,K1=o+4|0,e[K1>>2]=D1,P1=o+8|0,e[P1>>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,ht(M1),sS(M1,n),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||d2(Y1),r2=p7(M1)|0,W1=S9(r2)|0,e[q1>>2]=W1,O1=e[N1>>2]|0,z1=p7(M1)|0,n4(W1|0,O1|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,g2=V1,a2=g2,e[a2>>2]=1,t2=g2+4|0,$2=t2,e[$2>>2]=0,ht(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,S2=(y2|0)>0,S2)for(H2=0;;){if(G2=(o2+1824|0)+(H2<<2)|0,I2=e[G2>>2]|0,J2=Lv(I2,M1)|0,N2=(J2|0)==0,m2=H2+1|0,!N2)break e;if(w2=e[n2>>2]|0,M2=(m2|0)<(w2|0),M2)H2=m2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=o2+16|0,T2=e[q2>>2]|0,O2=T2+-1|0,U2(M1,O2,6),K2=e[q2>>2]|0,s5=(K2|0)>0,s5)for(I5=0;;){if(P2=(o2+800|0)+(I5<<2)|0,j2=e[P2>>2]|0,U2(M1,j2,16),x5=e[P2>>2]|0,X2=25640+(x5<<2)|0,D5=e[X2>>2]|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5)break e;if(k5=(o2+1056|0)+(I5<<2)|0,O5=e[k5>>2]|0,cB[V2&3](O5,M1),$5=I5+1|0,v2=e[q2>>2]|0,r5=($5|0)<(v2|0),r5)I5=$5;else break}if(x2=o2+20|0,R2=e[x2>>2]|0,B2=R2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,F5=(C5|0)>0,F5)for(A5=0;u5=(o2+1312|0)+(A5<<2)|0,b5=e[u5>>2]|0,U2(M1,b5,16),N5=e[u5>>2]|0,_5=25648+(N5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(o2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,cB[S&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,b=(D|0)<(Q|0),b;)A5=D;if(x=o2+12|0,_=e[x>>2]|0,F=_+-1|0,U2(M1,F,6),M=e[x>>2]|0,T=(M|0)>0,T)for(l5=0;N=(o2+288|0)+(l5<<2)|0,P=e[N>>2]|0,U2(M1,P,16),z=e[N>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(o2+544|0)+(l5<<2)|0,e0=e[W>>2]|0,yQ[J&1](p,e0,M1),X=l5+1|0,U=e[x>>2]|0,a0=(X|0)<(U|0),a0;)l5=X;if(Z=o2+8|0,V=e[Z>>2]|0,o0=V+-1|0,U2(M1,o0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(m5=0;r0=(o2+32|0)+(m5<<2)|0,K=e[r0>>2]|0,s0=e[K>>2]|0,U2(M1,s0,1),l0=e[r0>>2]|0,j=l0+4|0,$0=e[j>>2]|0,U2(M1,$0,16),g0=e[r0>>2]|0,f0=g0+8|0,Q0=e[f0>>2]|0,U2(M1,Q0,16),d0=e[r0>>2]|0,w0=d0+12|0,h0=e[w0>>2]|0,U2(M1,h0,8),C0=m5+1|0,I0=e[Z>>2]|0,v0=(C0|0)<(I0|0),v0;)m5=C0;return U2(M1,1,1),K0=Q1+72|0,b0=e[K0>>2]|0,m0=(b0|0)==0,m0||d2(b0),F0=p7(M1)|0,L0=S9(F0)|0,e[K0>>2]=L0,T0=e[N1>>2]|0,U0=p7(M1)|0,n4(L0|0,T0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=p7(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,O0=Y0,e[O0>>2]=2,z0=Y0+4|0,G0=z0,e[G0>>2]=0,Xm(M1),f=0,m=z2,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,c5=-130}return(o5|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,c5=v5),Xm(M1),P0=e[I>>2]|0,H0=(P0|0)==0,H0||d2(P0),e1=Q1+68|0,S0=e[e1>>2]|0,i1=(S0|0)==0,i1||d2(S0),c1=Q1+72|0,$1=e[c1>>2]|0,f1=($1|0)==0,f1||d2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=c5,m=z2,f|0}function sS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0;for(i0=m,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,x=u[o>>0]|0,J=x<<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),a0=e[X>>2]|0,Z=(a0|0)>0,!Z){U2(t,1,1);return}for(V=n+4|0,o0=0;;){if(C=e[n>>2]|0,p=C+(o0<<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+(o0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(o0<<2)|0,b=e[Q>>2]|0,_=(b|0)==0,!_)for(F=e[n>>2]|0,L=F+(o0<<2)|0,M=e[L>>2]|0,a=M,f=b;T=f+-1|0,N=a+1|0,P=u[a>>0]|0,z=P<<24>>24,U2(t,z,8),Y=(T|0)==0,!Y;)a=N,f=T;if(t0=o0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)o0=t0;else break}U2(t,1,1)}function Wp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0;if(Y1=m,C=a+1|0,p=C<<3,c=p,F=m,m=m+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=m,m=m+((1*f|0)+15&-16)|0,h0=(C|0)==0,h0)T=0;else{for(U0=a;;){if(P0=(U0|0)<(o|0),P0)for(E1=0,F1=U0;;)if(s1=t+(F1<<2)|0,I1=+s[s1>>2],B=I1,v=F1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,D=y*B,Q=D+E1,b=F1+1|0,S1=(b|0)==(o|0),S1){h1=Q;break}else E1=Q,F1=b;else h1=0;if(x=F+(U0<<3)|0,o1[x>>3]=h1,_=U0+-1|0,L=(U0|0)==0,L)break;U0=_}I=+o1[F>>3],T=I}if(M=T*1.0000000001,N=T*1e-9,P=N+1e-10,z=(a|0)>0,z)d1=M,L1=0;else return Q1=M,Z0=Q1,m=Y1,+Z0;for(;;){if(w1=L1+1|0,Y=d1>3],U=-X,a0=(L1|0)>0,a0){for(U1=0,P1=U;;)if(o0=K+(U1<<3)|0,n0=+o1[o0>>3],i0=L1-U1|0,r0=F+(i0<<3)|0,c0=+o1[r0>>3],s0=c0*n0,l0=P1-s0,j=U1+1|0,y1=(j|0)==(L1|0),y1){E=l0;break}else U1=j,P1=l0;if($0=E/d1,g0=K+(L1<<3)|0,o1[g0>>3]=$0,f0=(L1|0)/2&-1,Q0=(L1|0)>1,Q0){for(d0=L1+-1|0,w0=(f0|0)>1,G1=0;E0=K+(G1<<3)|0,C0=+o1[E0>>3],I0=d0-G1|0,v0=K+(I0<<3)|0,K0=+o1[v0>>3],b0=K0*$0,m0=b0+C0,o1[E0>>3]=m0,F0=C0*$0,L0=+o1[v0>>3],T0=L0+F0,o1[v0>>3]=T0,B0=G1+1|0,q0=(B0|0)<(f0|0),q0;)G1=B0;H1=w0?f0:1,O0=$0,Z1=H1}else O0=$0,Z1=0}else Z=U/d1,V=K+(L1<<3)|0,o1[V>>3]=Z,O0=Z,Z1=0;if(x0=L1&1,D0=(x0|0)==0,D0||(M0=K+(Z1<<3)|0,J0=+o1[M0>>3],Y0=J0*O0,z0=Y0+J0,o1[M0>>3]=z0),G0=O0*O0,r1=1-G0,H0=r1*d1,e1=(w1|0)<(a|0),e1)d1=H0,L1=w1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(N1<<3)|0,J=a-N1|0,W=J<<3,ne(t0|0,0,W|0)|0,p1=B1),z)u1=.99,D1=0;else return Q1=p1,Z0=Q1,m=Y1,+Z0;for(;S0=K+(D1<<3)|0,i1=+o1[S0>>3],c1=i1*u1,o1[S0>>3]=c1,$1=u1*.99,f1=D1+1|0,x1=(f1|0)==(a|0),!x1;)u1=$1,D1=f1;if(z)K1=0;else return Q1=p1,Z0=Q1,m=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,m=Y1,+Z0}function jp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(V=m,I=c+o|0,C=I<<2,f=C,_=m,m=m+((1*f|0)+15&-16)|0,L=(n|0)==0,M=(o|0)>0,L?M&&(N=o<<2,ne(_|0,0,N|0)|0):M&&(T=o<<2,n4(_|0,n|0,T|0)|0),P=(c|0)>0,!P){m=V;return}if(z=(o|0)>0,z)W=0,e0=o;else{Y=c<<2,ne(_|0,0,Y|0)|0,ne(a|0,0,Y|0)|0,m=V;return}for(;;){for(X=W,U=o,a0=0;;)if(S=X+1|0,w=_+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,b=+s[Q>>2],x=b*y,F=a0-x,t0=(S|0)==(e0|0),t0){E=F;break}else X=S,U=D,a0=F;if(p=_+(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}m=V}function AS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0;if(v0=m,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),o0=n+1156|0,g0=e[o0>>2]|0,f0=(g0|0)>0,f0){if(U2(o,1,1),Q0=e[o0>>2]|0,d0=Q0+-1|0,U2(o,d0,8),w0=e[o0>>2]|0,E=(w0|0)>0,E)for(I=n+1160|0,C=t+4|0,p=n+2184|0,h0=0;B=I+(h0<<2)|0,v=e[B>>2]|0,S=e[C>>2]|0,w=S+-1|0,y=L7(w)|0,U2(o,v,y),D=p+(h0<<2)|0,b=e[D>>2]|0,x=e[C>>2]|0,_=x+-1|0,F=L7(_)|0,U2(o,b,F),L=h0+1|0,M=e[o0>>2]|0,T=(L|0)<(M|0),T;)h0=L}else U2(o,0,1);if(U2(o,0,2),N=e[n>>2]|0,P=(N|0)>1,P){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,E0=0;a0=W+(E0<<2)|0,Z=e[a0>>2]|0,U2(o,Z,4),V=E0+1|0,n0=e[z>>2]|0,i0=(V|0)<(n0|0),i0;)E0=V;a=e[n>>2]|0,e0=a,I0=13}}else e0=N,I0=13;if(!((I0|0)==13&&(H=(e0|0)>0,!H)))for(X=n+1028|0,U=n+1092|0,C0=0;U2(o,0,8),r0=X+(C0<<2)|0,K=e[r0>>2]|0,U2(o,K,8),c0=U+(C0<<2)|0,s0=e[c0>>2]|0,U2(o,s0,8),l0=C0+1|0,j=e[n>>2]|0,$0=(l0|0)<(j|0),$0;)C0=l0}function oS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,c=r4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,ne(c|0,0,3208)|0,Y=t+4|0,o0=e[Y>>2]|0,f0=(o0|0)<1;e:do if(f0)a1=24;else if(m0=z4(n,1)|0,Y0=(m0|0)<0,Y0)a1=24;else{if(H0=(m0|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(C=z4(n,1)|0,p=(C|0)<0,!p){if(B=(C|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,b=c+2184|0,a=e[Y>>2]|0,M=a,S0=0;;){if(L=M+-1|0,T=L7(L)|0,N=z4(n,T)|0,P=D+(S0<<2)|0,e[P>>2]=N,z=e[Y>>2]|0,t0=z+-1|0,J=L7(t0)|0,W=z4(n,J)|0,e0=b+(S0<<2)|0,e[e0>>2]=W,H=W|N,X=(H|0)<0,U=(N|0)==(W|0),$1=U|X,$1||(a0=e[Y>>2]|0,Z=(N|0)<(a0|0),V=(W|0)<(a0|0),f1=Z&V,_=S0+1|0,!f1))break e;if(x=e[w>>2]|0,F=(_|0)<(x|0),F)M=a0,S0=_;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(c0=e[Y>>2]|0,s0=(c0|0)>0,s0)for(l0=c+4|0,i1=0;;){if(I0=z4(n,4)|0,v0=l0+(i1<<2)|0,e[v0>>2]=I0,K0=e[c>>2]|0,b0=(I0|0)>=(K0|0),F0=(I0|0)<0,g1=F0|b0,E0=i1+1|0,g1)break e;if(h0=e[Y>>2]|0,C0=(E0|0)<(h0|0),C0)i1=E0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&($0=(j|0)>0,!$0))return o=c,o|0;for(g0=c+1028|0,Q0=Q+16|0,d0=c+1092|0,w0=Q+20|0,c1=0;;){if(z4(n,8)|0,B0=z4(n,8)|0,q0=g0+(c1<<2)|0,e[q0>>2]=B0,x0=e[Q0>>2]|0,D0=(B0|0)>=(x0|0),M0=(B0|0)<0,l1=M0|D0,l1||(J0=z4(n,8)|0,O0=d0+(c1<<2)|0,e[O0>>2]=J0,z0=e[w0>>2]|0,G0=(J0|0)>=(z0|0),P0=(J0|0)<0,s1=P0|G0,T0=c1+1|0,s1))break e;if(L0=e[c>>2]|0,U0=(T0|0)<(L0|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):(d2(c),o=0,o|0)}function aS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function $S(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,G8=0,N8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Gt=0,Nt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,G7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,N7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0,js=0,Nn=0,Xs=0,Un=0,eA=0,tA=0,On=0,iA=0,Kr=0,rA=0,nA=0,sA=0,Pn=0,AA=0,Hn=0,qn=0,oA=0,Vr=0,Yn=0,zr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Zr=0,Vn=0,cA=0,Ir=0,Wr=0,gA=0,hA=0,jr=0,$i=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,IA=0,li=0,Xr=0,dA=0,Xn=0,EA=0,CA=0,mA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,en=0,dr=0,tn=0,vA=0,zi=0,SA=0,is=0,rn=0,rs=0,nn=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,Er=0,as=0,ci=0,sn=0,Cr=0,Zi=0,mr=0,Ui=0,Br=0,$s=0,Oi=0,Bi=0,pi=0,Wt=0,Qi=0,pr=0,Wi=0,ji=0,Qr=0,gi=0,RA=0,at=0,W$=0,An=0,on=0;if(An=m,b=t+64|0,x=e[b>>2]|0,t2=x+4|0,U3=e[t2>>2]|0,_4=U3+28|0,q4=e[_4>>2]|0,gA=x+104|0,li=e[gA>>2]|0,yA=t+104|0,rn=e[yA>>2]|0,_=t+36|0,W=e[_>>2]|0,r0=U3+4|0,w0=e[r0>>2]|0,T0=w0<<2,a=T0,G0=m,m=m+((1*a|0)+15&-16)|0,l1=P7(t,T0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=P7(t,U1)|0,$2=e[r0>>2]|0,M2=$2<<2,P2=P7(t,M2)|0,v2=rn+4|0,_5=+s[v2>>2],c2=e[r0>>2]|0,F2=c2<<2,c=F2,L5=m,m=m+((1*c|0)+15&-16)|0,R3=rn+8|0,M5=e[R3>>2]|0,V5=t+28|0,l6=e[V5>>2]|0,H3=(q4+544|0)+(l6<<2)|0,r6=e[H3>>2]|0,x6=li+56|0,h9=e[x6>>2]|0,E4=(l6|0)!=0,A4=E4?2:0,D=A4+M5|0,o4=h9+(D*52|0)|0,U4=t+40|0,e[U4>>2]=l6,Ae=(c2|0)>0,Ae)for($4=+(W|0),q3=4/$4,g7=(s[p2>>2]=q3,e[p2>>2]|0),w8=(W|0)/2&-1,v8=w8<<2,S8=g7&2147483647,n8=+(S8>>>0),Q4=n8*7177114298428933e-22,qe=Q4+-764.6162109375,s7=qe,re=s7+.345,tt=re,it=li+4|0,qt=t+24|0,ai=t+32|0,N7=tt+-764.6162109375,Jr=W+-1|0,rA=(Jr|0)>1,Jn=tt+-382.30810546875,Br=_5,Oi=0;;){if(hA=e[t>>2]|0,jr=hA+(Oi<<2)|0,$i=e[jr>>2]|0,zn=P7(t,v8)|0,fA=W1+(Oi<<2)|0,e[fA>>2]=zn,uA=P7(t,v8)|0,Zn=l1+(Oi<<2)|0,e[Zn>>2]=uA,Wn=e[qt>>2]|0,jn=e[V5>>2]|0,IA=e[ai>>2]|0,HS($i,it,q4,Wn,jn,IA),Xr=e[V5>>2]|0,dA=(li+12|0)+(Xr<<2)|0,Xn=e[dA>>2]|0,EA=e[Xn>>2]|0,CA=e[Zn>>2]|0,Xp(EA,$i,CA),mA=e[V5>>2]|0,es=(li+20|0)+(mA*12|0)|0,GS(es,$i),BA=e[$i>>2]|0,pA=BA&2147483647,QA=+(pA>>>0),ts=QA*7177114298428933e-22,wA=N7+ts,kA=wA,en=kA+.345,dr=en,s[$i>>2]=dr,tn=L5+(Oi<<2)|0,s[tn>>2]=dr,rA)for(P=dr,pr=1;;)if(vA=$i+(pr<<2)|0,zi=+s[vA>>2],SA=zi*zi,is=pr+1|0,rs=$i+(is<<2)|0,nn=+s[rs>>2],DA=nn*nn,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,Er=_A,F=Er+.345,L=F,M=is>>1,T=$i+(M<<2)|0,s[T>>2]=L,N=L>P,N?(s[tn>>2]=L,Ir=L):Ir=P,z=pr+2|0,Y=(z|0)<(Jr|0),Y)P=Ir,pr=z;else{J=Ir;break}else J=dr;if(t0=J>0,t0?(s[tn>>2]=0,H=0):H=J,e0=H>Br,$s=e0?H:Br,X=Oi+1|0,U=e[r0>>2]|0,a0=(X|0)<(U|0),a0)Br=$s,Oi=X;else{p=v8,v=w8,Ui=$s;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,Ui=_5;Z=P7(t,p)|0,V=P7(t,p)|0,o0=e[r0>>2]|0,n0=(o0|0)>0;e:do if(n0){if(i0=(W|0)>1,K=li+48|0,i0)pi=0;else{for(Bi=0;;){e6=(r6+4|0)+(Bi<<2)|0,f6=e[e6>>2]|0,P3=l1+(Bi<<2)|0,D3=e[P3>>2]|0,V3=e[t>>2]|0,S6=V3+(Bi<<2)|0,s6=e[S6>>2]|0,i3=s6+(v<<2)|0,e[U4>>2]=l6,O6=P7(t,60)|0,s3=P2+(Bi<<2)|0,e[s3>>2]=O6,at=O6,on=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(on|0));if(rQ(o4,i3,Z),A6=L5+(Bi<<2)|0,u6=+s[A6>>2],nQ(o4,s6,V,Ui,u6),V$(o4,Z,V,1,s6,D3,i3),b3=(r6+1028|0)+(f6<<2)|0,T6=e[b3>>2]|0,Q6=(q4+800|0)+(T6<<2)|0,R6=e[Q6>>2]|0,J6=(R6|0)==1,!J6){o=-1;break}if(I6=e[K>>2]|0,Y6=I6+(T6<<2)|0,F3=e[Y6>>2]|0,Z6=K$(t,F3,i3,s6)|0,G6=e[s3>>2]|0,j6=G6+28|0,e[j6>>2]=Z6,r9=bh(t)|0,N6=(r9|0)==0,N6||(D6=e[s3>>2]|0,K6=D6+28|0,y6=e[K6>>2]|0,F6=(y6|0)==0,F6||(V$(o4,Z,V,2,s6,D3,i3),L3=e[b3>>2]|0,L6=e[K>>2]|0,X6=L6+(L3<<2)|0,A9=e[X6>>2]|0,W6=K$(t,A9,i3,s6)|0,f9=e[s3>>2]|0,u9=f9+56|0,e[u9>>2]=W6,V$(o4,Z,V,0,s6,D3,i3),o9=e[b3>>2]|0,a9=e[K>>2]|0,T9=a9+(o9<<2)|0,d6=e[T9>>2]|0,M6=K$(t,d6,i3,s6)|0,e9=e[s3>>2]|0,e[e9>>2]=M6,G9=e[b3>>2]|0,I9=e[K>>2]|0,s4=I9+(G9<<2)|0,g4=e[s4>>2]|0,N9=e[s3>>2]|0,z9=e[N9>>2]|0,D9=N9+28|0,d9=e[D9>>2]|0,P6=x8(t,g4,z9,d9,9362)|0,t9=e[s3>>2]|0,C4=t9+4|0,e[C4>>2]=P6,S4=e[b3>>2]|0,Q9=e[K>>2]|0,D4=Q9+(S4<<2)|0,b4=e[D4>>2]|0,R4=e[s3>>2]|0,M4=e[R4>>2]|0,Z4=R4+28|0,m4=e[Z4>>2]|0,T4=x8(t,b4,M4,m4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=T4,x4=e[b3>>2]|0,h4=e[K>>2]|0,de=h4+(x4<<2)|0,H9=e[de>>2]|0,E9=e[s3>>2]|0,Ee=e[E9>>2]|0,Te=E9+28|0,We=e[Te>>2]|0,N4=x8(t,H9,Ee,We,28086)|0,Ge=e[s3>>2]|0,W4=Ge+12|0,e[W4>>2]=N4,Se=e[b3>>2]|0,je=e[K>>2]|0,Z9=je+(Se<<2)|0,se=e[Z9>>2]|0,f4=e[s3>>2]|0,b6=e[f4>>2]|0,O4=f4+28|0,F9=e[O4>>2]|0,a4=x8(t,se,b6,F9,37449)|0,W9=e[s3>>2]|0,oe=W9+16|0,e[oe>>2]=a4,ae=e[b3>>2]|0,B4=e[K>>2]|0,j4=B4+(ae<<2)|0,F4=e[j4>>2]|0,$e=e[s3>>2]|0,C9=e[$e>>2]|0,c6=$e+28|0,Ne=e[c6>>2]|0,Ce=x8(t,F4,C9,Ne,46811)|0,p4=e[s3>>2]|0,l4=p4+20|0,e[l4>>2]=Ce,U6=e[b3>>2]|0,De=e[K>>2]|0,be=De+(U6<<2)|0,Xe=e[be>>2]|0,c4=e[s3>>2]|0,k4=e[c4>>2]|0,g8=c4+28|0,y9=e[g8>>2]|0,m9=x8(t,Xe,k4,y9,56173)|0,L4=e[s3>>2]|0,X4=L4+24|0,e[X4>>2]=m9,$7=e[b3>>2]|0,_e=e[K>>2]|0,l7=_e+($7<<2)|0,Q7=e[l7>>2]|0,V8=e[s3>>2]|0,c7=V8+28|0,F8=e[c7>>2]|0,L8=V8+56|0,M8=e[L8>>2]|0,T8=x8(t,Q7,F8,M8,9362)|0,z8=e[s3>>2]|0,Z8=z8+32|0,e[Z8>>2]=T8,y7=e[b3>>2]|0,G8=e[K>>2]|0,N8=G8+(y7<<2)|0,U8=e[N8>>2]|0,k8=e[s3>>2]|0,h8=k8+28|0,O8=e[h8>>2]|0,P8=k8+56|0,W8=e[P8>>2]|0,j8=x8(t,U8,O8,W8,18724)|0,f8=e[s3>>2]|0,Ue=f8+36|0,e[Ue>>2]=j8,Re=e[b3>>2]|0,e8=e[K>>2]|0,w9=e8+(Re<<2)|0,h7=e[w9>>2]|0,me=e[s3>>2]|0,f7=me+28|0,w7=e[f7>>2]|0,X8=me+56|0,k7=e[X8>>2]|0,ee=x8(t,h7,w7,k7,28086)|0,e7=e[s3>>2]|0,H8=e7+40|0,e[H8>>2]=ee,t8=e[b3>>2]|0,P4=e[K>>2]|0,xe=P4+(t8<<2)|0,i8=e[xe>>2]|0,u8=e[s3>>2]|0,D8=u8+28|0,le=e[D8>>2]|0,j9=u8+56|0,r8=e[j9>>2]|0,I8=x8(t,i8,le,r8,37449)|0,d8=e[s3>>2]|0,ce=d8+44|0,e[ce>>2]=I8,Be=e[b3>>2]|0,Oe=e[K>>2]|0,Pe=Oe+(Be<<2)|0,X9=e[Pe>>2]|0,Fe=e[s3>>2]|0,ge=Fe+28|0,s8=e[ge>>2]|0,pe=Fe+56|0,E8=e[pe>>2]|0,t7=x8(t,X9,s8,E8,46811)|0,H4=e[s3>>2]|0,d3=H4+48|0,e[d3>>2]=t7,He=e[b3>>2]|0,C8=e[K>>2]|0,te=C8+(He<<2)|0,q9=e[te>>2]|0,ie=e[s3>>2]|0,b9=ie+28|0,q8=e[b9>>2]|0,u7=ie+56|0,i7=e[u7>>2]|0,r7=x8(t,q9,q8,i7,56173)|0,Y8=e[s3>>2]|0,n7=Y8+52|0,e[n7>>2]=r7)),J8=Bi+1|0,A8=e[r0>>2]|0,o8=(J8|0)<(A8|0),o8)Bi=J8;else{B=K,_8=A8;break e}}return m=An,o|0}for(;;){_6=(r6+4|0)+(pi<<2)|0,f0=e[_6>>2]|0,q6=l1+(pi<<2)|0,$0=e[q6>>2]|0,C6=e[t>>2]|0,S3=C6+(pi<<2)|0,j=e[S3>>2]|0,c0=j+(v<<2)|0,e[U4>>2]=l6,X3=P7(t,60)|0,m0=P2+(pi<<2)|0,e[m0>>2]=X3,at=X3,on=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(on|0));for(Wi=0;W3=$0+(Wi<<2)|0,v3=e[W3>>2]|0,c3=v3&2147483647,O3=+(c3>>>0),$6=O3*7177114298428933e-22,I3=$6+-764.6162109375,w6=I3,k6=w6+.345,v6=k6,Q=Wi+v|0,B6=j+(Q<<2)|0,s[B6>>2]=v6,j3=Wi+1|0,p6=(j3|0)<(v|0),p6;)Wi=j3;if(rQ(o4,c0,Z),s0=L5+(pi<<2)|0,l0=+s[s0>>2],nQ(o4,j,V,Ui,l0),V$(o4,Z,V,1,j,$0,c0),g0=(r6+1028|0)+(f0<<2)|0,Q0=e[g0>>2]|0,d0=(q4+800|0)+(Q0<<2)|0,h0=e[d0>>2]|0,E0=(h0|0)==1,!E0){o=-1;break}if(C0=e[K>>2]|0,I0=C0+(Q0<<2)|0,v0=e[I0>>2]|0,K0=K$(t,v0,c0,j)|0,b0=e[m0>>2]|0,F0=b0+28|0,e[F0>>2]=K0,L0=bh(t)|0,U0=(L0|0)==0,U0||(B0=e[m0>>2]|0,q0=B0+28|0,x0=e[q0>>2]|0,D0=(x0|0)==0,D0||(V$(o4,Z,V,2,j,$0,c0),M0=e[g0>>2]|0,J0=e[K>>2]|0,Y0=J0+(M0<<2)|0,O0=e[Y0>>2]|0,z0=K$(t,O0,c0,j)|0,P0=e[m0>>2]|0,r1=P0+56|0,e[r1>>2]=z0,V$(o4,Z,V,0,j,$0,c0),H0=e[g0>>2]|0,e1=e[K>>2]|0,S0=e1+(H0<<2)|0,i1=e[S0>>2]|0,c1=K$(t,i1,c0,j)|0,$1=e[m0>>2]|0,e[$1>>2]=c1,f1=e[g0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[m0>>2]|0,A1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=x8(t,a1,A1,I1,9362)|0,E1=e[m0>>2]|0,u1=E1+4|0,e[u1>>2]=h1,d1=e[g0>>2]|0,p1=e[K>>2]|0,Q1=p1+(d1<<2)|0,R1=e[Q1>>2]|0,x1=e[m0>>2]|0,y1=e[x1>>2]|0,S1=x1+28|0,F1=e[S1>>2]|0,L1=x8(t,R1,y1,F1,18724)|0,N1=e[m0>>2]|0,w1=N1+8|0,e[w1>>2]=L1,Z1=e[g0>>2]|0,G1=e[K>>2]|0,D1=G1+(Z1<<2)|0,K1=e[D1>>2]|0,P1=e[m0>>2]|0,H1=e[P1>>2]|0,q1=P1+28|0,Y1=e[q1>>2]|0,j1=x8(t,K1,H1,Y1,28086)|0,r2=e[m0>>2]|0,O1=r2+12|0,e[O1>>2]=j1,l2=e[g0>>2]|0,z1=e[K>>2]|0,f2=z1+(l2<<2)|0,s2=e[f2>>2]|0,E2=e[m0>>2]|0,A2=e[E2>>2]|0,V1=E2+28|0,g2=e[V1>>2]|0,a2=x8(t,s2,A2,g2,37449)|0,i2=e[m0>>2]|0,o2=i2+16|0,e[o2>>2]=a2,X1=e[g0>>2]|0,n2=e[K>>2]|0,u2=n2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[m0>>2]|0,S2=e[y2>>2]|0,w2=y2+28|0,m2=e[w2>>2]|0,_2=x8(t,e2,S2,m2,46811)|0,G2=e[m0>>2]|0,I2=G2+20|0,e[I2>>2]=_2,J2=e[g0>>2]|0,N2=e[K>>2]|0,q2=N2+(J2<<2)|0,T2=e[q2>>2]|0,O2=e[m0>>2]|0,K2=e[O2>>2]|0,s5=O2+28|0,T1=e[s5>>2]|0,j2=x8(t,T2,K2,T1,56173)|0,x5=e[m0>>2]|0,X2=x5+24|0,e[X2>>2]=j2,D5=e[g0>>2]|0,V2=e[K>>2]|0,f5=V2+(D5<<2)|0,k5=e[f5>>2]|0,O5=e[m0>>2]|0,$5=O5+28|0,E5=e[$5>>2]|0,r5=O5+56|0,x2=e[r5>>2]|0,R2=x8(t,k5,E5,x2,9362)|0,B2=e[m0>>2]|0,C5=B2+32|0,e[C5>>2]=R2,F5=e[g0>>2]|0,u5=e[K>>2]|0,b5=u5+(F5<<2)|0,N5=e[b5>>2]|0,H2=e[m0>>2]|0,I5=H2+28|0,A5=e[I5>>2]|0,l5=H2+56|0,m5=e[l5>>2]|0,M1=x8(t,N5,A5,m5,18724)|0,v5=e[m0>>2]|0,c5=v5+36|0,e[c5>>2]=M1,o5=e[g0>>2]|0,z2=e[K>>2]|0,B5=z2+(o5<<2)|0,e5=e[B5>>2]|0,n5=e[m0>>2]|0,g5=n5+28|0,Y2=e[g5>>2]|0,h5=n5+56|0,t5=e[h5>>2]|0,R5=x8(t,e5,Y2,t5,28086)|0,W2=e[m0>>2]|0,a5=W2+40|0,e[a5>>2]=R5,p5=e[g0>>2]|0,H5=e[K>>2]|0,X5=H5+(p5<<2)|0,d5=e[X5>>2]|0,u3=e[m0>>2]|0,h3=u3+28|0,J5=e[h3>>2]|0,e3=u3+56|0,n3=e[e3>>2]|0,C3=x8(t,d5,J5,n3,37449)|0,K5=e[m0>>2]|0,w3=K5+44|0,e[w3>>2]=C3,f3=e[g0>>2]|0,B3=e[K>>2]|0,K3=B3+(f3<<2)|0,T3=e[K3>>2]|0,z5=e[m0>>2]|0,y3=z5+28|0,W5=e[y3>>2]|0,t6=z5+56|0,G3=e[t6>>2]|0,o3=x8(t,T3,W5,G3,46811)|0,$3=e[m0>>2]|0,l3=$3+48|0,e[l3>>2]=o3,m3=e[g0>>2]|0,q5=e[K>>2]|0,U5=q5+(m3<<2)|0,P5=e[U5>>2]|0,w5=e[m0>>2]|0,N3=w5+28|0,n6=e[N3>>2]|0,t3=w5+56|0,A3=e[t3>>2]|0,x3=x8(t,P5,n6,A3,56173)|0,h6=e[m0>>2]|0,p3=h6+52|0,e[p3>>2]=x3)),k3=pi+1|0,Q3=e[r0>>2]|0,i6=(k3|0)<(Q3|0),i6)pi=k3;else{B=K,_8=Q3;break e}}return m=An,o|0}else y=li+48|0,B=y,_8=o0;while(!1);for(s[v2>>2]=Ui,b8=_8<<2,f=b8,Ye=m,m=m+((1*f|0)+15&-16)|0,E=b8,B9=m,m=m+((1*E|0)+15&-16)|0,A7=bh(t)|0,Je=(A7|0)!=0,M7=Je?0:7,H7=li+44|0,v7=t+24|0,o7=t+32|0,S7=q4+2868|0,T7=li+52|0,gi=M7;;){if(q7=(rn+12|0)+(gi<<2)|0,a8=e[q7>>2]|0,U2(a8,0,1),R8=e[H7>>2]|0,U2(a8,l6,R8),D7=e[V5>>2]|0,K8=(D7|0)==0,K8||(Le=e[v7>>2]|0,U2(a8,Le,1),he=e[o7>>2]|0,U2(a8,he,1)),e4=e[r0>>2]|0,b7=(e4|0)>0,b7)for(Wt=0;;)if(Gt=(r6+4|0)+(Wt<<2)|0,Nt=e[Gt>>2]|0,Ut=W1+(Wt<<2)|0,ut=e[Ut>>2]|0,Y7=(r6+1028|0)+(Nt<<2)|0,It=e[Y7>>2]|0,J7=e[B>>2]|0,dt=J7+(It<<2)|0,K7=e[dt>>2]|0,Et=P2+(Wt<<2)|0,ni=e[Et>>2]|0,Ot=ni+(gi<<2)|0,Ct=e[Ot>>2]|0,mt=Yv(a8,t,K7,Ct,ut)|0,si=G0+(Wt<<2)|0,e[si>>2]=mt,Bt=Wt+1|0,rt=e[r0>>2]|0,Ai=(Bt|0)<(rt|0),Ai)Wt=Bt;else{I=rt;break}else I=e4;if(Pt=e[V5>>2]|0,Ht=((q4+3240|0)+(Pt*60|0)|0)+(gi<<2)|0,Yt=e[Ht>>2]|0,dS(gi,S7,o4,r6,l1,W1,G0,Yt,I),nt=e[r6>>2]|0,pt=(nt|0)>0,pt)for(Qi=0;;){if(Jt=(r6+1092|0)+(Qi<<2)|0,V7=e[Jt>>2]|0,st=e[r0>>2]|0,G7=(st|0)>0,G7)for(Wr=st,ci=0,ji=0;;)if(z7=(r6+4|0)+(ji<<2)|0,oi=e[z7>>2]|0,Kt=(oi|0)==(Qi|0),Kt?(Qt=B9+(ci<<2)|0,Vt=G0+(ji<<2)|0,yt=e[Vt>>2]|0,RA=(yt|0)!=0,n=RA&1,e[Qt>>2]=n,wt=W1+(ji<<2)|0,zt=e[wt>>2]|0,kt=ci+1|0,Z7=Ye+(ci<<2)|0,e[Z7>>2]=zt,C=e[r0>>2]|0,At=C,sn=kt):(At=Wr,sn=ci),vt=ji+1|0,Zt=(vt|0)<(At|0),Zt)Wr=At,ci=sn,ji=vt;else{as=sn;break}else as=0;if(St=(q4+1312|0)+(V7<<2)|0,Qe=e[St>>2]|0,Dt=25648+(Qe<<2)|0,_7=e[Dt>>2]|0,ot=_7+20|0,i9=e[ot>>2]|0,I7=e[T7>>2]|0,m8=I7+(V7<<2)|0,d7=e[m8>>2]|0,R7=gB[i9&7](t,d7,Ye,B9,as)|0,ur=e[r0>>2]|0,js=(ur|0)>0,js)for(Zi=0,Qr=0;;)if(Nn=(r6+4|0)+(Qr<<2)|0,Xs=e[Nn>>2]|0,Un=(Xs|0)==(Qi|0),Un?(eA=W1+(Qr<<2)|0,tA=e[eA>>2]|0,On=Zi+1|0,iA=Ye+(Zi<<2)|0,e[iA>>2]=tA,mr=On):mr=Zi,Kr=Qr+1|0,nA=(Kr|0)<(ur|0),nA)Zi=mr,Qr=Kr;else{Cr=mr;break}else Cr=0;if(sA=e[St>>2]|0,Pn=25648+(sA<<2)|0,AA=e[Pn>>2]|0,Hn=AA+24|0,qn=e[Hn>>2]|0,oA=e[T7>>2]|0,Vr=oA+(V7<<2)|0,Yn=e[Vr>>2]|0,wQ[qn&3](a8,t,Yn,Ye,B9,Cr,R7,Qi)|0,zr=Qi+1|0,Kn=e[r6>>2]|0,aA=(zr|0)<(Kn|0),aA)Qi=zr;else break}if($A=gi+1|0,lA=bh(t)|0,Zr=(lA|0)!=0,Vn=Zr?14:7,cA=(gi|0)<(Vn|0),cA)gi=$A;else{o=0;break}}return m=An,o|0}function lS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0;if(F2=m,S=t+64|0,w=e[S>>2]|0,E1=w+4|0,L1=e[E1>>2]|0,Y1=L1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,T2=e[y2>>2]|0,f5=t+28|0,F5=e[f5>>2]|0,y=V1+(F5<<2)|0,P=e[y>>2]|0,Z=t+36|0,e[Z>>2]=P,$0=L1+4|0,K0=e[$0>>2]|0,M0=K0<<2,c=M0,i1=m,m=m+((1*c|0)+15&-16)|0,f=M0,Z0=m,m=m+((1*f|0)+15&-16)|0,E=M0,I1=m,m=m+((1*E|0)+15&-16)|0,I=M0,h1=m,m=m+((1*I|0)+15&-16)|0,u1=e[$0>>2]|0,d1=(u1|0)>0,d1)for(B1=n+4|0,p1=n+1028|0,Q1=T2+48|0,R1=P<<1,x1=R1&2147483646,z2=0;;)if(U1=B1+(z2<<2)|0,Z1=e[U1>>2]|0,G1=p1+(Z1<<2)|0,D1=e[G1>>2]|0,K1=(V1+800|0)+(D1<<2)|0,P1=e[K1>>2]|0,H1=25640+(P1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,O1=W1+(D1<<2)|0,l2=e[O1>>2]|0,z1=ft[r2&15](t,l2)|0,f2=h1+(z2<<2)|0,e[f2>>2]=z1,s2=I1+(z2<<2)|0,W2=(z1|0)!=0,o=W2&1,e[s2>>2]=o,E2=e[t>>2]|0,A2=E2+(z2<<2)|0,g2=e[A2>>2]|0,ne(g2|0,0,x1|0)|0,a2=z2+1|0,t2=e[$0>>2]|0,$2=(a2|0)<(t2|0),$2)z2=a2;else{n1=t2;break}else n1=u1;if(y1=n+1156|0,S1=e[y1>>2]|0,F1=(S1|0)>0,F1)for(N1=n+1160|0,w1=n+2184|0,c2=0;e2=N1+(c2<<2)|0,S2=e[e2>>2]|0,w2=I1+(S2<<2)|0,m2=e[w2>>2]|0,M2=(m2|0)==0,_2=w1+(c2<<2)|0,G2=e[_2>>2]|0,M2?(I2=I1+(G2<<2)|0,J2=e[I2>>2]|0,N2=(J2|0)==0,N2||(a5=10)):a5=10,(a5|0)==10&&(a5=0,e[w2>>2]=1,q2=I1+(G2<<2)|0,e[q2>>2]=1),O2=c2+1|0,K2=(O2|0)<(S1|0),K2;)c2=O2;if(i2=e[n>>2]|0,o2=(i2|0)>0,o2){for(X1=n+1092|0,n2=T2+52|0,u2=n+4|0,s5=n1,B5=0;;){if(P2=(s5|0)>0,P2)for(A1=s5,c5=0,h5=0;;)if(T1=u2+(h5<<2)|0,j2=e[T1>>2]|0,x5=(j2|0)==(B5|0),x5?(X2=I1+(h5<<2)|0,D5=e[X2>>2]|0,V2=Z0+(c5<<2)|0,R5=(D5|0)!=0,a=R5&1,e[V2>>2]=a,k5=e[t>>2]|0,O5=k5+(h5<<2)|0,$5=e[O5>>2]|0,v2=c5+1|0,E5=i1+(c5<<2)|0,e[E5>>2]=$5,B=e[$0>>2]|0,R2=B,o5=v2):(R2=A1,o5=c5),r5=h5+1|0,x2=(r5|0)<(R2|0),x2)A1=R2,c5=o5,h5=r5;else{v5=o5;break}else v5=0;if(B2=X1+(B5<<2)|0,C5=e[B2>>2]|0,u5=(V1+1312|0)+(C5<<2)|0,b5=e[u5>>2]|0,N5=25648+(b5<<2)|0,_5=e[N5>>2]|0,H2=_5+28|0,I5=e[H2>>2]|0,A5=e[n2>>2]|0,l5=A5+(C5<<2)|0,m5=e[l5>>2]|0,gB[I5&7](t,m5,i1,Z0,v5)|0,M1=B5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[$0>>2]|0,s5=p,B5=M1}v=e[y1>>2]|0,b=v}else b=S1;if(x=(b|0)>0,x)for(_=n+1160|0,F=e[t>>2]|0,L=n+2184|0,M=(P|0)/2&-1,T=(P|0)>1,n5=b;;){if(e5=n5+-1|0,e0=_+(e5<<2)|0,H=e[e0>>2]|0,X=F+(H<<2)|0,U=e[X>>2]|0,a0=L+(e5<<2)|0,V=e[a0>>2]|0,o0=F+(V<<2)|0,n0=e[o0>>2]|0,T)for(t5=0;;){i0=U+(t5<<2)|0,r0=+s[i0>>2],K=n0+(t5<<2)|0,c0=+s[K>>2],s0=r0>0,l0=c0>0;do if(s0)if(l0){s[i0>>2]=r0,j=r0-c0,s[K>>2]=j;break}else{s[K>>2]=r0,g0=c0+r0,s[i0>>2]=g0;break}else if(l0){s[i0>>2]=r0,f0=c0+r0,s[K>>2]=f0;break}else{s[K>>2]=r0,Q0=r0-c0,s[i0>>2]=Q0;break}while(!1);if(d0=t5+1|0,w0=(d0|0)<(M|0),w0)t5=d0;else break}if(N=(n5|0)>1,N)n5=e5;else break}if(z=e[$0>>2]|0,Y=(z|0)>0,!Y)return m=F2,0;for(t0=n+4|0,J=n+1028|0,W=T2+48|0,g5=0;;)if(E0=e[t>>2]|0,C0=E0+(g5<<2)|0,I0=e[C0>>2]|0,v0=t0+(g5<<2)|0,b0=e[v0>>2]|0,m0=J+(b0<<2)|0,F0=e[m0>>2]|0,L0=(V1+800|0)+(F0<<2)|0,T0=e[L0>>2]|0,U0=25640+(T0<<2)|0,B0=e[U0>>2]|0,q0=B0+24|0,x0=e[q0>>2]|0,D0=e[W>>2]|0,J0=D0+(F0<<2)|0,Y0=e[J0>>2]|0,O0=h1+(g5<<2)|0,z0=e[O0>>2]|0,lB[x0&3](t,Y0,z0,I0)|0,G0=g5+1|0,P0=e[$0>>2]|0,r1=(G0|0)<(P0|0),r1)g5=G0;else{C=P0;break}if(h0=(C|0)>0,!h0)return m=F2,0;for(Y2=0;H0=e[t>>2]|0,e1=H0+(Y2<<2)|0,S0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(T2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,cS(g1,S0,S0),l1=Y2+1|0,s1=e[$0>>2]|0,a1=(l1|0)<(s1|0),a1;)Y2=l1;return m=F2,0}function nB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0;if(y1=m,o=(n|0)/4&-1,a=o<<2,y=S9(a)|0,P=o+n|0,Z=P<<2,$0=S9(Z)|0,K0=n>>1,M0=+(n|0),i1=M0,I1=+qr(+i1),c=I1*1.4426950408889634,f=+Gi(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,C=t+8|0,e[C>>2]=$0,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;L=B1<<2,M=+(L|0),T=S*M,N=+Vo(+T),z=N,Y=B1<<1,t0=$0+(Y<<2)|0,s[t0>>2]=z,J=+Tn(+T),W=J,e0=-W,H=Y|1,X=$0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),a0=Q*U,V=+Vo(+a0),o0=V,n0=Y+K0|0,i0=$0+(n0<<2)|0,s[i0>>2]=o0,r0=+Tn(+a0),K=r0,c0=n0+1|0,s0=$0+(c0<<2)|0,s[s0>>2]=K,l0=B1+1|0,j=(l0|0)<(o|0),j;)B1=l0;if(b=(n|0)/8&-1,x=(n|0)>7,!x){Z0=4/M0,h1=t+16|0,s[h1>>2]=Z0;return}for(_=+(n|0),F=3.141592653589793/_,p1=0;g0=p1<<2,f0=g0|2,Q0=+(f0|0),d0=F*Q0,w0=+Vo(+d0),h0=w0*.5,E0=h0,C0=p1<<1,I0=C0+n|0,v0=$0+(I0<<2)|0,s[v0>>2]=E0,b0=+Tn(+d0),m0=b0*-.5,F0=m0,L0=I0+1|0,T0=$0+(L0<<2)|0,s[T0>>2]=F0,U0=p1+1|0,B0=(U0|0)<(b|0),B0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=Z0;return}for(;;){for(z0=Y0,E1=0,R1=0;;)if(O0=z0&Q1,G0=(O0|0)==0,P0=1<>H0,S0=(e1|0)==0,S0){d1=u1;break}else z0=e1,E1=u1,R1=H0;if(c1=d1^-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]=d1,n1=Q1+1|0,A1=(n1|0)<(b|0),A1)Q1=n1;else break}Z0=4/M0,h1=t+16|0,s[h1>>2]=Z0}function sB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,n=(t|0)==0,!n&&(o=t+8|0,a=e[o>>2]|0,c=(a|0)==0,c||d2(a),f=t+12|0,E=e[f>>2]|0,I=(E|0)==0,I||d2(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 cS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0;for(O3=m,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,J2=n+(a<<2)|0,c=I+W1|0,X2=o+(c<<2)|0,R2=t+8|0,l5=e[R2>>2]|0,g5=l5+(W1<<2)|0,l3=g5,U5=J2,k3=X2;d5=k3+-16|0,B3=U5+8|0,C=+s[B3>>2],_=l3+12|0,W=+s[_>>2],r0=C*W,w0=-r0,T0=+s[U5>>2],G0=l3+8|0,l1=+s[G0>>2],B1=l1*T0,U1=w0-B1,s[d5>>2]=U1,O1=+s[U5>>2],$2=+s[_>>2],y2=$2*O1,S2=+s[B3>>2],w2=+s[G0>>2],m2=w2*S2,M2=y2-m2,_2=k3+-12|0,s[_2>>2]=M2,G2=U5+24|0,I2=+s[G2>>2],N2=l3+4|0,q2=+s[N2>>2],T2=I2*q2,O2=-T2,K2=U5+16|0,s5=+s[K2>>2],P2=+s[l3>>2],T1=P2*s5,j2=O2-T1,x5=k3+-8|0,s[x5>>2]=j2,D5=+s[K2>>2],V2=+s[N2>>2],f5=V2*D5,k5=+s[G2>>2],O5=+s[l3>>2],$5=O5*k5,v2=f5-$5,E5=k3+-4|0,s[E5>>2]=v2,r5=U5+-32|0,x2=l3+16|0,B2=r5>>>0>>0,!B2;)l3=x2,U5=r5,k3=d5;for(C5=o+(I<<2)|0,f=I+-8|0,F5=n+(f<<2)|0,m3=g5,P5=F5,Q3=X2;u5=m3+-16|0,b5=P5+16|0,N5=+s[b5>>2],_5=m3+-4|0,H2=+s[_5>>2],I5=H2*N5,A5=P5+24|0,m5=+s[A5>>2],M1=m3+-8|0,v5=+s[M1>>2],c5=v5*m5,o5=c5+I5,s[Q3>>2]=o5,z2=+s[b5>>2],c2=+s[M1>>2],B5=c2*z2,e5=+s[A5>>2],n5=+s[_5>>2],Y2=n5*e5,h5=B5-Y2,t5=Q3+4|0,s[t5>>2]=h5,R5=+s[P5>>2],W2=m3+-12|0,a5=+s[W2>>2],F2=a5*R5,p5=P5+8|0,H5=+s[p5>>2],X5=+s[u5>>2],u3=X5*H5,h3=u3+F2,J5=Q3+8|0,s[J5>>2]=h3,e3=+s[P5>>2],n3=+s[u5>>2],C3=n3*e3,L5=+s[p5>>2],K5=+s[W2>>2],w3=K5*L5,f3=C3-w3,K3=Q3+12|0,s[K3>>2]=f3,T3=P5+-32|0,z5=Q3+16|0,y3=T3>>>0>>0,!y3;)m3=u5,P5=T3,Q3=z5;for(n6=t+4|0,t3=e[n6>>2]|0,eQ(t3,l5,C5,I),A3=e[t>>2]|0,x3=e[R2>>2]|0,h6=t+12|0,p3=e[h6>>2]|0,tQ(A3,x3,p3,o),W5=e[R2>>2]|0,t6=W5+(I<<2)|0,q5=t6,w5=o,i6=X2,V5=X2;R3=i6+-16|0,G3=+s[w5>>2],o3=q5+4|0,$3=+s[o3>>2],p=$3*G3,B=w5+4|0,v=+s[B>>2],S=+s[q5>>2],w=S*v,y=p-w,D=i6+-4|0,s[D>>2]=y,Q=+s[w5>>2],b=+s[q5>>2],x=b*Q,F=+s[B>>2],L=+s[o3>>2],M=L*F,T=x+M,N=-T,s[V5>>2]=N,P=w5+8|0,z=+s[P>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=w5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],a0=U*H,Z=J-a0,V=i6+-8|0,s[V>>2]=Z,o0=+s[P>>2],n0=+s[X>>2],i0=n0*o0,K=+s[e0>>2],c0=+s[Y>>2],s0=c0*K,l0=i0+s0,j=-l0,$0=V5+4|0,s[$0>>2]=j,g0=w5+16|0,f0=+s[g0>>2],Q0=q5+20|0,d0=+s[Q0>>2],h0=d0*f0,E0=w5+20|0,C0=+s[E0>>2],I0=q5+16|0,v0=+s[I0>>2],K0=v0*C0,b0=h0-K0,m0=i6+-12|0,s[m0>>2]=b0,F0=+s[g0>>2],L0=+s[I0>>2],U0=L0*F0,B0=+s[E0>>2],q0=+s[Q0>>2],x0=q0*B0,D0=U0+x0,M0=-D0,J0=V5+8|0,s[J0>>2]=M0,Y0=w5+24|0,O0=+s[Y0>>2],z0=q5+28|0,P0=+s[z0>>2],r1=P0*O0,H0=w5+28|0,e1=+s[H0>>2],S0=q5+24|0,i1=+s[S0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[S0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[z0>>2],A1=n1*a1,Z0=s1+A1,I1=-Z0,h1=V5+12|0,s[h1>>2]=I1,E1=V5+16|0,u1=w5+32|0,d1=q5+32|0,p1=u1>>>0>>0,p1;)q5=d1,w5=u1,i6=R3,V5=E1;for(Q1=o+(W1<<2)|0,N3=X2,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=N3+-16|0,y1=N3+-4|0,S1=+s[y1>>2],F1=W3+-4|0,s[F1>>2]=S1,L1=-S1,s[v3>>2]=L1,N1=N3+-8|0,w1=+s[N1>>2],Z1=W3+-8|0,s[Z1>>2]=w1,G1=-w1,D1=v3+4|0,s[D1>>2]=G1,K1=N3+-12|0,P1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=P1,q1=-P1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,r2=-j1,l2=v3+12|0,s[l2>>2]=r2,z1=v3+16|0,f2=z1>>>0>>0,f2)N3=x1,W3=R1,v3=z1;else{M5=X2,U3=X2;break}for(;s2=U3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[s2>>2]=A2,V1=M5+8|0,g2=e[V1>>2]|0,a2=U3+-12|0,e[a2>>2]=g2,t2=M5+4|0,i2=e[t2>>2]|0,o2=U3+-8|0,e[o2>>2]=i2,X1=e[M5>>2]|0,n2=U3+-4|0,e[n2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,U3=s2}function Xp(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0;if(H5=m,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,G1=m,m=m+((1*a|0)+15&-16)|0,l2=G1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,_2=t+8|0,T1=e[_2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=n+(f<<2)|0,g0=a1+-1|0,b0=g0>>>1,J0=b0<<1,O0=y+-2|0,z0=O0-J0|0,G0=c+-4|0,P0=b0<<2,H0=G0-P0|0,r5=D,b5=0,g5=i2,R5=V;e1=g5+-16|0,S0=r5+-8|0,i1=g5+-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=r5+-4|0,Z0=+s[A1>>2],I1=n1*Z0,h1=+s[S0>>2],E1=h1*f1,u1=E1+I1,v=b5+y|0,d1=G1+(v<<2)|0,s[d1>>2]=u1,B1=+s[S0>>2],p1=B1*n1,R1=+s[A1>>2],x1=R1*f1,y1=p1-x1,S1=b5|1,S=S1+y|0,F1=G1+(S<<2)|0,s[F1>>2]=y1,L1=R5+16|0,N1=b5+2|0,w1=(N1|0)<(a1|0),w1;)r5=S0,b5=N1,g5=e1,R5=L1;U1=J0+2|0,c2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,P2=z0,E5=c2,u5=U1,n5=B5}else P2=y,E5=D,u5=0,n5=i2;if(Z1=n+4|0,D1=y-a1|0,K1=(u5|0)<(D1|0),K1){for(P1=y+-1|0,H1=P1-u5|0,q1=H1-a1|0,Y1=q1>>>1,j1=Y1<<1,r2=u5+j1|0,W1=Y1<<2,O1=W1+5|0,z1=-2-j1|0,R2=E5,_5=u5,Y2=n5,a5=Z1;f2=R2+-8|0,s2=Y2+-16|0,E2=Y2+-8|0,A2=+s[E2>>2],V1=+s[a5>>2],g2=A2-V1,a2=+s[s2>>2],t2=a5+8|0,$2=+s[t2>>2],o2=a2-$2,X1=R2+-4|0,n2=+s[X1>>2],u2=o2*n2,e2=+s[f2>>2],y2=e2*g2,S2=y2+u2,C=_5+y|0,w2=G1+(C<<2)|0,s[w2>>2]=S2,m2=+s[f2>>2],M2=m2*o2,G2=+s[X1>>2],I2=G2*g2,J2=M2-I2,N2=_5|1,p=N2+y|0,q2=G1+(p<<2)|0,s[q2>>2]=J2,T2=a5+16|0,O2=_5+2|0,K2=(O2|0)<(D1|0),K2;)R2=f2,_5=O2,Y2=s2,a5=T2;s5=r2+2|0,o5=n+(O1<<2)|0,B=P2+z1|0,z2=T1+(B<<2)|0,x2=z2,N5=s5,W2=o5}else x2=E5,N5=u5,W2=Z1;if(j2=(N5|0)<(y|0),j2)for(x5=n+(w<<2)|0,B2=x2,H2=N5,h5=x5,F2=W2;X2=B2+-8|0,D5=h5+-16|0,V2=h5+-8|0,f5=+s[V2>>2],k5=-f5,O5=+s[F2>>2],$5=k5-O5,v2=+s[D5>>2],Q=-v2,b=F2+8|0,x=+s[b>>2],_=Q-x,F=B2+-4|0,L=+s[F>>2],M=_*L,T=+s[X2>>2],N=T*$5,P=N+M,E=H2+y|0,Y=G1+(E<<2)|0,s[Y>>2]=P,t0=+s[X2>>2],J=t0*_,W=+s[F>>2],e0=W*$5,H=J-e0,X=H2|1,I=X+y|0,U=G1+(I<<2)|0,s[U>>2]=H,a0=F2+16|0,Z=H2+2|0,o0=(Z|0)<(y|0),o0;)B2=X2,H2=Z,h5=D5,F2=a0;if(A5=t+4|0,l5=e[A5>>2]|0,eQ(l5,T1,l2,y),c5=e[t>>2]|0,m5=e[_2>>2]|0,M1=t+12|0,v5=e[M1>>2]|0,tQ(c5,m5,v5,G1),n0=(r1|0)>0,!n0){m=H5;return}for(i0=o+(y<<2)|0,r0=e[_2>>2]|0,K=r0+(y<<2)|0,c0=t+16|0,C5=K,I5=0,e5=G1,t5=i0;s0=t5+-4|0,l0=+s[e5>>2],j=+s[C5>>2],$0=j*l0,f0=e5+4|0,Q0=+s[f0>>2],d0=C5+4|0,w0=+s[d0>>2],h0=w0*Q0,E0=h0+$0,C0=+s[c0>>2],I0=E0*C0,v0=o+(I5<<2)|0,s[v0>>2]=I0,K0=+s[e5>>2],m0=+s[d0>>2],F0=m0*K0,L0=+s[f0>>2],T0=+s[C5>>2],U0=T0*L0,B0=F0-U0,q0=+s[c0>>2],x0=B0*q0,s[s0>>2]=x0,D0=e5+8|0,M0=C5+8|0,Y0=I5+1|0,F5=(Y0|0)==(r1|0),!F5;)C5=M0,I5=Y0,e5=D0,t5=s0;m=H5}function eQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,G8=0,N8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Gt=0,Nt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,G7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,N7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0;if(ur=m,f0=t+-6|0,Q0=(t|0)>6,Q0)for(I=a+-8|0,O5=o+(I<<2)|0,b3=a>>1,B=b3+-8|0,V8=o+(B<<2)|0,c=n,I7=O5,d7=V8;a8=I7+24|0,Ut=+s[a8>>2],Ct=d7+24|0,pt=+s[Ct>>2],yt=Ut-pt,d0=I7+28|0,L0=+s[d0>>2],z0=d7+28|0,g1=+s[z0>>2],d1=L0-g1,w1=pt+Ut,s[a8>>2]=w1,r2=+s[z0>>2],a2=r2+L0,s[d0>>2]=a2,w2=c+4|0,K2=+s[w2>>2],$5=K2*d1,N5=+s[c>>2],z2=N5*yt,a5=z2+$5,s[Ct>>2]=a5,C3=+s[c>>2],t6=C3*d1,N3=+s[w2>>2],W3=N3*yt,B6=t6-W3,s[z0>>2]=B6,P3=I7+16|0,T6=+s[P3>>2],r9=d7+16|0,W6=+s[r9>>2],I9=T6-W6,S4=I7+20|0,G4=+s[S4>>2],Ge=d7+20|0,a4=+s[Ge>>2],c6=G4-a4,k4=W6+T6,s[P3>>2]=k4,c7=+s[Ge>>2],U8=c7+G4,s[S4>>2]=U8,e8=c+20|0,H8=+s[e8>>2],I8=H8*c6,pe=c+16|0,b9=+s[pe>>2],b8=b9*I9,o7=b8+I8,s[r9>>2]=o7,q7=+s[pe>>2],R8=q7*c6,D7=+s[e8>>2],K8=D7*I9,Le=R8-K8,s[Ge>>2]=Le,he=I7+8|0,e4=+s[he>>2],b7=d7+8|0,tt=+s[b7>>2],Gt=e4-tt,Nt=I7+12|0,ut=+s[Nt>>2],Y7=d7+12|0,It=+s[Y7>>2],J7=ut-It,dt=tt+e4,s[he>>2]=dt,K7=+s[Y7>>2],Et=K7+ut,s[Nt>>2]=Et,it=c+36|0,ni=+s[it>>2],Ot=ni*J7,mt=c+32|0,si=+s[mt>>2],Bt=si*Gt,rt=Bt+Ot,s[b7>>2]=rt,Ai=+s[mt>>2],Pt=Ai*J7,Ht=+s[it>>2],qt=Ht*Gt,Yt=Pt-qt,s[Y7>>2]=Yt,nt=+s[I7>>2],Jt=+s[d7>>2],V7=nt-Jt,st=I7+4|0,G7=+s[st>>2],z7=d7+4|0,oi=+s[z7>>2],Kt=G7-oi,ai=Jt+nt,s[I7>>2]=ai,Qt=+s[z7>>2],Vt=Qt+G7,s[st>>2]=Vt,wt=c+52|0,zt=+s[wt>>2],kt=zt*Kt,Z7=c+48|0,vt=+s[Z7>>2],Zt=vt*V7,At=Zt+kt,s[d7>>2]=At,N7=+s[Z7>>2],St=N7*Kt,Qe=+s[wt>>2],w0=Qe*V7,h0=St-w0,s[z7>>2]=h0,E0=I7+-32|0,C0=d7+-32|0,I0=c+64|0,v0=C0>>>0>>0,!v0;)c=I0,I7=E0,d7=C0;if(K0=(f0|0)>1,K0)for(_7=1;;){if(b0=1<<_7,m0=(_7|0)==31,!m0)for(F0=a>>_7,T0=4<<_7,C=F0+-8|0,U0=F0>>1,v=U0+-8|0,T=T0+1|0,a0=T0<<1,i0=a0|1,c0=T0*3|0,l0=c0+1|0,$0=T0<<2,ot=0;;){for(q0=i5(ot,F0)|0,x0=o+(q0<<2)|0,E=C+q0|0,D0=o+(E<<2)|0,o0=v+q0|0,M0=o+(o0<<2)|0,f=n,m8=D0,R7=M0;J0=m8+24|0,Y0=+s[J0>>2],O0=R7+24|0,G0=+s[O0>>2],P0=Y0-G0,r1=m8+28|0,H0=+s[r1>>2],e1=R7+28|0,S0=+s[e1>>2],i1=H0-S0,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*P0,Z0=A1+a1,s[O0>>2]=Z0,I1=+s[f>>2],h1=I1*i1,E1=+s[l1>>2],u1=E1*P0,B1=h1-u1,s[e1>>2]=B1,p1=f+(T0<<2)|0,Q1=m8+16|0,R1=+s[Q1>>2],x1=R7+16|0,y1=+s[x1>>2],S1=R1-y1,F1=m8+20|0,L1=+s[F1>>2],N1=R7+20|0,U1=+s[N1>>2],Z1=L1-U1,G1=y1+R1,s[Q1>>2]=G1,D1=+s[N1>>2],K1=D1+L1,s[F1>>2]=K1,P1=f+(T<<2)|0,H1=+s[P1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,O1=+s[p1>>2],l2=O1*Z1,z1=+s[P1>>2],f2=z1*S1,s2=l2-f2,s[N1>>2]=s2,E2=f+(a0<<2)|0,A2=m8+8|0,V1=+s[A2>>2],g2=R7+8|0,t2=+s[g2>>2],$2=V1-t2,i2=m8+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],S2=y2+o2,s[i2>>2]=S2,m2=f+(i0<<2)|0,M2=+s[m2>>2],_2=M2*u2,G2=+s[E2>>2],I2=G2*$2,J2=I2+_2,s[g2>>2]=J2,N2=+s[E2>>2],q2=N2*u2,T2=+s[m2>>2],O2=T2*$2,s5=q2-O2,s[X1>>2]=s5,P2=f+(c0<<2)|0,T1=+s[m8>>2],j2=+s[R7>>2],x5=T1-j2,X2=m8+4|0,D5=+s[X2>>2],V2=R7+4|0,f5=+s[V2>>2],k5=D5-f5,v2=j2+T1,s[m8>>2]=v2,E5=+s[V2>>2],r5=E5+D5,s[X2>>2]=r5,x2=f+(l0<<2)|0,R2=+s[x2>>2],B2=R2*k5,C5=+s[P2>>2],F5=C5*x5,u5=F5+B2,s[R7>>2]=u5,b5=+s[P2>>2],_5=b5*k5,H2=+s[x2>>2],I5=H2*x5,A5=_5-I5,s[V2>>2]=A5,l5=f+($0<<2)|0,m5=m8+-32|0,M1=R7+-32|0,v5=M1>>>0>>0,!v5;)f=l5,m8=m5,R7=M1;if(c5=ot+1|0,o5=(c5|0)<(b0|0),o5)ot=c5;else break}if(c2=_7+1|0,Dt=(c2|0)==(f0|0),Dt)break;_7=c2}if(B0=(a|0)>0,B0)i9=0;else return;for(;B5=o+(i9<<2)|0,p=i9|30,e5=o+(p<<2)|0,n5=+s[e5>>2],M=i9|14,g5=o+(M<<2)|0,Y2=+s[g5>>2],h5=n5-Y2,U=i9|31,t5=o+(U<<2)|0,R5=+s[t5>>2],n0=i9|15,W2=o+(n0<<2)|0,F2=+s[W2>>2],p5=R5-F2,H5=Y2+n5,s[e5>>2]=H5,X5=F2+R5,s[t5>>2]=X5,s[g5>>2]=h5,s[W2>>2]=p5,r0=i9|28,d5=o+(r0<<2)|0,u3=+s[d5>>2],K=i9|12,h3=o+(K<<2)|0,J5=+s[h3>>2],e3=u3-J5,s0=i9|29,n3=o+(s0<<2)|0,L5=+s[n3>>2],j=i9|13,K5=o+(j<<2)|0,w3=+s[K5>>2],f3=L5-w3,B3=J5+u3,s[d5>>2]=B3,K3=w3+L5,s[n3>>2]=K3,T3=e3*.9238795042037964,z5=f3*.3826834261417389,y3=T3-z5,s[h3>>2]=y3,W5=e3*.3826834261417389,R3=f3*.9238795042037964,G3=R3+W5,s[K5>>2]=G3,g0=i9|26,o3=o+(g0<<2)|0,$3=+s[o3>>2],S=i9|10,l3=o+(S<<2)|0,m3=+s[l3>>2],q5=$3-m3,w=i9|27,U5=o+(w<<2)|0,P5=+s[U5>>2],y=i9|11,w5=o+(y<<2)|0,M5=+s[w5>>2],n6=P5-M5,t3=m3+$3,s[o3>>2]=t3,A3=M5+P5,s[U5>>2]=A3,x3=q5-n6,h6=x3*.7071067690849304,s[l3>>2]=h6,p3=n6+q5,k3=p3*.7071067690849304,s[w5>>2]=k3,D=i9|24,Q3=o+(D<<2)|0,i6=+s[Q3>>2],Q=i9|8,U3=o+(Q<<2)|0,V5=+s[U3>>2],v3=i6-V5,b=i9|25,c3=o+(b<<2)|0,O3=+s[c3>>2],x=i9|9,$6=o+(x<<2)|0,I3=+s[$6>>2],w6=O3-I3,k6=V5+i6,s[Q3>>2]=k6,v6=I3+O3,s[c3>>2]=v6,j3=v3*.3826834261417389,l6=w6*.9238795042037964,p6=j3-l6,_6=w6*.3826834261417389,q6=v3*.9238795042037964,C6=_6+q6,_=i9|22,S3=o+(_<<2)|0,X3=+s[S3>>2],F=i9|6,e6=o+(F<<2)|0,f6=+s[e6>>2],D3=X3-f6,L=i9|7,H3=o+(L<<2)|0,V3=+s[H3>>2],N=i9|23,S6=o+(N<<2)|0,s6=+s[S6>>2],i3=V3-s6,O6=f6+X3,s[S3>>2]=O6,s3=s6+V3,s[S6>>2]=s3,s[e6>>2]=i3,s[H3>>2]=D3,P=i9|4,A6=o+(P<<2)|0,u6=+s[A6>>2],z=i9|20,r6=o+(z<<2)|0,Q6=+s[r6>>2],R6=u6-Q6,Y=i9|5,J6=o+(Y<<2)|0,I6=+s[J6>>2],t0=i9|21,Y6=o+(t0<<2)|0,F3=+s[Y6>>2],Z6=I6-F3,G6=Q6+u6,s[r6>>2]=G6,j6=F3+I6,s[Y6>>2]=j6,x6=Z6*.9238795042037964,N6=R6*.3826834261417389,D6=x6+N6,K6=Z6*.3826834261417389,y6=R6*.9238795042037964,F6=K6-y6,J=i9|2,L3=o+(J<<2)|0,L6=+s[L3>>2],W=i9|18,X6=o+(W<<2)|0,A9=+s[X6>>2],h9=L6-A9,e0=i9|3,f9=o+(e0<<2)|0,u9=+s[f9>>2],H=i9|19,o9=o+(H<<2)|0,a9=+s[o9>>2],T9=u9-a9,d6=A9+L6,s[X6>>2]=d6,M6=a9+u9,s[o9>>2]=M6,e9=T9+h9,G9=e9*.7071067690849304,E4=T9-h9,s4=E4*.7071067690849304,g4=+s[B5>>2],X=i9|16,N9=o+(X<<2)|0,z9=+s[N9>>2],D9=g4-z9,Z=i9|1,d9=o+(Z<<2)|0,P6=+s[d9>>2],V=i9|17,t9=o+(V<<2)|0,C4=+s[t9>>2],A4=P6-C4,Q9=z9+g4,s[N9>>2]=Q9,D4=C4+P6,s[t9>>2]=D4,b4=A4*.3826834261417389,R4=D9*.9238795042037964,M4=b4+R4,Z4=A4*.9238795042037964,m4=D9*.3826834261417389,T4=Z4-m4,U9=T4-C6,o4=M4-p6,x4=M4+p6,h4=T4+C6,de=o4+U9,H9=U9-o4,E9=+s[w5>>2],Ee=s4-E9,Te=+s[l3>>2],We=Te-G9,N4=Te+G9,U4=E9+s4,W4=+s[h3>>2],Se=W4-D6,je=+s[K5>>2],Z9=je-F6,se=W4+D6,f4=je+F6,b6=Se-Z9,O4=Z9+Se,F9=+s[g5>>2],_4=F9-i3,Ae=+s[W2>>2],W9=Ae-D3,oe=i3+F9,ae=D3+Ae,B4=_4+Ee,j4=_4-Ee,F4=b6+de,$e=F4*.7071067690849304,C9=b6-de,Ne=C9*.7071067690849304,$4=$e+B4,s[e6>>2]=$4,Ce=B4-$e,s[A6>>2]=Ce,p4=O4-H9,l4=p4*.7071067690849304,U6=W9-We,De=l4+j4,s[B5>>2]=De,be=j4-l4,s[L3>>2]=be,Xe=O4+H9,c4=Xe*.7071067690849304,g8=W9+We,q3=U6+Ne,s[f9>>2]=q3,y9=U6-Ne,s[d9>>2]=y9,m9=g8+c4,s[H3>>2]=m9,L4=g8-c4,s[J6>>2]=L4,X4=oe+N4,$7=oe-N4,_e=x4+se,l7=se-x4,Q7=X4+_e,s[g5>>2]=Q7,g7=X4-_e,s[h3>>2]=g7,F8=f4-h4,L8=ae-U4,M8=$7+F8,s[U3>>2]=M8,T8=$7-F8,s[l3>>2]=T8,z8=f4+h4,Z8=ae+U4,y7=L8+l7,s[w5>>2]=y7,G8=L8-l7,s[$6>>2]=G8,N8=Z8+z8,s[W2>>2]=N8,w8=Z8-z8,s[K5>>2]=w8,k8=+s[c3>>2],h8=D4-k8,O8=+s[Q3>>2],P8=Q9-O8,W8=O8+Q9,j8=k8+D4,f8=P8+h8,Ue=h8-P8,Re=+s[o9>>2],v8=+s[U5>>2],w9=Re-v8,h7=+s[o3>>2],me=+s[X6>>2],f7=h7-me,w7=me+h7,X8=v8+Re,k7=+s[d5>>2],ee=+s[r6>>2],e7=k7-ee,S8=+s[n3>>2],t8=+s[Y6>>2],P4=S8-t8,xe=ee+k7,i8=t8+S8,u8=e7-P4,D8=P4+e7,le=+s[e5>>2],j9=+s[S3>>2],r8=le-j9,n8=+s[t5>>2],d8=+s[S6>>2],ce=n8-d8,Be=j9+le,Oe=d8+n8,Pe=r8+w9,X9=r8-w9,Fe=u8+f8,ge=Fe*.7071067690849304,s8=u8-f8,Q4=s8*.7071067690849304,E8=ge+Pe,s[S3>>2]=E8,t7=Pe-ge,s[r6>>2]=t7,H4=D8-Ue,d3=H4*.7071067690849304,He=ce-f7,C8=d3+X9,s[N9>>2]=C8,te=X9-d3,s[X6>>2]=te,q9=D8+Ue,ie=q9*.7071067690849304,qe=ce+f7,q8=He+Q4,s[o9>>2]=q8,u7=He-Q4,s[t9>>2]=u7,i7=qe+ie,s[S6>>2]=i7,r7=qe-ie,s[Y6>>2]=r7,Y8=Be+w7,n7=Be-w7,J8=xe+W8,A8=xe-W8,o8=Y8+J8,s[e5>>2]=o8,q4=Y8-J8,s[d5>>2]=q4,s7=i8-j8,_8=Oe-X8,Ye=n7+s7,s[Q3>>2]=Ye,B9=n7-s7,s[o3>>2]=B9,A7=i8+j8,Je=Oe+X8,M7=_8+A8,s[U5>>2]=M7,H7=_8-A8,s[c3>>2]=H7,v7=Je+A7,s[t5>>2]=v7,S7=Je-A7,s[n3>>2]=S7,re=i9+32|0,T7=(re|0)<(a|0),T7;)i9=re}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0;for(E1=m,S=t>>1,w=a+(S<<2)|0,N=n+(t<<2)|0,n1=N,A1=o,Z0=a,I1=w;a0=e[A1>>2]|0,c=a0+S|0,j=a+(c<<2)|0,v0=A1+4|0,D0=e[v0>>2]|0,f=D0+S|0,S0=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,b=+s[j>>2],x=+s[S0>>2],_=x+b,F=+s[n1>>2],L=_*F,M=n1+4|0,T=+s[M>>2],P=T*Q,z=P+L,Y=T*_,t0=F*Q,J=Y-t0,W=I1+-16|0,e0=D+a1,H=e0*.5,X=b-x,U=X*.5,Z=z+H,s[Z0>>2]=Z,V=H-z,o0=I1+-8|0,s[o0>>2]=V,n0=J+U,i0=Z0+4|0,s[i0>>2]=n0,r0=J-U,K=I1+-4|0,s[K>>2]=r0,c0=A1+8|0,s0=e[c0>>2]|0,C=s0+S|0,l0=a+(C<<2)|0,$0=A1+12|0,g0=e[$0>>2]|0,p=g0+S|0,f0=a+(p<<2)|0,B=C+1|0,Q0=a+(B<<2)|0,d0=+s[Q0>>2],v=p+1|0,w0=a+(v<<2)|0,h0=+s[w0>>2],E0=d0-h0,C0=+s[l0>>2],I0=+s[f0>>2],K0=I0+C0,b0=n1+8|0,m0=+s[b0>>2],F0=K0*m0,L0=n1+12|0,T0=+s[L0>>2],U0=T0*E0,B0=U0+F0,q0=T0*K0,x0=m0*E0,M0=q0-x0,J0=h0+d0,Y0=J0*.5,O0=C0-I0,z0=O0*.5,G0=B0+Y0,P0=Z0+8|0,s[P0>>2]=G0,r1=Y0-B0,s[W>>2]=r1,H0=M0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=M0-z0,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 gS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,n=t+28|0,o=e[n>>2]|0,a=o+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,C=c+8|0,e[C>>2]=a,c|0}function hS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,!n&&d2(t)}function fS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function uS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0;e9=m,d6=t,G9=d6+48|0;do e[d6>>2]=0,d6=d6+4|0;while((d6|0)<(G9|0));b=e[o>>2]|0,x=t+36|0,e[x>>2]=b,t2=+(b|0),X5=t2*8,f3=X5,$3=+qr(+f3),A3=$3*1.4426950408889634,c3=+Gi(A3),_6=c3+-1,S6=~~_6,_=t+32|0,e[_>>2]=S6,W=+(c|0),r0=W*.25,w0=r0,T0=w0*.5,G0=+(a|0),l1=T0/G0,B1=+qr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=S6+1|0,M2=1<<$2,P2=+(M2|0),v2=P2*W1,_5=+(b|0),c2=v2-_5,a5=~~c2,F2=t+28|0,e[F2>>2]=a5,p5=+(a|0),H5=p5+.25,d5=H5*W,u3=d5,h3=u3*.5,J5=h3/G0,e3=+qr(+J5),n3=e3*1.4426950216293335,C3=n3+-5.965784072875977,L5=P2*C3,K5=L5+.5,w3=~~K5,B3=1-a5|0,K3=B3+w3|0,T3=t+40|0,e[T3>>2]=K3,z5=a<<2,y3=S9(z5)|0,W5=t+16|0,e[W5>>2]=y3,t6=S9(z5)|0,R3=t+20|0,e[R3>>2]=t6,G3=S9(z5)|0,o3=t+24|0,e[o3>>2]=G3,l3=t+4|0,e[l3>>2]=n,e[t>>2]=a,m3=t+44|0,e[m3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(P5=(c|0)<38e3,P5){s[q5>>2]=.9399999976158142;break}w5=(c|0)>46e3,w5&&(s[q5>>2]=1.274999976158142)}while(!1);N3=G0*2,M5=+(c|0),n6=(a|0)>0,p3=n6,K6=0,W6=0;e:for(;;){for(p=p3^1,y6=K6;;){if(Q3=y6+1|0,i6=+(Q3|0),W3=i6*.08664337545633316,U3=W3+2.7488713472395148,V5=+Gn(+U3),v3=N3*V5,O3=v3/M5,$6=+Gi(O3),I3=~~$6,C=(I3|0)<=(W6|0),J6=C|p,!J6){E=Q3,I=I3,F6=y6;break}if(w6=(Q3|0)<87,w6)y6=Q3;else{A9=W6;break e}}for(k6=1272+(F6<<2)|0,v6=+s[k6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],l6=j3-v6,p6=I-W6|0,q6=+(p6|0),C6=l6/q6,S3=W6-I|0,X3=W6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,t3=W6-T9|0,R6=v6,h9=W6;f6=R6+100,P3=y3+(h9<<2)|0,s[P3>>2]=f6,D3=R6+C6,H3=h9+1|0,G6=(H3|0)==(t3|0),!G6;)R6=D3,h9=H3;if(x3=(t3|0)<(a|0),h6=(E|0)<87,h6)p3=x3,K6=E,W6=t3;else{A9=t3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;T6=f9+-1|0,r6=y3+(T6<<2)|0,Q6=e[r6>>2]|0,F=y3+(f9<<2)|0,e[F>>2]=Q6,L=f9+1|0,Z6=(L|0)==(a|0),!Z6;)f9=L;if(V3=(a|0)>0,V3){for(s6=a<<1,i3=(c|0)/(s6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,A6=n+124|0,u6=n+116|0,b3=n+112|0,x6=1,L3=0,u9=-99;;){Y=i5(i3,L3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Js(+e0),X=H*13.100000381469727,U=i5(Y,Y)|0,a0=+(U|0),Z=a0*18499999754340024e-24,V=Z,o0=+Js(+V),n0=o0*2.240000009536743,i0=n0+X,K=t0*9999999747378752e-20,c0=K,s0=i0+c0,l0=s0,j=s3+u9|0,$0=(j|0)<(L3|0);e:do if($0)for(g0=+s[b3>>2],f0=l0-g0,Q0=f0,a9=u9;;){if(d0=i5(a9,i3)|0,h0=+(d0|0),E0=h0*.0007399999885819852,C0=E0,I0=+Js(+C0),v0=I0*13.100000381469727,K0=i5(d0,d0)|0,b0=+(K0|0),m0=b0*18499999754340024e-24,F0=m0,L0=+Js(+F0),U0=L0*2.240000009536743,B0=h0*9999999747378752e-20,q0=B0,x0=v0+q0,D0=x0+U0,M0=D0(a|0);e:do if(J0)N6=x6;else for(Y0=e[A6>>2]|0,O0=Y0+L3|0,D6=x6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=i5(D6,i3)|0,S0=+(e1|0),i1=S0*.0007399999885819852,c1=i1,$1=+Js(+c1),f1=$1*13.100000381469727,g1=i5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,A1=+Js(+n1),Z0=A1*2.240000009536743,I1=S0*9999999747378752e-20,h1=I1,E1=f1+h1,u1=E1+Z0,d1=+s[u6>>2],p1=d1+l0,Q1=p1,R1=u1>2]=L1,w1=L3+1|0,F3=(w1|0)==(a|0),F3)break;x6=N6,L3=w1,u9=o9}if(V3)for(M=M5*.5,T=e[_>>2]|0,N=T+1|0,P=1<>2]=O1,z1=L6+1|0,Y6=(z1|0)==(a|0),Y6){w=M;break}else L6=z1;else M6=19}else M6=19;if((M6|0)==19&&(Q=M5*.5,w=Q),f2=n+36|0,s2=w/G0,E2=s2,A2=n+24|0,V1=+s[A2>>2],g2=n+28|0,a2=+s[g2>>2],i2=ES(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(z5)|0,e[X1>>2]=u2,e2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=e2,S2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=S2,!!V3)for(m2=e[l3>>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,X6=0;_2=+(X6|0),G2=_2+.5,I2=G2*M5,J2=I2/N3,N2=+qr(+J2),q2=N2*2.885390043258667,T2=q2+-11.931568145751953,O2=T2,K2=O2<0,j6=K2?0:O2,f=j6>=16,r9=f?16:j6,s5=~~r9,T1=+(s5|0),j2=r9-T1,x5=j2,X2=1-x5,D5=s5+1|0,V2=(m2+132|0)+(s5<<2)|0,f5=+s[V2>>2],k5=f5,O5=k5*X2,$5=(m2+132|0)+(D5<<2)|0,E5=+s[$5>>2],r5=E5*j2,x2=r5,R2=x2+O5,B2=R2,C5=S+(X6<<2)|0,s[C5>>2]=B2,F5=(m2+200|0)+(s5<<2)|0,u5=+s[F5>>2],b5=u5,N5=b5*X2,H2=(m2+200|0)+(D5<<2)|0,I5=+s[H2>>2],A5=I5*j2,l5=A5,m5=l5+N5,M1=m5,v5=y+(X6<<2)|0,s[v5>>2]=M1,c5=(m2+268|0)+(s5<<2)|0,o5=+s[c5>>2],z2=o5,B5=z2*X2,e5=(m2+268|0)+(D5<<2)|0,n5=+s[e5>>2],g5=n5*j2,Y2=g5,h5=Y2+B5,t5=h5,R5=D+(X6<<2)|0,s[R5>>2]=t5,W2=X6+1|0,I6=(W2|0)==(a|0),!I6;)X6=W2}function iQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0;if(G0=m,o=(t|0)==0,!o){if(a=t+16|0,y=e[a>>2]|0,P=(y|0)==0,P||d2(y),Z=t+20|0,$0=e[Z>>2]|0,K0=($0|0)==0,K0||d2($0),x0=t+24|0,D0=e[x0>>2]|0,M0=(D0|0)==0,M0||d2(D0),c=t+8|0,f=e[c>>2]|0,E=(f|0)==0,!E){for(C=f,Y0=0;I=C+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,d2(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,d2(Q),b=e[c>>2]|0,x=b+(Y0<<2)|0,_=e[x>>2]|0,F=_+8|0,L=e[F>>2]|0,d2(L),M=e[c>>2]|0,T=M+(Y0<<2)|0,N=e[T>>2]|0,z=N+12|0,Y=e[z>>2]|0,d2(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,d2(H),X=e[c>>2]|0,U=X+(Y0<<2)|0,a0=e[U>>2]|0,V=a0+20|0,o0=e[V>>2]|0,d2(o0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,K=r0+24|0,c0=e[K>>2]|0,d2(c0),s0=e[c>>2]|0,l0=s0+(Y0<<2)|0,j=e[l0>>2]|0,g0=j+28|0,f0=e[g0>>2]|0,d2(f0),Q0=e[c>>2]|0,d0=Q0+(Y0<<2)|0,w0=e[d0>>2]|0,d2(w0),h0=Y0+1|0,J0=(h0|0)==17,!J0;)n=e[c>>2]|0,C=n,Y0=h0;E0=e[c>>2]|0,d2(E0)}C0=t+12|0,I0=e[C0>>2]|0,v0=(I0|0)==0,v0||(b0=e[I0>>2]|0,d2(b0),m0=e[C0>>2]|0,F0=m0+4|0,L0=e[F0>>2]|0,d2(L0),T0=e[C0>>2]|0,U0=T0+8|0,B0=e[U0>>2]|0,d2(B0),q0=e[C0>>2]|0,d2(q0)),O0=t,P0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0))}}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0;if(d0=m,E=e[t>>2]|0,I=E<<2,f=I,x=m,m=m+((1*f|0)+15&-16)|0,J=t+24|0,o0=e[J>>2]|0,sQ(E,o0,n,o,140,-1),n0=(E|0)>0,n0)for($0=0;i0=n+($0<<2)|0,r0=+s[i0>>2],K=o+($0<<2)|0,c0=+s[K>>2],C=r0-c0,p=x+($0<<2)|0,s[p>>2]=C,B=$0+1|0,l0=(B|0)==(E|0),!l0;)$0=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,sQ(E,v,x,o,0,D),n0)g0=0;else{m=d0;return}for(;b=n+(g0<<2)|0,_=+s[b>>2],F=x+(g0<<2)|0,L=+s[F>>2],M=_-L,s[F>>2]=M,T=g0+1|0,j=(T|0)==(E|0),!j;)g0=T;if(!n0){m=d0;return}for(Q=e[S>>2]|0,f0=0;N=o+(f0<<2)|0,P=+s[N>>2],z=P,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=x+(f0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,a0=+s[U>>2],Z=a0+X,s[N>>2]=Z,V=f0+1|0,s0=(V|0)==(E|0),!s0;)f0=V;m=d0}function nQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0;if(d5=m,L=e[t>>2]|0,M=t+40|0,l1=e[M>>2]|0,B1=l1<<2,I=B1,U1=m,m=m+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,m2=t2+4|0,s5=+s[m2>>2],$5=s5+c,T=(l1|0)>0,T)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,l0=A5+1|0,I0=(l0|0)<(l1|0),I0;)A5=l0;if(x0=t2+8|0,e1=+s[x0>>2],c1=$50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,c5=0;s1=g1+(c5<<2)|0,a1=+s[s1>>2],n1=a1+N5,A1=o+(c5<<2)|0,s[A1>>2]=n1,Z0=c5+1|0,H2=(Z0|0)==(L|0),!H2;)c5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,E1=t2+496|0,u1=+s[E1>>2],d1=u1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,y1=t+28|0,l5=0;;){S1=n+(l5<<2)|0,F1=+s[S1>>2],L1=Q1+(l5<<2)|0,N1=e[L1>>2]|0,v5=l5,n5=F1;e:for(;;)for(m5=v5;;){if(w1=m5+1|0,Z1=(w1|0)<(L|0),!Z1){v=0,w=w1,M1=m5,g5=n5;break e}if(G1=Q1+(w1<<2)|0,D1=e[G1>>2]|0,K1=(D1|0)==(N1|0),!K1){v=1,w=w1,M1=m5,g5=n5;break e}if(P1=n+(w1<<2)|0,H1=+s[P1>>2],q1=H1>n5,q1){v5=w1,n5=H1;continue e}else m5=w1}if(Y1=g5+6,j1=o+(M1<<2)|0,r2=+s[j1>>2],O1=Y1>r2,O1&&(l2=e[R1>>2]|0,z1=N1>>l2,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,g2=d1+g5,a2=g2,$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,S2=e[y2>>2]|0,w2=S2+4|0,M2=+s[w2>>2],_2=~~M2,G2=+s[S2>>2],I2=~~G2,J2=(I2|0)<(_2|0),J2))for(N2=Q1+(M1<<2)|0,q2=e[N2>>2]|0,T2=e[y1>>2]|0,O2=q2-T2|0,K2=+(O2|0),P2=V1>>1,T1=+(P2|0),j2=G2+-16,x5=+(V1|0),X2=j2*x5,D5=X2-T1,V2=D5+K2,f5=~~V2,I5=I2,H5=f5;k5=(H5|0)>0,k5&&(F=I5+2|0,O5=S2+(F<<2)|0,v2=+s[O5>>2],E5=v2+g5,r5=U1+(H5<<2)|0,x2=+s[r5>>2],R2=x2>2]=E5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),F5=I5+1|0,u5=(F5|0)<(_2|0),a5=u5&C5,a5;)I5=F5,H5=B2;if(v)l5=w;else{x=x1;break}}else X5=7}else X5=7;(X5|0)==7&&(Q=t+36|0,x=Q),b5=e[x>>2]|0,CS(U1,b5,l1),N=e[t>>2]|0,P=(N|0)>1;e:do if(P)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,a0=e[W1>>2]|0,Z=a0+32|0,K=1,j=J,z2=0,F2=X;;){n0=U1+(F2<<2)|0,i0=+s[n0>>2],r0=t0+(K<<2)|0,c0=e[r0>>2]|0,s0=c0+j|0,$0=s0>>1,g0=$0-H|0,f0=+s[Z>>2],Q0=i0>f0,Y2=Q0?f0:i0,d0=(F2|0)<(g0|0);t:do if(d0)for(C=F2,t5=Y2;;){for(w0=t5==-9999,p=C;;){if(h0=p+1|0,E0=U1+(h0<<2)|0,C0=+s[E0>>2],v0=C0>-9999,v0){if(K0=C0=(N|0),T0=(j|0)>(F0|0),R5=L0|T0;t:do if(R5)c2=z2;else for(B5=z2;;){if(U0=o+(B5<<2)|0,B0=+s[U0>>2],q0=B0>2]=h5),D0=B5+1|0,M0=(D0|0)<(N|0),!M0){c2=D0;break t}if(D=t0+(D0<<2)|0,_=e[D>>2]|0,J0=(_|0)>(F0|0),J0){c2=D0;break}else B5=D0}while(!1);if(V=c2+1|0,o0=(V|0)<(N|0),!o0){o5=c2;break e}y=t0+(c2<<2)|0,b=e[y>>2]|0,K=V,j=b,z2=c2,F2=p5}else o5=0;while(!1);if(Y0=e[M>>2]|0,O0=Y0+-1|0,z0=U1+(O0<<2)|0,G0=+s[z0>>2],P0=(o5|0)<(N|0),P0)e5=o5;else{m=d5;return}for(;r1=o+(e5<<2)|0,H0=+s[r1>>2],S0=H0>2]=G0),i1=e5+1|0,_5=(i1|0)==(N|0),!_5;)e5=i1;m=d5}function V$(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0;if(b0=m,C=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,K=+s[e0>>2],f0=(C|0)>0,!!f0)for(Q0=t+48|0,d0=+s[Q0>>2],w0=t+12|0,h0=e[w0>>2]|0,B=h0+(a<<2)|0,v=e[B>>2]|0,S=F+108|0,w=(a|0)==1,y=d0,D=y*.005,Q=y*3e-4,I0=0;b=n+(I0<<2)|0,x=+s[b>>2],_=v+(I0<<2)|0,L=+s[_>>2],M=L+x,T=+s[S>>2],N=M>T,v0=N?T:M,P=o+(I0<<2)|0,z=+s[P>>2],Y=z+K,t0=v0>2]=I,w&&(W=E+(I0<<2)|0,H=+s[W>>2],X=v0-H,U=X>-17.200000762939453,a0=X+17.200000762939453,Z=a0,U?(V=D*Z,o0=1-V,n0=o0,i0=n0<0,i0?E0=9999999747378752e-20:E0=n0):(r0=Q*Z,c0=1-r0,s0=c0,E0=s0),l0=f+(I0<<2)|0,j=+s[l0>>2],$0=j*E0,s[l0>>2]=$0),g0=I0+1|0,C0=(g0|0)==(C|0),!C0;)I0=g0}function IS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0;return T=m,a=n+4|0,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=n+40|0,b=e[Q>>2]|0,x=D+(b<<2)|0,_=e[x>>2]|0,F=(_|0)/2&-1,L=+(F|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),C=L/I,p=D+2936|0,B=+s[p>>2],v=B*C,S=v+t,w=S<-9999,o=w?-9999:S,+o}function dS(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0;if(G4=m,n0=e[o>>2]|0,i0=o+4|0,s5=e[i0>>2]|0,K3=s5+500|0,m3=e[K3>>2]|0,h6=(m3|0)==0,h6?K5=16:($6=s5+508|0,C6=e[$6>>2]|0,K5=C6),i3=e[s5>>2]|0,I6=((n+132|0)+(i3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,w0=(n+252|0)+(t<<2)|0,T0=e[w0>>2]|0,G0=1624+(T0<<3)|0,l1=+o1[G0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=C<<2,v=W1,t2=m,m=m+((1*v|0)+15&-16)|0,S=W1,m2=m,m=m+((1*S|0)+15&-16)|0,Q=W1,P2=m,m=m+((1*Q|0)+15&-16)|0,b=W1,v2=m,m=m+((1*b|0)+15&-16)|0,x=W1,_5=m,m=m+((1*x|0)+15&-16)|0,c2=a+1156|0,F2=(n0|0)>1e3,T4=F2?1696:1624,M4=T4+(U1<<3)|0,R4=+o1[M4>>3],L5=i5(W1,K5)|0,_=L5,w3=m,m=m+((1*_|0)+15&-16)|0,e[t2>>2]=w3,w=L5,f3=m,m=m+((1*w|0)+15&-16)|0,e[m2>>2]=f3,y=L5,B3=m,m=m+((1*y|0)+15&-16)|0,e[P2>>2]=B3,D=L5,T3=m,m=m+((1*D|0)+15&-16)|0,e[v2>>2]=T3,z5=(C|0)>1,z5&&(y3=w3+(K5<<2)|0,W5=t2+4|0,e[W5>>2]=y3,t6=f3+(K5<<2)|0,R3=m2+4|0,e[R3>>2]=t6,G3=B3+(K5<<2)|0,o3=P2+4|0,e[o3>>2]=G3,$3=T3+(K5<<2)|0,l3=v2+4|0,e[l3>>2]=$3,h9=(C|0)==2,!h9))for(w5=2;L=e[t2>>2]|0,N=e[m2>>2]|0,P=e[P2>>2]|0,z=e[v2>>2]|0,P5=i5(w5,K5)|0,N3=L+(P5<<2)|0,M5=t2+(w5<<2)|0,e[M5>>2]=N3,n6=N+(P5<<2)|0,t3=m2+(w5<<2)|0,e[t3>>2]=n6,A3=P+(P5<<2)|0,x3=P2+(w5<<2)|0,e[x3>>2]=A3,p3=z+(P5<<2)|0,k3=v2+(w5<<2)|0,e[k3>>2]=p3,Q3=w5+1|0,W6=(Q3|0)==(C|0),!W6;)w5=Q3;if(q5=e[c2>>2]|0,U5=(n0|0)>0,U5)for(i6=e[v2>>2]|0,W3=(C|0)>0,U3=n0^-1,V5=K5^-1,M6=0,I9=U3;;){if(O3=(I9|0)>(V5|0),Z4=O3?I9:V5,I3=Z4^-1,w6=n0-M6|0,k6=(K5|0)>(w6|0),p=k6?w6:K5,n4(_5|0,E|0,W1|0)|0,ne(i6|0,0,L5|0)|0,W3)for(v6=(p|0)>0,B6=r0-M6|0,t9=0;;){if(S3=f+(t9<<2)|0,X3=e[S3>>2]|0,e6=X3+(M6<<2)|0,f6=_5+(t9<<2)|0,P3=e[f6>>2]|0,D3=(P3|0)==0,D3){if(v6)for(S6=P2+(t9<<2)|0,s6=e[S6>>2]|0,O6=t2+(t9<<2)|0,s3=e[O6>>2]|0,A6=m2+(t9<<2)|0,u6=e[A6>>2]|0,b3=v2+(t9<<2)|0,T6=e[b3>>2]|0,d9=0;M0=s6+(d9<<2)|0,s[M0>>2]=1000000013351432e-25,J0=s3+(d9<<2)|0,s[J0>>2]=0,Y0=u6+(d9<<2)|0,s[Y0>>2]=0,O0=T6+(d9<<2)|0,e[O0>>2]=0,U=d9+M6|0,z0=X3+(U<<2)|0,e[z0>>2]=0,P0=d9+1|0,L6=(P0|0)==(I3|0),!L6;)d9=P0}else{if(H3=P2+(t9<<2)|0,V3=e[H3>>2]|0,v6){for(z9=0;a0=z9+M6|0,r6=X3+(a0<<2)|0,Q6=e[r6>>2]|0,R6=1768+(Q6<<2)|0,J6=e[R6>>2]|0,Y6=V3+(z9<<2)|0,e[Y6>>2]=J6,F3=z9+1|0,y6=(F3|0)==(I3|0),!y6;)z9=F3;if(Z6=c+(t9<<2)|0,G6=e[Z6>>2]|0,j6=v2+(t9<<2)|0,r9=e[j6>>2]|0,v6){for(N9=0;x6=(N9|0)>=(B6|0),o0=x6?R4:l1,N6=o0,Z=N9+M6|0,D6=G6+(Z<<2)|0,K6=+s[D6>>2],u9=+Ki(+K6),K=V3+(N9<<2)|0,c0=+s[K>>2],s0=u9/c0,l0=r9+(N9<<2)|0,Q9=!(s0>2]=B,j=N9+1|0,F6=(j|0)==(p|0),!F6;)N9=j;if(v6)for($0=t2+(t9<<2)|0,g0=e[$0>>2]|0,f0=m2+(t9<<2)|0,Q0=e[f0>>2]|0,D9=0;;)if(d0=D9+M6|0,h0=G6+(d0<<2)|0,E0=+s[h0>>2],C0=E0*E0,I0=g0+(D9<<2)|0,s[I0>>2]=C0,v0=Q0+(D9<<2)|0,s[v0>>2]=C0,K0=+s[h0>>2],b0=K0<0,b0&&(m0=+s[I0>>2],F0=-m0,s[I0>>2]=F0),L0=V3+(D9<<2)|0,U0=+s[L0>>2],B0=U0*U0,s[L0>>2]=B0,q0=D9+1|0,L3=(q0|0)==(I3|0),L3){M=f0,D0=g0;break}else D9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(t9<<2)|0,Y=e[F>>2]|0,H=m2+(t9<<2)|0,M=H,D0=Y),x0=e[M>>2]|0,D4=e[i0>>2]|0,+AQ(D4,r0,D0,x0,V3,0,M6,p,e6)}if(r1=t9+1|0,X6=(r1|0)==(C|0),X6)break;t9=r1}if(j3=e[c2>>2]|0,l6=(j3|0)>0,l6)for(p6=(p|0)>0,_6=I-M6|0,q6=r0-M6|0,C3=j3,m4=0;;){if(H0=(a+1160|0)+(m4<<2)|0,e1=e[H0>>2]|0,S0=(a+2184|0)+(m4<<2)|0,i1=e[S0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(M6<<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=m2+(e1<<2)|0,h1=e[I1>>2]|0,E1=m2+(i1<<2)|0,u1=e[E1>>2]|0,d1=P2+(e1<<2)|0,p1=e[d1>>2]|0,Q1=P2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=v2+(e1<<2)|0,y1=e[x1>>2]|0,S1=v2+(i1<<2)|0,F1=e[S1>>2]|0,L1=_5+(e1<<2)|0,N1=e[L1>>2]|0,w1=(N1|0)==0,Z1=_5+(i1<<2)|0,w1?(G1=e[Z1>>2]|0,D1=(G1|0)==0,D1?z2=C3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[L1>>2]=1,p6)for(P6=0;;){K1=(P6|0)<(_6|0);do if(K1){if(P1=y1+(P6<<2)|0,H1=e[P1>>2]|0,q1=(H1|0)==0,Y1=F1+(P6<<2)|0,q1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){X2=(P6|0)<(q6|0);do if(X2)D5=Z0+(P6<<2)|0,V2=+s[D5>>2],f5=n1+(P6<<2)|0,k5=+s[f5>>2],O5=k5+V2,s[f5>>2]=O5,a9=+Ki(+O5),$5=h1+(P6<<2)|0,s[$5>>2]=a9,T=D5;else if(E5=n1+(P6<<2)|0,r5=+s[E5>>2],x2=Z0+(P6<<2)|0,R2=+s[x2>>2],B2=R2+r5,C5=B2<0,f9=+Ki(+r5),o9=+Ki(+R2),F5=o9+f9,u5=h1+(P6<<2)|0,s[u5>>2]=F5,C5){b5=-F5,s[E5>>2]=b5,T=x2;break}else{s[E5>>2]=F5,T=x2;break}while(!1);N5=u1+(P6<<2)|0,s[N5>>2]=0,s[T>>2]=0,e[Y1>>2]=1,X=P6+M6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}O1=n1+(P6<<2)|0,l2=+s[O1>>2],T9=+Ki(+l2),z1=Z0+(P6<<2)|0,f2=+s[z1>>2],d6=+Ki(+f2),s2=d6+T9,s[O1>>2]=s2,E2=h1+(P6<<2)|0,A2=+s[E2>>2],V1=u1+(P6<<2)|0,g2=+s[V1>>2],a2=g2+A2,s[E2>>2]=a2,e[Y1>>2]=1,e[P1>>2]=1,V=P6+M6|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,C4=0-i2|0,n2=E4?i2:C4,s4=(X1|0)>-1,A4=0-X1|0,u2=s4?X1:A4,e2=(n2|0)>(u2|0),e2?(y2=(i2|0)>0,S2=i2-X1|0,w2=X1-i2|0,M2=y2?S2:w2,e[o2>>2]=M2,J=e[$2>>2]|0,N2=J,O2=M2):(_2=(X1|0)>0,G2=i2-X1|0,I2=X1-i2|0,J2=_2?G2:I2,e[o2>>2]=J2,e[$2>>2]=X1,t0=e[o2>>2]|0,N2=X1,O2=t0),g4=(N2|0)>-1,S4=0-N2|0,q2=g4?N2:S4,T2=q2<<1,K2=(O2|0)<(T2|0),K2||(T1=0-O2|0,e[o2>>2]=T1,j2=e[$2>>2]|0,x5=0-j2|0,e[$2>>2]=x5)}while(!1);if(I5=p1+(P6<<2)|0,A5=+s[I5>>2],l5=R1+(P6<<2)|0,m5=+s[l5>>2],M1=m5+A5,s[l5>>2]=M1,s[I5>>2]=M1,v5=P6+1|0,A9=(v5|0)==(I3|0),A9)break;P6=v5}b4=e[i0>>2]|0,+AQ(b4,r0,n1,h1,p1,y1,M6,p,f1),W=e[c2>>2]|0,z2=W}if(c5=m4+1|0,o5=(c5|0)<(z2|0),o5)C3=z2,m4=c5;else{n3=z2;break}}else n3=j3;if(B5=M6+K5|0,e5=(n0|0)>(B5|0),G9=I9+K5|0,e5)M6=B5,I9=G9;else{v3=n3;break}}else v3=q5;if(c3=(v3|0)>0,c3)e3=v3,e9=0;else{m=G4;return}for(;n5=(a+1160|0)+(e9<<2)|0,g5=e[n5>>2]|0,Y2=E+(g5<<2)|0,h5=e[Y2>>2]|0,t5=(h5|0)==0,R5=(a+2184|0)+(e9<<2)|0,t5?(W2=e[R5>>2]|0,a5=E+(W2<<2)|0,p5=e[a5>>2]|0,H5=(p5|0)==0,H5?J5=e3:U9=52):U9=52,(U9|0)==52&&(U9=0,e[Y2>>2]=1,X5=e[R5>>2]|0,d5=E+(X5<<2)|0,e[d5>>2]=1,e0=e[c2>>2]|0,J5=e0),u3=e9+1|0,h3=(u3|0)<(J5|0),h3;)e3=J5,e9=u3;m=G4}function ES(t,n,o,a,c){t=t|0,n=+n,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,G8=0,N8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0;for(Je=m,m=m+32480|0,q3=Je+32256|0,B9=Je+1792|0,y9=Je,_=o<<2,S=_,F=m,m=m+((1*S|0)+15&-16)|0,i2=S9(68)|0,ne(B9|0,0,30464)|0,v3=a>0,s4=a<0,w9=0;;){for(Ae=w9<<2,ee=0;r5=ee+Ae|0,I5=(r5|0)<88,I5?(e5=1272+(r5<<2)|0,H5=+s[e5>>2],q9=H5):q9=-30,w3=r5+1|0,o3=(w3|0)<88,o3?(x6=1272+(w3<<2)|0,N6=+s[x6>>2],K6=q9>N6,K6?ie=N6:ie=q9):(r9=q9>-30,r9?ie=-30:ie=q9),y6=r5+2|0,F6=(y6|0)<88,F6?(L6=1272+(y6<<2)|0,X6=+s[L6>>2],A9=ie>X6,A9?b9=X6:b9=ie):(L3=ie>-30,L3?b9=-30:b9=ie),W6=r5+3|0,h9=(W6|0)<88,h9?(o9=1272+(W6<<2)|0,a9=+s[o9>>2],T9=b9>a9,T9?qe=a9:qe=b9):(f9=b9>-30,f9?qe=-30:qe=b9),d6=q3+(ee<<2)|0,s[d6>>2]=qe,M6=ee+1|0,M8=(M6|0)==56,!M8;)ee=M6;if($4=(B9+(w9*1792|0)|0)+448|0,L=2792+(w9*1344|0)|0,n4($4|0,L|0,224)|0,H=(B9+(w9*1792|0)|0)+672|0,c0=(2792+(w9*1344|0)|0)+224|0,n4(H|0,c0|0,224)|0,E0=(B9+(w9*1792|0)|0)+896|0,B0=(2792+(w9*1344|0)|0)+448|0,n4(E0|0,B0|0,224)|0,r1=(B9+(w9*1792|0)|0)+1120|0,a1=(2792+(w9*1344|0)|0)+672|0,n4(r1|0,a1|0,224)|0,Q1=(B9+(w9*1792|0)|0)+1344|0,G1=(2792+(w9*1344|0)|0)+896|0,n4(Q1|0,G1|0,224)|0,l2=(B9+(w9*1792|0)|0)+1568|0,o2=(2792+(w9*1344|0)|0)+1120|0,n4(l2|0,o2|0,224)|0,G2=B9+(w9*1792|0)|0,n4(G2|0,L|0,224)|0,j2=(B9+(w9*1792|0)|0)+224|0,n4(j2|0,L|0,224)|0,v3)for(t8=0;;){if(s4)for(I8=0;g4=16-I8|0,w7=(g4|0)>-1,r7=0-g4|0,N9=w7?g4:r7,z9=+(N9|0),D9=z9*c,d9=D9+a,P6=d9<0,I=P6?0:d9,t9=I>0,f=t9?0:I,C4=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(I8<<2)|0,S4=+s[C4>>2],A4=S4+f,s[C4>>2]=A4,D4=I8+1|0,U8=(D4|0)==56,!U8;)I8=D4;else for(n8=0;c3=16-n8|0,X8=(c3|0)>-1,Y8=0-c3|0,_6=X8?c3:Y8,S6=+(_6|0),R6=S6*c,D6=R6+a,u9=D6<0,C=u9?0:D6,e9=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(n8<<2)|0,G9=+s[e9>>2],I9=G9+C,s[e9>>2]=I9,E4=n8+1|0,N8=(E4|0)==56,!N8;)n8=E4;if(t3=t8+1|0,w8=(t3|0)==8,w8)break;t8=t3}else for(S8=0;;){if(s4)for(d8=0;Z4=16-d8|0,k7=(Z4|0)>-1,n7=0-Z4|0,m4=k7?Z4:n7,T4=+(m4|0),U9=T4*c,G4=U9+a,o4=G4>0,E=o4?0:G4,h4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(d8<<2)|0,de=+s[h4>>2],H9=de+E,s[h4>>2]=H9,E9=d8+1|0,z8=(E9|0)==56,!z8;)d8=E9;else for(r8=0;Ee=16-r8|0,f7=(Ee|0)>-1,i7=0-Ee|0,Te=f7?Ee:i7,We=+(Te|0),N4=We*c,Ge=N4+a,U4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(r8<<2)|0,Se=+s[U4>>2],je=Se+Ge,s[U4>>2]=je,Z9=r8+1|0,T8=(Z9|0)==56,!T8;)r8=Z9;if(se=S8+1|0,Z8=(se|0)==8,Z8)break;S8=se}for(b4=t+(w9<<2)|0,R4=+s[b4>>2],M4=R4,P4=0;;){for(f4=(P4|0)<2,b6=+(P4|0),w=b6*10,y=70-w,O4=f4?50:y,F9=O4+M4,a4=F9,f8=0;_4=((B9+(w9*1792|0)|0)+(P4*224|0)|0)+(f8<<2)|0,W9=+s[_4>>2],oe=W9+a4,s[_4>>2]=oe,ae=f8+1|0,L4=(ae|0)==56,!L4;)f8=ae;for(B4=y9+(P4*224|0)|0,n4(B4|0,q3|0,224)|0,j4=+(P4|0),F4=j4*10,$e=70-F4,v8=0;;)if(C9=(y9+(P4*224|0)|0)+(v8<<2)|0,c6=+s[C9>>2],Ne=$e+c6,s[C9>>2]=Ne,Ce=v8+1|0,l7=(Ce|0)==56,l7){e8=0;break}else v8=Ce;for(;p4=((B9+(w9*1792|0)|0)+(P4*224|0)|0)+(e8<<2)|0,l4=+s[p4>>2],U6=(y9+(P4*224|0)|0)+(e8<<2)|0,De=+s[U6>>2],be=l4>De,be&&(s[U6>>2]=l4),Xe=e8+1|0,_e=(Xe|0)==56,!_e;)e8=Xe;if(c4=P4+1|0,y7=(c4|0)==8,y7){xe=1;break}else P4=c4}for(;;){for(k4=xe+-1|0,Re=0;;)if(g8=(y9+(k4*224|0)|0)+(Re<<2)|0,M=+s[g8>>2],T=(y9+(xe*224|0)|0)+(Re<<2)|0,N=+s[T>>2],P=M>2]=M),z=Re+1|0,$7=(z|0)==56,$7){Ue=0;break}else Re=z;for(;Y=(y9+(xe*224|0)|0)+(Ue<<2)|0,t0=+s[Y>>2],J=((B9+(w9*1792|0)|0)+(xe*224|0)|0)+(Ue<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Ue+1|0,X4=(X|0)==56,!X4;)Ue=X;if(U=xe+1|0,G8=(U|0)==8,G8)break;xe=U}if(a0=w9+1|0,k8=(a0|0)==17,k8)break;w9=a0}for(Q9=n,x4=(o|0)>0,W4=o^-1,me=0;;){for(Z=S9(32)|0,V=i2+(me<<2)|0,e[V>>2]=Z,o0=+(me|0),n0=o0*.5,i0=o0*.34657350182533264,r0=i0+4.135165354540845,K=+Gn(+r0),s0=K/Q9,l0=+Ko(+s0),j=~~l0,$0=+(j|0),g0=$0*n,f0=g0+1,Q0=f0,d0=+qr(+Q0),w0=d0*2.885390043258667,h0=w0+-11.931568145751953,C0=+Wm(+h0),I0=~~C0,v0=j+1|0,K0=+(v0|0),b0=K0*n,m0=b0,F0=+qr(+m0),L0=F0*2.885390043258667,T0=L0+-11.931568145751953,U0=+Ko(+T0),q0=~~U0,x0=(I0|0)>(me|0),h7=x0?me:I0,D0=(h7|0)<0,C8=D0?0:h7,M0=(q0|0)>16,p=M0?16:q0,J0=(C8|0)>(p|0),Y0=me+1|0,O0=(Y0|0)<17,z0=n0+3.9657840728759766,te=0;;){if(G0=S9(232)|0,P0=Z+(te<<2)|0,e[P0>>2]=G0,x4)for(i8=0;H0=F+(i8<<2)|0,s[H0>>2]=999,e1=i8+1|0,m9=(e1|0)==(o|0),!m9;)i8=e1;if(!J0)for(ce=C8;;){for(S0=+(ce|0),i1=S0*.5,u8=0,Be=0;;){if(g1=+(u8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,A1=n1*.6931470036506653,Z0=+Gn(+A1),I1=Z0/Q9,h1=~~I1,E1=s1+4.028284072875977,u1=E1*.6931470036506653,d1=+Gn(+u1),B1=d1/Q9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,y1=(B|0)>(o|0),t7=y1?o:B,S1=(t7|0)<(Be|0),H4=S1?t7:Be,F1=(R1|0)<0,W8=F1?0:R1,L1=(W8|0)>(o|0),q8=L1?o:W8,N1=(H4|0)<(q8|0),w1=(H4|0)<(o|0),J8=N1&w1,J8)for(U1=((B9+(ce*1792|0)|0)+(te*224|0)|0)+(u8<<2)|0,Z1=+s[U1>>2],D1=(Be|0)<(o|0),K1=D1?Be:o,P1=K1^-1,H1=(h1|0)>0,b=h1^-1,q1=H1?b:-1,Y1=(q1|0)<(P1|0),q4=Y1?P1:q1,j1=q4^-1,r2=(R1|0)>0,x=R1^-1,W1=r2?x:-1,O1=(W1|0)<(W4|0),s7=O1?W4:W1,z1=s7-q4|0,f2=q4+o|0,s2=f2^-1,E2=z1>>>0>s2>>>0,_8=E2?z1:s2,A2=j1-_8|0,X9=H4;;)if(V1=F+(X9<<2)|0,g2=+s[V1>>2],a2=g2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,h8=(t2|0)==(A2|0),h8){Oe=A2;break}else X9=t2;else Oe=H4;if($2=u8+1|0,O8=($2|0)==56,O8){Pe=Oe;break}else u8=$2,Be=Oe}if(c1=(Pe|0)<(o|0),c1)for($1=((B9+(ce*1792|0)|0)+(te*224|0)|0)+220|0,f1=+s[$1>>2],Fe=Pe;X1=F+(Fe<<2)|0,n2=+s[X1>>2],u2=n2>f1,u2&&(s[X1>>2]=f1),e2=Fe+1|0,P8=(e2|0)==(o|0),!P8;)Fe=e2;if(y2=ce+1|0,S2=(ce|0)<(p|0),S2)ce=y2;else break}if(O0){for(D8=0,ge=0;;){if(N2=+(D8|0),q2=N2*.125,T2=q2+n0,O2=T2+3.9032840728759766,K2=O2*.6931470036506653,s5=+Gn(+K2),P2=s5/Q9,T1=~~P2,x5=T2+4.028284072875977,X2=x5*.6931470036506653,D5=+Gn(+X2),V2=D5/Q9,f5=V2+1,k5=~~f5,O5=(T1|0)<0,v=O5?0:T1,$5=(v|0)>(o|0),d3=$5?o:v,v2=(d3|0)<(ge|0),He=v2?d3:ge,E5=(k5|0)<0,j8=E5?0:k5,x2=(j8|0)>(o|0),u7=x2?o:j8,R2=(He|0)<(u7|0),B2=(He|0)<(o|0),A8=R2&B2,A8)for(C5=((B9+(Y0*1792|0)|0)+(te*224|0)|0)+(D8<<2)|0,F5=+s[C5>>2],u5=(ge|0)<(o|0),b5=u5?ge:o,N5=b5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,A5=(H2|0)<(N5|0),o8=A5?N5:H2,l5=o8^-1,m5=(k5|0)>0,Q=k5^-1,M1=m5?Q:-1,v5=(M1|0)<(W4|0),b8=v5?W4:M1,c5=b8-o8|0,o5=o8+o|0,z2=o5^-1,c2=c5>>>0>z2>>>0,Ye=c2?c5:z2,B5=l5-Ye|0,Q4=He;;)if(n5=F+(Q4<<2)|0,g5=+s[n5>>2],Y2=g5>F5,Y2&&(s[n5>>2]=F5),h5=Q4+1|0,Q7=(h5|0)==(B5|0),Q7){s8=B5;break}else Q4=h5;else s8=He;if(t5=D8+1|0,V8=(t5|0)==56,V8){pe=s8;break}else D8=t5,ge=s8}if(_2=(pe|0)<(o|0),_2)for(I2=((B9+(Y0*1792|0)|0)+(te*224|0)|0)+220|0,J2=+s[I2>>2],E8=pe;R5=F+(E8<<2)|0,W2=+s[R5>>2],a5=W2>J2,a5&&(s[R5>>2]=J2),F2=E8+1|0,c7=(F2|0)==(o|0),!c7;)E8=F2}for(w2=Z+(te<<2)|0,m2=Z+(te<<2)|0,M2=Z+(te<<2)|0,le=0;;){u3=+(le|0),h3=u3*.125,J5=z0+h3,e3=J5*.6931470036506653,n3=+Gn(+e3),C3=n3/Q9,L5=~~C3,K5=(L5|0)<0;do if(K5)f3=le+2|0,B3=e[w2>>2]|0,K3=B3+(f3<<2)|0,s[K3>>2]=-999;else if(T3=(L5|0)<(o|0),T3){t6=F+(L5<<2)|0,R3=e[t6>>2]|0,G3=le+2|0,$3=e[m2>>2]|0,l3=$3+(G3<<2)|0,e[l3>>2]=R3;break}else{z5=le+2|0,y3=e[M2>>2]|0,W5=y3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(m3=le+1|0,g7=(m3|0)==56,g7)break;le=m3}p5=G0+8|0,X5=+s[p5>>2],d5=X5>-200;do if(d5)j9=0;else if(q5=G0+12|0,U5=+s[q5>>2],P5=U5>-200,P5)j9=1;else if(Q3=G0+16|0,i6=+s[Q3>>2],W3=i6>-200,W3)j9=2;else if(U3=G0+20|0,V5=+s[U3>>2],O3=V5>-200,O3)j9=3;else if($6=G0+24|0,I3=+s[$6>>2],w6=I3>-200,w6)j9=4;else if(k6=G0+28|0,v6=+s[k6>>2],B6=v6>-200,B6)j9=5;else if(j3=G0+32|0,l6=+s[j3>>2],p6=l6>-200,p6)j9=6;else if(q6=G0+36|0,C6=+s[q6>>2],S3=C6>-200,S3)j9=7;else if(X3=G0+40|0,e6=+s[X3>>2],f6=e6>-200,f6)j9=8;else if(P3=G0+44|0,D3=+s[P3>>2],H3=D3>-200,H3)j9=9;else if(V3=G0+48|0,s6=+s[V3>>2],i3=s6>-200,i3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],A6=s3>-200,A6)j9=11;else if(u6=G0+56|0,b3=+s[u6>>2],T6=b3>-200,T6)j9=12;else if(r6=G0+60|0,Q6=+s[r6>>2],J6=Q6>-200,J6)j9=13;else{if(I6=G0+64|0,Y6=+s[I6>>2],F3=Y6>-200,F3){j9=14;break}if(Z6=G0+68|0,G6=+s[Z6>>2],j6=G6>-200,j6){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,H8=55;;){if(w5=H8+2|0,N3=G0+(w5<<2)|0,M5=+s[N3>>2],n6=M5>-200,n6){e7=H8;break}if(A3=H8+-1|0,x3=(A3|0)>17,x3)H8=A3;else{e7=A3;break}}if(h6=+(e7|0),p3=G0+4|0,s[p3>>2]=h6,k3=te+1|0,F8=(k3|0)==8,F8)break;te=k3}if(L8=(Y0|0)==17,L8)break;me=Y0}return m=Je,i2|0}function sQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0;if(b4=m,w=t<<2,E=w,y=m,m=m+((1*E|0)+15&-16)|0,I=w,A2=m,m=m+((1*I|0)+15&-16)|0,C=w,W2=m,m=m+((1*C|0)+15&-16)|0,p=w,n3=m,m=m+((1*p|0)+15&-16)|0,B=w,W5=m,m=m+((1*B|0)+15&-16)|0,w5=+s[o>>2],i6=w5+c,v6=i6<1,A4=v6?1:i6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[W2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,V=(t|0)>1,V)for(L3=1,d6=D,M6=D,e9=0,G9=0,I9=z,E4=1;c1=o+(L3<<2)|0,h1=+s[c1>>2],F1=h1+c,q1=F1<1,Q9=q1?1:F1,V1=Q9*Q9,y2=V1+d6,T2=V1*E4,f5=T2+M6,F5=T2*E4,v5=F5+e9,Y2=V1*Q9,h5=Y2+I9,t5=T2*Q9,R5=t5+G9,a5=y+(L3<<2)|0,s[a5>>2]=y2,F2=A2+(L3<<2)|0,s[F2>>2]=f5,p5=W2+(L3<<2)|0,s[p5>>2]=v5,H5=n3+(L3<<2)|0,s[H5>>2]=h5,X5=W5+(L3<<2)|0,s[X5>>2]=R5,d5=L3+1|0,u3=E4+1,F6=(d5|0)==(t|0),!F6;)L3=d5,d6=y2,M6=f5,e9=v5,G9=R5,I9=h5,E4=u3;if(g0=e[n>>2]|0,b0=g0>>16,J0=(b0|0)>-1,J0)J5=g0,u6=0,Q6=0,Y6=1,L6=0,s4=0;else for(L5=g0,B3=b0,X6=0,g4=0;;)if(C3=L5&65535,K5=y+(C3<<2)|0,w3=+s[K5>>2],f3=0-B3|0,K3=y+(f3<<2)|0,T3=+s[K3>>2],z5=T3+w3,y3=A2+(C3<<2)|0,t6=+s[y3>>2],R3=A2+(f3<<2)|0,G3=+s[R3>>2],o3=t6-G3,$3=W2+(C3<<2)|0,l3=+s[$3>>2],m3=W2+(f3<<2)|0,q5=+s[m3>>2],U5=q5+l3,P5=n3+(C3<<2)|0,N3=+s[P5>>2],M5=n3+(f3<<2)|0,n6=+s[M5>>2],t3=n6+N3,A3=W5+(C3<<2)|0,x3=+s[A3>>2],h6=W5+(f3<<2)|0,p3=+s[h6>>2],k3=x3-p3,Q3=t3*U5,W3=k3*o3,U3=Q3-W3,V5=k3*z5,v3=t3*o3,c3=V5-v3,O3=U5*z5,$6=o3*o3,I3=O3-$6,w6=c3*g4,k6=w6+U3,B6=k6/I3,j3=B6<0,j6=j3?0:B6,l6=j6-c,p6=a+(X6<<2)|0,s[p6>>2]=l6,_6=X6+1|0,q6=g4+1,C6=n+(_6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){J5=S3,u6=U3,Q6=c3,Y6=I3,L6=_6,s4=q6;break}else L5=S3,B3=X3,X6=_6,g4=q6;if(h3=J5&65535,e3=(h3|0)<(t|0),e3)for(v=J5,V3=h3,W6=L6,z9=s4;;)if(D3=v>>16,H3=y+(V3<<2)|0,S6=+s[H3>>2],s6=y+(D3<<2)|0,i3=+s[s6>>2],O6=S6-i3,s3=A2+(V3<<2)|0,A6=+s[s3>>2],Q=A2+(D3<<2)|0,b=+s[Q>>2],x=A6-b,_=W2+(V3<<2)|0,F=+s[_>>2],L=W2+(D3<<2)|0,M=+s[L>>2],T=F-M,N=n3+(V3<<2)|0,P=+s[N>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=P-t0,W=W5+(V3<<2)|0,e0=+s[W>>2],H=W5+(D3<<2)|0,X=+s[H>>2],U=e0-X,a0=J*T,Z=U*x,o0=a0-Z,n0=U*O6,i0=J*x,r0=n0-i0,K=T*O6,c0=x*x,s0=K-c0,l0=r0*z9,j=l0+o0,$0=j/s0,f0=$0<0,r9=f0?0:$0,Q0=r9-c,d0=a+(W6<<2)|0,s[d0>>2]=Q0,w0=W6+1|0,h0=z9+1,E0=n+(w0<<2)|0,C0=e[E0>>2]|0,I0=C0&65535,v0=(I0|0)<(t|0),v0)v=C0,V3=I0,W6=w0,z9=h0;else{b3=o0,R6=r0,F3=s0,A9=w0,N9=h0;break}else b3=u6,R6=Q6,F3=Y6,A9=L6,N9=s4;if(P3=(A9|0)<(t|0),P3)for(h9=A9,D9=N9;K0=D9*R6,m0=K0+b3,F0=m0/F3,L0=F0<0,x6=L0?0:F0,T0=x6-c,U0=a+(h9<<2)|0,s[U0>>2]=T0,B0=h9+1|0,q0=D9+1,y6=(B0|0)==(t|0),!y6;)h9=B0,D9=q0;if(x0=(f|0)<1,x0){m=b4;return}if(D0=(f|0)/2&-1,M0=D0-f|0,Y0=(M0|0)>-1,Y0)T6=b3,J6=R6,Z6=F3,f9=0,d9=0;else for(O0=f-D0|0,H0=D0,i1=M0,u9=0,P6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],S0=0-i1|0,$1=y+(S0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(S0<<2)|0,n1=+s[a1>>2],A1=s1-n1,Z0=W2+(H0<<2)|0,I1=+s[Z0>>2],E1=W2+(S0<<2)|0,u1=+s[E1>>2],d1=u1+I1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(S0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,y1=W5+(H0<<2)|0,S1=+s[y1>>2],L1=W5+(S0<<2)|0,N1=+s[L1>>2],w1=S1-N1,U1=x1*d1,Z1=w1*A1,G1=U1-Z1,D1=w1*g1,K1=x1*A1,P1=D1-K1,H1=d1*g1,Y1=A1*A1,j1=H1-Y1,r2=P1*P6,W1=r2+G1,O1=W1/j1,l2=O1-c,z1=a+(u9<<2)|0,f2=+s[z1>>2],s2=l2>2]=l2),E2=u9+1|0,g2=P6+1,a2=D0+E2|0,t2=a2-f|0,K6=(E2|0)==(O0|0),K6){T6=G1,J6=P1,Z6=j1,f9=O0,d9=g2;break}else H0=a2,i1=t2,u9=E2,P6=g2;if(z0=f9+D0|0,G0=(z0|0)<(t|0),G0)for(P0=t-D0|0,S=z0,a9=f9,C4=d9;;)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,S2=A2+(S<<2)|0,w2=+s[S2>>2],m2=A2+(i2<<2)|0,M2=+s[m2>>2],_2=w2-M2,G2=W2+(S<<2)|0,I2=+s[G2>>2],J2=W2+(i2<<2)|0,N2=+s[J2>>2],q2=I2-N2,O2=n3+(S<<2)|0,K2=+s[O2>>2],s5=n3+(i2<<2)|0,P2=+s[s5>>2],T1=K2-P2,j2=W5+(S<<2)|0,x5=+s[j2>>2],X2=W5+(i2<<2)|0,D5=+s[X2>>2],V2=x5-D5,k5=T1*q2,O5=V2*_2,$5=k5-O5,v2=V2*e2,E5=T1*_2,r5=v2-E5,x2=q2*e2,R2=_2*_2,B2=x2-R2,C5=r5*C4,u5=C5+$5,b5=u5/B2,N5=b5-c,_5=a+(a9<<2)|0,H2=+s[_5>>2],I5=N5>2]=N5),A5=a9+1|0,l5=C4+1,m5=A5+D0|0,D6=(A5|0)==(P0|0),D6){r6=$5,I6=r5,G6=B2,o9=P0,t9=l5;break}else S=m5,a9=A5,C4=l5;else r6=T6,I6=J6,G6=Z6,o9=f9,t9=d9;if($2=(o9|0)<(t|0),$2)T9=o9,S4=t9;else{m=b4;return}for(;M1=S4*I6,c5=M1+r6,o5=c5/G6,z2=o5-c,c2=a+(T9<<2)|0,B5=+s[c2>>2],e5=z2>2]=z2),n5=T9+1|0,g5=S4+1,N6=(n5|0)==(t|0),!N6;)T9=n5,S4=g5;m=b4}function CS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;if(c1=m,f=o<<2,a=f,E=m,m=m+((1*a|0)+15&-16)|0,c=f,b=m,m=m+((1*c|0)+15&-16)|0,t0=(o|0)>0,t0)B0=0,O0=0;else{m=c1;return}for(;;){v0=(O0|0)<2;do if(v0)m0=E+(O0<<2)|0,e[m0>>2]=B0,I=t+(B0<<2)|0,C=e[I>>2]|0,p=b+(O0<<2)|0,e[p>>2]=C,H0=O0;else{for(K0=t+(B0<<2)|0,b0=+s[K0>>2],z0=O0;;){if(B=z0+-1|0,v=b+(B<<2)|0,S=+s[v>>2],w=b0>2]|0,_=x+n|0,F=(B0|0)<(_|0),L=(z0|0)>1,D0=L&F,!D0){P0=z0,i1=12;break}if(M=z0+-2|0,T=b+(M<<2)|0,N=+s[T>>2],P=!(S<=N),P){P0=z0,i1=12;break}if(z=E+(M<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(B0|0)<(J|0),W)z0=B;else{P0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=B0,D=b+(G0<<2)|0,s[D>>2]=b0,H0=G0;break}else if((i1|0)==12){i1=0,e0=E+(P0<<2)|0,e[e0>>2]=B0,H=b+(P0<<2)|0,s[H>>2]=b0,H0=P0;break}}while(!1);if(r1=H0+1|0,X=B0+1|0,U0=(X|0)==(o|0),U0){e1=H0,S0=r1;break}else B0=X,O0=r1}if(n0=(e1|0)>-1,!n0){m=c1;return}for(Q0=n+1|0,q0=0,M0=0;;){if(U=(q0|0)<(e1|0),U?(a0=q0+1|0,Z=b+(a0<<2)|0,V=+s[Z>>2],o0=b+(q0<<2)|0,i0=+s[o0>>2],r0=V>i0,r0?(K=E+(a0<<2)|0,c0=e[K>>2]|0,F0=c0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(q0<<2)|0,l0=e[s0>>2]|0,j=Q0+l0|0,F0=j),$0=(F0|0)>(o|0),x0=$0?o:F0,g0=(M0|0)<(x0|0),g0)for(f0=b+(q0<<2)|0,d0=e[f0>>2]|0,w0=(F0|0)<(o|0),h0=w0?F0:o,Y0=M0;;)if(E0=t+(Y0<<2)|0,e[E0>>2]=d0,C0=Y0+1|0,L0=(C0|0)==(h0|0),L0){J0=h0;break}else Y0=C0;else J0=M0;if(I0=q0+1|0,T0=(I0|0)==(S0|0),T0)break;q0=I0,M0=J0}m=c1}function AQ(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0;if(l2=m,_=I<<2,D=_,F=m,m=m+((1*D|0)+15&-16)|0,e0=t+500|0,K=e[e0>>2]|0,h0=(K|0)==0,h0?p1=I:(U0=t+504|0,P0=e[U0>>2]|0,s1=P0-E|0,p1=s1),L1=(p1|0)>(I|0),Y1=L1?I:p1,L=(Y1|0)>0,L)for(M=(f|0)==0,T=(p1|0)<(I|0),N=T?p1:I,P1=0;;){M?O1=9:(t0=f+(P1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(O1=9));do if((O1|0)==9)if(O1=0,H=a+(P1<<2)|0,X=+s[H>>2],U=c+(P1<<2)|0,a0=+s[U>>2],Z=X/a0,V=o+(P1<<2)|0,o0=+s[V>>2],n0=o0<0,i0=Z,r0=+Mn(+i0),c0=+Gi(r0),n0){s0=-c0,l0=~~s0,j=C+(P1<<2)|0,e[j>>2]=l0;break}else{$0=~~c0,g0=C+(P1<<2)|0,e[g0>>2]=$0;break}while(!1);if(f0=P1+1|0,D1=(f0|0)==(N|0),D1){K1=N;break}else P1=f0}else K1=0;if(P=(K1|0)<(I|0),!P)return y=0,m=l2,+y;for(z=(f|0)!=0,Y=n-E|0,p=0,N1=0,H1=K1;;){z?(Q0=f+(H1<<2)|0,d0=e[Q0>>2]|0,w0=(d0|0)==0,w0?O1=15:(B=p,w1=N1)):O1=15;do if((O1|0)==15)if(O1=0,E0=a+(H1<<2)|0,C0=+s[E0>>2],I0=c+(H1<<2)|0,v0=+s[I0>>2],K0=C0/v0,b0=!(K0<.25),m0=(H1|0)<(Y|0),j1=z&m0,r2=b0|j1,r2){B0=o+(H1<<2)|0,q0=+s[B0>>2],x0=q0<0,D0=K0,M0=+Mn(+D0),J0=+Gi(M0),Y0=-J0,b=x0?Y0:J0,Q=~~b,O0=C+(H1<<2)|0,e[O0>>2]=Q,z0=i5(Q,Q)|0,G0=+(z0|0),r1=+s[I0>>2],H0=G0*r1,s[E0>>2]=H0,B=p,w1=N1;break}else{F0=K0+p,L0=N1+1|0,T0=F+(N1<<2)|0,e[T0>>2]=E0,B=F0,w1=L0;break}while(!1);if(e1=H1+1|0,G1=(e1|0)==(I|0),G1){v=B,U1=w1;break}else p=B,N1=w1,H1=e1}if(S0=(U1|0)==0,S0||(xh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,m=l2,+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,x=0,W1=0):(h1=o+(A1<<2)|0,E1=e[h1>>2]|0,u1=E1&-2147483648,d1=u1|1065353216,B1=(e[p2>>2]=d1,+s[p2>>2]),Q1=~~B1,R1=S+-1,x1=c+(A1<<2)|0,y1=+s[x1>>2],w=R1,x=Q1,W1=y1),S1=C+(A1<<2)|0,e[S1>>2]=x,s[l1>>2]=W1,F1=q1+1|0,Z1=(F1|0)==(U1|0),Z1){y=w;break}else S=w,q1=F1;return m=l2,+y}function mS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,o=e[t>>2]|0,a=+s[o>>2],c=e[n>>2]|0,f=+s[c>>2],E=af,p=C&1,B=I-p|0,B|0}function BS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function pS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0;if(W=m,o=(t|0)==0,!o){if(a=t+4|0,y=e[a>>2]|0,F=(y|0)>0,L=t+20|0,F)for(_=y,Y=0;M=e[L>>2]|0,T=M+(Y<<2)|0,N=e[T>>2]|0,P=(N|0)==0,P?f=_:(d2(N),n=e[a>>2]|0,f=n),z=Y+1|0,c=(z|0)<(f|0),c;)_=f,Y=z;if(E=e[L>>2]|0,d2(E),I=t+24|0,C=e[I>>2]|0,p=(C|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,d2(w),D=t0+1|0,Q=e[I>>2]|0,b=(D|0)<(Q|0),b;)t0=D;x=e[B>>2]|0,d2(x),d2(t)}}function QS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;if($0=m,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,a0=U+-1|0,U2(n,a0,24),Z=t+12|0,V=e[Z>>2]|0,o0=V+-1|0,U2(n,o0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,C=(I|0)>0,!!C){for(p=t+24|0,i0=0,K=0;;){if(S=p+(K<<2)|0,w=e[S>>2]|0,y=L7(w)|0,D=(y|0)>3,b=e[S>>2]|0,D?(U2(n,b,3),U2(n,1,1),x=e[S>>2]|0,_=x>>3,U2(n,_,5)):U2(n,b,4),F=e[S>>2]|0,L=(F|0)==0,L)s0=0;else for(o=F,l0=0;;)if(M=o&1,T=M+l0|0,N=o>>>1,P=(N|0)==0,P){s0=T;break}else o=N,l0=T;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,c0=0;e0=v+(c0<<2)|0,H=e[e0>>2]|0,U2(n,H,8),X=c0+1|0,r0=(X|0)==(a|0),!r0;)c0=X}}function yS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,E=r4(1,2840)|0,I=t+28|0,x=e[I>>2]|0,J=z4(n,24)|0,e[E>>2]=J,i0=z4(n,24)|0,d0=E+4|0,e[d0>>2]=i0,L0=z4(n,24)|0,z0=L0+1|0,P0=E+8|0,e[P0>>2]=z0,r1=z4(n,6)|0,C=r1+1|0,p=E+12|0,e[p>>2]=C,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(b=z4(n,3)|0,_=z4(n,1)|0,F=(_|0)<0,F){a1=26;break e}if(L=(_|0)==0,L)S0=b;else{if(M=z4(n,5)|0,T=(M|0)<0,T){a1=26;break e}N=M<<3,P=N|b,S0=P}if(z=y+(c1<<2)|0,e[z>>2]=S0,Y=(S0|0)==0,Y)l1=0;else for(a=S0,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,a0=e[p>>2]|0,Z=(U|0)<(a0|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,o0=(V|0)<0,o0)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(c0=e[v>>2]|0,s0=x+24|0,l0=e[s0>>2]|0,j=(c0|0)<(l0|0),j){if(G0)for($0=E+280|0,f1=0;;){if(Q0=$0+(f1<<2)|0,w0=e[Q0>>2]|0,h0=(w0|0)<(l0|0),!h0||(E0=(x+1824|0)+(w0<<2)|0,C0=e[E0>>2]|0,I0=C0+12|0,v0=e[I0>>2]|0,K0=(v0|0)==0,g0=f1+1|0,K0))break e;if(f0=(g0|0)<(H0|0),f0)f1=g0;else break}if(b0=(x+1824|0)+(c0<<2)|0,m0=e[b0>>2]|0,F0=m0+4|0,T0=e[F0>>2]|0,U0=e[m0>>2]|0,B0=(U0|0)<1,!B0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(M0=i5(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,o=E,o|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(o=0,o|0):(d2(E),o=0,o|0)}function wS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0;if(p1=m,f=r4(1,44)|0,E=t+4|0,b=e[E>>2]|0,t0=b+28|0,n0=e[t0>>2]|0,e[f>>2]=n,Q0=n+12|0,F0=e[Q0>>2]|0,O0=f+4|0,e[O0>>2]=F0,r1=n0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,C=H0,p=n+20|0,B=e[p>>2]|0,v=C+(B*56|0)|0,S=f+16|0,e[S>>2]=v,w=e[v>>2]|0,y=r4(F0,4)|0,D=f+20|0,e[D>>2]=y,Q=(F0|0)>0,Q)for(x=n+24|0,_=n+280|0,e1=0,l1=0,h1=0;;){if(F=x+(l1<<2)|0,L=e[F>>2]|0,M=L7(L)|0,T=(M|0)==0,T)c1=e1,E1=h1;else if(N=(M|0)>(h1|0),a=N?M:h1,P=r4(M,4)|0,z=y+(l1<<2)|0,e[z>>2]=P,Y=(M|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,S0=e1,A1=0;;)if(e0=1<>2]|0,a0=S0+1|0,Z=_+(S0<<2)|0,V=e[Z>>2]|0,o0=U+(V*56|0)|0,i0=e[W>>2]|0,r0=i0+(A1<<2)|0,e[r0>>2]=o0,i1=a0),K=A1+1|0,f1=(K|0)==(M|0),f1){c1=i1,E1=a;break}else S0=i1,A1=K;else c1=e1,E1=a;if(c0=l1+1|0,s0=(c0|0)<(F0|0),s0)e1=c1,l1=c0,h1=E1;else{I1=E1;break}}else I1=0;if(l0=f+24|0,e[l0>>2]=1,j=(w|0)>0,j){for(g0=1,s1=0;;)if($0=i5(g0,F0)|0,f0=s1+1|0,$1=(f0|0)==(w|0),$1){o=$0;break}else g0=$0,s1=f0;e[l0>>2]=o,h0=o}else h0=1;if(d0=f+8|0,e[d0>>2]=I1,w0=h0<<2,E0=S9(w0)|0,C0=f+28|0,e[C0>>2]=E0,I0=(h0|0)>0,!I0)return f|0;if(v0=w<<2,!j){for(a1=0;Y0=S9(v0)|0,z0=E0+(a1<<2)|0,e[z0>>2]=Y0,G0=a1+1|0,P0=(G0|0)<(h0|0),P0;)a1=G0;return f|0}for(K0=e[C0>>2]|0,n1=0;;){for(D0=S9(v0)|0,M0=E0+(n1<<2)|0,e[M0>>2]=D0,J0=K0+(n1<<2)|0,q0=e[J0>>2]|0,c=h0,Z0=0,d1=n1;u1=(c|0)/(F0|0)&-1,L0=(d1|0)/(u1|0)&-1,T0=i5(L0,u1)|0,U0=d1-T0|0,B0=q0+(Z0<<2)|0,e[B0>>2]=L0,x0=Z0+1|0,g1=(x0|0)==(w|0),!g1;)c=u1,Z0=x0,d1=U0;if(b0=n1+1|0,m0=(b0|0)<(h0|0),m0)n1=b0;else break}return f|0}function kS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0;if(L=m,f=(c|0)>0,f)Q=0,b=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=b:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=b+1|0,S=o+(b<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){_=x;break}else Q=w,b=x;return y=(_|0)==0,y||oQ(t,n,o,_,2),0}function vS(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0;if(N=m,C=(f|0)>0,C)_=0,F=0;else return 0;for(;;)if(p=c+(_<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?L=F:(S=a+(_<<2)|0,w=e[S>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=w,L=y),Q=_+1|0,x=(Q|0)==(f|0),x){M=L;break}else _=Q,F=L;return b=(M|0)==0,b||aQ(t,o,a,M,E),0}function SS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0;if(B1=m,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(C=a+(i1<<2)|0,_=e[C>>2]|0,W=(_|0)==0,W?E1=h1:(r0=o+(i1<<2)|0,w0=e[r0>>2]|0,T0=h1+1|0,J0=o+(h1<<2)|0,e[J0>>2]=w0,E1=T0),Y0=i1+1|0,P0=(Y0|0)==(c|0),P0){u1=E1;break}else i1=Y0,h1=E1;if(O0=(u1|0)==0,O0)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,b=D-Q|0,x=(b|0)/(v|0)&-1,F=u1<<2,L=P7(t,F)|0,M=+(v|0),T=100/M,N=T,P=(u1|0)>0,P)for(z=x<<2,c1=0;H=P7(t,z)|0,X=L+(c1<<2)|0,e[X>>2]=H,ne(H|0,0,z|0)|0,U=c1+1|0,S0=(U|0)==(u1|0),!S0;)c1=U;if(Y=(x|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if(a0=i5($1,v)|0,Z=e[p>>2]|0,V=Z+a0|0,P)for(g1=0;;){if(t0)for(o0=o+(g1<<2)|0,n0=e[o0>>2]|0,G0=0,l1=0,A1=0;;)if(i0=V+l1|0,K=n0+(i0<<2)|0,c0=e[K>>2]|0,f1=(c0|0)>-1,Z0=0-c0|0,s0=f1?c0:Z0,l0=(s0|0)>(A1|0),E=l0?s0:A1,j=s0+G0|0,$0=l1+1|0,r1=($0|0)==(v|0),r1){z0=j,n1=E;break}else G0=j,l1=$0,A1=E;else z0=0,n1=0;g0=+(z0|0),f0=g0*N,Q0=~~f0;e:do if(e0)for(a1=0;;){if(d0=(p+2328|0)+(a1<<2)|0,h0=e[d0>>2]|0,E0=(n1|0)>(h0|0),!E0&&(C0=(p+2584|0)+(a1<<2)|0,I0=e[C0>>2]|0,v0=(I0|0)<0,K0=(Q0|0)<(I0|0),I1=v0|K0,I1)){s1=a1;break e}if(b0=a1+1|0,m0=(b0|0)<(J|0),m0)a1=b0;else{s1=b0;break}}else s1=0;while(!1);if(F0=L+(g1<<2)|0,L0=e[F0>>2]|0,U0=L0+($1<<2)|0,e[U0>>2]=s1,B0=g1+1|0,H0=(B0|0)==(u1|0),H0)break;g1=B0}if(q0=$1+1|0,e1=(q0|0)==(x|0),e1)break;$1=q0}return x0=n+40|0,D0=e[x0>>2]|0,M0=D0+1|0,e[x0>>2]=M0,f=L,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0;if(L=m,f=(c|0)>0,f)Q=0,b=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=b:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=b+1|0,S=o+(b<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){_=x;break}else Q=w,b=x;return y=(_|0)==0,y||oQ(t,n,o,_,3),0}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,C=(c|0)>0,C)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(h0=e[n>>2]|0,K0=h0+8|0,b0=e[K0>>2]|0,m0=h0+12|0,F0=e[m0>>2]|0,B=h0+4|0,v=e[B>>2]|0,S=e[h0>>2]|0,w=v-S|0,y=(w|0)/(b0|0)&-1,D=P7(t,4)|0,Q=y<<2,b=P7(t,Q)|0,e[D>>2]=b,ne(b|0,0,Q|0)|0,x=(y|0)>0,x)for(_=e[h0>>2]|0,L=(_|0)/(c|0)&-1,M=(b0|0)>0,T=F0+-1|0,N=(F0|0)>1,P=e[D>>2]|0,z=(c|0)>1,J0=0,H0=L;;){if(M)for(Y=e[o>>2]|0,T0=0,z0=0,S0=H0,c1=0;;){if(t0=Y+(S0<<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(B0=T0,r1=1;;)if(X=o+(r1<<2)|0,U=e[X>>2]|0,a0=U+(S0<<2)|0,Z=e[a0>>2]|0,O0=(Z|0)>-1,f1=0-Z|0,V=O0?Z:f1,o0=(V|0)>(B0|0),E=o0?V:B0,n0=r1+1|0,x0=(n0|0)==(c|0),x0){U0=E;break}else B0=E,r1=n0;else U0=T0;if(i0=S0+1|0,r0=z0+c|0,c0=(r0|0)<(b0|0),c0)T0=U0,z0=r0,S0=i0,c1=I;else{L0=U0,e1=i0,i1=I;break}}else L0=0,e1=H0,i1=0;e:do if(N)for(P0=0;;){if(s0=(h0+2328|0)+(P0<<2)|0,l0=e[s0>>2]|0,j=(i1|0)>(l0|0),!j&&($0=(h0+2584|0)+(P0<<2)|0,g0=e[$0>>2]|0,f0=(L0|0)>(g0|0),!f0)){G0=P0;break e}if(Q0=P0+1|0,d0=(Q0|0)<(T|0),d0)P0=Q0;else{G0=Q0;break}}else G0=0;while(!1);if(w0=P+(J0<<2)|0,e[w0>>2]=G0,E0=J0+1|0,D0=(E0|0)==(y|0),D0)break;J0=E0,H0=e1}return C0=n+40|0,I0=e[C0>>2]|0,v0=I0+1|0,e[C0>>2]=v0,f=D,f|0}function _S(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0;if(n0=m,m=m+16|0,V=n0,C=n+36|0,p=e[C>>2]|0,F=(p|0)/2&-1,L=f<<2,M=i5(L,F)|0,T=P7(n,M)|0,e[V>>2]=T,N=(f|0)>0,!N)return m=n0,0;for(P=(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,P)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=T+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,b=e0+f|0,x=(Q|0)<(F|0),x;)W=Q,e0=b;if(_=J+1|0,t0=(_|0)==(f|0),t0){a0=U;break}else J=_,Z=U}return X=(a0|0)==0,X?(m=n0,0):(aQ(t,o,V,1,E),m=n0,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0;if(Q1=m,I=e[n>>2]|0,C=I+8|0,_=e[C>>2]|0,W=n+16|0,r0=e[W>>2]|0,w0=e[r0>>2]|0,T0=t+36|0,G0=e[T0>>2]|0,l1=i5(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)/(_|0)&-1,Q=w0+-1|0,b=Q+D|0,x=(b|0)/(w0|0)&-1,F=x<<2,L=P7(t,F)|0,M=(c|0)>0;e:do if(M)for(n1=0;;){if(T=a+(n1<<2)|0,N=e[T>>2]|0,P=(N|0)==0,!P){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,a0=I+16|0,Z=n+28|0,V=(w0|0)>0,o0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,c0=YC(K,U)|0,s0=(c0|0)==-1,s0){p1=23;break e}if(l0=e[a0>>2]|0,j=(c0|0)<(l0|0),!j){p1=23;break e}if($0=e[Z>>2]|0,g0=$0+(c0<<2)|0,f0=e[g0>>2]|0,Q0=L+(E1<<2)|0,e[Q0>>2]=f0,d0=(f0|0)==0,d0){p1=23;break e}}if(h0=(A1|0)<(D|0),d1=V&h0,d1)for(E0=L+(E1<<2)|0,I1=A1,h1=0;;){if(C0=e[E0>>2]|0,I0=C0+(h1<<2)|0,v0=e[I0>>2]|0,K0=(I+24|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0&i0,F0=(m0|0)==0,!F0&&(L0=e[o0>>2]|0,U0=L0+(v0<<2)|0,B0=e[U0>>2]|0,q0=B0+(B1<<2)|0,x0=e[q0>>2]|0,D0=(x0|0)==0,!D0&&(M0=i5(I1,_)|0,J0=e[I>>2]|0,Y0=J0+M0|0,O0=Gv(x0,o,Y0,c,U,_)|0,z0=(O0|0)==-1,z0))){p1=23;break e}if(P0=h1+1|0,r1=I1+1|0,H0=(P0|0)<(w0|0),e1=(r1|0)<(D|0),u1=H0&e1,u1)I1=r1,h1=P0;else{Z0=r1;break}}else Z0=A1;if(S0=E1+1|0,i1=(Z0|0)<(D|0),i1)A1=Z0,E1=S0;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 oQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,p=e[n>>2]|0,B=p+8|0,L=e[B>>2]|0,H=n+16|0,c0=e[H>>2]|0,E0=e[c0>>2]|0,B0=t+36|0,r1=e[B0>>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){m=j1;return}if(Q=(y|0)/(L|0)&-1,b=a<<2,E=b,x=m,m=m+((1*E|0)+15&-16)|0,_=(a|0)>0,_)for(F=E0+-1|0,M=F+Q|0,T=(M|0)/(E0|0)&-1,N=T<<2,N1=0;a0=P7(t,N)|0,Z=x+(N1<<2)|0,e[Z>>2]=a0,V=N1+1|0,x1=(V|0)==(a|0),!x1;)N1=V;if(P=n+8|0,z=e[P>>2]|0,Y=(z|0)>0,!Y){m=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(E0|0)>0,U=n+20|0,C=_^1,q1=0;e:for(;;){if(t0)for(o0=1<>2]|0,H0=YC(P0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(S0=e[W>>2]|0,i1=(H0|0)<(S0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=x+(w1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,z0=w1+1|0,n1){Y1=25;break e}if(G0=(z0|0)<(a|0),G0)w1=z0;else break}n0=(y1|0)<(Q|0),H1=X&n0;t:do if(H1){if(_)L1=y1,G1=0;else for(F1=y1,Z1=0;;)if(A1=Z1+1|0,Z0=F1+1|0,I1=(A1|0)<(E0|0),h1=(Z0|0)<(Q|0),K1=I1&h1,K1)F1=Z0,Z1=A1;else{S1=Z0;break t}for(;;){for($0=i5(L1,L)|0,U1=0;;){if(l0=e[p>>2]|0,j=l0+$0|0,g0=x+(U1<<2)|0,f0=e[g0>>2]|0,Q0=f0+(D1<<2)|0,d0=e[Q0>>2]|0,w0=d0+(G1<<2)|0,h0=e[w0>>2]|0,C0=(p+24|0)+(h0<<2)|0,I0=e[C0>>2]|0,v0=I0&o0,K0=(v0|0)==0,!K0&&(b0=e[U>>2]|0,m0=b0+(h0<<2)|0,F0=e[m0>>2]|0,L0=F0+(q1<<2)|0,T0=e[L0>>2]|0,U0=(T0|0)==0,!U0&&(q0=o+(U1<<2)|0,x0=e[q0>>2]|0,D0=x0+(j<<2)|0,M0=lB[c&3](T0,D0,J,L)|0,J0=(M0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,O0=(Y0|0)<(a|0),O0)U1=Y0;else break}if(i0=G1+1|0,r0=L1+1|0,K=(i0|0)<(E0|0),s0=(r0|0)<(Q|0),P1=K&s0,P1)L1=r0,G1=i0;else{S1=r0;break}}}else S1=y1;while(!1);if(E1=D1+1|0,u1=(S1|0)<(Q|0),u1)y1=S1,D1=E1;else break}if(d1=q1+1|0,B1=e[P>>2]|0,p1=(d1|0)<(B1|0),p1)q1=d1;else{Y1=25;break}}if((Y1|0)==25){m=j1;return}}function aQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0;if(I6=m,m=m+1088|0,i3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,b=Q+8|0,a2=e[b>>2]|0,q2=Q+12|0,V2=e[q2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,h5=e[M1>>2]|0,h3=Q+4|0,T3=e[h3>>2]|0,x=e[Q>>2]|0,J=T3-x|0,i0=(J|0)/(a2|0)&-1,ne(O6|0,0,512)|0,ne(s3|0,0,512)|0,d0=n+8|0,L0=e[d0>>2]|0,z0=(L0|0)>0,!z0){m=I6;return}for(g1=(i0|0)>0,d1=(a|0)>0,w1=(h5|0)>1,r2=n+36|0,t2=(h5|0)>0,S2=n+20|0,w2=n+32|0,m2=0-h5|0,y2=L0,A6=0;;){if(g1){for(M2=(A6|0)==0,_2=1<>2]|0,N5=b5+(V5<<2)|0,_5=e[N5>>2]|0,H2=e[C5>>2]|0,I5=H2+4|0,A5=e[I5>>2]|0,l5=(_5|0)<(A5|0),l5&&(m5=_h(H2,_5,t)|0,v5=e[r2>>2]|0,c5=v5+m5|0,e[r2>>2]=c5),o5=C6+1|0,n6=(o5|0)==(a|0),n6)break e;C6=o5}for(;;){for(v2=c+(S3<<2)|0,f5=e[v2>>2]|0,E5=f5+(V5<<2)|0,r5=e[E5>>2]|0,f6=1,r6=r5;;)if(j2=i5(r6,V2)|0,x5=f6+V5|0,X2=(x5|0)<(i0|0),X2?(D5=f5+(x5<<2)|0,k5=e[D5>>2]|0,O5=k5+j2|0,Q6=O5):Q6=j2,$5=f6+1|0,k3=($5|0)==(h5|0),k3){R6=Q6;break}else f6=$5,r6=Q6;if(J2=e[C5>>2]|0,N2=J2+4|0,T2=e[N2>>2]|0,O2=(R6|0)<(T2|0),O2&&(K2=_h(J2,R6,t)|0,s5=e[r2>>2]|0,P2=s5+K2|0,e[r2>>2]=P2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(x2=(V5|0)<(i0|0),S6=t2&x2,S6){for(R2=V5-i0|0,B2=R2>>>0>>0,T6=B2?m2:R2,F5=0-T6|0,$6=V5,P3=0;;){if(z2=i5($6,a2)|0,c2=e[Q>>2]|0,B5=c2+z2|0,d1)for(e6=0;;){if(e5=c+(e6<<2)|0,n5=e[e5>>2]|0,g5=n5+($6<<2)|0,Y2=e[g5>>2]|0,M2&&(t5=s3+(Y2<<2)|0,R5=e[t5>>2]|0,W2=R5+a2|0,e[t5>>2]=W2),a5=(Q+24|0)+(Y2<<2)|0,F2=e[a5>>2]|0,p5=F2&_2,H5=(p5|0)==0,!H5&&(X5=e[S2>>2]|0,d5=X5+(Y2<<2)|0,u3=e[d5>>2]|0,J5=u3+(A6<<2)|0,e3=e[J5>>2]|0,n3=(e3|0)==0,!n3)){if(C3=o+(e6<<2)|0,L5=e[C3>>2]|0,K5=e[e3>>2]|0,w3=(a2|0)/(K5|0)&-1,f3=(w3|0)>0,f3){for(B3=e3+48|0,K3=e3+52|0,z5=e3+44|0,y3=e3+12|0,W5=e3+4|0,_=K5,w5=0,c3=0;;){t6=i5(c3,K5)|0,S=t6+B5|0,R3=L5+(S<<2)|0,G3=e[B3>>2]|0,o3=e[K3>>2]|0,$3=e[z5>>2]|0,l3=$3>>1,e[i3>>2]=0,e[i3+4>>2]=0,e[i3+8>>2]=0,e[i3+12>>2]=0,e[i3+16>>2]=0,e[i3+20>>2]=0,e[i3+24>>2]=0,e[i3+28>>2]=0,m3=(o3|0)==1,F=(_|0)>0;do if(m3){if(!F){j3=0;break}for(N=$3+-1|0,I3=0,B6=0,H3=_;;)if(f0=H3+-1|0,D=S+f0|0,Q0=L5+(D<<2)|0,w0=e[Q0>>2]|0,h0=w0-G3|0,E0=(h0|0)<(l3|0),E0?(C0=l3-h0|0,I0=C0<<1,v0=I0+-1|0,F0=v0):(K0=h0-l3|0,b0=K0<<1,F0=b0),m0=i5(B6,$3)|0,T0=(F0|0)<0,U0=(F0|0)>=($3|0),B0=U0?N:F0,q0=T0?0:B0,x0=q0+m0|0,D0=i3+(f0<<2)|0,e[D0>>2]=w0,M0=I3+1|0,W3=(M0|0)==(_|0),W3){j3=x0;break}else I3=M0,B6=x0,H3=f0}else{if(!F){j3=0;break}for(L=o3>>1,M=L-G3|0,T=$3+-1|0,v3=0,v6=0,D3=_;;)if(P=D3+-1|0,y=S+P|0,z=L5+(y<<2)|0,Y=e[z>>2]|0,t0=M+Y|0,W=(t0|0)/(o3|0)&-1,e0=(W|0)<(l3|0),e0?(H=l3-W|0,X=H<<1,U=X+-1|0,o0=U):(a0=W-l3|0,Z=a0<<1,o0=Z),V=i5(v6,$3)|0,n0=(o0|0)<0,r0=(o0|0)>=($3|0),K=r0?T:o0,c0=n0?0:K,s0=c0+V|0,l0=i5(W,o3)|0,j=l0+G3|0,$0=i3+(P<<2)|0,e[$0>>2]=j,g0=v3+1|0,U3=(g0|0)==(_|0),U3){j3=s0;break}else v3=g0,v6=s0,D3=P}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,O0=e[Y0>>2]|0,G0=O0+j3|0,P0=u[G0>>0]|0,r1=P0<<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=$3+-1|0,e1=i5(H0,o3)|0,S0=e1+G3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)q5=-1,w6=0,l6=j3;else{_6=j3;break}for(;;){$1=O0+w6|0,f1=u[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(F)for(q6=0,b3=0;;)if(s1=M5+(q6<<2)|0,a1=e[s1>>2]|0,w=S+q6|0,n1=L5+(w<<2)|0,A1=e[n1>>2]|0,Z0=a1-A1|0,I1=i5(Z0,Z0)|0,h1=I1+b3|0,E1=q6+1|0,i6=(E1|0)==(_|0),i6){u6=h1;break}else q6=E1,b3=h1;else u6=0;if(u1=(q5|0)==-1,B1=(u6|0)<(q5|0),V3=u1|B1,!V3){U5=q5,p6=l6;break}e[i3>>2]=e[M5>>2]|0,e[i3+4>>2]=e[M5+4>>2]|0,e[i3+8>>2]=e[M5+8>>2]|0,e[i3+12>>2]=e[M5+12>>2]|0,e[i3+16>>2]=e[M5+16>>2]|0,e[i3+20>>2]=e[M5+20>>2]|0,e[i3+24>>2]=e[M5+24>>2]|0,e[i3+28>>2]=e[M5+28>>2]|0,U5=u6,p6=w6}else U5=q5,p6=l6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(S0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,y1=M5+(R1<<2)|0,S1=e[y1>>2]|0,F1=(S1|0)<(S0|0),F1){E=y1,I=S1;break}else x1=y1,X3=R1;if(L1=(I|0)>-1,L1?(N1=I+o3|0,e[E>>2]=N1,Z1=N1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,G1=w6+1|0,t3=(G1|0)==(i1|0),t3){_6=p6;break}else q5=U5,w6=G1,l6=p6}}else _6=j3;while(!1);if(D1=(_6|0)>-1,s6=F&D1,s6)for(f=R3,k6=0;K1=i3+(k6<<2)|0,P1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-P1|0,e[f>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(_|0),!A3;)f=H1,k6=j1;if(W1=_h(e3,_6,t)|0,O1=W1+w5|0,l2=c3+1|0,x3=(l2|0)==(w3|0),x3){C=O1;break}p=e[e3>>2]|0,_=p,w5=O1,c3=l2}B=e[e5>>2]|0,E2=B,P5=C}else E2=n5,P5=0;z1=e[w2>>2]|0,f2=z1+P5|0,e[w2>>2]=f2,s2=E2+($6<<2)|0,A2=e[s2>>2]|0,V1=O6+(A2<<2)|0,g2=e[V1>>2]|0,$2=g2+P5|0,e[V1>>2]=$2}if(i2=e6+1|0,h6=(i2|0)==(a|0),h6)break;e6=i2}if(o2=P3+1|0,X1=$6+1|0,p3=(o2|0)==(F5|0),p3)break;$6=X1,P3=o2}G2=V5-T6|0,O3=G2}else O3=V5;if(I2=(O3|0)<(i0|0),I2)V5=O3;else break}v=e[d0>>2]|0,e2=v}else e2=y2;if(n2=A6+1|0,u2=(n2|0)<(e2|0),u2)y2=e2,A6=n2;else break}m=I6}function L7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;if(p=m,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 $Q(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0;g2=m,m=m+144|0,O1=g2,C=(o|0)!=0,p=C?o:n,F=p<<2,e0=S9(F)|0,ne(O1|0,0,132)|0,K=(n|0)>0;do if(K){h0=O1+4|0,U0=(o|0)==0,P0=U0&1,p1=0,w1=0;e:for(;;){s1=t+w1|0,B1=u[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=O1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,l2=y|Q,!l2){V1=5;break e}b=e0+(p1<<2)|0,e[b>>2]=w,x=O1+(B<<2)|0,_=w&1,L=(_|0)==0;i:do if(L)for(H=w,X=x,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,a0=(K1|0)>1,!a0)break i;if(f=O1+(U<<2)|0,I=e[f>>2]|0,Z=O1+(U<<2)|0,V=I&1,o0=(V|0)==0,o0)H=I,X=Z,K1=U;else{c=Z,D1=U,V1=8;break}}else c=x,D1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,T=(D1|0)==1,T){N=e[h0>>2]|0,P=N+1|0,e[h0>>2]=P;break}else{z=D1+-1|0,Y=O1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,M=(Y1|0)<33,M)for(F1=w,H1=B,j1=Y1;;){if(n0=O1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,c0=(r0|0)==(F1|0),!c0){E=1;break t}if(s0=O1+(H1<<2)|0,l0=e[s0>>2]|0,j=l0<<1,e[n0>>2]=j,P1=j1+1|0,$0=(P1|0)<33,$0)q1=j1,F1=i0,j1=P1,H1=q1;else{E=1;break}}else E=1}else E=P0;while(!1);if(Q1=p1+E|0,g0=w1+1|0,f0=(g0|0)<(n|0),f0)p1=Q1,w1=g0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return d2(e0),a=0,m=g2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(Q0=O1+8|0,d0=e[Q0>>2]|0,w0=(d0|0)==2,w0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,z0=O1+(U1<<2)|0,G0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=G0&H0,S0=(e1|0)==0,Y0=U1+1|0,!!S0;)if(O0=(Y0|0)<33,O0)U1=Y0,V1=27;else break e;return d2(e0),a=0,m=g2,a|0}while(!1);if(!K)return a=e0,m=g2,a|0;if(C)y1=0,G1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=u[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(E1=x1+1|0,u1=e0+(x1<<2)|0,e[u1>>2]=f2,d1=Z1+1|0,L1=(d1|0)==(n|0),L1){a=e0;break}else x1=E1,Z1=d1}return m=g2,a|0}for(;;){if(E0=t+G1|0,C0=u[E0>>0]|0,I0=C0<<24>>24>0,I0)for(J0=e0+(y1<<2)|0,T0=e[J0>>2]|0,M0=C0<<24>>24,W1=0,A2=0;;)if(F0=A2<<1,L0=T0>>>W1,B0=L0&1,q0=B0|F0,x0=W1+1|0,D0=(x0|0)<(M0|0),D0)W1=x0,A2=q0;else{s2=q0;break}else s2=0;if(v0=C0<<24>>24==0,v0?S1=y1:(K0=y1+1|0,b0=e0+(y1<<2)|0,e[b0>>2]=s2,S1=K0),m0=G1+1|0,N1=(m0|0)==(n|0),N1){a=e0;break}else y1=S1,G1=m0}return m=g2,a|0}function xS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0;if(H=m,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(b=+(c|0),x=b,_=+(D|0),F=1/_,L=F,M=+Sh(+x,+L),f=+Ko(+M),E=~~f,Y=E;;){for(S=Y+1|0,T=1,N=1,P=0;;)if(B=i5(T,Y)|0,v=i5(N,S)|0,w=P+1|0,y=(w|0)<(D|0),y)T=B,N=v,P=w;else{n=B,o=v;break}if(I=(n|0)<=(c|0),C=(o|0)>(c|0),z=I&C,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0;if(H5=m,p=t+12|0,B=e[p>>2]|0,C=B+-1|0,t5=C>>>0<2,!t5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,R1=n1&2097151,D1=+(R1|0),z1=n1>>>21,o2=z1&1023,G2=(n1|0)<0,j2=-D1,a=G2?j2:D1,v=o2+-788|0,M=+VC(a,v),X=M,s0=t+20|0,C0=e[s0>>2]|0,q0=C0&2097151,z0=+(q0|0),G0=C0>>>21,P0=G0&1023,r1=(C0|0)<0,e1=-z0,c=r1?e1:z0,S0=P0+-788|0,i1=+VC(c,S0),c1=i1,$1=e[t>>2]|0,f1=i5($1,n)|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),y1=x1,S1=+($1|0),F1=1/S1,L1=F1,N1=+Sh(+y1,+L1),w1=+Ko(+N1),U1=~~w1,a5=U1;;){for(f2=a5+1|0,r5=1,x2=1,I5=0;;)if(O1=i5(r5,a5)|0,l2=i5(x2,f2)|0,s2=I5+1|0,u5=(s2|0)==($1|0),u5){E=O1,I=l2;break}else r5=O1,x2=l2,I5=s2;if(Z1=(E|0)<=(p1|0),G1=(I|0)>(p1|0),h5=G1&Z1,h5){F2=a5;break}W1=(E|0)>(p1|0),W2=W1?-1:1,R5=W2+a5|0,a5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(P1=(o|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,r2=t+28|0,R2=0,M1=0;;){if(P1)if(a2=e[q1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=i5($1,R2)|0,$2)for(m5=1,z2=0;;)if(D5=(M1|0)/(m5|0)&-1,V2=(D5|0)%(F2|0)&-1,f5=a2+(V2<<2)|0,k5=e[f5>>2]|0,O5=+(k5|0),H2=+Ki(+O5),$5=H2,v2=$5*Y1,E5=j1+v2,S=E5,w=i2+z2|0,y=g1+(w<<2)|0,s[y>>2]=S,D=i5(m5,F2)|0,Q=z2+1|0,b=(Q|0)<($1|0),b)m5=D,z2=Q;else{p5=21;break}else for(A5=1,c5=0,e5=0;;)if(x=(M1|0)/(A5|0)&-1,_=(x|0)%(F2|0)&-1,F=a2+(_<<2)|0,L=e[F>>2]|0,T=+(L|0),N5=+Ki(+T),N=N5,P=N*Y1,z=e5,Y=z+j1,t0=Y+P,J=t0,W=i2+c5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=i5(A5,F2)|0,U=c5+1|0,a0=(U|0)<($1|0),a0)A5=H,c5=U,e5=J;else{p5=21;break}else if(E2=e[H1>>2]|0,A2=E2+M1|0,V1=u[A2>>0]|0,g2=V1<<24>>24==0,g2)B2=R2;else for(X1=e[q1>>2]|0,n2=e[r2>>2]|0,u2=(n2|0)==0,e2=o+(R2<<2)|0,y2=e[e2>>2]|0,S2=i5(y2,$1)|0,l5=1,o5=0,n5=0;;)if(w2=(M1|0)/(l5|0)&-1,m2=(w2|0)%(F2|0)&-1,M2=X1+(m2<<2)|0,_2=e[M2>>2]|0,I2=+(_2|0),_5=+Ki(+I2),J2=_5,N2=J2*Y1,q2=n5,T2=q2+j1,O2=T2+N2,K2=O2,B5=u2?n5:K2,s5=S2+o5|0,P2=g1+(s5<<2)|0,s[P2>>2]=K2,T1=i5(l5,F2)|0,x5=o5+1|0,X2=(x5|0)<($1|0),X2)l5=T1,o5=x5,n5=B5;else{p5=21;break}if((p5|0)==21&&(p5=0,Z=R2+1|0,B2=Z),V=M1+1|0,o0=(V|0)<(p1|0),o0)R2=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,E1=X,u1=t+28|0,d1=($1|0)>0,C5=0,v5=0;;){if(A1?(n0=e[Z0>>2]|0,i0=n0+v5|0,r0=u[i0>>0]|0,K=r0<<24>>24==0,K?F5=C5:p5=25):p5=25,(p5|0)==25){if(p5=0,d1)for(c0=e[I1>>2]|0,l0=e[u1>>2]|0,j=(l0|0)==0,$0=o+(C5<<2)|0,g0=i5($1,v5)|0,f0=i5($1,C5)|0,c2=0,Y2=0;Q0=g0+c2|0,d0=c0+(Q0<<2)|0,w0=e[d0>>2]|0,h0=+(w0|0),b5=+Ki(+h0),E0=b5,I0=E0*h1,v0=Y2,K0=v0+E1,b0=K0+I0,m0=b0,g5=j?Y2:m0,A1?(F0=e[$0>>2]|0,L0=i5(F0,$1)|0,T0=L0+c2|0,U0=g1+(T0<<2)|0,s[U0>>2]=m0):(B0=f0+c2|0,x0=g1+(B0<<2)|0,s[x0>>2]=m0),D0=c2+1|0,M0=(D0|0)<($1|0),M0;)c2=D0,Y2=g5;J0=C5+1|0,F5=J0}if(Y0=v5+1|0,O0=(Y0|0)<(s1|0),O0)C5=F5,v5=Y0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function AB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0;v=m,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||d2(f),I=t+8|0,C=e[I>>2]|0,p=(C|0)==0,p||d2(C),d2(t))}function LS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0;x=m,n=t+16|0,o=e[n>>2]|0,C=(o|0)==0,C||d2(o),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||d2(B),S=t+24|0,w=e[S>>2]|0,y=(w|0)==0,y||d2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||d2(a),f=t+32|0,E=e[f>>2]|0,I=(E|0)==0,I||d2(E),Q=t,_=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(_|0))}function lQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0;G0=m,O0=t,P0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,x=e[I>>2]|0,J=t+4|0,e[J>>2]=x,i0=t+8|0,e[i0>>2]=x,d0=e[n>>2]|0,e[t>>2]=d0,v0=n+8|0,K0=e[v0>>2]|0,b0=$Q(K0,x,0)|0,m0=t+20|0,e[m0>>2]=b0,C=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(C|0),S=v,w=+(p|0),y=1/w,D=y,Q=+Sh(+S,+D),b=+Ko(+Q),_=~~b,J0=_;;){for(P=J0+1|0,F0=1,L0=1,U0=0;;)if(T=i5(F0,J0)|0,N=i5(L0,P)|0,z=U0+1|0,T0=(z|0)==(p|0),T0){c=T,f=N;break}else F0=T,L0=N,U0=z;if(F=(c|0)<=(C|0),L=(f|0)>(C|0),B0=L&F,B0){Y0=J0;break}M=(c|0)>(C|0),M0=M?-1:1,D0=M0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,a0=(W|0)<0,Z=-H,o=a0?Z:H,V=U+-788|0,o0=+VC(o,V),n0=o0,q0=+IQ(n0),r0=~~q0,K=t+48|0,e[K>>2]=r0,c0=n+20|0,s0=e[c0>>2]|0,l0=s0&2097151,j=+(l0|0),$0=s0>>>21,g0=$0&1023,f0=(s0|0)<0,Q0=-j,a=f0?Q0:j,w0=g0+-788|0,h0=+VC(a,w0),E0=h0,x0=+IQ(E0),C0=~~x0,I0=t+52|0,e[I0>>2]=C0,0}function MS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0;L3=m,y6=t,L6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(L6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(H2=n+8|0,B5=e[H2>>2]|0,P3=0,R6=0;;)if(p5=B5+P3|0,K5=u[p5>>0]|0,G3=K5<<24>>24>0,n6=G3&1,C=n6+R6|0,V5=P3+1|0,y=(V5|0)<(w|0),y)P3=V5,R6=C;else{$0=C;break}else $0=0;if(P=t+4|0,e[P>>2]=w,Z=t+8|0,e[Z>>2]=$0,K0=e[n>>2]|0,e[t>>2]=K0,M0=($0|0)>0,!M0)return a=0,m=L3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=$Q(I1,w,$0)|0,H1=$0<<2,f=H1,A2=m,m=m+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){O2=t+16|0,K2=e[O2>>2]|0,s5=(K2|0)==0,s5||d2(K2),P2=t+20|0,T1=e[P2>>2]|0,j2=(T1|0)==0,j2||d2(T1),x5=t+24|0,X2=e[x5>>2]|0,D5=(X2|0)==0,D5||d2(X2),f5=t+28|0,k5=e[f5>>2]|0,O5=(k5|0)==0,O5||d2(k5),$5=t+32|0,v2=e[$5>>2]|0,E5=(v2|0)==0,E5||d2(v2),y6=t,L6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(L6|0));return a=-1,m=L3,a|0}else D3=0;for(;q2=S1+(D3<<2)|0,V2=e[q2>>2]|0,C5=V2>>>16,F5=V2<<16,u5=C5|F5,b5=u5>>>8,N5=b5&16711935,_5=u5<<8,I5=_5&-16711936,A5=N5|I5,l5=A5>>>4,m5=l5&252645135,M1=A5<<4,v5=M1&-252645136,c5=m5|v5,o5=c5>>>2,z2=o5&858993459,c2=c5<<2,e5=c2&-858993460,n5=z2|e5,g5=n5>>>1,Y2=g5&1431655765,h5=n5<<1,t5=h5&-1431655766,R5=Y2|t5,e[q2>>2]=R5,W2=A2+(D3<<2)|0,e[W2>>2]=q2,a5=D3+1|0,q6=(a5|0)==($0|0),!q6;)D3=a5;for(xh(A2,$0,4,10),E=H1,F2=m,m=m+((1*E|0)+15&-16)|0,H5=S9(H1)|0,X5=t+20|0,e[X5>>2]=H5,d5=S1,H3=0;;)if(u3=A2+(H3<<2)|0,h3=e[u3>>2]|0,J5=h3,e3=J5-d5|0,n3=e3>>2,C3=F2+(n3<<2)|0,e[C3>>2]=H3,L5=H3+1|0,_6=(L5|0)==($0|0),_6){V3=0;break}else H3=L5;for(;w3=S1+(V3<<2)|0,f3=e[w3>>2]|0,B3=F2+(V3<<2)|0,K3=e[B3>>2]|0,T3=H5+(K3<<2)|0,e[T3>>2]=f3,z5=V3+1|0,p6=(z5|0)==($0|0),!p6;)V3=z5;if(d2(S1),y3=FS(n,$0,F2)|0,W5=t+16|0,e[W5>>2]=y3,t6=S9(H1)|0,R3=t+24|0,e[R3>>2]=t6,o3=e[S>>2]|0,$3=(o3|0)>0,$3)for(p=e[i1>>2]|0,S6=0,I6=0;;)if(l3=p+S6|0,m3=u[l3>>0]|0,q5=m3<<24>>24>0,q5?(U5=I6+1|0,P5=F2+(I6<<2)|0,w5=e[P5>>2]|0,N3=t6+(w5<<2)|0,e[N3>>2]=S6,Y6=U5):Y6=I6,M5=S6+1|0,t3=(M5|0)<(o3|0),t3)S6=M5,I6=Y6;else{J6=Y6;break}else J6=0;if(A3=S9(J6)|0,x3=t+28|0,e[x3>>2]=A3,h6=t+40|0,e[h6>>2]=0,$3){for(B=e[i1>>2]|0,r5=0,k3=B,s6=0,Z6=0;;)if(p3=k3+s6|0,Q3=u[p3>>0]|0,i6=Q3<<24>>24>0,i6?(W3=Z6+1|0,U3=F2+(Z6<<2)|0,v3=e[U3>>2]|0,c3=e[x3>>2]|0,O3=c3+v3|0,u[O3>>0]=Q3,$6=e[i1>>2]|0,I3=$6+s6|0,w6=u[I3>>0]|0,k6=w6<<24>>24,v6=e[h6>>2]|0,B6=(k6|0)>(v6|0),B6?(e[h6>>2]=k6,x2=k6,R2=$6,G6=W3):(x2=v6,R2=$6,G6=W3)):(x2=r5,R2=k3,G6=Z6),j3=s6+1|0,D=e[S>>2]|0,Q=(j3|0)<(D|0),Q)r5=x2,k3=R2,s6=j3,Z6=G6;else{I=x2,j6=G6;break}if(b=(j6|0)==1,b){if(x=(I|0)==1,x)return _=t+36|0,e[_>>2]=1,F=r4(2,4)|0,L=t+32|0,e[L>>2]=F,M=F+4|0,e[M>>2]=1,e[F>>2]=1,a=0,m=L3,a|0;F3=1}else F3=j6}else F3=0;if(T=e[Z>>2]|0,N=(T|0)==0,N)x6=-4;else{for(c=T,N6=0;;)if(z=c>>>1,Y=N6+1|0,t0=(z|0)==0,t0){D6=N6;break}else c=z,N6=Y;r9=D6+-3|0,x6=r9}if(J=t+36|0,W=(x6|0)<5,o=W?5:x6,e0=(o|0)>8,K6=e0?8:o,e[J>>2]=K6,H=1<>2]=X,a0=(F3|0)>0,a0)for(r0=K6,i3=0;;){if(V=e[x3>>2]|0,o0=V+i3|0,n0=u[o0>>0]|0,i0=n0<<24>>24,K=(r0|0)<(i0|0),K)B2=r0;else if(c0=e[X5>>2]|0,s0=c0+(i3<<2)|0,l0=e[s0>>2]|0,j=l0>>>16,g0=l0<<16,f0=j|g0,Q0=f0>>>8,d0=Q0&16711935,w0=f0<<8,h0=w0&-16711936,E0=d0|h0,C0=E0>>>4,I0=C0&252645135,v0=E0<<4,b0=v0&-252645136,m0=I0|b0,F0=m0>>>2,L0=F0&858993459,T0=m0<<2,U0=T0&-858993460,B0=L0|U0,q0=B0>>>1,x0=q0&1431655765,D0=B0<<1,J0=D0&-1431655766,Y0=x0|J0,O0=r0-i0|0,z0=(O0|0)==31,z0)B2=r0;else for(G0=i3+1|0,r1=i0,s3=0;;)if(P0=s3<>2]=G0,S0=s3+1|0,c1=e[J>>2]|0,$1=u[o0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=d1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,y1=Q1<<8,F1=y1&-16711936,L1=x1|F1,N1=L1>>>4,w1=N1&252645135,U1=L1<<4,Z1=U1&-252645136,G1=w1|Z1,D1=G1>>>2,K1=D1&858993459,P1=G1<<2,q1=P1&-858993460,Y1=K1|q1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,O1=W1&-1431655766,l2=r2|O1,z1=X+(l2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(u6=A6;;){if(V1=u6+1|0,g2=(V1|0)<(F3|0),!g2){b3=u6;break}if(a2=e[X5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>d1>>>0,i2){b3=u6;break}else u6=V1}o2=(F3|0)>(C6|0);e:do if(o2)for(X1=e[X5>>2]|0,X3=C6;;){if(n2=X1+(X3<<2)|0,u2=e[n2>>2]|0,y2=u2&Z0,S2=d1>>>0>>0,S2){S3=X3;break e}if(w2=X3+1|0,m2=(F3|0)>(w2|0),m2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);M2=F3-S3|0,_2=b3>>>0>32767,G2=M2>>>0>32767,f6=G2?32767:M2,T6=b3<<15,r6=T6|-2147483648,I2=_2?-1073774592:r6,J2=I2|f6,e[z1>>2]=J2,e6=S3,Q6=b3}else e6=C6,Q6=A6;if(N2=O6+1|0,T2=(N2|0)<(H|0),!T2){a=0;break}v=e[J>>2]|0,u1=v,C6=e6,O6=N2,A6=Q6}return m=L3,a|0}function TS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,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,C=a>>>0>>0,p=C&1,B=I-p|0,B|0}function GS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0;if(K0=m,p=e[t>>2]|0,B=(p|0)==1,!B&&(L=t+4|0,H=e[L>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,K=r0+4|0,c0=e[K>>2]|0,s0=(c0|0)>0,!!s0)){for(l0=c0+1|0,C=p+-1|0,f0=p,Q0=0,d0=p,h0=1;;){v=l0-Q0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(d0|0)/(w|0)&-1,D=(p|0)/(d0|0)&-1,Q=i5(D,y)|0,b=w+-1|0,x=i5(D,b)|0,_=f0-x|0,F=1-h0|0;do if((w|0)==2)if(Y=(F|0)==0,o=C+_|0,t0=H+(o<<2)|0,Y){fQ(D,y,n,H,t0),E0=0;break}else{fQ(D,y,H,n,t0),E0=F;break}else if((w|0)==4)if(M=_+D|0,T=(F|0)==0,a=C+_|0,N=H+(a<<2)|0,c=C+M|0,P=H+(c<<2)|0,f=C+D|0,E=f+M|0,z=H+(E<<2)|0,T){hQ(D,y,n,H,N,P,z),E0=0;break}else{hQ(D,y,H,n,N,P,z),E0=F;break}else if(J=(D|0)==1,w0=J?h0:F,W=(w0|0)==0,I=C+_|0,e0=H+(I<<2)|0,W){uQ(D,w,y,Q,n,n,n,H,H,e0),E0=1;break}else{uQ(D,w,y,Q,H,H,H,n,n,e0),E0=0;break}while(!1);if(X=Q0+1|0,$0=(X|0)==(c0|0),$0){C0=E0;break}else f0=_,Q0=X,d0=y,h0=E0}if(U=(C0|0)!=1,a0=(p|0)>0,I0=a0&U,I0)g0=0;else return;for(;Z=H+(g0<<2)|0,V=e[Z>>2]|0,o0=n+(g0<<2)|0,e[o0>>2]=V,n0=g0+1|0,j=(n0|0)==(p|0),!j;)g0=n0}}function cQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,e[t>>2]=n,E=n*3|0,I=r4(E,4)|0,x=t+4|0,e[x>>2]=I,J=r4(32,4)|0,i0=t+8|0,e[i0>>2]=J,d0=(n|0)==1,!d0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(b0=H0+1|0,m0=(b0|0)<4,m0?(F0=25768+(b0<<2)|0,C=e[F0>>2]|0,s1=C):(p=l1+2|0,s1=p),B=(s1|0)!=2,O0=$1,g1=f1;;){if(J0=O0+1|0,v=(g1|0)/(s1|0)&-1,S=i5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=b0,$1=O0,f1=g1,l1=s1;continue e}if(y=O0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(O0|0)==0,a1=B|Q,!a1){if(b=(O0|0)<1,!b)for(x0=1;_=J0-x0|0,F=_+1|0,L=J+(F<<2)|0,M=e[L>>2]|0,T=_+2|0,N=J+(T<<2)|0,e[N>>2]=M,P=x0+1|0,B0=(P|0)==(J0|0),!B0;)x0=P;e[K0>>2]=2}if(z=(v|0)==1,z){o=Q,Y0=J0,z0=O0;break e}else O0=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=(z0|0)>0,n1=e0&a,!!n1)for(H=n+1|0,G0=0,S0=0,i1=1;;){if(X=S0+2|0,U=J+(X<<2)|0,a0=e[U>>2]|0,Z=i5(a0,i1)|0,V=(n|0)/(Z|0)&-1,o0=(a0|0)>1,o0){for(n0=(V|0)>2,r0=a0+-1|0,r1=G0,e1=0,c1=0;;){if(K=c1+i1|0,c0=+(K|0),s0=c0*W,n0)for(q0=0,D0=r1,M0=2;l0=q0+1,j=s0*l0,L0=+Vo(+j),c=D0+n|0,$0=I+(c<<2)|0,s[$0>>2]=L0,A1=+Tn(+j),g0=D0+2|0,f=H+D0|0,f0=I+(f<<2)|0,s[f0>>2]=A1,Q0=M0+2|0,w0=(Q0|0)<(V|0),w0;)q0=l0,D0=g0,M0=Q0;if(h0=r1+V|0,E0=e1+1|0,T0=(E0|0)==(r0|0),T0)break;r1=h0,e1=E0,c1=K}C0=i5(V,r0)|0,I0=C0+G0|0,P0=I0}else P0=G0;if(v0=S0+1|0,U0=(v0|0)==(z0|0),U0)break;G0=P0,S0=v0,i1=Z}}}function gQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,n=(t|0)==0,!n&&(o=t+4|0,a=e[o>>2]|0,c=(a|0)==0,c||d2(a),f=t+8|0,E=e[f>>2]|0,I=(E|0)==0,I||d2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function hQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0;if(u3=m,I=i5(n,t)|0,C=I<<1,E1=(n|0)>0,E1)for(L1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,c2=0,n5=I,h5=L1,W2=0,a5=C;T2=o+(n5<<2)|0,f5=+s[T2>>2],F5=o+(h5<<2)|0,p=+s[F5>>2],F=p+f5,e0=o+(W2<<2)|0,K=+s[e0>>2],h0=o+(a5<<2)|0,U0=+s[h0>>2],P0=U0+K,s1=P0+F,I1=W2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,u1=P0-F,d1=V1+I1|0,B1=a+(d1<<2)|0,s[B1>>2]=u1,p1=+s[e0>>2],Q1=+s[h0>>2],R1=p1-Q1,x1=I1+y2|0,y1=x1+-1|0,S1=a+(y1<<2)|0,s[S1>>2]=R1,F1=+s[F5>>2],N1=+s[T2>>2],w1=F1-N1,U1=a+(x1<<2)|0,s[U1>>2]=w1,Z1=n5+t|0,G1=h5+t|0,D1=W2+t|0,K1=a5+t|0,P1=c2+1|0,c5=(P1|0)==(n|0),!c5;)c2=P1,n5=Z1,h5=G1,W2=D1,a5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(E1)for(j1=t<<1,B5=0,g5=0;;){for(j=g5<<2,$0=j+j1|0,z2=2,t5=g5,F2=j,H5=$0;O1=t5+2|0,l2=F2+2|0,z1=H5+-2|0,f2=O1+I|0,s2=z2+-2|0,E2=c+(s2<<2)|0,A2=+s[E2>>2],g2=f2+-1|0,a2=o+(g2<<2)|0,t2=+s[a2>>2],$2=t2*A2,i2=z2+-1|0,o2=c+(i2<<2)|0,X1=+s[o2>>2],n2=o+(f2<<2)|0,u2=+s[n2>>2],e2=u2*X1,S2=e2+$2,w2=u2*A2,m2=X1*t2,M2=w2-m2,_2=f2+I|0,G2=f+(s2<<2)|0,I2=+s[G2>>2],J2=_2+-1|0,N2=o+(J2<<2)|0,q2=+s[N2>>2],O2=q2*I2,K2=f+(i2<<2)|0,s5=+s[K2>>2],P2=o+(_2<<2)|0,T1=+s[P2>>2],j2=T1*s5,x5=j2+O2,X2=T1*I2,D5=s5*q2,V2=X2-D5,k5=_2+I|0,O5=E+(s2<<2)|0,$5=+s[O5>>2],v2=k5+-1|0,E5=o+(v2<<2)|0,r5=+s[E5>>2],x2=r5*$5,R2=E+(i2<<2)|0,B2=+s[R2>>2],C5=o+(k5<<2)|0,u5=+s[C5>>2],b5=u5*B2,N5=b5+x2,_5=u5*$5,H2=B2*r5,I5=_5-H2,A5=N5+S2,l5=N5-S2,m5=I5+M2,M1=M2-I5,B=o+(O1<<2)|0,v=+s[B>>2],S=v+V2,w=v-V2,y=t5+1|0,D=o+(y<<2)|0,Q=+s[D>>2],b=Q+x5,x=Q-x5,_=A5+b,L=F2|1,M=a+(L<<2)|0,s[M>>2]=_,T=m5+S,N=a+(l2<<2)|0,s[N>>2]=T,P=x-M1,z=H5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=P,t0=l5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+x,H=l2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,a0=l5+w,Z=a+(H<<2)|0,s[Z>>2]=a0,V=b-A5,o0=z1+j1|0,n0=o0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=V,r0=m5-S,c0=a+(o0<<2)|0,s[c0>>2]=r0,s0=z2+2|0,l0=(s0|0)<(t|0),l0;)z2=s0,t5=O1,F2=l2,H5=z1;if(r2=g5+t|0,W1=B5+1|0,o5=(W1|0)==(n|0),o5)break;B5=W1,g5=r2}if(g0=t&1,f0=(g0|0)==0,!f0)return}if(Q0=t+-1|0,d0=Q0+I|0,w0=t<<2,E0=t<<1,!!E1)for(C0=d0+C|0,e5=0,Y2=d0,R5=C0,p5=t,X5=t;I0=o+(Y2<<2)|0,v0=+s[I0>>2],K0=o+(R5<<2)|0,b0=+s[K0>>2],m0=b0+v0,F0=m0*-.7071067690849304,L0=v0-b0,T0=L0*.7071067690849304,B0=X5+-1|0,q0=o+(B0<<2)|0,x0=+s[q0>>2],D0=T0+x0,M0=p5+-1|0,J0=a+(M0<<2)|0,s[J0>>2]=D0,Y0=+s[q0>>2],O0=Y0-T0,z0=p5+E0|0,G0=z0+-1|0,r1=a+(G0<<2)|0,s[r1>>2]=O0,H0=Y2+I|0,e1=o+(H0<<2)|0,S0=+s[e1>>2],i1=F0-S0,c1=a+(p5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+F0,g1=a+(z0<<2)|0,s[g1>>2]=f1,l1=Y2+t|0,a1=R5+t|0,n1=p5+w0|0,A1=X5+t|0,Z0=e5+1|0,v5=(Z0|0)==(n|0),!v5;)e5=Z0,Y2=l1,R5=a1,p5=n1,X5=A1}}function fQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0;if(w1=m,f=i5(n,t)|0,E=t<<1,b=(n|0)>0,b)for(t0=E+-1|0,I1=0,u1=0,p1=f;n0=o+(u1<<2)|0,Q0=+s[n0>>2],F0=o+(p1<<2)|0,O0=+s[F0>>2],f1=O0+Q0,s1=u1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,C=+s[n0>>2],p=+s[F0>>2],B=C-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=u1+t|0,y=p1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,u1=w,p1=y;if(Q=(t|0)<2,!Q){if(x=(t|0)==2,!x){if(b)for(h1=0,d1=0,Q1=f;;){for(q0=d1<<1,x0=q0+E|0,Z0=2,x1=Q1,S1=x0,F1=d1,L1=q0;M=x1+2|0,T=S1+-2|0,N=F1+2|0,P=L1+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,a0=c+(U<<2)|0,Z=+s[a0>>2],V=o+(M<<2)|0,o0=+s[V>>2],i0=o0*Z,r0=i0+X,K=o0*J,c0=Z*H,s0=K-c0,l0=o+(N<<2)|0,j=+s[l0>>2],$0=s0+j,g0=a+(P<<2)|0,s[g0>>2]=$0,f0=+s[l0>>2],d0=s0-f0,w0=a+(T<<2)|0,s[w0>>2]=d0,h0=F1+1|0,E0=o+(h0<<2)|0,C0=+s[E0>>2],I0=C0+r0,v0=L1|1,K0=a+(v0<<2)|0,s[K0>>2]=I0,b0=+s[E0>>2],m0=b0-r0,L0=S1+-3|0,T0=a+(L0<<2)|0,s[T0>>2]=m0,U0=Z0+2|0,B0=(U0|0)<(t|0),B0;)Z0=U0,x1=M,S1=T,F1=N,L1=P;if(_=d1+t|0,F=Q1+t|0,L=h1+1|0,A1=(L|0)==(n|0),A1)break;h1=L,d1=_,Q1=F}if(D0=(t|0)%2&-1,M0=(D0|0)==1,M0)return}if(J0=t+-1|0,!!b)for(Y0=f+J0|0,E1=0,B1=t,R1=Y0,y1=J0;z0=o+(R1<<2)|0,G0=+s[z0>>2],P0=-G0,r1=a+(B1<<2)|0,s[r1>>2]=P0,H0=o+(y1<<2)|0,e1=e[H0>>2]|0,S0=B1+-1|0,i1=a+(S0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=y1+t|0,l1=E1+1|0,a1=(l1|0)==(n|0),!a1;)E1=l1,B1=c1,R1=$1,y1=g1}}function uQ(t,n,o,a,c,f,E,I,C,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,C=C|0,p=p|0;var B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,G8=0,N8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Gt=0,Nt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,G7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,N7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0;m8=m,S=+(n|0),w=6.2831854820251465/S,h8=+Vo(+w),M7=+Tn(+w),E2=n+1|0,p3=E2>>1,U9=t+-1|0,N4=U9>>1,F9=i5(o,t)|0,C9=i5(n,t)|0,c4=(t|0)==1;e:do if(!c4){if(Q7=(a|0)>0,Q7)for(pe=0;$0=E+(pe<<2)|0,K0=e[$0>>2]|0,M0=C+(pe<<2)|0,e[M0>>2]=K0,i1=pe+1|0,I8=(i1|0)==(a|0),!I8;)pe=i1;if(P=(n|0)>1,P)for(Z=(o|0)>0,C8=1,H7=0;;){if(I1=H7+F9|0,Z)for(n7=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=n7+1|0,j9=(q2|0)==(o|0),!j9;)n7=q2,e4=e2;if(V2=C8+1|0,r8=(V2|0)==(n|0),r8)break;C8=V2,H7=I1}if(C5=0-t|0,M1=(N4|0)>(o|0),M1){if(P)for(T3=(o|0)>0,q5=(t|0)>2,d3=C5,q9=1,S7=0;;){if(k3=S7+F9|0,w6=d3+t|0,T3)for(X3=k3-t|0,s3=w6+-1|0,A8=0,b7=X3;;){if(F3=b7+t|0,q5)for(n8=2,ge=s3,dt=F3;L3=ge+2|0,d6=dt+2|0,d9=ge+1|0,Z4=p+(d9<<2)|0,T4=+s[Z4>>2],G4=dt+1|0,o4=f+(G4<<2)|0,x4=+s[o4>>2],h4=x4*T4,de=p+(L3<<2)|0,H9=+s[de>>2],E9=f+(d6<<2)|0,Ee=+s[E9>>2],Te=Ee*H9,We=Te+h4,Ge=I+(G4<<2)|0,s[Ge>>2]=We,U4=+s[Z4>>2],W4=+s[E9>>2],Se=W4*U4,je=+s[de>>2],Z9=+s[o4>>2],se=Z9*je,f4=Se-se,b6=I+(d6<<2)|0,s[b6>>2]=f4,O4=n8+2|0,a4=(O4|0)<(t|0),a4;)n8=O4,ge=L3,dt=d6;if(_4=A8+1|0,i8=(_4|0)==(o|0),i8)break;A8=_4,b7=F3}if(Ae=q9+1|0,u8=(Ae|0)==(n|0),u8)break;d3=w6,q9=Ae,S7=k3}}else if(P)for(h5=(t|0)>2,h3=(o|0)>0,He=C5,ie=1,T7=0;;){if(W9=He+t|0,oe=T7+F9|0,h5)for(ae=W9+-1|0,d8=2,s8=ae,tt=oe;;){if(B4=s8+2|0,j4=tt+2|0,h3)for(F4=s8+1|0,$e=p+(F4<<2)|0,c6=p+(B4<<2)|0,o8=0,K7=j4;Ne=+s[$e>>2],$4=K7+-1|0,Ce=f+($4<<2)|0,p4=+s[Ce>>2],l4=p4*Ne,U6=+s[c6>>2],De=f+(K7<<2)|0,be=+s[De>>2],Xe=be*U6,k4=Xe+l4,g8=I+($4<<2)|0,s[g8>>2]=k4,q3=+s[$e>>2],y9=+s[De>>2],m9=y9*q3,L4=+s[c6>>2],X4=+s[Ce>>2],$7=X4*L4,_e=m9-$7,l7=I+(K7<<2)|0,s[l7>>2]=_e,V8=K7+t|0,c7=o8+1|0,D8=(c7|0)==(o|0),!D8;)o8=c7,K7=V8;if(g7=d8+2|0,F8=(g7|0)<(t|0),F8)d8=g7,s8=B4,tt=j4;else break}if(L8=ie+1|0,le=(L8|0)==(n|0),le)break;He=W9,ie=L8,T7=oe}if(M8=i5(F9,n)|0,T8=(N4|0)<(o|0),z8=(p3|0)>1,!T8){if(!z8)break;for(Z8=(o|0)>0,y7=(t|0)>2,qe=1,a8=0,Nt=M8;;){if(E0=a8+F9|0,C0=Nt-F9|0,Z8)for(q4=0,it=E0,rt=C0;;){if(y7)for(Be=2,V7=it,Qt=rt;I0=V7+2|0,v0=Qt+2|0,b0=V7+1|0,m0=I+(b0<<2)|0,F0=+s[m0>>2],L0=Qt+1|0,T0=I+(L0<<2)|0,U0=+s[T0>>2],B0=U0+F0,q0=f+(b0<<2)|0,s[q0>>2]=B0,x0=I+(I0<<2)|0,D0=+s[x0>>2],J0=I+(v0<<2)|0,Y0=+s[J0>>2],O0=D0-Y0,z0=f+(L0<<2)|0,s[z0>>2]=O0,G0=+s[x0>>2],P0=+s[J0>>2],r1=P0+G0,H0=f+(I0<<2)|0,s[H0>>2]=r1,e1=+s[T0>>2],S0=+s[m0>>2],c1=e1-S0,$1=f+(v0<<2)|0,s[$1>>2]=c1,f1=Be+2|0,g1=(f1|0)<(t|0),g1;)Be=f1,V7=I0,Qt=v0;if(l1=it+t|0,s1=rt+t|0,a1=q4+1|0,P4=(a1|0)==(o|0),P4)break;q4=a1,it=l1,rt=s1}if(n1=qe+1|0,xe=(n1|0)==(p3|0),xe)break e;qe=n1,a8=E0,Nt=C0}}if(z8)for(D=(t|0)>2,Q=(o|0)>0,b9=1,q7=0,Gt=M8;;){if(b=q7+F9|0,x=Gt-F9|0,D)for(ce=2,Et=b,Bt=x;;){if(_=Et+2|0,F=Bt+2|0,Q)for(L=F-t|0,M=_-t|0,b8=0,Jt=M,ai=L;T=Jt+t|0,N=ai+t|0,z=T+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=N+-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+(T<<2)|0,a0=+s[U>>2],V=I+(N<<2)|0,o0=+s[V>>2],n0=a0-o0,i0=f+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],K=+s[V>>2],c0=K+r0,s0=f+(T<<2)|0,s[s0>>2]=c0,l0=+s[W>>2],j=+s[Y>>2],g0=l0-j,f0=f+(N<<2)|0,s[f0>>2]=g0,Q0=b8+1|0,S8=(Q0|0)==(o|0),!S8;)b8=Q0,Jt=T,ai=N;if(d0=ce+2|0,w0=(d0|0)<(t|0),w0)ce=d0,Et=_,Bt=F;else break}if(h0=b9+1|0,t8=(h0|0)==(p3|0),t8)break;b9=h0,q7=b,Gt=x}}while(!1);if(y=(a|0)>0,y)for(Q4=0;A1=C+(Q4<<2)|0,Z0=e[A1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,E1=Q4+1|0,H8=(E1|0)==(a|0),!H8;)Q4=E1;if(u1=i5(a,n)|0,d1=(p3|0)>1,d1){for(B1=(o|0)>0,q8=1,R8=0,Ut=u1;;){if(p1=R8+F9|0,Q1=Ut-F9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,s7=0,ni=x1,Ai=R1;y1=ni+t|0,F1=Ai+t|0,L1=I+(y1<<2)|0,N1=+s[L1>>2],w1=I+(F1<<2)|0,U1=+s[w1>>2],Z1=U1+N1,G1=f+(y1<<2)|0,s[G1>>2]=Z1,D1=+s[w1>>2],K1=+s[L1>>2],P1=D1-K1,q1=f+(F1<<2)|0,s[q1>>2]=P1,Y1=s7+1|0,ee=(Y1|0)==(o|0),!ee;)s7=Y1,ni=y1,Ai=F1;if(j1=q8+1|0,e7=(j1|0)==(p3|0),e7)break;q8=j1,R8=p1,Ut=Q1}if(r2=n+-1|0,W1=i5(r2,a)|0,d1){for(O1=(p3|0)>2,G8=0,U8=1,Je=1,D7=0,ut=u1;;){if(l2=D7+a|0,z1=ut-a|0,f2=U8*h8,s2=G8*M7,V1=f2-s2,g2=G8*h8,a2=U8*M7,t2=a2+g2,y)for(E8=0,Pt=l2,st=z1,Vt=W1,Z7=a;$2=E+(E8<<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,S2=Pt+1|0,w2=C+(Pt<<2)|0,s[w2>>2]=y2,m2=Vt+1|0,M2=E+(Vt<<2)|0,_2=+s[M2>>2],G2=_2*t2,I2=st+1|0,J2=C+(st<<2)|0,s[J2>>2]=G2,N2=E8+1|0,f7=(N2|0)==(a|0),!f7;)E8=N2,Pt=S2,st=I2,Vt=m2,Z7=o2;if(O1)for(N8=t2,w8=V1,u7=2,Ht=a,G7=W1;;){if(T2=Ht+a|0,O2=G7-a|0,K2=w8*V1,s5=N8*t2,P2=K2-s5,T1=N8*V1,j2=w8*t2,x5=j2+T1,y)for(t7=0,yt=l2,vt=z1,St=T2,_7=O2;X2=St+1|0,D5=E+(St<<2)|0,f5=+s[D5>>2],k5=f5*P2,O5=yt+1|0,$5=C+(yt<<2)|0,v2=+s[$5>>2],E5=v2+k5,s[$5>>2]=E5,r5=_7+1|0,x2=E+(_7<<2)|0,R2=+s[x2>>2],B2=R2*x5,F5=vt+1|0,u5=C+(vt<<2)|0,b5=+s[u5>>2],N5=b5+B2,s[u5>>2]=N5,_5=t7+1|0,w7=(_5|0)==(a|0),!w7;)t7=_5,yt=O5,vt=F5,St=X2,_7=r5;if(H2=u7+1|0,X8=(H2|0)==(p3|0),X8)break;N8=x5,w8=P2,u7=H2,Ht=T2,G7=O2}if(I5=Je+1|0,k7=(I5|0)==(p3|0),k7)break;G8=t2,U8=V1,Je=I5,D7=l2,ut=z1}if(d1)for(i7=1,K8=0;;){if(A5=K8+a|0,y)for(H4=0,Y7=A5;l5=Y7+1|0,m5=E+(Y7<<2)|0,v5=+s[m5>>2],c5=C+(H4<<2)|0,o5=+s[c5>>2],z2=o5+v5,s[c5>>2]=z2,c2=H4+1|0,h7=(c2|0)==(a|0),!h7;)H4=c2,Y7=l5;if(B5=i7+1|0,me=(B5|0)==(p3|0),me)break;i7=B5,K8=A5}}}if(e5=(t|0)<(o|0),e5){if(Y2=(t|0)>0,Y2)for(t5=(o|0)>0,Pe=0;;){if(t5)for(Ye=0,he=Pe,J7=Pe;J5=I+(he<<2)|0,e3=e[J5>>2]|0,n3=c+(J7<<2)|0,e[n3>>2]=e3,C3=he+t|0,L5=J7+C9|0,K5=Ye+1|0,Re=(K5|0)==(o|0),!Re;)Ye=K5,he=C3,J7=L5;if(w3=Pe+1|0,e8=(w3|0)==(t|0),e8)break;Pe=w3}}else if(n5=(o|0)>0,n5)for(g5=(t|0)>0,_8=0,Le=0,It=0;;){if(g5)for(Oe=0,Ot=Le,qt=It;R5=Ot+1|0,W2=I+(Ot<<2)|0,a5=e[W2>>2]|0,F2=qt+1|0,p5=c+(qt<<2)|0,e[p5>>2]=a5,H5=Oe+1|0,v8=(H5|0)==(t|0),!v8;)Oe=H5,Ot=R5,qt=F2;if(X5=Le+t|0,d5=It+C9|0,u3=_8+1|0,w9=(u3|0)==(o|0),w9)break;_8=u3,Le=X5,It=d5}if(f3=t<<1,B3=i5(F9,n)|0,d1)for(K3=(o|0)>0,r7=1,v7=0,Ct=0,Yt=B3;;){if(z5=v7+f3|0,y3=Ct+F9|0,W5=Yt-F9|0,K3)for(B9=0,z7=z5,wt=y3,Zt=W5;t6=I+(wt<<2)|0,R3=e[t6>>2]|0,G3=z7+-1|0,o3=c+(G3<<2)|0,e[o3>>2]=R3,$3=I+(Zt<<2)|0,l3=e[$3>>2]|0,m3=c+(z7<<2)|0,e[m3>>2]=l3,U5=z7+C9|0,P5=wt+t|0,w5=Zt+t|0,N3=B9+1|0,f8=(N3|0)==(o|0),!f8;)B9=N3,z7=U5,wt=P5,Zt=w5;if(M5=r7+1|0,Ue=(M5|0)==(p3|0),Ue)break;r7=M5,v7=z5,Ct=y3,Yt=W5}if(!c4){if(n6=(N4|0)<(o|0),t3=0-t|0,!n6){if(!d1)return;for(B=(o|0)<1,v=(t|0)<3,k8=B|v,Y8=1,o7=t3,mt=0,nt=0,oi=B3;;){if(h6=o7+f3|0,Q3=mt+f3|0,i6=nt+F9|0,W3=oi-F9|0,!k8)for(A7=0,zt=h6,At=Q3,Qe=i6,ot=W3;;){for(X9=2;$6=t-X9|0,I3=X9+Qe|0,k6=I3+-1|0,v6=I+(k6<<2)|0,B6=+s[v6>>2],j3=X9+ot|0,l6=j3+-1|0,p6=I+(l6<<2)|0,_6=+s[p6>>2],q6=_6+B6,C6=X9+At|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=q6,f6=+s[v6>>2],P3=+s[p6>>2],D3=f6-P3,H3=$6+zt|0,V3=H3+-1|0,S6=c+(V3<<2)|0,s[S6>>2]=D3,s6=I+(I3<<2)|0,i3=+s[s6>>2],O6=I+(j3<<2)|0,A6=+s[O6>>2],u6=A6+i3,b3=c+(C6<<2)|0,s[b3>>2]=u6,T6=+s[O6>>2],r6=+s[s6>>2],Q6=T6-r6,R6=c+(H3<<2)|0,s[R6>>2]=Q6,J6=X9+2|0,I6=(J6|0)<(t|0),I6;)X9=J6;if(U3=zt+C9|0,V5=At+C9|0,v3=Qe+t|0,c3=ot+t|0,O3=A7+1|0,W8=(O3|0)==(o|0),W8)break;A7=O3,zt=U3,At=V5,Qe=v3,ot=c3}if(Y6=Y8+1|0,j8=(Y6|0)==(p3|0),j8)break;Y8=Y6,o7=h6,mt=Q3,nt=i6,oi=W3}return}if(d1)for(A3=(t|0)>2,x3=(o|0)>0,te=1,re=t3,si=0,pt=0,Kt=B3;;){if(Z6=re+f3|0,G6=si+f3|0,j6=pt+F9|0,r9=Kt-F9|0,A3&&(x6=Z6+t|0,x3))for(Fe=2;;){for(D4=Fe+r9|0,b4=Fe+j6|0,R4=Fe+G6|0,M4=x6-Fe|0,J8=0,kt=M4,N7=R4,Dt=b4,i9=D4;K6=Dt+-1|0,y6=I+(K6<<2)|0,F6=+s[y6>>2],L6=i9+-1|0,X6=I+(L6<<2)|0,A9=+s[X6>>2],W6=A9+F6,h9=N7+-1|0,f9=c+(h9<<2)|0,s[f9>>2]=W6,u9=+s[y6>>2],o9=+s[X6>>2],a9=u9-o9,T9=kt+-1|0,M6=c+(T9<<2)|0,s[M6>>2]=a9,e9=I+(Dt<<2)|0,G9=+s[e9>>2],I9=I+(i9<<2)|0,E4=+s[I9>>2],s4=E4+G9,g4=c+(N7<<2)|0,s[g4>>2]=s4,N9=+s[I9>>2],z9=+s[e9>>2],D9=N9-z9,P6=c+(kt<<2)|0,s[P6>>2]=D9,t9=kt+C9|0,C4=N7+C9|0,S4=Dt+t|0,A4=i9+t|0,Q9=J8+1|0,O8=(Q9|0)==(o|0),!O8;)J8=Q9,kt=t9,N7=C4,Dt=S4,i9=A4;if(N6=Fe+2|0,D6=(N6|0)<(t|0),D6)Fe=N6;else break}if(m4=te+1|0,P8=(m4|0)==(p3|0),P8)break;te=m4,re=Z6,si=G6,pt=j6,Kt=r9}}}function NS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,G8=0,N8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Gt=0,Nt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,G7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,N7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0,js=0,Nn=0,Xs=0,Un=0,eA=0,tA=0,On=0,iA=0,Kr=0,rA=0,nA=0,sA=0,Pn=0,AA=0,Hn=0,qn=0,oA=0,Vr=0,Yn=0,zr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Zr=0,Vn=0,cA=0,Ir=0,Wr=0,gA=0,hA=0,jr=0,$i=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,IA=0,li=0,Xr=0,dA=0,Xn=0,EA=0,CA=0,mA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,en=0,dr=0,tn=0,vA=0,zi=0,SA=0,is=0,rn=0,rs=0,nn=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,Er=0,as=0,ci=0,sn=0,Cr=0,Zi=0,mr=0,Ui=0,Br=0,$s=0,Oi=0,Bi=0,pi=0,Wt=0,Qi=0,pr=0,Wi=0,ji=0,Qr=0,gi=0,RA=0,at=0,W$=0,An=0,on=0,Fh=0,j$=0,xA=0,Lh=0,Wo=0,X$=0,Mh=0,Th=0,Gh=0,jo=0,el=0,tl=0,Xo=0,an=0,il=0,Nh=0,FA=0,Xi=0,Uh=0,Oh=0,Ph=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,rl=0,yr=0,Zh=0,Wh=0,nl=0,jh=0,ea=0,LA=0,ta=0,Xh=0,ef=0,ia=0,sl=0,Al=0,ol=0,ra=0,al=0,MA=0,tf=0,rf=0,$l=0,nf=0,sf=0,ll=0,Af=0,of=0,cl=0,gl=0,hl=0,fl=0,ul=0,$n=0,af=0,Il=0,$f=0,dl=0,El=0,lf=0,cf=0,gf=0,na=0,Cl=0,ml=0,ls=0,Bl=0,sa=0,hf=0,pl=0,ff=0,Ql=0,uf=0,If=0,yl=0,wl=0,df=0,TA=0,Ef=0,Aa=0,kl=0,vl=0,Cf=0,mf=0,Bf=0,pf=0,Qf=0,yf=0,GA=0,Sl=0,Dl=0,bl=0,NA=0,wf=0,_l=0,kf=0,Rl=0,vf=0,Sf=0,xl=0,oa=0,Df=0,bf=0,UA=0,_f=0,OA=0,Rf=0,aa=0,xf=0,Ff=0,Lf=0,Fl=0,Mf=0,Tf=0,Gf=0,Nf=0,Ll=0,Ml=0,er=0,Tl=0,PA=0,$a=0,la=0,ln=0,Gl=0,cn=0,Uf=0,Nl=0,Of=0,Pf=0,Hf=0,qf=0,HA=0,ca=0,wr=0,Yf=0,Jf=0,Ul=0,ga=0,Ol=0,Pl=0,Kf=0,Hl=0,Vf=0,ha=0,zf=0,Zf=0,O9=0,Wf=0,ql=0,jf=0,Xf=0,fa=0,eu=0,ua=0,Yl=0,tu=0,iu=0,Jl=0,Kl=0,ru=0,Ia=0,da=0,Vl=0,zl=0,nu=0,Zl=0,Ea=0,su=0,Wl=0,Au=0,ou=0,au=0,$u=0,jl=0,Xl=0,Ca=0,qA=0,ec=0,lu=0,tc=0,ic=0,cu=0,gu=0,hu=0,rc=0,fu=0,uu=0,Iu=0,du=0,Eu=0,Cu=0,nc=0,mu=0,sc=0,Bu=0,gn=0,pu=0,Ac=0,Qu=0,cs=0,oc=0,ma=0,yu=0,YA=0,Ba=0,wu=0,pa=0,ac=0,ku=0,vu=0,Su=0,Du=0,bu=0,$c=0,_u=0,Ru=0,xu=0,JA=0,gs=0,Qa=0,Fu=0,ya=0,Lu=0,Mu=0,Tu=0,lc=0,Gu=0,Nu=0,Uu=0,Ou=0,Pu=0,KA=0,Hu=0,qu=0,cc=0,Yu=0,Ju=0,Ku=0,Vu=0,hi=0,gc=0,fi=0,hc=0,wa=0,zu=0,jt=0,hs=0,Zu=0,Wu=0,ju=0,Xu=0,eI=0,fc=0,tI=0,iI=0,uc=0,rI=0,nI=0,fs=0,ka=0,sI=0,Ic=0,AI=0,oI=0,VA=0,aI=0,$I=0,dc=0,Ec=0,lI=0,cI=0,hn=0,gI=0,hI=0,fn=0,fI=0,Cc=0,uI=0,II=0,us=0,mc=0,dI=0,Bc=0,EI=0,tr=0,va=0,CI=0,pc=0,Qc=0,mI=0,BI=0,yc=0,pI=0,QI=0,yI=0,wc=0,wI=0,Is=0,kI=0,un=0,vI=0,SI=0,Sa=0,DI=0,Da=0,ba=0,bI=0,kc=0,vc=0,_I=0,Sc=0,Dc=0,bc=0,RI=0,_c=0,Rc=0,xI=0,FI=0,xc=0,Fc=0,LI=0,Lc=0,Mc=0,MI=0,TI=0,Tc=0,_a=0,Gc=0,Nc=0,Uc=0,Oc=0,GI=0,NI=0,UI=0,OI=0,PI=0,HI=0,qI=0,YI=0,Pc=0,Ra=0,JI=0,KI=0,VI=0,Hc=0,qc=0,zI=0,Yc=0,xa=0,zA=0,Jc=0,ZI=0,WI=0,jI=0,XI=0,Kc=0,ZA=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,Ad=0,od=0,Vc=0,ad=0,$d=0,ld=0,cd=0,WA=0,zc=0,gd=0,hd=0,In=0,Zc=0,Wc=0,Fa=0,fd=0,jc=0,ud=0,Xc=0,eg=0,Id=0,dd=0,Ed=0,Cd=0,md=0,jA=0,La=0,Bd=0,pd=0,Qd=0,yd=0,tg=0,wd=0,ig=0,kd=0,vd=0,rg=0,kr=0,ng=0,sg=0,Sd=0,Ag=0,XA=0,Dd=0,bd=0,_d=0,eo=0,og=0,Rd=0,xd=0,ag=0,Fd=0,Ld=0,Ma=0,to=0,Md=0,Td=0,Gd=0,$g=0,lg=0,cg=0,Nd=0,Ud=0,ds=0,Od=0,gg=0,Pd=0,Ta=0,hg=0,Hd=0,qd=0,Yd=0,Jd=0,fg=0,Kd=0,Vd=0,ug=0,io=0,zd=0,Zd=0,Wd=0,Es=0,Ig=0,dg=0,jd=0,Eg=0,Cg=0,yi=0,mg=0,ir=0,Xd=0,eE=0,tE=0,iE=0,Ga=0,ro=0,Bg=0,pg=0,rE=0,no=0,Cs=0,nE=0,so=0,Na=0,sE=0,Ua=0,AE=0,oE=0,Qg=0,Ao=0,yg=0,aE=0,$E=0,lE=0,cE=0,wg=0,gE=0,W7=0,y4=0,Xt=0,hE=0,kg=0,vg=0,Oa=0,fE=0,vr=0,ms=0,uE=0,IE=0,Sg=0,Pa=0,dE=0,Dg=0,bg=0,_g=0,Ha=0,qa=0,Rg=0,Bs=0,Ya=0,xg=0,EE=0,dn=0,CE=0,Fg=0,oo=0,mE=0,Lg=0,wi=0,BE=0,pE=0,QE=0,yE=0,wE=0,kE=0,ki=0,vE=0,SE=0,DE=0,Mg=0,ui=0,ao=0,Ja=0,Tg=0,Gg=0,bE=0,Ng=0,Ug=0,_E=0,RE=0,Og=0,Pg=0,xE=0,FE=0,Hg=0,LE=0,ps=0,$o=0,lo=0,ME=0,Ka=0,TE=0,GE=0,qg=0,Qs=0,NE=0,UE=0,Va=0,za=0,co=0,Za=0,Wa=0,rr=0,Sr=0,Dr=0,ja=0,Xa=0,ys=0,nr=0,En=0,OE=0,sr=0,Cn=0,PE=0,bt=0,_t=0,Rt=0,go=0,ho=0,Yg=0,Jg=0,fo=0,e$=0,xt=0,uo=0,br=0,t$=0,HE=0,i$=0,qE=0,r$=0,Kg=0,Io=0,YE=0,JE=0,Eo=0,KE=0,Co=0,mn=0,Ke=0,v4=0,Vg=0,VE=0,n$=0,zg=0,zE=0,ZE=0,mo=0,WE=0,jE=0,XE=0,eC=0,Zg=0,tC=0,iC=0,rC=0,ei=0,Bo=0,Bn=0,s$=0,ws=0,ks=0,j7=0,vs=0,Wg=0,jg=0,po=0,Ss=0,Ds=0,bs=0,nC=0,_s=0,Ar=0,Xg=0,_r=0,ti=0,A$=0,o$=0,Pi=0,a$=0,$$=0,l$=0,Rr=0,o6=0,Qo=0,xr=0,eh=0,ye=0,c$=0,B8=0,Rs=0,pn=0,Qn=0,L9=0,yn=0,Fr=0,Y4=0,g$=0,hB=0,sC=0,WC=0,jC=0,fB=0,AC=0,kQ=0,vQ=0,SQ=0,DQ=0,bQ=0,_Q=0,RQ=0,xQ=0,FQ=0,LQ=0,MQ=0,TQ=0,uB=0,IB=0,GQ=0,NQ=0,UQ=0,th=0,XC=0,Ii=0,ih=0,rh=0,nh=0,sh=0,oC=0,aC=0,$C=0,lC=0,cC=0,gC=0,hC=0,fC=0,uC=0,IC=0,em=0,yo=0,or=0,h$=0,Ah=0,f$=0,dB=0,wo=0,dC=0,u$=0,tm=0,im=0,EC=0,rm=0,nm=0,sm=0,Am=0,om=0,am=0,$m=0,EB=0,CB=0,mB=0,BB=0,pB=0,ko=0,vo=0,So=0,Do=0,OQ=0,ar=0,t4=0,fD=0,bo=0,lm=0;if(fD=m,l0=t+28|0,j=e[l0>>2]|0,j8=(j|0)==0,j8||(st=j+3456|0,$s=e[st>>2]|0,Sl=($s|0)==0,n=Sl&1,cs=j+3496|0,Sc=+o1[cs>>3],$g=Sc>-80,$g?o1[cs>>3]=-80:(RE=Sc<-200,RE&&(o1[cs>>3]=-200)),$0=j+3512|0,V2=+o1[$0>>3],s3=V2>0,s3?o1[$0>>3]=0:(m4=V2<-99999,m4&&(o1[$0>>3]=-99999)),Te=j+3396|0,b6=e[Te>>2]|0,F4=(b6|0)==0,F4))return C=-131,C|0;if(be=j+3392|0,e[be>>2]=1,_e=j+3400|0,Z8=+o1[_e>>3],f8=b6+24|0,k7=e[f8>>2]|0,le=b6+28|0,Fe=e[le>>2]|0,te=~~Z8,J8=k7+(te<<2)|0,M7=e[J8>>2]|0,K8=Fe+(te<<2)|0,It=e[K8>>2]|0,e[j>>2]=M7,Bt=j+4|0,e[Bt>>2]=It,G7=(M7|0)==(It|0),Z7=b6+144|0,I7=e[Z7>>2]|0,tA=(I7|0)>0,tA){for(oA=b6+136|0,cA=b6+140|0,Wn=b6+148|0,zi=Z8,wr=j,em=0;;){if(BA=~~zi,os=e[oA>>2]|0,Oi=e[cA>>2]|0,at=e[Wn>>2]|0,Th=at+(em<<2)|0,Uh=e[Th>>2]|0,yr=r4(1,1120)|0,sl=Uh+(BA<<2)|0,ll=e[sl>>2]|0,$f=Oi+(ll*1120|0)|0,n4(yr|0,$f|0,1120)|0,sa=e[yr>>2]|0,Ef=(sa|0)>0,Ef){for(Dl=yr+4|0,XC=0,$m=-1;;)if(Ea=Dl+(XC<<2)|0,ec=e[Ea>>2]|0,du=(ec|0)>($m|0),t0=du?ec:$m,oc=XC+1|0,MQ=(oc|0)==(sa|0),MQ){J=t0;break}else XC=oc,$m=t0;if(Df=(J|0)<0,!Df){for(Mf=yr+256|0,ln=wr+24|0,zf=yr+192|0,tu=yr+320|0,f$=0,sm=-1;;){if(Qc=Mf+(f$<<2)|0,un=e[Qc>>2]|0,Dc=(un|0)>(sm|0),z=Dc?un:sm,Mc=e[ln>>2]|0,UI=Mc+un|0,e[Qc>>2]=UI,Hc=zf+(f$<<2)|0,Kc=e[Hc>>2]|0,ad=(Kc|0)==31,ad)Am=z;else for(Q9=Kc,rm=0,am=z;;)if(Fa=(tu+(f$<<5)|0)+(rm<<2)|0,jA=e[Fa>>2]|0,rg=(jA|0)>(am|0),Y=rg?jA:am,og=(jA|0)>-1,og?(lg=e[ln>>2]|0,qd=lg+jA|0,e[Fa>>2]=qd,e0=e[Hc>>2]|0,Na=e0):Na=Q9,Es=rm+1|0,tE=1<>2]|0,zu=e[qu>>2]|0,uc=e[ln>>2]|0,$I=uc+1|0,e[ln>>2]=$I,uI=(wr+1824|0)+(uc<<2)|0,e[uI>>2]=zu,RQ=(om|0)==0,!RQ))for(dB=0;qa=dB+1|0,Z=e[sl>>2]|0,Lg=os+(Z<<2)|0,DE=e[Lg>>2]|0,Og=DE+(qa<<2)|0,TE=e[Og>>2]|0,rr=e[ln>>2]|0,PE=rr+1|0,e[ln>>2]=PE,uo=(wr+1824|0)+(rr<<2)|0,e[uo>>2]=TE,_Q=(qa|0)==(om|0),!_Q;)dB=qa}}if(Eo=wr+16|0,ZE=e[Eo>>2]|0,Bo=(wr+800|0)+(ZE<<2)|0,e[Bo>>2]=1,Ds=e[Eo>>2]|0,a$=(wr+1056|0)+(Ds<<2)|0,e[a$>>2]=yr,g0=e[Eo>>2]|0,b0=g0+1|0,e[Eo>>2]=b0,J0=em+1|0,c1=e[Z7>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+o1[_e>>3],r0=e[l0>>2]|0,zi=W,wr=r0,em=J0}c0=e[l0>>2]|0,z5=c0}else z5=j;F1=j+3520|0,q1=+o1[F1>>3],A2=b6+124|0,e2=e[A2>>2]|0,q2=b6+128|0,f5=e[q2>>2]|0,F5=~~q1,v5=+(F5|0),t5=q1-v5,J5=z5+2868|0,U5=f5+(F5<<3)|0,k3=+o1[U5>>3],w6=~~k3,X3=e2+(w6*492|0)|0,n4(J5|0,X3|0,492)|0,A6=+o1[U5>>3],Z6=1-t5,L6=A6*Z6,M6=F5+1|0,P6=f5+(M6<<3)|0,D4=+o1[P6>>3],b4=D4*t5,R4=b4+L6,M4=~~R4,Z4=+(M4|0),T4=R4-Z4,U9=T4==0,G4=(M4|0)>0,EB=G4&U9,I=EB?1:T4,o4=EB<<31>>31,F=o4+M4|0,x4=1-I,h4=F+1|0,de=(e2+(F*492|0)|0)+4|0,H9=+s[de>>2],E9=H9,Ee=x4*E9,We=(e2+(h4*492|0)|0)+4|0,N4=+s[We>>2],Ge=N4,U4=I*Ge,W4=Ee+U4,Se=W4,je=z5+2872|0,s[je>>2]=Se,Z9=(e2+(F*492|0)|0)+32|0,se=+s[Z9>>2],f4=se,O4=x4*f4,F9=(e2+(h4*492|0)|0)+32|0,a4=+s[F9>>2],_4=a4,Ae=I*_4,W9=O4+Ae,oe=W9,ae=z5+2900|0,s[ae>>2]=oe,B4=(e2+(F*492|0)|0)+8|0,j4=+s[B4>>2],$e=j4,C9=x4*$e,c6=(e2+(h4*492|0)|0)+8|0,Ne=+s[c6>>2],$4=Ne,Ce=I*$4,p4=C9+Ce,l4=p4,U6=z5+2876|0,s[U6>>2]=l4,De=(e2+(F*492|0)|0)+36|0,Xe=+s[De>>2],c4=Xe,k4=x4*c4,g8=(e2+(h4*492|0)|0)+36|0,q3=+s[g8>>2],y9=q3,m9=y9*I,L4=m9+k4,X4=L4,$7=z5+2904|0,s[$7>>2]=X4,l7=(e2+(F*492|0)|0)+12|0,Q7=+s[l7>>2],V8=Q7,c7=V8*x4,g7=(e2+(h4*492|0)|0)+12|0,F8=+s[g7>>2],L8=F8,M8=L8*I,T8=M8+c7,z8=T8,y7=z5+2880|0,s[y7>>2]=z8,G8=(e2+(F*492|0)|0)+40|0,N8=+s[G8>>2],U8=N8,w8=U8*x4,k8=(e2+(h4*492|0)|0)+40|0,h8=+s[k8>>2],O8=h8,P8=O8*I,W8=P8+w8,Ue=W8,Re=z5+2908|0,s[Re>>2]=Ue,e8=(e2+(F*492|0)|0)+16|0,v8=+s[e8>>2],w9=v8,h7=w9*x4,me=(e2+(h4*492|0)|0)+16|0,f7=+s[me>>2],w7=f7,X8=w7*I,ee=X8+h7,e7=ee,H8=z5+2884|0,s[H8>>2]=e7,S8=(e2+(F*492|0)|0)+44|0,t8=+s[S8>>2],P4=t8,xe=P4*x4,i8=(e2+(h4*492|0)|0)+44|0,u8=+s[i8>>2],D8=u8,j9=D8*I,r8=j9+xe,I8=r8,n8=z5+2912|0,s[n8>>2]=I8,d8=z5+3512|0,ce=+o1[d8>>3],Be=ce,Oe=z5+2936|0,s[Oe>>2]=Be,Pe=b6+132|0,X9=e[Pe>>2]|0,ge=j+3472|0,s8=+o1[ge>>3],pe=s8,Q4=~~pe,E8=+(Q4|0),t7=pe-E8,H4=t7,d3=e[l0>>2]|0,He=(X9|0)==0;e:do if(He)C8=d3+4|0,q9=e[d3>>2]|0,ie=d3+3240|0,e[ie>>2]=q9,b9=e[C8>>2]|0,qe=d3+3300|0,e[qe>>2]=b9,q8=d3+3244|0,e[q8>>2]=q9,u7=d3+3304|0,e[u7>>2]=b9,i7=d3+3248|0,e[i7>>2]=q9,r7=d3+3308|0,e[r7>>2]=b9,Y8=d3+3252|0,e[Y8>>2]=q9,n7=d3+3312|0,e[n7>>2]=b9,A8=d3+3256|0,e[A8>>2]=q9,o8=d3+3316|0,e[o8>>2]=b9,b8=d3+3260|0,e[b8>>2]=q9,q4=d3+3320|0,e[q4>>2]=b9,s7=d3+3264|0,e[s7>>2]=q9,_8=d3+3324|0,e[_8>>2]=b9,Ye=d3+3268|0,e[Ye>>2]=q9,B9=d3+3328|0,e[B9>>2]=b9,A7=d3+3272|0,e[A7>>2]=q9,Je=d3+3332|0,e[Je>>2]=b9,H7=d3+3276|0,e[H7>>2]=q9,v7=d3+3336|0,e[v7>>2]=b9,o7=d3+3280|0,e[o7>>2]=q9,S7=d3+3340|0,e[S7>>2]=b9,re=d3+3284|0,e[re>>2]=q9,T7=d3+3344|0,e[T7>>2]=b9,q7=d3+3288|0,e[q7>>2]=q9,a8=d3+3348|0,e[a8>>2]=b9,R8=d3+3292|0,e[R8>>2]=q9,D7=d3+3352|0,e[D7>>2]=b9,Le=d3+3296|0,e[Le>>2]=q9,he=d3+3356|0,e[he>>2]=b9;else{e4=d3+3120|0,b7=X9+(Q4*240|0)|0,ar=e4,bo=b7,lm=ar+60|0;do e[ar>>2]=e[bo>>2]|0,ar=ar+4|0,bo=bo+4|0;while((ar|0)<(lm|0));tt=d3+3180|0,Gt=(X9+(Q4*240|0)|0)+60|0,ar=tt,bo=Gt,lm=ar+60|0;do e[ar>>2]=e[bo>>2]|0,ar=ar+4|0,bo=bo+4|0;while((ar|0)<(lm|0));if(Nt=j+3420|0,Ut=e[Nt>>2]|0,ut=(Ut|0)==0,!ut)for(Y7=1-H4,J7=Q4+1|0,dt=t+8|0,K7=d3+4|0,X=e[dt>>2]|0,Et=+(X|0),or=0;;){if(it=((X9+(Q4*240|0)|0)+120|0)+(or<<2)|0,ni=+s[it>>2],Ot=ni,Ct=Ot*Y7,mt=((X9+(J7*240|0)|0)+120|0)+(or<<2)|0,si=+s[mt>>2],rt=si,Ai=rt*H4,Pt=Ai+Ct,Ht=Pt,qt=Ht,Yt=qt*1e3,nt=Yt/Et,pt=e[d3>>2]|0,Jt=+(pt|0),V7=Jt*nt,z7=~~V7,oi=(d3+3e3|0)+(or<<2)|0,e[oi>>2]=z7,Kt=e[K7>>2]|0,ai=+(Kt|0),Qt=ai*nt,Vt=~~Qt,yt=(d3+3060|0)+(or<<2)|0,e[yt>>2]=Vt,wt=~~Ht,zt=(d3+2940|0)+(or<<2)|0,e[zt>>2]=wt,kt=((X9+(Q4*240|0)|0)+180|0)+(or<<2)|0,vt=+s[kt>>2],Zt=vt,At=Zt*Y7,N7=((X9+(J7*240|0)|0)+180|0)+(or<<2)|0,St=+s[N7>>2],Qe=St,Dt=Qe*H4,_7=Dt+At,ot=_7,i9=ot,m8=i9*1e3,d7=m8/Et,R7=e[d3>>2]|0,Jr=+(R7|0),ur=Jr*d7,js=~~ur,Nn=(d3+3240|0)+(or<<2)|0,e[Nn>>2]=js,Xs=e[K7>>2]|0,Un=+(Xs|0),eA=Un*d7,On=~~eA,iA=(d3+3300|0)+(or<<2)|0,e[iA>>2]=On,Kr=or+1|0,FQ=(Kr|0)==15,FQ)break e;or=Kr}for(rA=(X9+(Q4*240|0)|0)+148|0,nA=+s[rA>>2],sA=nA,Pn=1-H4,AA=sA*Pn,Hn=Q4+1|0,qn=(X9+(Hn*240|0)|0)+148|0,Vr=+s[qn>>2],Yn=Vr,zr=Yn*H4,Jn=zr+AA,Kn=Jn,aA=Kn,$A=aA*1e3,lA=t+8|0,Zr=d3+4|0,Vn=~~Kn,a0=e[lA>>2]|0,Ir=+(a0|0),Wr=$A/Ir,Ah=0;gA=e[d3>>2]|0,hA=+(gA|0),jr=hA*Wr,$i=~~jr,zn=(d3+3e3|0)+(Ah<<2)|0,e[zn>>2]=$i,fA=e[Zr>>2]|0,uA=+(fA|0),Zn=uA*Wr,jn=~~Zn,IA=(d3+3060|0)+(Ah<<2)|0,e[IA>>2]=jn,li=(d3+2940|0)+(Ah<<2)|0,e[li>>2]=Vn,Xr=Ah+1|0,TQ=(Xr|0)==15,!TQ;)Ah=Xr;for(dA=(X9+(Q4*240|0)|0)+208|0,Xn=+s[dA>>2],EA=Xn,CA=EA*Pn,mA=(X9+(Hn*240|0)|0)+208|0,es=+s[mA>>2],pA=es,QA=pA*H4,yA=QA+CA,ts=yA,wA=ts,kA=wA*1e3,en=kA/Ir,dC=0;dr=e[d3>>2]|0,tn=+(dr|0),vA=tn*en,SA=~~vA,is=(d3+3240|0)+(dC<<2)|0,e[is>>2]=SA,rn=e[Zr>>2]|0,rs=+(rn|0),nn=rs*en,DA=~~nn,ns=(d3+3300|0)+(dC<<2)|0,e[ns>>2]=DA,ss=dC+1|0,xQ=(ss|0)==15,!xQ;)dC=ss}while(!1);for(bA=+o1[_e>>3],As=b6+92|0,_A=e[As>>2]|0,Er=b6+100|0,as=e[Er>>2]|0,ci=b6+108|0,sn=e[ci>>2]|0,Cr=e[l0>>2]|0,Zi=Cr+2852|0,mr=e[Zi>>2]|0,Ui=~~bA,Br=Cr+28|0,Bi=e[Br>>2]|0,pi=(Bi|0)>0,pi||(e[Br>>2]=1),Wt=(mr|0)==0,Wt?(Qi=r4(1,520)|0,e[Zi>>2]=Qi,ko=Qi):ko=mr,n4(ko|0,25784,520)|0,e[ko>>2]=0,pr=Cr+3460|0,Wi=e[pr>>2]|0,ji=(Wi|0)==0,ji||(Qr=ko+500|0,e[Qr>>2]=1,gi=_A+(Ui<<2)|0,RA=e[gi>>2]|0,W$=ko+504|0,e[W$>>2]=RA,An=as+(Ui<<2)|0,on=e[An>>2]|0,Fh=ko+508|0,e[Fh>>2]=on,j$=sn+(Ui<<3)|0,xA=+o1[j$>>3],Lh=ko+512|0,o1[Lh>>3]=xA),Wo=+o1[_e>>3],X$=e[As>>2]|0,Mh=e[Er>>2]|0,Gh=e[ci>>2]|0,jo=e[l0>>2]|0,el=jo+2856|0,tl=e[el>>2]|0,Xo=~~Wo,an=jo+28|0,il=e[an>>2]|0,Nh=(il|0)>1,Nh||(e[an>>2]=2),FA=(tl|0)==0,FA?(Xi=r4(1,520)|0,e[el>>2]=Xi,vo=Xi):vo=tl,n4(vo|0,25784,520)|0,e[vo>>2]=0,Oh=jo+3460|0,Ph=e[Oh>>2]|0,Hh=(Ph|0)==0,Hh||(qh=vo+500|0,e[qh>>2]=1,Yh=X$+(Xo<<2)|0,Jh=e[Yh>>2]|0,Kh=vo+504|0,e[Kh>>2]=Jh,Vh=Mh+(Xo<<2)|0,zh=e[Vh>>2]|0,rl=vo+508|0,e[rl>>2]=zh,Zh=Gh+(Xo<<3)|0,Wh=+o1[Zh>>3],nl=vo+512|0,o1[nl>>3]=Wh),G7||(jh=+o1[_e>>3],ea=b6+96|0,LA=e[ea>>2]|0,ta=b6+104|0,Xh=e[ta>>2]|0,ef=e[ci>>2]|0,ia=e[l0>>2]|0,Al=ia+2860|0,ol=e[Al>>2]|0,ra=~~jh,al=ia+28|0,MA=e[al>>2]|0,tf=(MA|0)>2,tf||(e[al>>2]=3),rf=(ol|0)==0,rf?($l=r4(1,520)|0,e[Al>>2]=$l,So=$l):So=ol,n4(So|0,25784,520)|0,e[So>>2]=1,nf=ia+3460|0,sf=e[nf>>2]|0,Af=(sf|0)==0,Af||(of=So+500|0,e[of>>2]=1,cl=LA+(ra<<2)|0,gl=e[cl>>2]|0,hl=So+504|0,e[hl>>2]=gl,fl=Xh+(ra<<2)|0,ul=e[fl>>2]|0,$n=So+508|0,e[$n>>2]=ul,af=ef+(ra<<3)|0,Il=+o1[af>>3],dl=So+512|0,o1[dl>>3]=Il),El=+o1[_e>>3],lf=e[ea>>2]|0,cf=e[ta>>2]|0,gf=e[ci>>2]|0,na=e[l0>>2]|0,Cl=na+2864|0,ml=e[Cl>>2]|0,ls=~~El,Bl=na+28|0,hf=e[Bl>>2]|0,pl=(hf|0)>3,pl||(e[Bl>>2]=4),ff=(ml|0)==0,ff?(Ql=r4(1,520)|0,e[Cl>>2]=Ql,Do=Ql):Do=ml,n4(Do|0,25784,520)|0,e[Do>>2]=1,uf=na+3460|0,If=e[uf>>2]|0,yl=(If|0)==0,yl||(wl=Do+500|0,e[wl>>2]=1,df=lf+(ls<<2)|0,TA=e[df>>2]|0,Aa=Do+504|0,e[Aa>>2]=TA,kl=cf+(ls<<2)|0,vl=e[kl>>2]|0,Cf=Do+508|0,e[Cf>>2]=vl,mf=gf+(ls<<3)|0,Bf=+o1[mf>>3],pf=Do+512|0,o1[pf>>3]=Bf)),Qf=(j+3528|0)+(n<<5)|0,yf=+o1[Qf>>3],GA=b6+32|0,bl=e[GA>>2]|0,NA=b6+36|0,wf=e[NA>>2]|0,_l=b6+44|0,kf=e[_l>>2]|0,JC(t,yf,0,bl,wf,kf),Rl=j+3560|0,vf=+o1[Rl>>3],Sf=e[GA>>2]|0,xl=e[NA>>2]|0,oa=b6+52|0,bf=e[oa>>2]|0,JC(t,vf,1,Sf,xl,bf),G7||(UA=j+3592|0,_f=+o1[UA>>3],OA=e[GA>>2]|0,Rf=e[NA>>2]|0,aa=e[oa>>2]|0,JC(t,_f,2,OA,Rf,aa),xf=j+3624|0,Ff=+o1[xf>>3],Lf=e[GA>>2]|0,Fl=e[NA>>2]|0,Tf=b6+48|0,Gf=e[Tf>>2]|0,JC(t,Ff,3,Lf,Fl,Gf)),Nf=((j+3528|0)+(n<<5)|0)+24|0,Ll=+o1[Nf>>3],Ml=b6+80|0,er=e[Ml>>2]|0,Tl=b6+84|0,PA=e[Tl>>2]|0,$a=~~Ll,la=+($a|0),Gl=Ll-la,cn=e[l0>>2]|0,Uf=cn+2852|0,Nl=e[Uf>>2]|0,Of=PA+($a<<3)|0,Pf=+o1[Of>>3],Hf=1-Gl,qf=Pf*Hf,HA=$a+1|0,ca=PA+(HA<<3)|0,Yf=+o1[ca>>3],Jf=Yf*Gl,Ul=Jf+qf,ga=~~Ul,Ol=+(ga|0),Pl=Ul-Ol,Kf=Pl==0,Hl=(ga|0)>0,CB=Hl&Kf,a=CB?1:Pl,Vf=CB<<31>>31,L=Vf+ga|0,ha=1-a,Zf=L+1|0,ih=0;O9=(er+(L*160|0)|0)+(ih<<2)|0,Wf=e[O9>>2]|0,ql=+(Wf|0),jf=ql*ha,Xf=(er+(Zf*160|0)|0)+(ih<<2)|0,fa=e[Xf>>2]|0,eu=+(fa|0),ua=eu*a,Yl=ua+jf,iu=Yl,Jl=(Nl+336|0)+(ih<<2)|0,s[Jl>>2]=iu,Kl=ih+1|0,vQ=(Kl|0)==40,!vQ;)ih=Kl;for(ru=j+3584|0,Ia=+o1[ru>>3],da=~~Ia,Vl=+(da|0),zl=Ia-Vl,nu=cn+2856|0,Zl=e[nu>>2]|0,su=PA+(da<<3)|0,Wl=+o1[su>>3],Au=1-zl,ou=Wl*Au,au=da+1|0,$u=PA+(au<<3)|0,jl=+o1[$u>>3],Xl=jl*zl,Ca=Xl+ou,qA=~~Ca,lu=+(qA|0),tc=Ca-lu,ic=tc==0,cu=(qA|0)>0,mB=cu&ic,c=mB?1:tc,gu=mB<<31>>31,M=gu+qA|0,hu=1-c,rc=M+1|0,rh=0;fu=(er+(M*160|0)|0)+(rh<<2)|0,uu=e[fu>>2]|0,Iu=+(uu|0),Eu=Iu*hu,Cu=(er+(rc*160|0)|0)+(rh<<2)|0,nc=e[Cu>>2]|0,mu=+(nc|0),sc=mu*c,Bu=sc+Eu,gn=Bu,pu=(Zl+336|0)+(rh<<2)|0,s[pu>>2]=gn,Ac=rh+1|0,SQ=(Ac|0)==40,!SQ;)rh=Ac;if(!G7){for(Qu=j+3616|0,ma=+o1[Qu>>3],yu=b6+88|0,YA=e[yu>>2]|0,Ba=~~ma,wu=+(Ba|0),pa=ma-wu,ac=cn+2860|0,ku=e[ac>>2]|0,vu=YA+(Ba<<3)|0,Su=+o1[vu>>3],bu=1-pa,$c=Su*bu,_u=Ba+1|0,Ru=YA+(_u<<3)|0,xu=+o1[Ru>>3],JA=xu*pa,gs=JA+$c,Qa=~~gs,Fu=+(Qa|0),ya=gs-Fu,Mu=ya==0,Tu=(Qa|0)>0,BB=Tu&Mu,f=BB?1:ya,lc=BB<<31>>31,T=lc+Qa|0,Gu=1-f,Nu=T+1|0,nh=0;Uu=(er+(T*160|0)|0)+(nh<<2)|0,Ou=e[Uu>>2]|0,Pu=+(Ou|0),KA=Pu*Gu,Hu=(er+(Nu*160|0)|0)+(nh<<2)|0,cc=e[Hu>>2]|0,Yu=+(cc|0),Ju=Yu*f,Ku=Ju+KA,Vu=Ku,hi=(ku+336|0)+(nh<<2)|0,s[hi>>2]=Vu,gc=nh+1|0,DQ=(gc|0)==40,!DQ;)nh=gc;for(fi=j+3648|0,hc=+o1[fi>>3],wa=~~hc,jt=+(wa|0),hs=hc-jt,Zu=cn+2864|0,Wu=e[Zu>>2]|0,ju=YA+(wa<<3)|0,Xu=+o1[ju>>3],eI=1-hs,fc=Xu*eI,tI=wa+1|0,iI=YA+(tI<<3)|0,rI=+o1[iI>>3],nI=rI*hs,fs=nI+fc,ka=~~fs,sI=+(ka|0),Ic=fs-sI,AI=Ic==0,oI=(ka|0)>0,pB=oI&AI,E=pB?1:Ic,VA=pB<<31>>31,N=VA+ka|0,aI=1-E,dc=N+1|0,sh=0;Ec=(er+(N*160|0)|0)+(sh<<2)|0,lI=e[Ec>>2]|0,cI=+(lI|0),hn=cI*aI,gI=(er+(dc*160|0)|0)+(sh<<2)|0,hI=e[gI>>2]|0,fn=+(hI|0),fI=fn*E,Cc=fI+hn,II=Cc,us=(Wu+336|0)+(sh<<2)|0,s[us>>2]=II,mc=sh+1|0,bQ=(mc|0)==40,!bQ;)sh=mc}for(dI=((j+3528|0)+(n<<5)|0)+8|0,Bc=+o1[dI>>3],EI=b6+40|0,tr=e[EI>>2]|0,va=~~Bc,CI=+(va|0),pc=Bc-CI,mI=tr+(va<<2)|0,BI=e[mI>>2]|0,yc=+(BI|0),pI=1-pc,QI=yc*pI,yI=va+1|0,wc=tr+(yI<<2)|0,wI=e[wc>>2]|0,Is=+(wI|0),kI=Is*pc,vI=kI+QI,SI=vI,Sa=Nl+32|0,s[Sa>>2]=SI,DI=j+3568|0,Da=+o1[DI>>3],ba=~~Da,bI=+(ba|0),kc=Da-bI,vc=tr+(ba<<2)|0,_I=e[vc>>2]|0,bc=+(_I|0),RI=1-kc,_c=bc*RI,Rc=ba+1|0,xI=tr+(Rc<<2)|0,FI=e[xI>>2]|0,xc=+(FI|0),Fc=xc*kc,LI=Fc+_c,Lc=LI,MI=Zl+32|0,s[MI>>2]=Lc,G7||(TI=j+3600|0,Tc=+o1[TI>>3],_a=~~Tc,Gc=+(_a|0),Nc=Tc-Gc,Uc=cn+2860|0,Oc=e[Uc>>2]|0,GI=tr+(_a<<2)|0,NI=e[GI>>2]|0,OI=+(NI|0),PI=1-Nc,HI=OI*PI,qI=_a+1|0,YI=tr+(qI<<2)|0,Pc=e[YI>>2]|0,Ra=+(Pc|0),JI=Ra*Nc,KI=JI+HI,VI=KI,qc=Oc+32|0,s[qc>>2]=VI,zI=j+3632|0,Yc=+o1[zI>>3],xa=~~Yc,zA=+(xa|0),Jc=Yc-zA,ZI=cn+2864|0,WI=e[ZI>>2]|0,jI=tr+(xa<<2)|0,XI=e[jI>>2]|0,ZA=+(XI|0),ed=1-Jc,td=ZA*ed,id=xa+1|0,rd=tr+(id<<2)|0,nd=e[rd>>2]|0,sd=+(nd|0),Ad=sd*Jc,od=Ad+td,Vc=od,$d=WI+32|0,s[$d>>2]=Vc),ld=((j+3528|0)+(n<<5)|0)+16|0,cd=+o1[ld>>3],WA=b6+76|0,zc=e[WA>>2]|0,gd=b6+60|0,hd=e[gd>>2]|0,In=b6+56|0,Zc=e[In>>2]|0,Sl?jc=0:(Wc=j+3408|0,fd=+o1[Wc>>3],jc=fd),KC(t,cd,0,zc,hd,Zc,jc),ud=j+3576|0,Xc=+o1[ud>>3],eg=e[WA>>2]|0,Id=b6+64|0,dd=e[Id>>2]|0,Ed=e[In>>2]|0,KC(t,Xc,1,eg,dd,Ed,0),G7?(ds=e[l0>>2]|0,Od=ds+2852|0,gg=e[Od>>2]|0,Pd=ds+3496|0,Ta=+o1[Pd>>3],hg=Ta,Hd=gg+4|0,s[Hd>>2]=hg,Yd=ds+3504|0,Jd=+o1[Yd>>3],fg=Jd,Kd=gg+8|0,s[Kd>>2]=fg,Vd=ds+2856|0,ug=e[Vd>>2]|0,io=ug+4|0,s[io>>2]=hg,zd=ug+8|0,s[zd>>2]=fg,ir=ds):(Cd=j+3608|0,md=+o1[Cd>>3],La=e[WA>>2]|0,Bd=b6+68|0,pd=e[Bd>>2]|0,Qd=e[In>>2]|0,KC(t,md,2,La,pd,Qd,0),yd=j+3640|0,tg=+o1[yd>>3],wd=e[WA>>2]|0,ig=b6+72|0,kd=e[ig>>2]|0,vd=e[In>>2]|0,KC(t,tg,3,wd,kd,vd,0),kr=e[l0>>2]|0,ng=kr+2852|0,sg=e[ng>>2]|0,Sd=kr+3496|0,Ag=+o1[Sd>>3],XA=Ag,Dd=sg+4|0,s[Dd>>2]=XA,bd=kr+3504|0,_d=+o1[bd>>3],eo=_d,Rd=sg+8|0,s[Rd>>2]=eo,xd=kr+2856|0,ag=e[xd>>2]|0,Fd=ag+4|0,s[Fd>>2]=XA,Ld=ag+8|0,s[Ld>>2]=eo,Ma=kr+2860|0,to=e[Ma>>2]|0,Md=to+4|0,s[Md>>2]=XA,Td=to+8|0,s[Td>>2]=eo,Gd=kr+2864|0,cg=e[Gd>>2]|0,Nd=cg+4|0,s[Nd>>2]=XA,Ud=cg+8|0,s[Ud>>2]=eo,ir=kr),Zd=+o1[_e>>3],Wd=b6+152|0,Ig=e[Wd>>2]|0,dg=~~Zd,jd=Ig+(dg<<3)|0,Eg=e[jd>>2]|0,Cg=(Ig+(dg<<3)|0)+4|0,yi=e[Cg>>2]|0,mg=e[ir>>2]|0,Xd=ir+4|0,eE=e[Xd>>2]|0,iE=(mg|0)==(eE|0),o=iE?1:2,Ga=ir+8|0,ro=ir+12|0,Bg=t+8|0,pg=t+4|0,Ii=0;;){if(rE=r4(1,3208)|0,no=(ir+544|0)+(Ii<<2)|0,e[no>>2]=rE,Cs=r4(1,16)|0,nE=(ir+32|0)+(Ii<<2)|0,e[nE>>2]=Cs,so=26304+(Ii<<4)|0,e[Cs>>2]=e[so>>2]|0,e[Cs+4>>2]=e[so+4>>2]|0,e[Cs+8>>2]=e[so+8>>2]|0,e[Cs+12>>2]=e[so+12>>2]|0,sE=e[Ga>>2]|0,Ua=(Ii|0)<(sE|0),Ua||(AE=Ii+1|0,e[Ga>>2]=AE),oE=(ir+288|0)+(Ii<<2)|0,e[oE>>2]=0,Qg=e[no>>2]|0,Ao=Eg+(Ii*3208|0)|0,n4(Qg|0,Ao|0,3208)|0,yg=e[ro>>2]|0,aE=(Ii|0)<(yg|0),aE||($E=Ii+1|0,e[ro>>2]=$E),lE=e[Ao>>2]|0,wg=(lE|0)>0,wg)for(im=0;;){gE=((Eg+(Ii*3208|0)|0)+1092|0)+(im<<2)|0,W7=e[gE>>2]|0,y4=e[l0>>2]|0,Xt=S9(2840)|0,hE=(y4+1568|0)+(W7<<2)|0,e[hE>>2]=Xt,kg=(yi+(W7<<5)|0)+12|0,vg=e[kg>>2]|0,n4(Xt|0,vg|0,2840)|0,Oa=y4+20|0,fE=e[Oa>>2]|0,ms=(fE|0)>(W7|0),ms||(uE=W7+1|0,e[Oa>>2]=uE),IE=(yi+(W7<<5)|0)+8|0,Sg=e[IE>>2]|0,Pa=Xt+8|0,e[Pa>>2]=Sg,dE=yi+(W7<<5)|0,Dg=e[dE>>2]|0,bg=(y4+1312|0)+(W7<<2)|0,e[bg>>2]=Dg,_g=y4+3420|0,Ha=e[_g>>2]|0,Rg=(Ha|0)==0,Bs=Xt+12|0,Ya=e[Bs>>2]|0,xg=(Ya|0)>0;do if(Rg){if(xg)for(Fg=(yi+(W7<<5)|0)+24|0,oo=e[Fg>>2]|0,mE=Xt+24|0,wo=0;;)if(sr=mE+(wo<<2)|0,Cn=oo+(wo<<4)|0,bt=e[Cn>>2]|0,_t=(bt|0)==0,_t||(Rt=e[sr>>2]|0,go=Rt|1,e[sr>>2]=go),ho=(oo+(wo<<4)|0)+4|0,Yg=e[ho>>2]|0,Jg=(Yg|0)==0,Jg||(v2=e[sr>>2]|0,E5=v2|2,e[sr>>2]=E5),r5=(oo+(wo<<4)|0)+8|0,x2=e[r5>>2]|0,R2=(x2|0)==0,R2||(B2=e[sr>>2]|0,C5=B2|4,e[sr>>2]=C5),u5=(oo+(wo<<4)|0)+12|0,b5=e[u5>>2]|0,N5=(b5|0)==0,N5||(_5=e[sr>>2]|0,H2=_5|8,e[sr>>2]=H2),I5=wo+1|0,A5=e[Bs>>2]|0,l5=(I5|0)<(A5|0),l5)wo=I5;else{Co=A5;break}else Co=Ya;fo=(yi+(W7<<5)|0)+16|0,e$=e[fo>>2]|0,xt=y4+24|0,br=e[xt>>2]|0,t$=(br|0)>0,HE=e$;e:do if(t$)for(IC=0;;){if(i$=(y4+1824|0)+(IC<<2)|0,qE=e[i$>>2]|0,r$=(qE|0)==(e$|0),r$){_=IC;break e}if(Kg=IC+1|0,Io=(Kg|0)<(br|0),Io)IC=Kg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,YE=br+1|0,e[xt>>2]=YE,_=br),JE=Xt+20|0,e[JE>>2]=_,KE=(y4+1824|0)+(_<<2)|0,e[KE>>2]=HE,mn=(Co|0)>0,!mn)break;for(Ke=(yi+(W7<<5)|0)+24|0,v4=Xt+280|0,Fr=0,u$=0;;){if(Vg=e[Ke>>2]|0,VE=Vg+(u$<<4)|0,n$=e[VE>>2]|0,zg=(n$|0)==0,zE=n$,zg)ws=Vg,sC=Fr;else{mo=e[xt>>2]|0,WE=(mo|0)>0;e:do if(WE)for(cC=0;;){if(jE=(y4+1824|0)+(cC<<2)|0,XE=e[jE>>2]|0,eC=(XE|0)==(n$|0),eC){x=cC;break e}if(Zg=cC+1|0,tC=(Zg|0)<(mo|0),tC)cC=Zg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,iC=mo+1|0,e[xt>>2]=iC,x=mo),rC=Fr+1|0,ei=v4+(Fr<<2)|0,e[ei>>2]=x,Bn=(y4+1824|0)+(x<<2)|0,e[Bn>>2]=zE,n0=e[Ke>>2]|0,ws=n0,sC=rC}if(s$=(ws+(u$<<4)|0)+4|0,ks=e[s$>>2]|0,j7=(ks|0)==0,vs=ks,j7)E2=ws,Y4=sC;else{K1=e[xt>>2]|0,P1=(K1|0)>0;e:do if(P1)for(aC=0;;){if(H1=(y4+1824|0)+(aC<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(ks|0),j1){D=aC;break e}if(r2=aC+1|0,W1=(r2|0)<(K1|0),W1)aC=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,O1=K1+1|0,e[xt>>2]=O1,D=K1),l2=sC+1|0,z1=v4+(sC<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=vs,i0=e[Ke>>2]|0,E2=i0,Y4=l2}if(s2=(E2+(u$<<4)|0)+8|0,V1=e[s2>>2]|0,g2=(V1|0)==0,a2=V1,g2)_2=E2,g$=Y4;else{t2=e[xt>>2]|0,$2=(t2|0)>0;e:do if($2)for($C=0;;){if(i2=(y4+1824|0)+($C<<2)|0,o2=e[i2>>2]|0,X1=(o2|0)==(V1|0),X1){Q=$C;break e}if(n2=$C+1|0,u2=(n2|0)<(t2|0),u2)$C=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[xt>>2]=y2,Q=t2),S2=Y4+1|0,w2=v4+(Y4<<2)|0,e[w2>>2]=Q,m2=(y4+1824|0)+(Q<<2)|0,e[m2>>2]=a2,K=e[Ke>>2]|0,_2=K,g$=S2}if(M2=(_2+(u$<<4)|0)+12|0,G2=e[M2>>2]|0,I2=(G2|0)==0,J2=G2,I2)hB=g$;else{N2=e[xt>>2]|0,T2=(N2|0)>0;e:do if(T2)for(lC=0;;){if(O2=(y4+1824|0)+(lC<<2)|0,K2=e[O2>>2]|0,s5=(K2|0)==(G2|0),s5){b=lC;break e}if(P2=lC+1|0,T1=(P2|0)<(N2|0),T1)lC=P2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,j2=N2+1|0,e[xt>>2]=j2,b=N2),x5=g$+1|0,X2=v4+(g$<<2)|0,e[X2>>2]=b,D5=(y4+1824|0)+(b<<2)|0,e[D5>>2]=J2,hB=x5}if(k5=u$+1|0,O5=e[Bs>>2]|0,$5=(k5|0)<(O5|0),$5)Fr=hB,u$=k5;else break}}else{if(xg)for(EE=(yi+(W7<<5)|0)+28|0,dn=e[EE>>2]|0,CE=Xt+24|0,yo=0;;)if(wi=CE+(yo<<2)|0,BE=dn+(yo<<4)|0,pE=e[BE>>2]|0,QE=(pE|0)==0,QE||(yE=e[wi>>2]|0,wE=yE|1,e[wi>>2]=wE),kE=(dn+(yo<<4)|0)+4|0,ki=e[kE>>2]|0,vE=(ki|0)==0,vE||(n6=e[wi>>2]|0,t3=n6|2,e[wi>>2]=t3),A3=(dn+(yo<<4)|0)+8|0,x3=e[A3>>2]|0,h6=(x3|0)==0,h6||(p3=e[wi>>2]|0,Q3=p3|4,e[wi>>2]=Q3),i6=(dn+(yo<<4)|0)+12|0,W3=e[i6>>2]|0,U3=(W3|0)==0,U3||(V5=e[wi>>2]|0,v3=V5|8,e[wi>>2]=v3),c3=yo+1|0,O3=e[Bs>>2]|0,$6=(c3|0)<(O3|0),$6)yo=c3;else{Hg=O3;break}else Hg=Ya;SE=(yi+(W7<<5)|0)+20|0,Mg=e[SE>>2]|0,ui=y4+24|0,ao=e[ui>>2]|0,Ja=(ao|0)>0,Tg=Mg;e:do if(Ja)for(oC=0;;){if(Gg=(y4+1824|0)+(oC<<2)|0,bE=e[Gg>>2]|0,Ng=(bE|0)==(Mg|0),Ng){B=oC;break e}if(Ug=oC+1|0,_E=(Ug|0)<(ao|0),_E)oC=Ug;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Pg=ao+1|0,e[ui>>2]=Pg,B=ao),xE=Xt+20|0,e[xE>>2]=B,FE=(y4+1824|0)+(B<<2)|0,e[FE>>2]=Tg,LE=(Hg|0)>0,!LE)break;for(ps=(yi+(W7<<5)|0)+28|0,$o=Xt+280|0,Rs=0,h$=0;;){if(lo=e[ps>>2]|0,ME=lo+(h$<<4)|0,Ka=e[ME>>2]|0,GE=(Ka|0)==0,qg=Ka,GE)ys=lo,yn=Rs;else{Qs=e[ui>>2]|0,NE=(Qs|0)>0;e:do if(NE)for(uC=0;;){if(UE=(y4+1824|0)+(uC<<2)|0,Va=e[UE>>2]|0,za=(Va|0)==(Ka|0),za){y=uC;break e}if(co=uC+1|0,Za=(co|0)<(Qs|0),Za)uC=co;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,Wa=Qs+1|0,e[ui>>2]=Wa,y=Qs),Sr=Rs+1|0,Dr=$o+(Rs<<2)|0,e[Dr>>2]=y,ja=(y4+1824|0)+(y<<2)|0,e[ja>>2]=qg,H=e[ps>>2]|0,ys=H,yn=Sr}if(Xa=(ys+(h$<<4)|0)+4|0,nr=e[Xa>>2]|0,En=(nr|0)==0,OE=nr,En)R5=ys,pn=yn;else{m5=e[ui>>2]|0,M1=(m5|0)>0;e:do if(M1)for(gC=0;;){if(c5=(y4+1824|0)+(gC<<2)|0,o5=e[c5>>2]|0,z2=(o5|0)==(nr|0),z2){v=gC;break e}if(c2=gC+1|0,B5=(c2|0)<(m5|0),B5)gC=c2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,e5=m5+1|0,e[ui>>2]=e5,v=m5),n5=yn+1|0,g5=$o+(yn<<2)|0,e[g5>>2]=v,Y2=(y4+1824|0)+(v<<2)|0,e[Y2>>2]=OE,V=e[ps>>2]|0,R5=V,pn=n5}if(h5=(R5+(h$<<4)|0)+8|0,W2=e[h5>>2]|0,a5=(W2|0)==0,F2=W2,a5)f3=R5,Qn=pn;else{p5=e[ui>>2]|0,H5=(p5|0)>0;e:do if(H5)for(hC=0;;){if(X5=(y4+1824|0)+(hC<<2)|0,d5=e[X5>>2]|0,u3=(d5|0)==(W2|0),u3){S=hC;break e}if(h3=hC+1|0,e3=(h3|0)<(p5|0),e3)hC=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=p5+1|0,e[ui>>2]=n3,S=p5),C3=pn+1|0,L5=$o+(pn<<2)|0,e[L5>>2]=S,K5=(y4+1824|0)+(S<<2)|0,e[K5>>2]=F2,o0=e[ps>>2]|0,f3=o0,Qn=C3}if(w3=(f3+(h$<<4)|0)+12|0,B3=e[w3>>2]|0,K3=(B3|0)==0,T3=B3,K3)L9=Qn;else{y3=e[ui>>2]|0,W5=(y3|0)>0;e:do if(W5)for(fC=0;;){if(t6=(y4+1824|0)+(fC<<2)|0,R3=e[t6>>2]|0,G3=(R3|0)==(B3|0),G3){w=fC;break e}if(o3=fC+1|0,$3=(o3|0)<(y3|0),$3)fC=o3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,l3=y3+1|0,e[ui>>2]=l3,w=y3),m3=Qn+1|0,q5=$o+(Qn<<2)|0,e[q5>>2]=w,P5=(y4+1824|0)+(w<<2)|0,e[P5>>2]=T3,L9=m3}if(w5=h$+1|0,N3=e[Bs>>2]|0,M5=(w5|0)<(N3|0),M5)Rs=L9,h$=w5;else break}}while(!1);Wg=y4+3480|0,jg=+o1[Wg>>3],po=jg*1e3,Ss=(y4+1056|0)+(Ii<<2)|0,bs=e[Ss>>2]|0,nC=e[Bg>>2]|0,_s=+(nC|0),Ar=_s*.5,Xg=y4+(Ii<<2)|0,_r=e[Xg>>2]|0,ti=_r>>1,A$=po>Ar,uB=A$?Ar:po,o$=uB/Ar,Pi=+(ti|0),$$=Pi*o$,l$=~~$$,Rr=bs+1116|0,e[Rr>>2]=l$,o6=(yi+(W7<<5)|0)+4|0,Qo=e[o6>>2]|0;do if((Qo|0)==2)th=250;else if((Qo|0)==1){if(xr=e[_g>>2]|0,eh=(xr|0)==0,ye=y4+2996|0,c$=y4+2968|0,UQ=eh?c$:ye,NQ=e[UQ>>2]|0,GQ=+(NQ|0),IB=GQ*1e3,B8=IB>Ar,!B8){th=IB;break}th=Ar}else th=uB;while(!1);f0=e[bg>>2]|0,Q0=(f0|0)==2;do if(Q0){if(d0=y4+12|0,w0=e[d0>>2]|0,h0=(w0|0)>0,h0)for(tm=0;;){if(E0=(y4+544|0)+(tm<<2)|0,C0=e[E0>>2]|0,I0=e[C0>>2]|0,v0=(I0|0)>0,v0)for(EC=0;;){K0=(C0+1092|0)+(EC<<2)|0,m0=e[K0>>2]|0,F0=(m0|0)==(W7|0);do if(F0){if(L0=e[pg>>2]|0,T0=(L0|0)>0,T0)fB=0,nm=0;else{AC=0;break}for(;;)if(U0=(C0+4|0)+(nm<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)==(EC|0),x0=q0&1,P=x0+fB|0,D0=nm+1|0,kQ=(D0|0)==(L0|0),kQ){AC=P;break}else fB=P,nm=D0}else AC=0;while(!1);if(M0=EC+1|0,Y0=(M0|0)<(I0|0),O0=(AC|0)==0,z0=Y0&O0,z0)EC=M0;else{jC=AC;break}}else jC=0;if(G0=tm+1|0,P0=(G0|0)<(w0|0),r1=(jC|0)==0,H0=P0&r1,H0)tm=G0;else{WC=jC;break}}else WC=0;if(e1=th/Ar,S0=+(WC|0),i1=S0*Pi,$1=i1*e1,f1=e[Pa>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=i5(a1,f1)|0,A1=Xt+4|0,e[A1>>2]=n1,Z0=i5(WC,ti)|0,I1=(n1|0)>(Z0|0),!I1){U=A1,Z1=n1,D1=f1;break}E1=(Z0|0)%(f1|0)&-1,u1=Z0-E1|0,e[A1>>2]=u1,U=A1,Z1=u1,D1=f1}else{if(d1=th/Ar,B1=d1*Pi,p1=e[Pa>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,y1=~~x1,S1=i5(y1,p1)|0,L1=Xt+4|0,e[L1>>2]=S1,N1=(S1|0)>(ti|0),!N1){U=L1,Z1=S1,D1=p1;break}w1=(ti|0)%(p1|0)&-1,U1=ti-w1|0,e[L1>>2]=U1,U=L1,Z1=U1,D1=p1}while(!1);if(G1=(Z1|0)==0,G1&&(e[U>>2]=D1),I3=im+1|0,k6=e[Ao>>2]|0,v6=(I3|0)<(k6|0),v6)im=I3;else break}if(B6=Ii+1|0,j3=(B6|0)<(o|0),j3)Ii=B6;else break}return l6=j+3428|0,p6=e[l6>>2]|0,_6=(p6|0)>0,_6?(q6=t+16|0,e[q6>>2]=p6):(C6=e[l0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,f6=C6+3400|0,P3=+o1[f6>>3],D3=~~P3,H3=+(D3|0),V3=P3-H3,S6=e6+4|0,s6=e[S6>>2]|0,i3=(s6|0)==0,i3?p=-1:(O6=e[pg>>2]|0,u6=s6+(D3<<3)|0,b3=+o1[u6>>3],T6=1-V3,r6=b3*T6,Q6=D3+1|0,R6=s6+(Q6<<3)|0,J6=+o1[R6>>3],I6=J6*V3,Y6=I6+r6,F3=+(O6|0),G6=Y6*F3,OQ=~~G6,p=OQ),j6=t+16|0,e[j6>>2]=p),r9=j+3424|0,x6=e[r9>>2]|0,N6=t+20|0,e[N6>>2]=x6,D6=j+3440|0,K6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=K6,F6=(p6|0)==0,F6?s0=0:(L3=j+3444|0,X6=e[L3>>2]|0,A9=+(X6|0),W6=+(p6|0),h9=A9/W6,f9=~~h9,s0=f9),u9=t+24|0,e[u9>>2]=s0,o9=j+3420|0,a9=e[o9>>2]|0,T9=(a9|0)==0,T9?(C=0,C|0):(d6=e[l6>>2]|0,e9=j+3360|0,e[e9>>2]=d6,G9=e[r9>>2]|0,I9=j+3364|0,e[I9>>2]=G9,E4=e[D6>>2]|0,s4=j+3368|0,e[s4>>2]=E4,g4=j+3444|0,N9=e[g4>>2]|0,z9=j+3372|0,e[z9>>2]=N9,D9=j+3448|0,d9=+o1[D9>>3],t9=j+3376|0,o1[t9>>3]=d9,C4=j+3432|0,S4=+o1[C4>>3],A4=j+3384|0,o1[A4>>3]=S4,C=0,C|0)}function US(t,n,o,a){t=t|0,n=n|0,o=o|0,a=+a;var c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0;if(P=m,I=(o|0)<1,I)f=-131;else if(C=t+28|0,Q=e[C>>2]|0,b=a,x=b+1e-7,_=x,F=!(_>=1),E=F?_:.9998999834060669,L=Q+3416|0,s[L>>2]=E,M=E,T=Q+3400|0,p=OS(n,o,M,0,T)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return PS(t,n,o),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=NS(t)|0,D=(y|0)==0,D?(c=0,c|0):(rB(t),c=y,c|0);return rB(t),c=f,c|0}function JC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0;for(B1=m,E=~~n,I=+(E|0),x=n-I,J=t+28|0,i0=e[J>>2]|0,d0=(i0+2852|0)+(o<<2)|0,L0=e[d0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),C=1-x,p=h1*C,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*x,D=y+p,Q=D,b=L0+12|0,s[b>>2]=Q,_=(a+(E*20|0)|0)+4|0,F=e[_>>2]|0,L=+(F|0),M=L*C,T=(a+(B*20|0)|0)+4|0,N=e[T>>2]|0,P=+(N|0),z=P*x,Y=z+M,t0=Y,W=L0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,H=e[e0>>2]|0,X=+(H|0),U=X*C,a0=(a+(B*20|0)|0)+8|0,Z=e[a0>>2]|0,V=+(Z|0),o0=V*x,n0=o0+U,r0=n0,K=L0+20|0,s[K>>2]=r0,c0=(a+(E*20|0)|0)+12|0,s0=+s[c0>>2],l0=s0,j=l0*C,$0=(a+(B*20|0)|0)+12|0,g0=+s[$0>>2],f0=g0,Q0=f0*x,w0=Q0+j,h0=w0,E0=L0+24|0,s[E0>>2]=h0,C0=(a+(E*20|0)|0)+16|0,I0=+s[C0>>2],v0=I0,K0=v0*C,b0=(a+(B*20|0)|0)+16|0,m0=+s[b0>>2],F0=m0,T0=F0*x,U0=T0+K0,B0=U0,q0=L0+28|0,s[q0>>2]=B0,x0=c+(E<<2)|0,D0=e[x0>>2]|0,M0=+(D0|0),J0=M0*C,Y0=c+(B<<2)|0,O0=e[Y0>>2]|0,G0=+(O0|0),P0=G0*x,r1=P0+J0,H0=r1,e1=L0+496|0,s[e1>>2]=H0,u1=0;S0=(f+(E*68|0)|0)+(u1<<2)|0,i1=e[S0>>2]|0,c1=+(i1|0),$1=c1*C,f1=(f+(B*68|0)|0)+(u1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*x,n1=a1+$1,A1=n1,Z0=(L0+36|0)+(u1<<2)|0,s[Z0>>2]=A1,I1=u1+1|0,E1=(I1|0)==17,!E1;)u1=I1}function KC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;for(w2=m,w=~~n,y=+(w|0),a0=n-y,j=t+28|0,v0=e[j>>2]|0,D0=(v0+2852|0)+(o<<2)|0,S0=e[D0>>2]|0,Z0=a+(w<<2)|0,y1=e[Z0>>2]|0,P1=+(y1|0),D=1-a0,z=P1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*a0,H=e0+z,X=H,U=S0+108|0,s[U>>2]=X,Z=f+(o*12|0)|0,V=e[Z>>2]|0,o0=S0+120|0,e[o0>>2]=V,n0=(f+(o*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=S0+124|0,e[r0>>2]=i0,K=(f+(o*12|0)|0)+8|0,c0=e[K>>2]|0,s0=S0+128|0,e[s0>>2]=c0,t2=0;;)if(l0=(c+(w*204|0)|0)+(t2<<2)|0,$0=e[l0>>2]|0,g0=+($0|0),f0=g0*D,Q0=(c+(Y*204|0)|0)+(t2<<2)|0,d0=e[Q0>>2]|0,w0=+(d0|0),h0=w0*a0,E0=h0+f0,C0=E0,I0=(S0+132|0)+(t2<<2)|0,s[I0>>2]=C0,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,F1=+(S1|0),L1=F1*D,N1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,w1=e[N1>>2]|0,U1=+(w1|0),Z1=U1*a0,G1=Z1+L1,D1=G1,K1=(S0+200|0)+($2<<2)|0,s[K1>>2]=D1,H1=$2+1|0,g2=(H1|0)==17,g2){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,O1=e[W1>>2]|0,l2=+(O1|0),z1=l2*a0,f2=z1+r2,Q=f2,b=(S0+268|0)+(i2<<2)|0,s[b>>2]=Q,x=i2+1|0,a2=(x|0)==17,!a2;)i2=x;for(_=S0+132|0,F=+s[_>>2],B0=F+6,L=S0+132|0,M=F,T=M+E,N=T,P=N>2]=y2,b0=1;I=(S0+132|0)+(b0<<2)|0,B=+s[I>>2],m0=(S0+132|0)+(b0<<2)|0,F0=B,L0=F0+E,T0=L0,U0=T0>2]=o2,q0=b0+1|0,s2=(q0|0)==17,!s2;)b0=q0;for(x0=S0+200|0,M0=+s[x0>>2],J0=M0+6,Y0=S0+200|0,O0=M0,z0=O0+E,G0=z0,P0=G0>2]=n2,r1=1;C=(S0+200|0)+(r1<<2)|0,v=+s[C>>2],H0=(S0+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=S0+268|0,l1=+s[g1>>2],s1=l1+6,a1=S0+268|0,n1=l1,A1=n1+E,I1=A1,h1=I1>2]=e2,E1=1;p=(S0+268|0)+(E1<<2)|0,S=+s[p>>2],u1=(S0+268|0)+(E1<<2)|0,d1=S,B1=d1+E,p1=B1,Q1=p1>2]=u2,R1=E1+1|0,A2=(R1|0)==17,!A2;)E1=R1}function OS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0;Q1=m,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,a0=(U|0)==-1,V=(U|0)==(t|0),u1=a0|V,u1&&(o0=e0+16|0,n0=e[o0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,K=e[r0>>2]|0,c0=(K|0)<(n|0),!c0&&(s0=e[e0>>2]|0,l0=e0+8|0,j=e[l0>>2]|0,g0=+o1[j>>3],f0=g0>o,!f0&&(w0=j+(s0<<3)|0,h0=+o1[w0>>3],E0=h0>2]|0,K0=Z+12|0,M0=e[K0>>2]|0,i1=(M0|0)==-1,s1=(M0|0)==(t|0),d1=i1|s1,d1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(b=Z+20|0,x=e[b>>2]|0,_=(x|0)<(n|0),!_&&(F=e[Z>>2]|0,L=Z+4|0,M=e[L>>2]|0,T=+o1[M>>3],N=P>3],t0=P>Y,!t0))))){E=P,I=F,C=$0,p=M,l1=T;break e}if(A1=I1+1|0,J=26336+(A1<<2)|0,W=(A1|0)==17,W){f=0;break}else $0=J,I1=A1}return f|0}while(!1);C0=(I|0)>0;e:do if(C0)for(v0=l1,E1=0;;){if(I0=!(E>=v0),S=E1+1|0,!I0&&(b0=p+(S<<3)|0,m0=+o1[b0>>3],F0=E>3],v0=v,E1=S}else h1=0;while(!1);return T0=(h1|0)==(I|0),T0?(U0=+(I|0),B0=U0+-.001,B1=B0):(q0=p+(h1<<3)|0,x0=+o1[q0>>3],D0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,O0=+o1[Y0>>3],z0=O0,G0=D0,P0=E-G0,r1=z0-D0,H0=r1,e1=P0/H0,S0=e1,c1=+(h1|0),$1=S0+c1,f1=$1,B1=f1),o1[c>>3]=B1,g1=e[C>>2]|0,f=g1,f|0}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=0;S0=m,I=t+28|0,C=e[I>>2]|0,_=C+3396|0,W=e[_>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,w0=t+8|0,e[w0>>2]=o,T0=C+3456|0,e[T0>>2]=1,G0=C+3460|0,e[G0>>2]=1,r1=C+3400|0,H0=+o1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=C+3472|0,o1[S>>3]=H0,w=C+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,b=e[Q>>2]|0,x=b+(p<<3)|0,F=+o1[x>>3],L=1-v,M=F*L,T=p+1|0,N=b+(T<<3)|0,P=+o1[N>>3],z=P*v,Y=z+M,t0=C+3480|0,o1[t0>>3]=Y,c=T,f=L):(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),a0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,o0=+(V|0),n0=o0*v,i0=n0+a0,K=C+3496|0,o1[K>>3]=i0,c0=W+116|0,s0=e[c0>>2]|0,l0=s0+(p<<2)|0,j=e[l0>>2]|0,$0=+(j|0),g0=$0*f,f0=s0+(c<<2)|0,Q0=e[f0>>2]|0,d0=+(Q0|0),h0=d0*v,E0=h0+g0,C0=C+3504|0,o1[C0>>3]=E0,I0=C+3512|0,o1[I0>>3]=-6,v0=C+3520|0,o1[v0>>3]=H0,K0=C+3528|0,o1[K0>>3]=H0,b0=C+3536|0,o1[b0>>3]=H0,m0=C+3544|0,o1[m0>>3]=H0,F0=C+3552|0,o1[F0>>3]=H0,L0=C+3560|0,o1[L0>>3]=H0,U0=C+3568|0,o1[U0>>3]=H0,B0=C+3576|0,o1[B0>>3]=H0,q0=C+3584|0,o1[q0>>3]=H0,x0=C+3592|0,o1[x0>>3]=H0,D0=C+3600|0,o1[D0>>3]=H0,M0=C+3608|0,o1[M0>>3]=H0,J0=C+3616|0,o1[J0>>3]=H0,Y0=C+3624|0,o1[Y0>>3]=H0,O0=C+3632|0,o1[O0>>3]=H0,z0=C+3640|0,o1[z0>>3]=H0,P0=C+3648|0,o1[P0>>3]=H0}function HS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=(c|0)!=0,C=I?a:0,_=I?f:0,W=n+(C<<2)|0,r0=e[W>>2]|0,w0=520336+(r0<<2)|0,v0=e[w0>>2]|0,K0=n+(_<<2)|0,b0=e[K0>>2]|0,m0=520336+(b0<<2)|0,p=e[m0>>2]|0,B=o+(c<<2)|0,v=e[B>>2]|0,S=o+(C<<2)|0,w=e[S>>2]|0,y=o+(_<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,b=(w|0)/4&-1,x=Q-b|0,F=(w|0)/2&-1,L=x+F|0,M=(v|0)/2&-1,T=M+Q|0,E=(D|0)/-4&-1,N=T+E|0,P=(D|0)/2&-1,z=N+P|0,Y=(x|0)>0,Y?(t0=Q-b|0,J=t0<<2,ne(t|0,0,J|0)|0,L0=x):L0=0,e0=(L0|0)<(L|0),e0)for(H=Q+F|0,X=H-L0|0,U=X-b|0,T0=L0,q0=0;o0=v0+(q0<<2)|0,n0=+s[o0>>2],i0=t+(T0<<2)|0,K=+s[i0>>2],c0=K*n0,s[i0>>2]=c0,s0=T0+1|0,l0=q0+1|0,F0=(l0|0)==(U|0),!F0;)T0=s0,q0=l0;if(a0=(D|0)>1,a0){for(Z=N+1|0,V=(z|0)>(Z|0),B0=N,D0=P;x0=D0+-1|0,f0=p+(x0<<2)|0,Q0=+s[f0>>2],d0=t+(B0<<2)|0,h0=+s[d0>>2],E0=h0*Q0,s[d0>>2]=E0,C0=B0+1|0,I0=(C0|0)<(z|0),I0;)B0=C0,D0=x0;J0=V?z:Z,U0=J0}else U0=N;j=(v|0)>(U0|0),j&&(M0=t+(U0<<2)|0,$0=v-U0|0,g0=$0<<2,ne(M0|0,0,g0|0)|0)}function qS(t,n,o){t=t|0,n=+n,o=+o;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,m=m+64|0,i0=K+32|0,n0=K,a=S9(688)|0,c=a+408|0,rS(c),D=~~n,US(c,t,D,o)|0,z=a+440|0,eS(z),tS(z,553008,553016),X=a+456|0,Rv(X,c)|0,U=a+568|0,bv(X,U)|0,a0=Op(0)|0,WS(a0),Z=jS()|0,Bv(a,Z)|0,V=a+680|0,e[V>>2]=0,o0=a+684|0,e[o0>>2]=0,f=a+360|0,nS(X,z,f,i0,n0)|0,qC(a,f)|0,qC(a,i0)|0,qC(a,n0)|0,E=a+392|0,I=Hp(a,E)|0,C=(I|0)==0,C)return m=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[o0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,b=y+Q|0,x=(b|0)==0,x||(L=e[V>>2]|0,M=Ni(L,b)|0,e[V>>2]=M,T=e[o0>>2]|0,N=M+T|0,P=e[E>>2]|0,Y=e[p>>2]|0,n4(N|0,P|0,Y|0)|0,t0=Y+T|0,e[o0>>2]=t0,J=M+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,n4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[o0>>2]=H),_=Hp(a,E)|0,F=(_|0)==0,!F;);return m=K,a|0}function YS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0;C=m,pv(t)|0,n=t+568|0,_v(n)|0,o=t+456|0,Kp(o),a=t+440|0,iS(a),c=t+408|0,rB(c),f=t+680|0,E=e[f>>2]|0,d2(E),d2(t)}function JS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0;return f=m,o=t+456|0,a=Vp(o,n)|0,a|0}function KS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,o=t+456|0,xv(o,n)|0,a=t+568|0,y=zp(o,a)|0,P=(y|0)==1,!!P)for(a0=t+360|0,Z=t+392|0,V=t+684|0,o0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(kv(a,0)|0,Dv(a)|0,C=Jp(o,a0)|0,p=(C|0)==0,!p)for(;;){if(qC(t,a0)|0,S=qp(t,Z)|0,w=(S|0)==0,!w)for(;D=e[V>>2]|0,Q=e[o0>>2]|0,b=Q+D|0,x=e[n0>>2]|0,_=b+x|0,F=(_|0)==0,F||(T=e[i0>>2]|0,N=Ni(T,_)|0,e[i0>>2]=N,z=e[V>>2]|0,Y=N+z|0,t0=e[c>>2]|0,J=e[o0>>2]|0,n4(Y|0,t0|0,J|0)|0,W=J+z|0,e[V>>2]=W,e0=N+W|0,H=e[f>>2]|0,X=e[n0>>2]|0,n4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),L=qp(t,Z)|0,M=(L|0)==0,!M;);if(B=Jp(o,a0)|0,v=(B|0)==0,v)break}if(E=zp(o,a)|0,I=(E|0)==1,!I)break}}function VS(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+684|0,o=e[n>>2]|0,o|0}function zS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;return f=m,n=t+684|0,e[n>>2]=0,o=t+680|0,a=e[o>>2]|0,a|0}function VC(t,n){t=+t,n=n|0;var o=0,a=0,c=0;return c=m,o=+ZS(t,n),+o}function xh(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0;if(x3=m,m=m+688|0,t3=x3+424|0,J5=x3+192|0,W5=x3,X=i5(o,n)|0,U=(X|0)==0,U){m=x3;return}for(J=X-o|0,q1=W5+4|0,e[q1>>2]=o,e[W5>>2]=o,e2=o,f5=o,w3=2;A2=e2+o|0,T2=A2+f5|0,F5=W5+(w3<<2)|0,e[F5>>2]=T2,v5=T2>>>0>>0,t5=w3+1|0,v5;)y2=f5,f5=T2,w3=t5,e2=y2;if(a0=0-o|0,j=t+J|0,v0=(J|0)>0,v0)for(D0=(o|0)==0,S0=j,y1=1,K2=0,L5=t,U5=1;;){Z0=y1&3,K1=(Z0|0)==3;do if(K1){e[J5>>2]=L5,P1=(U5|0)>1;e:do if(P1){for(B=U5,Q=L5,O1=L5,z5=1;;){if(H1=Q+a0|0,Y1=B+-2|0,j1=W5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+o|0,W=0-M5|0,W1=Q+W|0,l2=ft[a&15](O1,W1)|0,z1=(l2|0)>-1,z1&&(f2=ft[a&15](O1,H1)|0,s2=(f2|0)>-1,s2)){f3=z5;break}if(E2=ft[a&15](W1,H1)|0,V1=(E2|0)>-1,g2=z5+1|0,a2=J5+(z5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,C=t2):(e[a2>>2]=H1,f=H1,C=Y1),$2=(C|0)>1,!$2){f3=g2;break}P=e[J5>>2]|0,B=C,Q=f,O1=P,z5=g2}if(i2=(f3|0)<2,!i2&&(o2=J5+(f3<<2)|0,e[o2>>2]=t3,!D0))for(y=o,N2=t3;;){for(I2=y>>>0>256,n2=I2?256:y,J2=e[J5>>2]|0,n4(N2|0,J2|0,n2|0)|0,_2=J2,K3=0;S2=J5+(K3<<2)|0,w2=K3+1|0,m2=J5+(w2<<2)|0,M2=e[m2>>2]|0,n4(_2|0,M2|0,n2|0)|0,G2=_2+n2|0,e[S2>>2]=G2,e3=(w2|0)==(f3|0),!e3;)_2=M2,K3=w2;if(X1=(y|0)==(n2|0),X1)break e;u2=y-n2|0,Y=e[o2>>2]|0,y=u2,N2=Y}}while(!1);q2=y1>>>2,O2=K2<<30,s5=q2|O2,P2=K2>>>2,T1=U5+2|0,r0=s5,D1=P2,P5=T1}else{if(j2=U5+-1|0,x5=W5+(j2<<2)|0,X2=e[x5>>2]|0,D5=L5,V2=S0-D5|0,k5=X2>>>0>>0,k5){e[J5>>2]=L5,O5=(U5|0)>1;e:do if(O5){for(v=U5,b=L5,R2=L5,y3=1;;){if($5=b+a0|0,v2=v+-2|0,E5=W5+(v2<<2)|0,r5=e[E5>>2]|0,n6=r5+o|0,e0=0-n6|0,x2=b+e0|0,B2=ft[a&15](R2,x2)|0,C5=(B2|0)>-1,C5&&(u5=ft[a&15](R2,$5)|0,b5=(u5|0)>-1,b5)){B3=y3;break}if(N5=ft[a&15](x2,$5)|0,_5=(N5|0)>-1,H2=y3+1|0,I5=J5+(y3<<2)|0,_5?(e[I5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[I5>>2]=$5,E=$5,p=v2),l5=(p|0)>1,!l5){B3=H2;break}z=e[J5>>2]|0,v=p,b=E,R2=z,y3=H2}if(m5=(B3|0)<2,!m5&&(M1=J5+(B3<<2)|0,e[M1>>2]=t3,!D0))for(D=o,W2=t3;;){for(h5=D>>>0>256,o5=h5?256:D,R5=e[J5>>2]|0,n4(W2|0,R5|0,o5|0)|0,g5=R5,T3=0;c2=J5+(T3<<2)|0,B5=T3+1|0,e5=J5+(B5<<2)|0,n5=e[e5>>2]|0,n4(g5|0,n5|0,o5|0)|0,Y2=g5+o5|0,e[c2>>2]=Y2,n3=(B5|0)==(B3|0),!n3;)g5=n5,T3=B5;if(c5=(D|0)==(o5|0),c5)break e;z2=D-o5|0,t0=e[M1>>2]|0,D=z2,W2=t0}}while(!1)}else zC(L5,o,a,y1,K2,U5,0,W5);if(a5=(U5|0)==1,a5){F2=K2<<1,p5=y1>>>31,H5=p5|F2,X5=y1<<1,r0=X5,D1=H5,P5=0;break}else{d5=j2>>>0>31,u3=U5+-33|0,c=d5?0:y1,x=d5?y1:K2,_=d5?u3:j2,h3=x<<_,Z=32-_|0,V=c>>>Z,o0=V|h3,n0=c<<_,r0=n0,D1=o0,P5=1;break}}while(!1);if(i0=r0|1,K=L5+o|0,c0=K>>>0>>0,c0)y1=i0,K2=D1,L5=K,U5=P5;else{M=D1,T=i0,C3=K,q5=P5;break}}else M=0,T=1,C3=t,q5=1;if(zC(C3,o,a,T,M,q5,0,W5),s0=(q5|0)==1,l0=(T|0)==1,m3=l0&s0,$0=(M|0)==0,l3=$0&m3,l3){m=x3;return}else Q0=T,m0=M,K5=C3,w5=q5;for(;;){if(g0=(w5|0)<2,!g0){P0=m0<<2,r1=Q0>>>30,H0=r1|P0,e1=w5+-2|0,i1=Q0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,N3=a1+o|0,H=0-N3|0,n1=K5+H|0,A1=w5+-1|0,zC(n1,o,a,g1,l1,A1,1,W5),I1=l1<<1,h1=r1&1,E1=I1|h1,u1=g1<<1,d1=u1|1,B1=K5+a0|0,zC(B1,o,a,d1,E1,e1,1,W5),Q0=d1,m0=E1,K5=B1,w5=e1;continue}f0=Q0+-1|0,d0=(f0|0)==0;do if(d0)G0=32,A3=56;else{if(w0=f0&1,h0=(w0|0)==0,h0){for(S=f0,t6=0;;)if(E0=t6+1|0,C0=S>>>1,I0=C0&1,K0=(I0|0)==0,K0)S=C0,t6=E0;else{F=E0;break}b0=(F|0)==0,b0?A3=51:Y0=F}else A3=51;if((A3|0)==51){if(A3=0,F0=(m0|0)==0,F0){G0=64,A3=56;break}if(L0=m0&1,T0=(L0|0)==0,T0)w=m0,R3=0;else{I=0,Q1=Q0,S1=m0,w1=0;break}for(;;)if(U0=R3+1|0,B0=w>>>1,q0=B0&1,x0=(q0|0)==0,x0)w=B0,R3=U0;else{L=U0,G3=R3;break}if(M0=G3+33|0,J0=(L|0)==0,J0){I=0,Q1=Q0,S1=m0,w1=0;break}else Y0=M0}O0=Y0>>>0>31,O0?(G0=Y0,A3=56):(I=Y0,Q1=Q0,S1=m0,w1=Y0)}while(!1);if((A3|0)==56&&(A3=0,z0=G0+-32|0,I=z0,Q1=m0,S1=0,w1=G0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,N1=w1+w5|0,N=K5+a0|0,U1=(N1|0)==1,Z1=(F1|0)==1,o3=Z1&U1,G1=(L1|0)==0,$3=G1&o3,$3)break;Q0=F1,m0=L1,K5=N,w5=N1}m=x3}function zC(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0;B2=m,m=m+720|0,x2=B2+456|0,O2=B2+228|0,T2=B2,e[T2>>2]=t,U=0-n|0,a0=(a|0)!=1,m0=(c|0)!=0,Y0=m0|a0;e:do if(Y0)if($1=I+(f<<2)|0,E1=e[$1>>2]|0,L1=0-E1|0,Y1=t+L1|0,V1=ft[o&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,x=f,N=E,P2=1,R2=18;else for(w=t,M=f,P=E,I0=Y1,P0=c,D5=1,v2=a;;){if(Z=(P|0)==0,$0=(M|0)>1,$5=Z&$0,$5){if(w0=w+U|0,h0=M+-2|0,E0=I+(h0<<2)|0,C0=e[E0>>2]|0,v0=ft[o&15](w0,I0)|0,K0=(v0|0)>-1,K0){v=w,_=M,j2=D5;break e}if(E5=C0+n|0,H=0-E5|0,b0=w+H|0,F0=ft[o&15](b0,I0)|0,L0=(F0|0)>-1,L0){v=w,_=M,j2=D5;break e}}T0=D5+1|0,U0=T2+(D5<<2)|0,e[U0>>2]=I0,B0=v2+-1|0,q0=(B0|0)==0;do if(q0)A1=32,R2=15;else{if(x0=B0&1,D0=(x0|0)==0,D0){for(Q=B0,f5=0;;)if(M0=f5+1|0,J0=Q>>>1,O0=J0&1,z0=(O0|0)==0,z0)Q=J0,f5=M0;else{z=M0;break}G0=(z|0)==0,G0?R2=10:s1=z}else R2=10;if((R2|0)==10){if(R2=0,r1=(P0|0)==0,r1){A1=64,R2=15;break}if(H0=P0&1,e1=(H0|0)==0,e1)b=P0,k5=0;else{p=0,I1=v2,d1=P0,R1=0;break}for(;;)if(S0=k5+1|0,i1=b>>>1,c1=i1&1,f1=(c1|0)==0,f1)b=i1,k5=S0;else{Y=S0,O5=k5;break}if(g1=O5+33|0,l1=(Y|0)==0,l1){p=0,I1=v2,d1=P0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(A1=s1,R2=15):(p=s1,I1=v2,d1=P0,R1=s1)}while(!1);if((R2|0)==15&&(R2=0,n1=A1+-32|0,p=n1,I1=P0,d1=0,R1=A1),Z0=I1>>>p,h1=32-p|0,u1=d1<>>p,Q1=R1+M|0,x1=(B1|0)!=1,y1=(p1|0)!=0,S1=y1|x1,!S1){v=I0,_=Q1,j2=T0;break e}if(t0=e[T2>>2]|0,F1=I+(Q1<<2)|0,N1=e[F1>>2]|0,w1=0-N1|0,U1=I0+w1|0,Z1=ft[o&15](U1,t0)|0,G1=(Z1|0)<1,G1){B=I0,x=Q1,N=0,P2=T0,R2=18;break}else y=I0,M=Q1,P=0,I0=U1,P0=p1,D5=T0,v2=B1,w=y}else B=t,x=f,N=E,P2=1,R2=18;while(!1);if((R2|0)==18)if(D1=(N|0)==0,D1)v=B,_=x,j2=P2;else{m=B2;return}K1=(j2|0)<2;e:do if(!K1&&(P1=T2+(j2<<2)|0,e[P1>>2]=x2,H1=(n|0)==0,!H1))for(L=n,g2=x2;;){for(E2=L>>>0>256,j1=E2?256:L,A2=e[T2>>2]|0,n4(g2|0,A2|0,j1|0)|0,f2=A2,X2=0;W1=T2+(X2<<2)|0,O1=X2+1|0,l2=T2+(O1<<2)|0,z1=e[l2>>2]|0,n4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,s5=(O1|0)==(j2|0),!s5;)f2=z1,X2=O1;if(q1=(L|0)==(j1|0),q1)break e;r2=L-j1|0,e0=e[P1>>2]|0,L=r2,g2=e0}while(!1);e[O2>>2]=v,a2=(_|0)>1;e:do if(a2){for(D=_,T=v,n2=v,V2=1;;){if(t2=T+U|0,$2=D+-2|0,i2=I+($2<<2)|0,o2=e[i2>>2]|0,r5=o2+n|0,X=0-r5|0,X1=T+X|0,u2=ft[o&15](n2,X1)|0,e2=(u2|0)>-1,e2&&(S2=ft[o&15](n2,t2)|0,w2=(S2|0)>-1,w2)){T1=V2;break}if(m2=ft[o&15](X1,t2)|0,M2=(m2|0)>-1,_2=V2+1|0,G2=O2+(V2<<2)|0,M2?(e[G2>>2]=X1,I2=D+-1|0,C=X1,S=I2):(e[G2>>2]=t2,C=t2,S=$2),J2=(S|0)>1,!J2){T1=_2;break}J=e[O2>>2]|0,D=S,T=C,n2=J,V2=_2}if(N2=(T1|0)<2,N2)d0=x2;else if(q2=O2+(T1<<2)|0,e[q2>>2]=x2,V=(n|0)==0,V)d0=x2;else for(F=n,Q0=x2;;){for(g0=F>>>0>256,n0=g0?256:F,f0=e[O2>>2]|0,n4(Q0|0,f0|0,n0|0)|0,l0=f0,x5=0;r0=O2+(x5<<2)|0,K=x5+1|0,c0=O2+(K<<2)|0,s0=e[c0>>2]|0,n4(l0|0,s0|0,n0|0)|0,j=l0+n0|0,e[r0>>2]=j,K2=(K|0)==(T1|0),!K2;)l0=s0,x5=K;if(o0=(F|0)==(n0|0),o0){d0=x2;break e}i0=F-n0|0,W=e[q2>>2]|0,F=i0,Q0=W}}else d0=x2;while(!1);m=B2}function Gi(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0;return _=m,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,b=D?c:E,I=b==0,I?(C=D?-0:0,n=C,+n):(n=b,+n))}function IQ(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,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,C=t+8388608,p=C+-8388608,S=f?I:p,B=S==0,B?(v=f?-0:0,n=v,+n):(n=S,+n))}function ZS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0;return z=m,f=(n|0)>1023,f?(E=t*898846567431158e293,Q=n+-1023|0,b=(Q|0)>1023,b?(x=E*898846567431158e293,_=n+-2046|0,F=(_|0)>1023,o=F?1023:_,a=o,N=x):(a=Q,N=E)):(L=(n|0)<-1022,L?(M=t*22250738585072014e-324,T=n+1022|0,I=(T|0)<-1022,I?(C=M*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,N=C):(a=T,N=M)):(a=n,N=t)),v=a+1023|0,S=CQ(v|0,0,52)|0,w=H6,e[p2>>2]=S,e[p2+4>>2]=w,y=+o1[p2>>3],D=N*y,+D}function WS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0;I=m,n=t+-1|0,o=553040,a=o,e[a>>2]=n,c=o+4|0,f=c,e[f>>2]=0}function jS(){var t=0,n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0;return b=m,t=553040,n=t,C=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=iD(C|0,v|0,1284865837,1481765933)|0,w=H6,y=Vs(S|0,w|0,1,0)|0,D=H6,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=H6,E|0}function S9(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,G8=0,N8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Gt=0,Nt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,G7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,N7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0,js=0,Nn=0,Xs=0,Un=0,eA=0,tA=0,On=0,iA=0,Kr=0,rA=0,nA=0,sA=0,Pn=0,AA=0,Hn=0,qn=0,oA=0,Vr=0,Yn=0,zr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Zr=0,Vn=0,cA=0,Ir=0,Wr=0,gA=0,hA=0,jr=0,$i=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,IA=0,li=0,Xr=0,dA=0,Xn=0,EA=0,CA=0,mA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,en=0,dr=0,tn=0,vA=0,zi=0,SA=0,is=0,rn=0,rs=0,nn=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,Er=0,as=0,ci=0,sn=0,Cr=0,Zi=0,mr=0,Ui=0,Br=0,$s=0,Oi=0,Bi=0,pi=0,Wt=0,Qi=0,pr=0,Wi=0,ji=0,Qr=0,gi=0,RA=0,at=0,W$=0,An=0,on=0,Fh=0,j$=0,xA=0,Lh=0,Wo=0,X$=0,Mh=0,Th=0,Gh=0,jo=0,el=0,tl=0,Xo=0,an=0,il=0,Nh=0,FA=0,Xi=0,Uh=0,Oh=0,Ph=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,rl=0,yr=0,Zh=0,Wh=0,nl=0,jh=0,ea=0,LA=0,ta=0,Xh=0,ef=0,ia=0,sl=0,Al=0,ol=0,ra=0,al=0,MA=0,tf=0,rf=0,$l=0,nf=0,sf=0,ll=0,Af=0,of=0,cl=0,gl=0,hl=0,fl=0,ul=0,$n=0,af=0,Il=0,$f=0,dl=0,El=0,lf=0,cf=0,gf=0,na=0,Cl=0,ml=0,ls=0,Bl=0,sa=0,hf=0,pl=0,ff=0,Ql=0,uf=0,If=0,yl=0,wl=0,df=0,TA=0,Ef=0,Aa=0,kl=0,vl=0,Cf=0,mf=0,Bf=0,pf=0,Qf=0,yf=0,GA=0,Sl=0,Dl=0,bl=0,NA=0,wf=0,_l=0,kf=0,Rl=0,vf=0,Sf=0,xl=0,oa=0,Df=0,bf=0,UA=0,_f=0,OA=0,Rf=0,aa=0,xf=0,Ff=0,Lf=0,Fl=0,Mf=0,Tf=0,Gf=0,Nf=0,Ll=0,Ml=0,er=0,Tl=0,PA=0,$a=0,la=0,ln=0,Gl=0,cn=0,Uf=0,Nl=0,Of=0,Pf=0,Hf=0,qf=0,HA=0,ca=0,wr=0,Yf=0,Jf=0,Ul=0,ga=0,Ol=0,Pl=0,Kf=0,Hl=0,Vf=0,ha=0,zf=0,Zf=0,O9=0,Wf=0,ql=0,jf=0,Xf=0,fa=0,eu=0,ua=0,Yl=0,tu=0,iu=0,Jl=0,Kl=0,ru=0,Ia=0,da=0,Vl=0,zl=0,nu=0,Zl=0,Ea=0,su=0,Wl=0,Au=0,ou=0,au=0,$u=0,jl=0,Xl=0,Ca=0,qA=0,ec=0,lu=0,tc=0,ic=0,cu=0,gu=0,hu=0,rc=0,fu=0,uu=0,Iu=0,du=0,Eu=0,Cu=0,nc=0,mu=0,sc=0,Bu=0,gn=0,pu=0,Ac=0,Qu=0,cs=0,oc=0,ma=0,yu=0,YA=0,Ba=0,wu=0,pa=0,ac=0,ku=0,vu=0,Su=0,Du=0,bu=0,$c=0,_u=0,Ru=0,xu=0,JA=0,gs=0,Qa=0,Fu=0,ya=0,Lu=0,Mu=0,Tu=0,lc=0,Gu=0,Nu=0,Uu=0,Ou=0,Pu=0,KA=0,Hu=0,qu=0,cc=0,Yu=0,Ju=0,Ku=0,Vu=0,hi=0,gc=0,fi=0,hc=0,wa=0,zu=0,jt=0,hs=0,Zu=0,Wu=0,ju=0,Xu=0,eI=0,fc=0,tI=0,iI=0,uc=0,rI=0,nI=0,fs=0,ka=0,sI=0,Ic=0,AI=0,oI=0,VA=0,aI=0,$I=0,dc=0,Ec=0,lI=0,cI=0,hn=0,gI=0,hI=0,fn=0,fI=0,Cc=0,uI=0,II=0,us=0,mc=0,dI=0,Bc=0,EI=0,tr=0,va=0,CI=0,pc=0,Qc=0,mI=0,BI=0,yc=0,pI=0,QI=0,yI=0,wc=0,wI=0,Is=0,kI=0,un=0,vI=0,SI=0,Sa=0,DI=0,Da=0,ba=0,bI=0,kc=0,vc=0,_I=0,Sc=0,Dc=0,bc=0,RI=0,_c=0,Rc=0,xI=0,FI=0,xc=0,Fc=0,LI=0,Lc=0,Mc=0,MI=0,TI=0,Tc=0,_a=0,Gc=0,Nc=0,Uc=0,Oc=0,GI=0,NI=0,UI=0,OI=0,PI=0,HI=0,qI=0,YI=0,Pc=0,Ra=0,JI=0,KI=0,VI=0,Hc=0,qc=0,zI=0,Yc=0,xa=0,zA=0,Jc=0,ZI=0,WI=0,jI=0,XI=0,Kc=0,ZA=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,Ad=0,od=0,Vc=0,ad=0,$d=0,ld=0,cd=0,WA=0,zc=0,gd=0,hd=0,In=0,Zc=0,Wc=0,Fa=0,fd=0,jc=0,ud=0,Xc=0,eg=0,Id=0,dd=0,Ed=0,Cd=0,md=0,jA=0,La=0,Bd=0,pd=0,Qd=0,yd=0,tg=0,wd=0,ig=0,kd=0,vd=0,rg=0,kr=0,ng=0,sg=0,Sd=0,Ag=0,XA=0,Dd=0,bd=0,_d=0,eo=0,og=0,Rd=0,xd=0,ag=0,Fd=0,Ld=0,Ma=0,to=0,Md=0,Td=0,Gd=0,$g=0,lg=0,cg=0,Nd=0,Ud=0,ds=0,Od=0,gg=0,Pd=0,Ta=0,hg=0,Hd=0,qd=0,Yd=0,Jd=0,fg=0,Kd=0,Vd=0,ug=0,io=0,zd=0,Zd=0,Wd=0,Es=0,Ig=0,dg=0,jd=0,Eg=0,Cg=0,yi=0,mg=0,ir=0,Xd=0,eE=0,tE=0,iE=0,Ga=0,ro=0,Bg=0,pg=0,rE=0,no=0,Cs=0,nE=0,so=0,Na=0,sE=0,Ua=0,AE=0,oE=0,Qg=0,Ao=0,yg=0,aE=0,$E=0,lE=0,cE=0,wg=0,gE=0,W7=0,y4=0,Xt=0,hE=0,kg=0,vg=0,Oa=0,fE=0,vr=0,ms=0,uE=0,IE=0,Sg=0,Pa=0,dE=0,Dg=0,bg=0,_g=0,Ha=0,qa=0,Rg=0,Bs=0,Ya=0,xg=0,EE=0,dn=0,CE=0,Fg=0,oo=0,mE=0,Lg=0,wi=0,BE=0,pE=0,QE=0,yE=0,wE=0,kE=0,ki=0,vE=0,SE=0,DE=0,Mg=0,ui=0,ao=0,Ja=0,Tg=0,Gg=0,bE=0,Ng=0,Ug=0,_E=0,RE=0,Og=0,Pg=0,xE=0,FE=0,Hg=0,LE=0,ps=0,$o=0,lo=0,ME=0,Ka=0,TE=0,GE=0,qg=0,Qs=0,NE=0,UE=0,Va=0,za=0,co=0,Za=0,Wa=0,rr=0,Sr=0,Dr=0,ja=0,Xa=0,ys=0,nr=0,En=0,OE=0,sr=0,Cn=0,PE=0,bt=0,_t=0,Rt=0,go=0,ho=0,Yg=0,Jg=0,fo=0,e$=0,xt=0,uo=0,br=0,t$=0,HE=0,i$=0,qE=0,r$=0,Kg=0,Io=0,YE=0,JE=0,Eo=0,KE=0,Co=0,mn=0,Ke=0,v4=0,Vg=0,VE=0,n$=0,zg=0,zE=0,ZE=0,mo=0,WE=0,jE=0,XE=0,eC=0,Zg=0,tC=0,iC=0,rC=0,ei=0,Bo=0,Bn=0,s$=0,ws=0,ks=0,j7=0,vs=0,Wg=0,jg=0,po=0,Ss=0,Ds=0,bs=0,nC=0,_s=0,Ar=0,Xg=0,_r=0,ti=0,A$=0,o$=0,Pi=0,a$=0,$$=0,l$=0,Rr=0,o6=0,Qo=0,xr=0,eh=0,ye=0,c$=0,B8=0,Rs=0,pn=0,Qn=0,L9=0,yn=0,Fr=0,Y4=0,g$=0;g$=m,V1=t>>>0<245;do if(V1){if(g2=t>>>0<11,g4=t+11|0,P4=g4&-8,Qe=g2?16:P4,xA=Qe>>>3,aa=e[138262]|0,JA=aa>>>xA,Nc=JA&3,ug=(Nc|0)==0,!ug){a2=JA&1,f3=a2^1,$3=f3+xA|0,A3=$3<<1,c3=553088+(A3<<2)|0,Q0=A3+2|0,_6=553088+(Q0<<2)|0,S6=e[_6>>2]|0,R6=S6+8|0,D6=e[R6>>2]|0,u9=(c3|0)==(D6|0);do if(u9)N9=1<<$3,b4=N9^-1,de=aa&b4,e[138262]=de;else if(je=e[138266]|0,oe=D6>>>0>>0,oe&&Q2(),p4=D6+12|0,m9=e[p4>>2]|0,L8=(m9|0)==(S6|0),L8){e[p4>>2]=c3,e[_6>>2]=D6;break}else Q2();while(!1);return h8=$3<<3,h7=h8|3,xe=S6+4|0,e[xe>>2]=h7,C0=h8|4,Be=S6+C0|0,H4=e[Be>>2]|0,i7=H4|1,e[Be>>2]=i7,Ke=R6,Ke|0}if(Ye=e[138264]|0,q7=Qe>>>0>Ye>>>0,q7){if(Nt=(JA|0)==0,!Nt){Ot=JA<>>12,en=EA&16,ns=zn>>>en,Zi=ns>>>5,Wi=Zi&8,Lh=Wi|en,il=ns>>>Wi,Kh=il>>>2,ta=Kh&4,rf=Lh|ta,ul=il>>>ta,Cl=ul>>>1,yl=Cl&2,pf=rf|yl,Rl=ul>>>yl,xf=Rl>>>1,Tl=xf&1,Hf=pf|Tl,Kf=Rl>>>Tl,fa=Hf+Kf|0,Vl=fa<<1,jl=553088+(Vl<<2)|0,U1=Vl+2|0,rc=553088+(U1<<2)|0,gn=e[rc>>2]|0,pa=gn+8|0,gs=e[pa>>2]|0,Ou=(jl|0)==(gs|0);do if(Ou)gc=1<>>0>>0,tr&&Q2(),wc=gs+12|0,bI=e[wc>>2]|0,FI=(bI|0)==(gn|0),FI){e[wc>>2]=jl,e[rc>>2]=gs,y=e[138264]|0,to=y;break}else Q2();while(!1);return Uc=fa<<3,Ra=Uc-Qe|0,ZI=Qe|3,sd=gn+4|0,e[sd>>2]=ZI,hd=gn+Qe|0,dd=Ra|1,j1=Qe|4,wd=gn+j1|0,e[wd>>2]=dd,Dd=gn+Uc|0,e[Dd>>2]=Ra,gg=(to|0)==0,gg||(io=e[138267]|0,mg=to>>>3,no=mg<<1,yg=553088+(no<<2)|0,kg=e[138262]|0,Dg=1<>2]|0,m2=e[138266]|0,s5=t2>>>0>>0,s5?Q2():(N=ps,co=t2)),e[N>>2]=io,$5=co+12|0,e[$5>>2]=io,N5=io+8|0,e[N5>>2]=co,z2=io+12|0,e[z2>>2]=yg),e[138264]=Ra,e[138267]=hd,Ke=pa,Ke|0}if(a5=e[138263]|0,C3=(a5|0)==0,C3)v4=Qe;else{for(K5=0-a5|0,w3=a5&K5,B3=w3+-1|0,K3=B3>>>12,T3=K3&16,z5=B3>>>T3,y3=z5>>>5,W5=y3&8,t6=W5|T3,R3=z5>>>W5,G3=R3>>>2,o3=G3&4,l3=t6|o3,m3=R3>>>o3,q5=m3>>>1,U5=q5&2,P5=l3|U5,w5=m3>>>U5,N3=w5>>>1,M5=N3&1,n6=P5|M5,t3=w5>>>M5,x3=n6+t3|0,h6=553352+(x3<<2)|0,p3=e[h6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,i6=Q3&-8,W3=i6-Qe|0,Bo=W3,o$=p3,c$=p3;;){if(U3=o$+16|0,V5=e[U3>>2]|0,v3=(V5|0)==0,v3)if(O3=o$+20|0,$6=e[O3>>2]|0,I3=($6|0)==0,I3){Bn=Bo,B8=c$;break}else k6=$6;else k6=V5;w6=k6+4|0,v6=e[w6>>2]|0,B6=v6&-8,j3=B6-Qe|0,l6=j3>>>0>>0,H=l6?j3:Bo,A2=l6?k6:c$,Bo=H,o$=k6,c$=A2}p6=e[138266]|0,q6=B8>>>0>>0,q6&&Q2(),C6=B8+Qe|0,S3=B8>>>0>>0,S3||Q2(),X3=B8+24|0,e6=e[X3>>2]|0,f6=B8+12|0,P3=e[f6>>2]|0,D3=(P3|0)==(B8|0);do if(D3){if(T6=B8+20|0,r6=e[T6>>2]|0,Q6=(r6|0)==0,Q6)if(J6=B8+16|0,I6=e[J6>>2]|0,Y6=(I6|0)==0,Y6){bt=0;break}else nr=I6,go=J6;else nr=r6,go=T6;for(;;){if(F3=nr+20|0,Z6=e[F3>>2]|0,G6=(Z6|0)==0,!G6){nr=Z6,go=F3;continue}if(j6=nr+16|0,r9=e[j6>>2]|0,x6=(r9|0)==0,x6){sr=nr,Jg=go;break}else nr=r9,go=j6}if(N6=Jg>>>0>>0,N6)Q2();else{e[Jg>>2]=0,bt=sr;break}}else if(H3=B8+8|0,V3=e[H3>>2]|0,s6=V3>>>0>>0,s6&&Q2(),i3=V3+12|0,O6=e[i3>>2]|0,s3=(O6|0)==(B8|0),s3||Q2(),A6=P3+8|0,u6=e[A6>>2]|0,b3=(u6|0)==(B8|0),b3){e[i3>>2]=P3,e[A6>>2]=V3,bt=P3;break}else Q2();while(!1);K6=(e6|0)==0;do if(!K6){if(y6=B8+28|0,F6=e[y6>>2]|0,L3=553352+(F6<<2)|0,L6=e[L3>>2]|0,X6=(B8|0)==(L6|0),X6){if(e[L3>>2]=bt,YE=(bt|0)==0,YE){A9=1<>>0>>0,a9&&Q2(),T9=e6+16|0,d6=e[T9>>2]|0,M6=(d6|0)==(B8|0),M6?e[T9>>2]=bt:(e9=e6+20|0,e[e9>>2]=bt),G9=(bt|0)==0,G9)break;I9=e[138266]|0,E4=bt>>>0>>0,E4&&Q2(),s4=bt+24|0,e[s4>>2]=e6,z9=B8+16|0,D9=e[z9>>2]|0,d9=(D9|0)==0;do if(!d9)if(P6=D9>>>0>>0,P6)Q2();else{t9=bt+16|0,e[t9>>2]=D9,C4=D9+24|0,e[C4>>2]=bt;break}while(!1);if(S4=B8+20|0,A4=e[S4>>2]|0,Q9=(A4|0)==0,!Q9)if(D4=e[138266]|0,R4=A4>>>0>>0,R4)Q2();else{M4=bt+20|0,e[M4>>2]=A4,Z4=A4+24|0,e[Z4>>2]=bt;break}}while(!1);return m4=Bn>>>0<16,m4?(T4=Bn+Qe|0,U9=T4|3,G4=B8+4|0,e[G4>>2]=U9,Z1=T4+4|0,o4=B8+Z1|0,x4=e[o4>>2]|0,h4=x4|1,e[o4>>2]=h4):(H9=Qe|3,E9=B8+4|0,e[E9>>2]=H9,Ee=Bn|1,c0=Qe|4,Te=B8+c0|0,e[Te>>2]=Ee,l0=Bn+Qe|0,We=B8+l0|0,e[We>>2]=Bn,N4=e[138264]|0,Ge=(N4|0)==0,Ge||(U4=e[138267]|0,W4=N4>>>3,Se=W4<<1,Z9=553088+(Se<<2)|0,se=e[138262]|0,f4=1<>2]|0,Ae=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(M=a4,za=_4)),e[M>>2]=U4,ae=za+12|0,e[ae>>2]=U4,B4=U4+8|0,e[B4>>2]=za,j4=U4+12|0,e[j4>>2]=Z9),e[138264]=Bn,e[138267]=C6),F4=B8+8|0,Ke=F4,Ke|0}}else v4=Qe}else if($e=t>>>0>4294967231,$e)v4=-1;else if(C9=t+11|0,c6=C9&-8,Ne=e[138263]|0,$4=(Ne|0)==0,$4)v4=c6;else{Ce=0-c6|0,l4=C9>>>8,U6=(l4|0)==0,U6?mn=0:(De=c6>>>0>16777215,De?mn=31:(be=l4+1048320|0,Xe=be>>>16,c4=Xe&8,k4=l4<>>16,y9=q3&4,L4=y9|c4,X4=k4<>>16,l7=_e&2,Q7=L4|l7,V8=14-Q7|0,c7=X4<>>15,F8=V8+g7|0,M8=F8<<1,T8=F8+7|0,z8=c6>>>T8,Z8=z8&1,y7=Z8|M8,mn=y7)),G8=553352+(mn<<2)|0,N8=e[G8>>2]|0,U8=(N8|0)==0;e:do if(U8)ks=Ce,a$=0,Qn=0,Y4=86;else for(w8=(mn|0)==31,k8=mn>>>1,O8=25-k8|0,P8=w8?0:O8,W8=c6<>2]|0,Ue=f8&-8,Re=Ue-c6|0,e8=Re>>>0>>0,e8)if(v8=(Ue|0)==(c6|0),v8){vs=Re,Rr=Pi,Fr=Pi,Y4=90;break e}else ws=Re,pn=Pi;else ws=s$,pn=Rs;if(w9=Pi+20|0,me=e[w9>>2]|0,f7=po>>>31,w7=(Pi+16|0)+(f7<<2)|0,X8=e[w7>>2]|0,k7=(me|0)==0,ee=(me|0)==(X8|0),WE=k7|ee,jg=WE?Wg:me,e7=(X8|0)==0,H8=po<<1,e7){ks=ws,a$=jg,Qn=pn,Y4=86;break}else s$=ws,Wg=jg,po=H8,Pi=X8,Rs=pn}while(!1);if((Y4|0)==86){if(S8=(a$|0)==0,t8=(Qn|0)==0,zE=S8&t8,zE){if(i8=2<>>12,ce=d8&16,Oe=n8>>>ce,Pe=Oe>>>5,X9=Pe&8,Fe=X9|ce,ge=Oe>>>X9,s8=ge>>>2,pe=s8&4,Q4=Fe|pe,E8=ge>>>pe,t7=E8>>>1,d3=t7&2,He=Q4|d3,C8=E8>>>d3,te=C8>>>1,q9=te&1,ie=He|q9,b9=C8>>>q9,qe=ie+b9|0,q8=553352+(qe<<2)|0,u7=e[q8>>2]|0,$$=u7,yn=0}else $$=a$,yn=Qn;r7=($$|0)==0,r7?(j7=ks,L9=yn):(vs=ks,Rr=$$,Fr=yn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,Y8=Rr+4|0,n7=e[Y8>>2]|0,J8=n7&-8,A8=J8-c6|0,o8=A8>>>0>>0,X=o8?A8:vs,l$=o8?Rr:Fr,b8=Rr+16|0,q4=e[b8>>2]|0,s7=(q4|0)==0,!s7){vs=X,Rr=q4,Fr=l$,Y4=90;continue}if(_8=Rr+20|0,B9=e[_8>>2]|0,A7=(B9|0)==0,A7){j7=X,L9=l$;break}else vs=X,Rr=B9,Fr=l$,Y4=90}if(Je=(L9|0)==0,Je)v4=c6;else if(M7=e[138264]|0,H7=M7-c6|0,v7=j7>>>0>>0,v7){o7=e[138266]|0,S7=L9>>>0>>0,S7&&Q2(),re=L9+c6|0,T7=L9>>>0>>0,T7||Q2(),a8=L9+24|0,R8=e[a8>>2]|0,D7=L9+12|0,K8=e[D7>>2]|0,Le=(K8|0)==(L9|0);do if(Le){if(J7=L9+20|0,dt=e[J7>>2]|0,K7=(dt|0)==0,K7)if(Et=L9+16|0,it=e[Et>>2]|0,ni=(it|0)==0,ni){Rt=0;break}else Cn=it,fo=Et;else Cn=dt,fo=J7;for(;;){if(Ct=Cn+20|0,mt=e[Ct>>2]|0,si=(mt|0)==0,!si){Cn=mt,fo=Ct;continue}if(Bt=Cn+16|0,rt=e[Bt>>2]|0,Ai=(rt|0)==0,Ai){PE=Cn,e$=fo;break}else Cn=rt,fo=Bt}if(Pt=e$>>>0>>0,Pt)Q2();else{e[e$>>2]=0,Rt=PE;break}}else if(he=L9+8|0,e4=e[he>>2]|0,b7=e4>>>0>>0,b7&&Q2(),tt=e4+12|0,Gt=e[tt>>2]|0,Ut=(Gt|0)==(L9|0),Ut||Q2(),ut=K8+8|0,Y7=e[ut>>2]|0,It=(Y7|0)==(L9|0),It){e[tt>>2]=K8,e[ut>>2]=e4,Rt=K8;break}else Q2();while(!1);Ht=(R8|0)==0;do if(!Ht){if(qt=L9+28|0,Yt=e[qt>>2]|0,pt=553352+(Yt<<2)|0,Jt=e[pt>>2]|0,V7=(L9|0)==(Jt|0),V7){if(e[pt>>2]=Rt,Eo=(Rt|0)==0,Eo){st=1<>>0>>0,ai&&Q2(),Qt=R8+16|0,yt=e[Qt>>2]|0,wt=(yt|0)==(L9|0),wt?e[Qt>>2]=Rt:(zt=R8+20|0,e[zt>>2]=Rt),kt=(Rt|0)==0,kt)break;Z7=e[138266]|0,vt=Rt>>>0>>0,vt&&Q2(),Zt=Rt+24|0,e[Zt>>2]=R8,At=L9+16|0,N7=e[At>>2]|0,St=(N7|0)==0;do if(!St)if(_7=N7>>>0>>0,_7)Q2();else{ot=Rt+16|0,e[ot>>2]=N7,i9=N7+24|0,e[i9>>2]=Rt;break}while(!1);if(I7=L9+20|0,m8=e[I7>>2]|0,d7=(m8|0)==0,!d7)if(R7=e[138266]|0,Jr=m8>>>0>>0,Jr)Q2();else{ur=Rt+20|0,e[ur>>2]=m8,js=m8+24|0,e[js>>2]=Rt;break}}while(!1);Xs=j7>>>0<16;e:do if(Xs)Un=j7+c6|0,eA=Un|3,tA=L9+4|0,e[tA>>2]=eA,c1=Un+4|0,On=L9+c1|0,iA=e[On>>2]|0,Kr=iA|1,e[On>>2]=Kr;else{if(rA=c6|3,nA=L9+4|0,e[nA>>2]=rA,sA=j7|1,r0=c6|4,AA=L9+r0|0,e[AA>>2]=sA,f0=j7+c6|0,Hn=L9+f0|0,e[Hn>>2]=j7,qn=j7>>>3,oA=j7>>>0<256,oA){Vr=qn<<1,Yn=553088+(Vr<<2)|0,zr=e[138262]|0,Jn=1<>2]|0,cA=e[138266]|0,Ir=Vn>>>0>>0,Ir?Q2():(L=Zr,Wa=Vn)),e[L>>2]=re,Wr=Wa+12|0,e[Wr>>2]=re,P0=c6+8|0,gA=L9+P0|0,e[gA>>2]=Wa,H0=c6+12|0,hA=L9+H0|0,e[hA>>2]=Yn;break}if(jr=j7>>>8,$i=(jr|0)==0,$i?Sr=0:(fA=j7>>>0>16777215,fA?Sr=31:(uA=jr+1048320|0,Zn=uA>>>16,Wn=Zn&8,jn=jr<>>16,Xr=li&4,dA=Xr|Wn,Xn=jn<>>16,es=mA&2,BA=dA|es,pA=14-BA|0,QA=Xn<>>15,ts=pA+yA|0,wA=ts<<1,kA=ts+7|0,dr=j7>>>kA,tn=dr&1,vA=tn|wA,Sr=vA)),zi=553352+(Sr<<2)|0,g1=c6+28|0,SA=L9+g1|0,e[SA>>2]=Sr,x1=c6+16|0,is=L9+x1|0,D1=c6+20|0,rn=L9+D1|0,e[rn>>2]=0,e[is>>2]=0,rs=e[138263]|0,nn=1<>2]=re,q1=c6+24|0,As=L9+q1|0,e[As>>2]=zi,r2=c6+12|0,os=L9+r2|0,e[os>>2]=re,O1=c6+8|0,_A=L9+O1|0,e[_A>>2]=re;break}Er=e[zi>>2]|0,as=Er+4|0,ci=e[as>>2]|0,sn=ci&-8,Cr=(sn|0)==(j7|0);t:do if(Cr)xt=Er;else{for(mr=(Sr|0)==31,Ui=Sr>>>1,Br=25-Ui|0,$s=mr?0:Br,Oi=j7<<$s,ja=Oi,t$=Er;;){if(Qr=ja>>>31,gi=(t$+16|0)+(Qr<<2)|0,Wt=e[gi>>2]|0,RA=(Wt|0)==0,RA){w=gi,HE=t$;break}if(Bi=ja<<1,pi=Wt+4|0,Qi=e[pi>>2]|0,pr=Qi&-8,ji=(pr|0)==(j7|0),ji){xt=Wt;break t}else ja=Bi,t$=Wt}if(at=e[138266]|0,W$=w>>>0>>0,W$)Q2();else{e[w>>2]=re,h0=c6+24|0,An=L9+h0|0,e[An>>2]=HE,U0=c6+12|0,on=L9+U0|0,e[on>>2]=re,O0=c6+8|0,Fh=L9+O0|0,e[Fh>>2]=re;break e}}while(!1);if(j$=xt+8|0,Wo=e[j$>>2]|0,X$=e[138266]|0,Mh=Wo>>>0>=X$>>>0,Vg=xt>>>0>=X$>>>0,Th=Mh&Vg,Th){Gh=Wo+12|0,e[Gh>>2]=re,e[j$>>2]=re,l2=c6+8|0,jo=L9+l2|0,e[jo>>2]=Wo,f2=c6+12|0,el=L9+f2|0,e[el>>2]=xt,d0=c6+24|0,tl=L9+d0|0,e[tl>>2]=0;break}else Q2()}while(!1);return Xo=L9+8|0,Ke=Xo,Ke|0}else v4=c6}while(!1);if(an=e[138264]|0,Nh=an>>>0>>0,!Nh)return FA=an-v4|0,Xi=e[138267]|0,Uh=FA>>>0>15,Uh?(Oh=Xi+v4|0,e[138267]=Oh,e[138264]=FA,Ph=FA|1,f1=v4+4|0,Hh=Xi+f1|0,e[Hh>>2]=Ph,qh=Xi+an|0,e[qh>>2]=FA,Yh=v4|3,Jh=Xi+4|0,e[Jh>>2]=Yh):(e[138264]=0,e[138267]=0,Vh=an|3,zh=Xi+4|0,e[zh>>2]=Vh,s0=an+4|0,rl=Xi+s0|0,yr=e[rl>>2]|0,Zh=yr|1,e[rl>>2]=Zh),Wh=Xi+8|0,Ke=Wh,Ke|0;if(nl=e[138265]|0,jh=nl>>>0>v4>>>0,jh)return ea=nl-v4|0,e[138265]=ea,LA=e[138268]|0,Xh=LA+v4|0,e[138268]=Xh,ef=ea|1,U=v4+4|0,ia=LA+U|0,e[ia>>2]=ef,sl=v4|3,Al=LA+4|0,e[Al>>2]=sl,ol=LA+8|0,Ke=ol,Ke|0;ra=e[138380]|0,al=(ra|0)==0;do if(al)if(MA=cv(30)|0,tf=MA+-1|0,$l=tf&MA,nf=($l|0)==0,nf){e[138382]=MA,e[138381]=MA,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,sf=Op(0)|0,ll=sf&-16,Af=ll^1431655768,e[138380]=Af;break}else Q2();while(!1);if(of=v4+48|0,cl=e[138382]|0,gl=v4+47|0,hl=cl+gl|0,fl=0-cl|0,$n=hl&fl,af=$n>>>0>v4>>>0,!af||(Il=e[138372]|0,$f=(Il|0)==0,!$f&&(dl=e[138370]|0,El=dl+$n|0,lf=El>>>0<=dl>>>0,cf=El>>>0>Il>>>0,mo=lf|cf,mo)))return Ke=0,Ke|0;gf=e[138373]|0,na=gf&4,ml=(na|0)==0;e:do if(ml){ls=e[138268]|0,Bl=(ls|0)==0;t:do if(Bl)Y4=174;else{for(Ss=553496;;){if(sa=e[Ss>>2]|0,hf=sa>>>0>ls>>>0,!hf&&(pl=Ss+4|0,ff=e[pl>>2]|0,Ql=sa+ff|0,uf=Ql>>>0>ls>>>0,uf)){v=Ss,S=pl;break}if(If=Ss+8|0,wl=e[If>>2]|0,df=(wl|0)==0,df){Y4=174;break t}else Ss=wl}if(Df=e[138265]|0,bf=hl-Df|0,UA=bf&fl,_f=UA>>>0<2147483647,_f)if(OA=Tt(UA|0)|0,Rf=e[v>>2]|0,Ff=e[S>>2]|0,Lf=Rf+Ff|0,Fl=(OA|0)==(Lf|0),n=Fl?UA:0,Fl)if(Mf=(OA|0)==-1,Mf)xr=n;else{o6=OA,ye=n,Y4=194;break e}else Io=OA,ti=UA,Qo=n,Y4=184;else xr=0}while(!1);do if((Y4|0)==174)if(TA=Tt(0)|0,Ef=(TA|0)==-1,Ef)xr=0;else if(Aa=TA,kl=e[138381]|0,vl=kl+-1|0,Cf=vl&Aa,mf=(Cf|0)==0,mf?_r=$n:(Bf=vl+Aa|0,Qf=0-kl|0,yf=Bf&Qf,GA=$n-Aa|0,Sl=GA+yf|0,_r=Sl),Dl=e[138370]|0,bl=Dl+_r|0,NA=_r>>>0>v4>>>0,wf=_r>>>0<2147483647,ZE=NA&wf,ZE){if(_l=e[138372]|0,kf=(_l|0)==0,!kf&&(vf=bl>>>0<=Dl>>>0,Sf=bl>>>0>_l>>>0,jE=vf|Sf,jE)){xr=0;break}if(xl=Tt(_r|0)|0,oa=(xl|0)==(TA|0),Xg=oa?_r:0,oa){o6=TA,ye=Xg,Y4=194;break e}else Io=xl,ti=_r,Qo=Xg,Y4=184}else xr=0;while(!1);t:do if((Y4|0)==184){Tf=0-ti|0,Gf=(Io|0)!=-1,Nf=ti>>>0<2147483647,eC=Nf&Gf,Ll=of>>>0>ti>>>0,tC=Ll&eC;do if(tC)if(Ml=e[138382]|0,er=gl-ti|0,PA=er+Ml|0,$a=0-Ml|0,la=PA&$a,ln=la>>>0<2147483647,ln)if(Gl=Tt(la|0)|0,cn=(Gl|0)==-1,cn){Tt(Tf|0)|0,xr=Qo;break t}else{Uf=la+ti|0,A$=Uf;break}else A$=ti;else A$=ti;while(!1);if(Nl=(Io|0)==-1,Nl)xr=Qo;else{o6=Io,ye=A$,Y4=194;break e}}while(!1);Of=e[138373]|0,Pf=Of|4,e[138373]=Pf,eh=xr,Y4=191}else eh=0,Y4=191;while(!1);if((Y4|0)==191&&(qf=$n>>>0<2147483647,qf&&(HA=Tt($n|0)|0,ca=Tt(0)|0,wr=(HA|0)!=-1,Yf=(ca|0)!=-1,XE=wr&Yf,Jf=HA>>>0>>0,iC=Jf&XE,iC&&(Ul=ca,ga=HA,Ol=Ul-ga|0,Pl=v4+40|0,Hl=Ol>>>0>Pl>>>0,E2=Hl?Ol:eh,Hl&&(o6=HA,ye=E2,Y4=194)))),(Y4|0)==194){Vf=e[138370]|0,ha=Vf+ye|0,e[138370]=ha,zf=e[138371]|0,Zf=ha>>>0>zf>>>0,Zf&&(e[138371]=ha),O9=e[138268]|0,Wf=(O9|0)==0;e:do if(Wf){for(ql=e[138266]|0,jf=(ql|0)==0,Xf=o6>>>0>>0,rC=jf|Xf,rC&&(e[138266]=o6),e[138374]=o6,e[138375]=ye,e[138377]=0,eu=e[138380]|0,e[138271]=eu,e[138270]=-1,Co=0;ua=Co<<1,Yl=553088+(ua<<2)|0,a0=ua+3|0,tu=553088+(a0<<2)|0,e[tu>>2]=Yl,j=ua+2|0,iu=553088+(j<<2)|0,e[iu>>2]=Yl,Jl=Co+1|0,KE=(Jl|0)==32,!KE;)Co=Jl;Kl=ye+-40|0,ru=o6+8|0,Ia=ru,da=Ia&7,zl=(da|0)==0,nu=0-Ia|0,Zl=nu&7,Ea=zl?0:Zl,su=o6+Ea|0,Wl=Kl-Ea|0,e[138268]=su,e[138265]=Wl,Au=Wl|1,V=Ea+4|0,ou=o6+V|0,e[ou>>2]=Au,l1=ye+-36|0,au=o6+l1|0,e[au>>2]=40,$u=e[138384]|0,e[138269]=$u}else{for(bs=553496;;){if(Xl=e[bs>>2]|0,Ca=bs+4|0,qA=e[Ca>>2]|0,ec=Xl+qA|0,lu=(o6|0)==(ec|0),lu){C=Xl,p=Ca,B=qA,nC=bs,Y4=204;break}if(tc=bs+8|0,ic=e[tc>>2]|0,cu=(ic|0)==0,cu)break;bs=ic}if((Y4|0)==204&&(gu=nC+12|0,hu=e[gu>>2]|0,fu=hu&8,uu=(fu|0)==0,uu&&(Iu=O9>>>0>=C>>>0,du=O9>>>0>>0,Zg=du&Iu,Zg))){Eu=B+ye|0,e[p>>2]=Eu,Cu=e[138265]|0,nc=Cu+ye|0,mu=O9+8|0,sc=mu,Bu=sc&7,pu=(Bu|0)==0,Ac=0-sc|0,Qu=Ac&7,cs=pu?0:Qu,oc=O9+cs|0,ma=nc-cs|0,e[138268]=oc,e[138265]=ma,yu=ma|1,n0=cs+4|0,YA=O9+n0|0,e[YA>>2]=yu,n1=nc+4|0,Ba=O9+n1|0,e[Ba>>2]=40,wu=e[138384]|0,e[138269]=wu;break}for(ac=e[138266]|0,ku=o6>>>0>>0,ku?(e[138266]=o6,us=o6):us=ac,vu=o6+ye|0,_s=553496;;){if(Su=e[_s>>2]|0,Du=(Su|0)==(vu|0),Du){I=_s,Ar=_s,Y4=212;break}if(bu=_s+8|0,$c=e[bu>>2]|0,_u=($c|0)==0,_u){Ds=553496;break}else _s=$c}if((Y4|0)==212)if(Ru=Ar+12|0,xu=e[Ru>>2]|0,Qa=xu&8,Fu=(Qa|0)==0,Fu){e[I>>2]=o6,ya=Ar+4|0,Lu=e[ya>>2]|0,Mu=Lu+ye|0,e[ya>>2]=Mu,Tu=o6+8|0,lc=Tu,Gu=lc&7,Nu=(Gu|0)==0,Uu=0-lc|0,Pu=Uu&7,KA=Nu?0:Pu,Hu=o6+KA|0,I0=ye+8|0,qu=o6+I0|0,cc=qu,Yu=cc&7,Ju=(Yu|0)==0,Ku=0-cc|0,Vu=Ku&7,hi=Ju?0:Vu,v0=hi+ye|0,fi=o6+v0|0,hc=fi,wa=Hu,zu=hc-wa|0,i0=KA+v4|0,jt=o6+i0|0,hs=zu-v4|0,Zu=v4|3,g0=KA+4|0,Wu=o6+g0|0,e[Wu>>2]=Zu,ju=(fi|0)==(O9|0);t:do if(ju)Xu=e[138265]|0,fc=Xu+hs|0,e[138265]=fc,e[138268]=jt,tI=fc|1,H1=i0+4|0,iI=o6+H1|0,e[iI>>2]=tI;else{if(uc=e[138267]|0,rI=(fi|0)==(uc|0),rI){nI=e[138264]|0,fs=nI+hs|0,e[138264]=fs,e[138267]=jt,ka=fs|1,K1=i0+4|0,sI=o6+K1|0,e[sI>>2]=ka,P1=fs+i0|0,Ic=o6+P1|0,e[Ic>>2]=fs;break}if(A1=ye+4|0,K0=A1+hi|0,oI=o6+K0|0,VA=e[oI>>2]|0,aI=VA&3,$I=(aI|0)==1,$I){dc=VA&-8,Ec=VA>>>3,lI=VA>>>0<256;i:do if(lI){N1=hi|8,J0=N1+ye|0,cI=o6+J0|0,hn=e[cI>>2]|0,w1=ye+12|0,Y0=w1+hi|0,gI=o6+Y0|0,fn=e[gI>>2]|0,fI=Ec<<1,Cc=553088+(fI<<2)|0,uI=(hn|0)==(Cc|0);do if(!uI){if(II=hn>>>0>>0,II&&Q2(),mc=hn+12|0,dI=e[mc>>2]|0,Bc=(dI|0)==(fi|0),Bc)break;Q2()}while(!1);if(EI=(fn|0)==(hn|0),EI){va=1<>>0>>0,BI&&Q2(),yc=fn+8|0,pI=e[yc>>2]|0,QI=(pI|0)==(fi|0),QI){T=yc;break}Q2()}while(!1);yI=hn+12|0,e[yI>>2]=fn,e[T>>2]=hn}else{F1=hi|24,b0=F1+ye|0,wI=o6+b0|0,Is=e[wI>>2]|0,Y1=ye+12|0,m0=Y1+hi|0,kI=o6+m0|0,un=e[kI>>2]|0,vI=(un|0)==(fi|0);do if(vI){if(W1=hi|16,D0=A1+W1|0,Dc=o6+D0|0,bc=e[Dc>>2]|0,RI=(bc|0)==0,RI)if(M0=W1+ye|0,_c=o6+M0|0,Rc=e[_c>>2]|0,xI=(Rc|0)==0,xI){_t=0;break}else En=Rc,ho=_c;else En=bc,ho=Dc;for(;;){if(xc=En+20|0,Fc=e[xc>>2]|0,LI=(Fc|0)==0,!LI){En=Fc,ho=xc;continue}if(Lc=En+16|0,Mc=e[Lc>>2]|0,MI=(Mc|0)==0,MI){OE=En,Yg=ho;break}else En=Mc,ho=Lc}if(TI=Yg>>>0>>0,TI)Q2();else{e[Yg>>2]=0,_t=OE;break}}else if(L1=hi|8,F0=L1+ye|0,SI=o6+F0|0,Sa=e[SI>>2]|0,DI=Sa>>>0>>0,DI&&Q2(),Da=Sa+12|0,ba=e[Da>>2]|0,kc=(ba|0)==(fi|0),kc||Q2(),vc=un+8|0,_I=e[vc>>2]|0,Sc=(_I|0)==(fi|0),Sc){e[Da>>2]=un,e[vc>>2]=Sa,_t=un;break}else Q2();while(!1);if(Tc=(Is|0)==0,Tc)break;y1=ye+28|0,L0=y1+hi|0,_a=o6+L0|0,Gc=e[_a>>2]|0,Oc=553352+(Gc<<2)|0,GI=e[Oc>>2]|0,NI=(fi|0)==(GI|0);do if(NI){if(e[Oc>>2]=_t,JE=(_t|0)==0,!JE)break;UI=1<>>0>>0,YI&&Q2(),Pc=Is+16|0,JI=e[Pc>>2]|0,KI=(JI|0)==(fi|0),KI?e[Pc>>2]=_t:(VI=Is+20|0,e[VI>>2]=_t),Hc=(_t|0)==0,Hc)break i;while(!1);qc=e[138266]|0,zI=_t>>>0>>0,zI&&Q2(),Yc=_t+24|0,e[Yc>>2]=Is,S1=hi|16,T0=S1+ye|0,xa=o6+T0|0,zA=e[xa>>2]|0,Jc=(zA|0)==0;do if(!Jc)if(WI=zA>>>0>>0,WI)Q2();else{jI=_t+16|0,e[jI>>2]=zA,XI=zA+24|0,e[XI>>2]=_t;break}while(!1);if(q0=A1+S1|0,Kc=o6+q0|0,ZA=e[Kc>>2]|0,ed=(ZA|0)==0,ed)break;if(td=e[138266]|0,id=ZA>>>0>>0,id)Q2();else{rd=_t+20|0,e[rd>>2]=ZA,nd=ZA+24|0,e[nd>>2]=_t;break}}while(!1);s2=dc|hi,x0=s2+ye|0,Ad=o6+x0|0,od=dc+hs|0,zg=Ad,ei=od}else zg=fi,ei=hs;if(Vc=zg+4|0,ad=e[Vc>>2]|0,$d=ad&-2,e[Vc>>2]=$d,ld=ei|1,w0=i0+4|0,cd=o6+w0|0,e[cd>>2]=ld,E0=ei+i0|0,WA=o6+E0|0,e[WA>>2]=ei,zc=ei>>>3,gd=ei>>>0<256,gd){In=zc<<1,Zc=553088+(In<<2)|0,Wc=e[138262]|0,Fa=1<>2]|0,Id=e[138266]|0,Ed=eg>>>0>>0,!Ed){F=Xc,Za=eg;break}Q2()}while(!1);e[F>>2]=jt,Cd=Za+12|0,e[Cd>>2]=jt,B1=i0+8|0,md=o6+B1|0,e[md>>2]=Za,p1=i0+12|0,jA=o6+p1|0,e[jA>>2]=Zc;break}La=ei>>>8,Bd=(La|0)==0;do if(Bd)Dr=0;else{if(pd=ei>>>0>16777215,pd){Dr=31;break}Qd=La+1048320|0,yd=Qd>>>16,tg=yd&8,ig=La<>>16,rg=vd&4,kr=rg|tg,ng=ig<>>16,Ag=Sd&2,XA=kr|Ag,bd=14-XA|0,_d=ng<>>15,og=bd+eo|0,Rd=og<<1,xd=og+7|0,ag=ei>>>xd,Fd=ag&1,Ld=Fd|Rd,Dr=Ld}while(!1);if(Ma=553352+(Dr<<2)|0,B0=i0+28|0,Md=o6+B0|0,e[Md>>2]=Dr,z0=i0+16|0,Td=o6+z0|0,G0=i0+20|0,Gd=o6+G0|0,e[Gd>>2]=0,e[Td>>2]=0,$g=e[138263]|0,lg=1<>2]=jt,r1=i0+24|0,ds=o6+r1|0,e[ds>>2]=Ma,e1=i0+12|0,Od=o6+e1|0,e[Od>>2]=jt,i1=i0+8|0,Pd=o6+i1|0,e[Pd>>2]=jt;break}Ta=e[Ma>>2]|0,hg=Ta+4|0,Hd=e[hg>>2]|0,qd=Hd&-8,Yd=(qd|0)==(ei|0);i:do if(Yd)br=Ta;else{for(Jd=(Dr|0)==31,fg=Dr>>>1,Kd=25-fg|0,Vd=Jd?0:Kd,zd=ei<>>31,Cg=(i$+16|0)+(Eg<<2)|0,Es=e[Cg>>2]|0,yi=(Es|0)==0,yi){o=Cg,qE=i$;break}if(Zd=ys<<1,Wd=Es+4|0,Ig=e[Wd>>2]|0,dg=Ig&-8,jd=(dg|0)==(ei|0),jd){br=Es;break i}else ys=Zd,i$=Es}if(ir=e[138266]|0,Xd=o>>>0>>0,Xd)Q2();else{e[o>>2]=jt,E1=i0+24|0,eE=o6+E1|0,e[eE>>2]=qE,u1=i0+12|0,tE=o6+u1|0,e[tE>>2]=jt,d1=i0+8|0,iE=o6+d1|0,e[iE>>2]=jt;break t}}while(!1);if(Ga=br+8|0,ro=e[Ga>>2]|0,Bg=e[138266]|0,pg=ro>>>0>=Bg>>>0,n$=br>>>0>=Bg>>>0,rE=pg&n$,rE){Cs=ro+12|0,e[Cs>>2]=jt,e[Ga>>2]=jt,Z0=i0+8|0,nE=o6+Z0|0,e[nE>>2]=ro,I1=i0+12|0,so=o6+I1|0,e[so>>2]=br,h1=i0+24|0,Na=o6+h1|0,e[Na>>2]=0;break}else Q2()}while(!1);return $1=KA|8,sE=o6+$1|0,Ke=sE,Ke|0}else Ds=553496;for(;;){if(Ua=e[Ds>>2]|0,AE=Ua>>>0>O9>>>0,!AE&&(oE=Ds+4|0,Qg=e[oE>>2]|0,Ao=Ua+Qg|0,aE=Ao>>>0>O9>>>0,aE)){c=Ua,f=Qg,E=Ao;break}$E=Ds+8|0,lE=e[$E>>2]|0,Ds=lE}if(o0=f+-47|0,$0=f+-39|0,cE=c+$0|0,wg=cE,gE=wg&7,W7=(gE|0)==0,y4=0-wg|0,Xt=y4&7,hE=W7?0:Xt,a1=o0+hE|0,vg=c+a1|0,Oa=O9+16|0,fE=vg>>>0>>0,vr=fE?O9:vg,ms=vr+8|0,uE=ye+-40|0,IE=o6+8|0,Sg=IE,Pa=Sg&7,dE=(Pa|0)==0,bg=0-Sg|0,_g=bg&7,Ha=dE?0:_g,qa=o6+Ha|0,Rg=uE-Ha|0,e[138268]=qa,e[138265]=Rg,Bs=Rg|1,Z=Ha+4|0,Ya=o6+Z|0,e[Ya>>2]=Bs,s1=ye+-36|0,xg=o6+s1|0,e[xg>>2]=40,EE=e[138384]|0,e[138269]=EE,dn=vr+4|0,e[dn>>2]=27,e[ms>>2]=e[138374]|0,e[ms+4>>2]=e[138375]|0,e[ms+8>>2]=e[138376]|0,e[ms+12>>2]=e[138377]|0,e[138374]=o6,e[138375]=ye,e[138377]=0,e[138376]=ms,Fg=vr+28|0,e[Fg>>2]=7,oo=vr+32|0,mE=oo>>>0>>0,mE)for(wi=Fg;Lg=wi+4|0,e[Lg>>2]=7,BE=wi+8|0,pE=BE>>>0>>0,pE;)wi=Lg;if(QE=(vr|0)==(O9|0),!QE){if(yE=vr,wE=O9,ki=yE-wE|0,vE=e[dn>>2]|0,SE=vE&-2,e[dn>>2]=SE,DE=ki|1,Mg=O9+4|0,e[Mg>>2]=DE,e[vr>>2]=ki,ui=ki>>>3,ao=ki>>>0<256,ao){Ja=ui<<1,Tg=553088+(Ja<<2)|0,Gg=e[138262]|0,Ng=1<>2]|0,xE=e[138266]|0,FE=Pg>>>0>>0,FE?Q2():(_=Og,Va=Pg)),e[_>>2]=O9,Hg=Va+12|0,e[Hg>>2]=O9,LE=O9+8|0,e[LE>>2]=Va,$o=O9+12|0,e[$o>>2]=Tg;break}if(lo=ki>>>8,ME=(lo|0)==0,ME?rr=0:(Ka=ki>>>0>16777215,Ka?rr=31:(TE=lo+1048320|0,GE=TE>>>16,qg=GE&8,Qs=lo<>>16,$2=UE&4,i2=$2|qg,o2=Qs<<$2,X1=o2+245760|0,n2=X1>>>16,u2=n2&2,e2=i2|u2,y2=14-e2|0,S2=o2<>>15,M2=y2+w2|0,_2=M2<<1,G2=M2+7|0,I2=ki>>>G2,J2=I2&1,N2=J2|_2,rr=N2)),q2=553352+(rr<<2)|0,T2=O9+28|0,e[T2>>2]=rr,O2=O9+20|0,e[O2>>2]=0,e[Oa>>2]=0,K2=e[138263]|0,P2=1<>2]=O9,X2=O9+24|0,e[X2>>2]=q2,D5=O9+12|0,e[D5>>2]=O9,V2=O9+8|0,e[V2>>2]=O9;break}f5=e[q2>>2]|0,k5=f5+4|0,O5=e[k5>>2]|0,v2=O5&-8,E5=(v2|0)==(ki|0);t:do if(E5)uo=f5;else{for(r5=(rr|0)==31,x2=rr>>>1,R2=25-x2|0,B2=r5?0:R2,C5=ki<>>31,l5=(r$+16|0)+(A5<<2)|0,b5=e[l5>>2]|0,m5=(b5|0)==0,m5){a=l5,Kg=r$;break}if(F5=Xa<<1,u5=b5+4|0,_5=e[u5>>2]|0,H2=_5&-8,I5=(H2|0)==(ki|0),I5){uo=b5;break t}else Xa=F5,r$=b5}if(M1=e[138266]|0,v5=a>>>0>>0,v5)Q2();else{e[a>>2]=O9,c5=O9+24|0,e[c5>>2]=Kg,o5=O9+12|0,e[o5>>2]=O9,c2=O9+8|0,e[c2>>2]=O9;break e}}while(!1);if(B5=uo+8|0,e5=e[B5>>2]|0,n5=e[138266]|0,g5=e5>>>0>=n5>>>0,VE=uo>>>0>=n5>>>0,Y2=g5&VE,Y2){h5=e5+12|0,e[h5>>2]=O9,e[B5>>2]=O9,t5=O9+8|0,e[t5>>2]=e5,R5=O9+12|0,e[R5>>2]=uo,W2=O9+24|0,e[W2>>2]=0;break}else Q2()}}while(!1);if(F2=e[138265]|0,p5=F2>>>0>v4>>>0,p5)return H5=F2-v4|0,e[138265]=H5,X5=e[138268]|0,d5=X5+v4|0,e[138268]=d5,u3=H5|1,K=v4+4|0,h3=X5+K|0,e[h3>>2]=u3,J5=v4|3,e3=X5+4|0,e[e3>>2]=J5,n3=X5+8|0,Ke=n3,Ke|0}return L5=Up()|0,e[L5>>2]=12,Ke=0,Ke|0}function d2(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0;if(_e=m,X=(t|0)==0,!X){U=t+-8|0,J2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,a9=e[y6>>2]|0,z9=a9&3,R4=(z9|0)==1,R4&&Q2(),H9=a9&-8,p=H9+-8|0,Z9=t+p|0,a0=a9&1,j=(a0|0)==0;do if(j){if(v0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-v0|0,S0=t+Q|0,Z0=v0+H9|0,y1=S0>>>0>>0,y1&&Q2(),P1=e[138267]|0,s2=(S0|0)==(P1|0),s2){if(z=H9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,K=(r0|0)==3,!K){q3=S0,y9=Z0;break}e[138264]=Z0,c0=i0&-2,e[n0>>2]=c0,s0=Z0|1,b=Q+4|0,l0=t+b|0,e[l0>>2]=s0,e[Z9>>2]=Z0;return}if(n2=v0>>>3,N2=v0>>>0<256,N2){if(Y=Q+8|0,D5=t+Y|0,B2=e[D5>>2]|0,t0=Q+12|0,m5=t+t0|0,Y2=e[m5>>2]|0,u3=n2<<1,K3=553088+(u3<<2)|0,m3=(B2|0)==(K3|0),m3||(h6=B2>>>0>>0,h6&&Q2(),$6=B2+12|0,S3=e[$6>>2]|0,O6=(S3|0)==(S0|0),O6||Q2()),Y6=(Y2|0)==(B2|0),Y6){G6=1<>>0>>0,D6&&Q2(),K6=Y2+8|0,F6=e[K6>>2]|0,L3=(F6|0)==(S0|0),L3?c=K6:Q2()),L6=B2+12|0,e[L6>>2]=Y2,e[c>>2]=B2,q3=S0,y9=Z0;break}x=Q+24|0,X6=t+x|0,A9=e[X6>>2]|0,_=Q+12|0,W6=t+_|0,h9=e[W6>>2]|0,f9=(h9|0)==(S0|0);do if(f9){if(L=Q+20|0,s4=t+L|0,g4=e[s4>>2]|0,N9=(g4|0)==0,N9)if(F=Q+16|0,D9=t+F|0,d9=e[D9>>2]|0,P6=(d9|0)==0,P6){C9=0;break}else F4=d9,Ce=D9;else F4=g4,Ce=s4;for(;;){if(t9=F4+20|0,C4=e[t9>>2]|0,S4=(C4|0)==0,!S4){F4=C4,Ce=t9;continue}if(A4=F4+16|0,Q9=e[A4>>2]|0,D4=(Q9|0)==0,D4){$e=F4,p4=Ce;break}else F4=Q9,Ce=A4}if(b4=p4>>>0>>0,b4)Q2();else{e[p4>>2]=0,C9=$e;break}}else if(P=Q+8|0,u9=t+P|0,o9=e[u9>>2]|0,T9=o9>>>0>>0,T9&&Q2(),d6=o9+12|0,M6=e[d6>>2]|0,e9=(M6|0)==(S0|0),e9||Q2(),G9=h9+8|0,I9=e[G9>>2]|0,E4=(I9|0)==(S0|0),E4){e[d6>>2]=h9,e[G9>>2]=o9,C9=h9;break}else Q2();while(!1);if(M4=(A9|0)==0,M4)q3=S0,y9=Z0;else{if(M=Q+28|0,Z4=t+M|0,m4=e[Z4>>2]|0,T4=553352+(m4<<2)|0,U9=e[T4>>2]|0,G4=(S0|0)==(U9|0),G4){if(e[T4>>2]=C9,c4=(C9|0)==0,c4){o4=1<>>0>>0,Ee&&Q2(),Te=A9+16|0,We=e[Te>>2]|0,N4=(We|0)==(S0|0),N4?e[Te>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){q3=S0,y9=Z0;break}W4=e[138266]|0,Se=C9>>>0>>0,Se&&Q2(),je=C9+24|0,e[je>>2]=A9,T=Q+16|0,se=t+T|0,f4=e[se>>2]|0,b6=(f4|0)==0;do if(!b6)if(O4=f4>>>0>>0,O4)Q2();else{F9=C9+16|0,e[F9>>2]=f4,a4=f4+24|0,e[a4>>2]=C9;break}while(!1);if(N=Q+20|0,_4=t+N|0,Ae=e[_4>>2]|0,W9=(Ae|0)==0,W9)q3=S0,y9=Z0;else if(oe=e[138266]|0,Z=Ae>>>0>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=Ae,o0=Ae+24|0,e[o0>>2]=C9,q3=S0,y9=Z0;break}}}else q3=U,y9=H9;while(!1);if($0=q3>>>0>>0,$0||Q2(),D=H9+-4|0,g0=t+D|0,f0=e[g0>>2]|0,Q0=f0&1,d0=(Q0|0)==0,d0&&Q2(),w0=f0&2,h0=(w0|0)==0,h0){if(E0=e[138268]|0,C0=(Z9|0)==(E0|0),C0){if(I0=e[138265]|0,K0=I0+y9|0,e[138265]=K0,e[138268]=q3,b0=K0|1,m0=q3+4|0,e[m0>>2]=b0,F0=e[138267]|0,L0=(q3|0)==(F0|0),!L0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,U0=(Z9|0)==(T0|0),U0){B0=e[138264]|0,q0=B0+y9|0,e[138264]=q0,e[138267]=q3,x0=q0|1,M0=q3+4|0,e[M0>>2]=x0,J0=q3+q0|0,e[J0>>2]=q0;return}Y0=f0&-8,O0=Y0+y9|0,z0=f0>>>3,G0=f0>>>0<256;do if(G0){if(P0=t+H9|0,r1=e[P0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){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,F1=e[S1>>2]|0,W=H9|4,L1=t+W|0,N1=e[L1>>2]|0,w1=(N1|0)==(Z9|0);do if(w1){if(H=H9+12|0,W1=t+H|0,O1=e[W1>>2]|0,l2=(O1|0)==0,l2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){$4=0;break}else c6=f2,l4=z1;else c6=O1,l4=W1;for(;;){if(A2=c6+20|0,V1=e[A2>>2]|0,g2=(V1|0)==0,!g2){c6=V1,l4=A2;continue}if(a2=c6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ne=c6,U6=l4;break}else c6=t2,l4=a2}if(i2=e[138266]|0,o2=U6>>>0>>0,o2)Q2();else{e[U6>>2]=0,$4=Ne;break}}else if(U1=t+H9|0,Z1=e[U1>>2]|0,G1=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=N1+8|0,j1=e[Y1>>2]|0,r2=(j1|0)==(Z9|0),r2){e[K1>>2]=N1,e[Y1>>2]=Z1,$4=N1;break}else Q2();while(!1);if(X1=(F1|0)==0,!X1){if(v=H9+20|0,u2=t+v|0,e2=e[u2>>2]|0,y2=553352+(e2<<2)|0,S2=e[y2>>2]|0,w2=(Z9|0)==(S2|0),w2){if(e[y2>>2]=$4,k4=($4|0)==0,k4){m2=1<>>0>>0,q2&&Q2(),T2=F1+16|0,O2=e[T2>>2]|0,K2=(O2|0)==(Z9|0),K2?e[T2>>2]=$4:(s5=F1+20|0,e[s5>>2]=$4),P2=($4|0)==0,P2)break;T1=e[138266]|0,j2=$4>>>0>>0,j2&&Q2(),x5=$4+24|0,e[x5>>2]=F1,S=H9+8|0,X2=t+S|0,V2=e[X2>>2]|0,f5=(V2|0)==0;do if(!f5)if(k5=V2>>>0>>0,k5)Q2();else{O5=$4+16|0,e[O5>>2]=V2,$5=V2+24|0,e[$5>>2]=$4;break}while(!1);if(w=H9+12|0,v2=t+w|0,E5=e[v2>>2]|0,r5=(E5|0)==0,!r5)if(x2=e[138266]|0,R2=E5>>>0>>0,R2)Q2();else{C5=$4+20|0,e[C5>>2]=E5,F5=E5+24|0,e[F5>>2]=$4;break}}}while(!1);if(u5=O0|1,b5=q3+4|0,e[b5>>2]=u5,N5=q3+O0|0,e[N5>>2]=O0,_5=e[138267]|0,H2=(q3|0)==(_5|0),H2){e[138264]=O0;return}else m9=O0}else I5=f0&-2,e[g0>>2]=I5,A5=y9|1,l5=q3+4|0,e[l5>>2]=A5,M1=q3+y9|0,e[M1>>2]=y9,m9=y9;if(v5=m9>>>3,c5=m9>>>0<256,c5){o5=v5<<1,z2=553088+(o5<<2)|0,c2=e[138262]|0,B5=1<>2]|0,R5=e[138266]|0,W2=t5>>>0>>0,W2?Q2():(f=h5,ae=t5)),e[f>>2]=q3,a5=ae+12|0,e[a5>>2]=q3,F2=q3+8|0,e[F2>>2]=ae,p5=q3+12|0,e[p5>>2]=z2;return}H5=m9>>>8,X5=(H5|0)==0,X5?B4=0:(d5=m9>>>0>16777215,d5?B4=31:(h3=H5+1048320|0,J5=h3>>>16,e3=J5&8,n3=H5<>>16,K5=L5&4,w3=K5|e3,f3=n3<>>16,z5=T3&2,y3=w3|z5,W5=14-y3|0,t6=f3<>>15,G3=W5+R3|0,o3=G3<<1,$3=G3+7|0,l3=m9>>>$3,q5=l3&1,U5=q5|o3,B4=U5)),P5=553352+(B4<<2)|0,w5=q3+28|0,e[w5>>2]=B4,N3=q3+16|0,M5=q3+20|0,e[M5>>2]=0,e[N3>>2]=0,n6=e[138263]|0,t3=1<>2]=q3,k3=q3+24|0,e[k3>>2]=P5,Q3=q3+12|0,e[Q3>>2]=q3,i6=q3+8|0,e[i6>>2]=q3;else{W3=e[P5>>2]|0,U3=W3+4|0,V5=e[U3>>2]|0,v3=V5&-8,c3=(v3|0)==(m9|0);t:do if(c3)De=W3;else{for(O3=(B4|0)==31,I3=B4>>>1,w6=25-I3|0,k6=O3?0:w6,v6=m9<>>31,e6=(be+16|0)+(X3<<2)|0,l6=e[e6>>2]|0,f6=(l6|0)==0,f6){n=e6,Xe=be;break}if(B6=j4<<1,j3=l6+4|0,p6=e[j3>>2]|0,_6=p6&-8,q6=(_6|0)==(m9|0),q6){De=l6;break t}else j4=B6,be=l6}if(P3=e[138266]|0,D3=n>>>0>>0,D3)Q2();else{e[n>>2]=q3,H3=q3+24|0,e[H3>>2]=Xe,V3=q3+12|0,e[V3>>2]=q3,S6=q3+8|0,e[S6>>2]=q3;break e}}while(!1);if(s6=De+8|0,i3=e[s6>>2]|0,s3=e[138266]|0,A6=i3>>>0>=s3>>>0,g8=De>>>0>=s3>>>0,u6=A6&g8,u6){b3=i3+12|0,e[b3>>2]=q3,e[s6>>2]=q3,T6=q3+8|0,e[T6>>2]=i3,r6=q3+12|0,e[r6>>2]=De,Q6=q3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(R6=e[138270]|0,J6=R6+-1|0,e[138270]=J6,I6=(J6|0)==0,I6)X4=553504;else return;for(;L4=e[X4>>2]|0,F3=(L4|0)==0,Z6=L4+8|0,!F3;)X4=Z6;e[138270]=-1}}function r4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0;return b=m,a=(t|0)==0,a?D=0:(c=i5(n,t)|0,I=n|t,C=I>>>0>65535,C?(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)||ne(v|0,0,D|0)|0,v|0}function Ni(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0;return Y=m,o=(t|0)==0,o?(a=S9(n)|0,P=a,P|0):(y=n>>>0>4294967231,y?(x=Up()|0,e[x>>2]=12,P=0,P|0):(_=n>>>0<11,F=n+11|0,L=F&-8,M=_?16:L,T=t+-8|0,N=XS(T,M)|0,c=(N|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(P=0,P|0):(C=t+-4|0,p=e[C>>2]|0,B=p&-8,v=p&3,S=(v|0)==0,w=S?8:4,D=B-w|0,Q=D>>>0>>0,b=Q?D:n,n4(E|0,t|0,b|0)|0,d2(t),P=E,P|0)):(f=N+8|0,P=f,P|0)))}function XS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0;if(K5=m,T=t+4|0,N=e[T>>2]|0,w1=N&-8,r2=t+w1|0,a2=e[138266]|0,w2=N&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,J5=h3&u3,K2=t>>>0>>0,e3=J5&K2,e3||Q2(),b=w1|4,O5=t+b|0,b5=e[O5>>2]|0,o5=b5&1,P=(o5|0)==0,P&&Q2(),Z=(w2|0)==0,Z)return $0=n>>>0<256,$0?(d5=0,d5|0):(K0=n+4|0,M0=w1>>>0>>0,!M0&&(i1=w1-n|0,I1=e[138382]|0,S1=I1<<1,L1=i1>>>0>S1>>>0,!L1)?(d5=t,d5|0):(d5=0,d5|0));if(N1=w1>>>0>>0,!N1)return U1=w1-n|0,Z1=U1>>>0>15,Z1?(G1=t+n|0,D1=N&1,K1=D1|n,P1=K1|2,e[T>>2]=P1,Q=n+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[O5>>2]|0,j1=Y1|1,e[O5>>2]=j1,dQ(G1,U1),d5=t,d5|0):(d5=t,d5|0);if(W1=e[138268]|0,O1=(r2|0)==(W1|0),O1)return l2=e[138265]|0,z1=l2+w1|0,f2=z1>>>0>n>>>0,f2?(s2=z1-n|0,E2=t+n|0,A2=N&1,V1=A2|n,g2=V1|2,e[T>>2]=g2,D=n+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,d5=t,d5|0):(d5=0,d5|0);if(i2=e[138267]|0,o2=(r2|0)==(i2|0),o2)return X1=e[138264]|0,n2=X1+w1|0,u2=n2>>>0>>0,u2?(d5=0,d5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(S2=t+n|0,m2=t+n2|0,M2=N&1,_2=M2|n,G2=_2|2,e[T>>2]=G2,S=n+4|0,I2=t+S|0,J2=e2|1,e[I2>>2]=J2,e[m2>>2]=e2,y=n2+4|0,N2=t+y|0,q2=e[N2>>2]|0,T2=q2&-2,e[N2>>2]=T2,n3=S2,C3=e2):(O2=N&1,s5=O2|n2,P2=s5|2,e[T>>2]=P2,v=n2+4|0,T1=t+v|0,j2=e[T1>>2]|0,x5=j2|1,e[T1>>2]=x5,n3=0,C3=0),e[138264]=C3,e[138267]=n3,d5=t,d5|0);if(X2=b5&2,D5=(X2|0)==0,!D5||(V2=b5&-8,f5=V2+w1|0,k5=f5>>>0>>0,k5))return d5=0,d5|0;$5=f5-n|0,v2=b5>>>3,E5=b5>>>0<256;do if(E5){if(p=w1+8|0,r5=t+p|0,x2=e[r5>>2]|0,B=w1+12|0,R2=t+B|0,B2=e[R2>>2]|0,C5=v2<<1,F5=553088+(C5<<2)|0,u5=(x2|0)==(F5|0),u5||(N5=x2>>>0>>0,N5&&Q2(),_5=x2+12|0,H2=e[_5>>2]|0,I5=(H2|0)==(r2|0),I5||Q2()),A5=(B2|0)==(x2|0),A5){l5=1<>>0>>0,z2&&Q2(),c2=B2+8|0,B5=e[c2>>2]|0,e5=(B5|0)==(r2|0),e5?a=c2:Q2()),n5=x2+12|0,e[n5>>2]=B2,e[a>>2]=x2}else{c=w1+24|0,g5=t+c|0,Y2=e[g5>>2]|0,w=w1+12|0,h5=t+w|0,t5=e[h5>>2]|0,R5=(t5|0)==(r2|0);do if(R5){if(_=w1+20|0,a0=t+_|0,V=e[a0>>2]|0,o0=(V|0)==0,o0)if(x=w1+16|0,n0=t+x|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){F2=0;break}else W2=i0,p5=n0;else W2=V,p5=a0;for(;;){if(K=W2+20|0,c0=e[K>>2]|0,s0=(c0|0)==0,!s0){W2=c0,p5=K;continue}if(l0=W2+16|0,j=e[l0>>2]|0,g0=(j|0)==0,g0){a5=W2,H5=p5;break}else W2=j,p5=l0}if(f0=H5>>>0>>0,f0)Q2();else{e[H5>>2]=0,F2=a5;break}}else if(C=w1+8|0,z=t+C|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=t5+8|0,X=e[H>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=t5,e[H>>2]=Y,F2=t5;break}else Q2();while(!1);if(Q0=(Y2|0)==0,!Q0){if(f=w1+28|0,d0=t+f|0,w0=e[d0>>2]|0,h0=553352+(w0<<2)|0,E0=e[h0>>2]|0,C0=(r2|0)==(E0|0),C0){if(e[h0>>2]=F2,X5=(F2|0)==0,X5){I0=1<>>0>>0,L0&&Q2(),T0=Y2+16|0,U0=e[T0>>2]|0,B0=(U0|0)==(r2|0),B0?e[T0>>2]=F2:(q0=Y2+20|0,e[q0>>2]=F2),x0=(F2|0)==0,x0)break;D0=e[138266]|0,J0=F2>>>0>>0,J0&&Q2(),Y0=F2+24|0,e[Y0>>2]=Y2,E=w1+16|0,O0=t+E|0,z0=e[O0>>2]|0,G0=(z0|0)==0;do if(!G0)if(P0=z0>>>0>>0,P0)Q2();else{r1=F2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=F2;break}while(!1);if(I=w1+20|0,e1=t+I|0,S0=e[e1>>2]|0,c1=(S0|0)==0,!c1)if($1=e[138266]|0,f1=S0>>>0<$1>>>0,f1)Q2();else{g1=F2+20|0,e[g1>>2]=S0,l1=S0+24|0,e[l1>>2]=F2;break}}}while(!1);return s1=$5>>>0<16,s1?(a1=N&1,n1=f5|a1,A1=n1|2,e[T>>2]=A1,M=f5|4,Z0=t+M|0,h1=e[Z0>>2]|0,E1=h1|1,e[Z0>>2]=E1,d5=t,d5|0):(u1=t+n|0,d1=N&1,B1=d1|n,p1=B1|2,e[T>>2]=p1,F=n+4|0,Q1=t+F|0,R1=$5|3,e[Q1>>2]=R1,L=f5|4,x1=t+L|0,y1=e[x1>>2]|0,F1=y1|1,e[x1>>2]=F1,dQ(u1,$5),d5=t,d5|0)}function dQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,G0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,N1=0,w1=0,U1=0,Z1=0,G1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,G2=0,I2=0,J2=0,N2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,N5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,G3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,N3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,G6=0,j6=0,r9=0,x6=0,N6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,G9=0,I9=0,E4=0,s4=0,g4=0,N9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,G4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,N4=0,Ge=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ne=0,$4=0,Ce=0,p4=0;p4=m,V=t+n|0,o0=t+4|0,O2=e[o0>>2]|0,f6=O2&1,Y6=(f6|0)==0;do if(Y6){if(F6=e[t>>2]|0,T9=O2&3,D9=(T9|0)==0,D9)return;if(M4=0-F6|0,E9=t+M4|0,n0=F6+n|0,Q0=e[138266]|0,F0=E9>>>0>>0,F0&&Q2(),O0=e[138267]|0,f1=(E9|0)==(O0|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=E9,a=n0;break}e[138264]=n0,c0=i0&-2,e[Z9>>2]=c0,s0=n0|1,_=4-F6|0,l0=t+_|0,e[l0>>2]=s0,e[V>>2]=n0;return}if(u1=F6>>>3,N1=F6>>>0<256,N1){if(J=8-F6|0,j1=t+J|0,g2=e[j1>>2]|0,W=12-F6|0,S2=t+W|0,K2=e[S2>>2]|0,O5=u1<<1,b5=553088+(O5<<2)|0,o5=(g2|0)==(b5|0),o5||(W2=g2>>>0>>0,W2&&Q2(),n3=g2+12|0,W5=e[n3>>2]|0,w5=(W5|0)==(E9|0),w5||Q2()),i6=(K2|0)==(g2|0),i6){v6=1<>>0>>0,T6&&Q2(),r6=K2+8|0,Q6=e[r6>>2]|0,R6=(Q6|0)==(E9|0),R6?C=r6:Q2()),J6=g2+12|0,e[J6>>2]=K2,e[C>>2]=g2,o=E9,a=n0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,L=12-F6|0,Z6=t+L|0,G6=e[Z6>>2]|0,j6=(G6|0)==(E9|0);do if(j6){if(M=16-F6|0,T=M+4|0,A9=t+T|0,W6=e[A9>>2]|0,h9=(W6|0)==0,h9)if(f9=t+M|0,u9=e[f9>>2]|0,o9=(u9|0)==0,o9){a4=0;break}else O4=u9,oe=f9;else O4=W6,oe=A9;for(;;){if(a9=O4+20|0,d6=e[a9>>2]|0,M6=(d6|0)==0,!M6){O4=d6,oe=a9;continue}if(e9=O4+16|0,G9=e[e9>>2]|0,I9=(G9|0)==0,I9){F9=O4,ae=oe;break}else O4=G9,oe=e9}if(E4=ae>>>0>>0,E4)Q2();else{e[ae>>2]=0,a4=F9;break}}else if(t0=8-F6|0,r9=t+t0|0,x6=e[r9>>2]|0,N6=x6>>>0>>0,N6&&Q2(),D6=x6+12|0,K6=e[D6>>2]|0,y6=(K6|0)==(E9|0),y6||Q2(),L3=G6+8|0,L6=e[L3>>2]|0,X6=(L6|0)==(E9|0),X6){e[D6>>2]=G6,e[L3>>2]=x6,a4=G6;break}else Q2();while(!1);if(s4=(F3|0)==0,s4)o=E9,a=n0;else{if(P=28-F6|0,g4=t+P|0,N9=e[g4>>2]|0,z9=553352+(N9<<2)|0,d9=e[z9>>2]|0,P6=(E9|0)==(d9|0),P6){if(e[z9>>2]=a4,c6=(a4|0)==0,c6){t9=1<>>0>>0,D4&&Q2(),b4=F3+16|0,R4=e[b4>>2]|0,Z4=(R4|0)==(E9|0),Z4?e[b4>>2]=a4:(m4=F3+20|0,e[m4>>2]=a4),T4=(a4|0)==0,T4){o=E9,a=n0;break}U9=e[138266]|0,G4=a4>>>0>>0,G4&&Q2(),o4=a4+24|0,e[o4>>2]=F3,z=16-F6|0,x4=t+z|0,h4=e[x4>>2]|0,de=(h4|0)==0;do if(!de)if(H9=h4>>>0>>0,H9)Q2();else{Ee=a4+16|0,e[Ee>>2]=h4,Te=h4+24|0,e[Te>>2]=a4;break}while(!1);if(Y=z+4|0,We=t+Y|0,N4=e[We>>2]|0,Ge=(N4|0)==0,Ge)o=E9,a=n0;else if(U4=e[138266]|0,W4=N4>>>0>>0,W4)Q2();else{Se=a4+20|0,e[Se>>2]=N4,je=N4+24|0,e[je>>2]=a4,o=E9,a=n0;break}}}else o=t,a=n;while(!1);if(j=e[138266]|0,$0=V>>>0>>0,$0&&Q2(),y=n+4|0,g0=t+y|0,f0=e[g0>>2]|0,d0=f0&2,w0=(d0|0)==0,w0){if(h0=e[138268]|0,E0=(V|0)==(h0|0),E0){if(C0=e[138265]|0,I0=C0+a|0,e[138265]=I0,e[138268]=o,v0=I0|1,K0=o+4|0,e[K0>>2]=v0,b0=e[138267]|0,m0=(o|0)==(b0|0),!m0)return;e[138267]=0,e[138264]=0;return}if(L0=e[138267]|0,T0=(V|0)==(L0|0),T0){U0=e[138264]|0,B0=U0+a|0,e[138264]=B0,e[138267]=o,q0=B0|1,x0=o+4|0,e[x0>>2]=q0,D0=o+B0|0,e[D0>>2]=B0;return}M0=f0&-8,J0=M0+a|0,Y0=f0>>>3,z0=f0>>>0<256;do if(z0){if(b=n+8|0,G0=t+b|0,P0=e[G0>>2]|0,x=n+12|0,r1=t+x|0,H0=e[r1>>2]|0,e1=Y0<<1,S0=553088+(e1<<2)|0,i1=(P0|0)==(S0|0),i1||(c1=P0>>>0>>0,c1&&Q2(),$1=P0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(P0|0),s1){a1=1<>>0>>0,h1&&Q2(),E1=H0+8|0,d1=e[E1>>2]|0,B1=(d1|0)==(V|0),B1?I=E1:Q2()),p1=P0+12|0,e[p1>>2]=H0,e[I>>2]=P0}else{N=n+24|0,Q1=t+N|0,R1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,y1=e[x1>>2]|0,S1=(y1|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,O1=(W1|0)==0,O1){W9=0;break}else _4=W1,B4=r2;else _4=q1,B4=H1;for(;;){if(l2=_4+20|0,z1=e[l2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=l2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,A2=(E2|0)==0,A2){Ae=_4,j4=B4;break}else _4=E2,B4=s2}if(V1=j4>>>0>>0,V1)Q2();else{e[j4>>2]=0,W9=Ae;break}}else if(Q=n+8|0,F1=t+Q|0,L1=e[F1>>2]|0,w1=L1>>>0>>0,w1&&Q2(),U1=L1+12|0,Z1=e[U1>>2]|0,G1=(Z1|0)==(V|0),G1||Q2(),D1=y1+8|0,K1=e[D1>>2]|0,P1=(K1|0)==(V|0),P1){e[U1>>2]=y1,e[D1>>2]=L1,W9=y1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if(a0=n+28|0,t2=t+a0|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,Ne=(W9|0)==0,Ne){n2=1<<$2,u2=n2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,m2=R1>>>0>>0,m2&&Q2(),M2=R1+16|0,_2=e[M2>>2]|0,G2=(_2|0)==(V|0),G2?e[M2>>2]=W9:(I2=R1+20|0,e[I2>>2]=W9),J2=(W9|0)==0,J2)break;N2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),T2=W9+24|0,e[T2>>2]=R1,Z=n+16|0,s5=t+Z|0,P2=e[s5>>2]|0,T1=(P2|0)==0;do if(!T1)if(j2=P2>>>0>>0,j2)Q2();else{x5=W9+16|0,e[x5>>2]=P2,X2=P2+24|0,e[X2>>2]=W9;break}while(!1);if(D=n+20|0,D5=t+D|0,V2=e[D5>>2]|0,f5=(V2|0)==0,!f5)if(k5=e[138266]|0,$5=V2>>>0>>0,$5)Q2();else{v2=W9+20|0,e[v2>>2]=V2,E5=V2+24|0,e[E5>>2]=W9;break}}}while(!1);if(r5=J0|1,x2=o+4|0,e[x2>>2]=r5,R2=o+J0|0,e[R2>>2]=J0,B2=e[138267]|0,C5=(o|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else F5=f0&-2,e[g0>>2]=F5,u5=a|1,N5=o+4|0,e[N5>>2]=u5,_5=o+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,I5=c>>>0<256,I5){A5=H2<<1,l5=553088+(A5<<2)|0,m5=e[138262]|0,M1=1<>2]|0,e5=e[138266]|0,n5=B5>>>0>>0,n5?Q2():(p=c2,se=B5)),e[p>>2]=o,g5=se+12|0,e[g5>>2]=o,Y2=o+8|0,e[Y2>>2]=se,h5=o+12|0,e[h5>>2]=l5;return}if(t5=c>>>8,R5=(t5|0)==0,R5?f4=0:(a5=c>>>0>16777215,a5?f4=31:(F2=t5+1048320|0,p5=F2>>>16,H5=p5&8,X5=t5<>>16,h3=u3&4,J5=h3|H5,e3=X5<>>16,K5=L5&2,w3=J5|K5,f3=14-w3|0,B3=e3<>>15,T3=f3+K3|0,z5=T3<<1,y3=T3+7|0,t6=c>>>y3,R3=t6&1,G3=R3|z5,f4=G3)),o3=553352+(f4<<2)|0,$3=o+28|0,e[$3>>2]=f4,l3=o+16|0,m3=o+20|0,e[m3>>2]=0,e[l3>>2]=0,q5=e[138263]|0,U5=1<>2]=o,n6=o+24|0,e[n6>>2]=o3,t3=o+12|0,e[t3>>2]=o,A3=o+8|0,e[A3>>2]=o;return}x3=e[o3>>2]|0,h6=x3+4|0,p3=e[h6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)F4=x3;else{for(W3=(f4|0)==31,U3=f4>>>1,V5=25-U3|0,v3=W3?0:V5,c3=c<>>31,l6=($e+16|0)+(j3<<2)|0,I3=e[l6>>2]|0,p6=(I3|0)==0,p6){f=l6,C9=$e;break}if(O3=b6<<1,$6=I3+4|0,w6=e[$6>>2]|0,k6=w6&-8,B6=(k6|0)==(c|0),B6){F4=I3;break e}else b6=O3,$e=I3}_6=e[138266]|0,q6=f>>>0<_6>>>0,q6&&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=F4+8|0,D3=e[e6>>2]|0,H3=e[138266]|0,V3=D3>>>0>=H3>>>0,$4=F4>>>0>=H3>>>0,S6=V3&$4,S6||Q2(),s6=D3+12|0,e[s6>>2]=o,e[e6>>2]=o,i3=o+8|0,e[i3>>2]=D3,O6=o+12|0,e[O6>>2]=F4,s3=o+24|0,e[s3>>2]=0}function eD(){e[6410]=P9}function ne(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);)u[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);)u[t>>0]=n,t=t+1|0;return t-o|0}function z$(t){t=t|0;var n=0;for(n=t;u[n>>0]|0;)n=n+1|0;return n-t|0}function EQ(t,n){t=t|0,n=n|0;var o=0,a=0;a=t+(z$(t)|0)|0;do u[a+o>>0]=u[n+o>>0],o=o+1|0;while(u[n+(o-1)>>0]|0);return t|0}function CQ(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,H6=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):(H6=0,n>>>o-32|0)}function n4(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;if((o|0)>=4096)return lv(t|0,n|0,o|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(o|0))return a|0;u[t>>0]=u[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;)u[t>>0]=u[n>>0]|0,t=t+1|0,n=n+1|0,o=o-1|0;return a|0}function Zo(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,u[t>>0]=u[n>>0]|0;t=a}else n4(t,n,o)|0;return t|0}function oB(t,n){t=t|0,n=n|0;var o=0;do u[(t+o|0)>>0]=u[(n+o|0)>>0],o=o+1|0;while(u[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,H6=f,c|0|0}function pb(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):(H6=(n|0)<0?-1:0,n>>o-32|0)}function mQ(t){t=t|0;var n=0;return n=u[R9+(t&255)>>0]|0,(n|0)<8?n|0:(n=u[R9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=u[R9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(u[R9+(t>>>24)>>0]|0)+24|0))}function tD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return o=t&65535,a=n&65535,c=i5(a,o)|0,f=t>>>16,E=(c>>>16)+(i5(a,f)|0)|0,I=n>>>16,C=i5(I,o)|0,H6=((E>>>16)+(i5(I,f)|0)|0)+(((E&65535)+C|0)>>>16)|0,0|(E+C<<16|c&65535)|0}function Qb(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,C=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,C=Zs(c^t,f^n,c,f)|0,p=H6,B=Zs(E^o,I^a,E,I)|0,v=E^c,S=I^f,w=ZC(C,p,B,H6,0)|0,y=Zs(w^v,H6^S,v,S)|0,y|0}function yb(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,m=m+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,C=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Zs(f^t,E^n,f,E)|0,B=H6,v=Zs(I^o,C^a,I,C)|0,ZC(p,B,v,H6,c)|0,S=Zs(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=H6,m=y,H6=w,S|0}function iD(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,C=0;return c=t,f=o,E=tD(c,f)|0,I=H6,C=i5(n,f)|0,H6=((i5(a,c)|0)+C|0)+I|I&0,0|E&-1|0}function wb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0;return c=ZC(t,n,o,a,0)|0,c|0}function kb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0;return f=m,m=m+8|0,c=f|0,ZC(t,n,o,a,c)|0,m=f,H6=e[c+4>>2]|0,e[c>>2]|0|0}function ZC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,_=0,F=0,L=0,M=0,T=0,N=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;if(f=t,E=n,I=E,C=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,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0):(v&&(e[c>>2]=(f>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(f>>>0)/(C>>>0)>>>0,H6=D0,x0|0);S=(B|0)==0;do if(C|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,a0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}if(x=C-1|0,x&C|0){F=(Ks(C|0)|0)+33|0,L=F-(Ks(I|0)|0)|0,M=64-L|0,T=32-L|0,N=T>>31,P=L-32|0,z=P>>31,Z=L,a0=T-1>>31&I>>>(P>>>0)|(I<>>(L>>>0))&z,U=z&I>>>(L>>>0),X=f<>>(P>>>0))&N|f<>31;break}return c|0&&(e[c>>2]=x&f,e[c+4>>2]=0),(C|0)==1?(D0=E|n&0,x0=0|t&-1,H6=D0,x0|0):(_=mQ(C|0)|0,D0=0|I>>>(_>>>0),x0=I<<32-_|f>>>(_>>>0)|0,H6=D0,x0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(I>>>0)/(C>>>0)>>>0,H6=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,H6=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|n&0),D0=0,x0=I>>>((mQ(B|0)|0)>>>0),H6=D0,x0|0;if(y=Ks(B|0)|0,D=y-(Ks(I|0)|0)|0,D>>>0<=30){Q=D+1|0,b=31-D|0,Z=Q,a0=I<>>(Q>>>0),U=I>>>(Q>>>0),X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}while(!1);if(!(Z|0))T0=H,L0=X,F0=U,m0=a0,b0=0,K0=0;else{for(V=0|o&-1,o0=p|a&0,n0=Vs(V|0,o0|0,-1,-1)|0,i0=H6,j=H,l0=X,s0=U,c0=a0,K=Z,r0=0;$0=l0>>>31|j<<1,g0=r0|l0<<1,f0=0|(c0<<1|j>>>31),Q0=c0>>>31|s0<<1|0,Zs(n0,i0,f0,Q0)|0,d0=H6,w0=d0>>31|((d0|0)<0?-1:0)<<1,h0=w0&1,E0=Zs(f0,Q0,w0&V,(((d0|0)<0?-1:0)>>31|((d0|0)<0?-1:0)<<1)&o0)|0,C0=E0,I0=H6,v0=K-1|0,v0|0;)j=$0,l0=g0,s0=I0,c0=C0,K=v0,r0=h0;T0=$0,L0=g0,F0=I0,m0=C0,b0=0,K0=h0}return U0=L0,B0=0,q0=T0|B0,c|0&&(e[c>>2]=0|m0,e[c+4>>2]=F0|0),D0=(0|U0)>>>31|q0<<1|(B0<<1|U0>>>31)&0|b0,x0=(U0<<1|0)&-2|K0,H6=D0,x0|0}function rD(t,n,o,a,c){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,lB[t&3](n|0,o|0,a|0,c|0)|0}function nD(t,n){t=t|0,n=n|0,Ws[t&7](n|0)}function sD(t,n,o){t=t|0,n=n|0,o=o|0,cB[t&3](n|0,o|0)}function AD(t,n){return t=t|0,n=n|0,QQ[t&1](n|0)|0}function oD(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0,yQ[t&1](n|0,o|0,a|0)}function aD(t,n,o,a,c,f,E,I,C){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,C=C|0,wQ[t&3](n|0,o|0,a|0,c|0,f|0,E|0,I|0,C|0)|0}function $D(t,n,o){return t=t|0,n=n|0,o=o|0,ft[t&15](n|0,o|0)|0}function lD(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,gB[t&7](n|0,o|0,a|0,c|0,f|0)|0}function cD(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,Yr(0),0}function aB(t){t=t|0,Yr(1)}function BQ(t,n){t=t|0,n=n|0,Yr(2)}function gD(t){return t=t|0,Yr(3),0}function hD(t,n,o){t=t|0,n=n|0,o=o|0,Yr(4)}function pQ(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,Yr(5),0}function Z$(t,n){return t=t|0,n=n|0,Yr(6),0}function $B(t,n,o,a,c){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,Yr(7),0}var lB=[cD,jv,Mv,Tv],Ws=[aB,zv,Zv,aS,BS,pS,aB,aB],cB=[BQ,Jv,QS,BQ],QQ=[gD,$S],yQ=[hD,AS],wQ=[pQ,vS,_S,pQ],ft=[Z$,Kv,Vv,Wv,oS,lS,yS,wS,Xv,mS,TS,Z$,Z$,Z$,Z$,Z$],gB=[$B,kS,SS,DS,bS,RS,$B,$B];return{_memmove:Zo,_strlen:z$,_strcat:EQ,_free:d2,_i64Add:Vs,_encoder_clear:YS,_encoder_transfer_data:zS,_encoder_data_len:VS,_memset:ne,_malloc:S9,_memcpy:n4,_encoder_init:qS,_encoder_process:KS,_bitshift64Lshr:zs,_bitshift64Shl:CQ,_strcpy:oB,_encoder_analysis_buffer:JS,runPostSets:eD,stackAlloc:hv,stackSave:fv,stackRestore:uv,establishStackSpace:Iv,setThrew:dv,setTempRet0:Ev,getTempRet0:Cv,dynCall_iiiii:rD,dynCall_vi:nD,dynCall_vii:sD,dynCall_ii:AD,dynCall_viii:oD,dynCall_iiiiiiiii:aD,dynCall_iii:$D,dynCall_iiiiii:lD}}(A.asmGlobalArg,A.asmLibraryArg,Ri),WD=A.runPostSets=K9.runPostSets,Vk=A._strlen=K9._strlen,zk=A._strcat=K9._strcat,zm=A._free=K9._free,jD=A._encoder_init=K9._encoder_init,Zk=A._i64Add=K9._i64Add,Wk=A._memmove=K9._memmove,XD=A._encoder_transfer_data=K9._encoder_transfer_data,eb=A._encoder_process=K9._encoder_process,tb=A._encoder_data_len=K9._encoder_data_len,jk=A._memset=K9._memset,vh=A._malloc=K9._malloc,Xk=A._memcpy=K9._memcpy,ib=A._encoder_clear=K9._encoder_clear,ev=A._bitshift64Lshr=K9._bitshift64Lshr,rb=A._encoder_analysis_buffer=K9._encoder_analysis_buffer,tv=A._strcpy=K9._strcpy,iv=A._bitshift64Shl=K9._bitshift64Shl,nb=A.dynCall_iiiii=K9.dynCall_iiiii,sb=A.dynCall_vi=K9.dynCall_vi,Ab=A.dynCall_vii=K9.dynCall_vii,ob=A.dynCall_ii=K9.dynCall_ii,ab=A.dynCall_viii=K9.dynCall_viii,$b=A.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,lb=A.dynCall_iii=K9.dynCall_iii,cb=A.dynCall_iiiiii=K9.dynCall_iiiiii;G.stackAlloc=K9.stackAlloc,G.stackSave=K9.stackSave,G.stackRestore=K9.stackRestore,G.establishStackSpace=K9.establishStackSpace,G.setTempRet0=K9.setTempRet0,G.getTempRet0=K9.getTempRet0;var gb=function(){var i={math:{}};i.math.Long=function(q,k0){this.low_=q|0,this.high_=k0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var k0=i.math.Long.IntCache_[q];if(k0)return k0}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,k0){return new i.math.Long(q,k0)},i.math.Long.fromString=function(q,k0){if(q.length==0)throw Error("number format error: empty string");var j0=k0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+q);for(var C2=i.math.Long.fromNumber(Math.pow(j0,8)),Z5=i.math.Long.ZERO,G5=0;G5=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_,k0=31;k0>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 k0=this.isNegative(),j0=q.isNegative();return k0&&!j0?-1:!k0&&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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,Z5=this.low_&65535,G5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,V4=0,et=0,Vi=0;return Vi+=Z5+M9,et+=Vi>>>16,Vi&=65535,et+=C2+V6,V4+=et>>>16,et&=65535,V4+=j0+_3,x9+=V4>>>16,V4&=65535,x9+=k0+G5,x9&=65535,i.math.Long.fromBits(et<<16|Vi,x9<<16|V4)},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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,Z5=this.low_&65535,G5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,V4=0,et=0,Vi=0;return Vi+=Z5*M9,et+=Vi>>>16,Vi&=65535,et+=C2*M9,V4+=et>>>16,et&=65535,et+=Z5*V6,V4+=et>>>16,et&=65535,V4+=j0*M9,x9+=V4>>>16,V4&=65535,V4+=C2*V6,x9+=V4>>>16,V4&=65535,V4+=Z5*_3,x9+=V4>>>16,V4&=65535,x9+=k0*M9+j0*V6+C2*_3+Z5*G5,x9&=65535,i.math.Long.fromBits(et<<16|Vi,x9<<16|V4)},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 k0=this.shiftRight(1),j0=k0.div(q).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return q.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var G5=this.subtract(q.multiply(j0)),C2=j0.add(G5.div(q));return C2}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,G5=this;G5.greaterThanOrEqual(q);){for(var j0=Math.max(1,Math.floor(G5.toNumber()/q.toNumber())),_3=Math.ceil(Math.log(j0)/Math.LN2),V6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(G5);)j0-=V6,M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),G5=G5.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 k0=this.low_;if(q<32){var j0=this.high_;return i.math.Long.fromBits(k0<>>32-q)}else return i.math.Long.fromBits(0,k0<>>q|k0<<32-q,k0>>q)}else return i.math.Long.fromBits(k0>>q-32,k0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var k0=this.high_;if(q<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>q|k0<<32-q,k0>>>q)}else return q==32?i.math.Long.fromBits(k0,0):i.math.Long.fromBits(k0>>>q-32,0)};var $={appName:"Modern Browser"},h,u=0xdeadbeefcafe,O=(u&16777215)==15715070;function e(q,k0,j0){q!=null&&(typeof q=="number"?this.fromNumber(q,k0,j0):k0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,k0))}function W0(){return new e(null)}function t1(q,k0,j0,C2,Z5,G5){for(;--G5>=0;){var _3=k0*this[q++]+j0[C2]+Z5;Z5=Math.floor(_3/67108864),j0[C2++]=_3&67108863}return Z5}function b2(q,k0,j0,C2,Z5,G5){for(var _3=k0&32767,V6=k0>>15;--G5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,V4=V6*M9+x9*_3;M9=_3*M9+((V4&32767)<<15)+j0[C2]+(Z5&1073741823),Z5=(M9>>>30)+(V4>>>15)+V6*x9+(Z5>>>30),j0[C2++]=M9&1073741823}return Z5}function s(q,k0,j0,C2,Z5,G5){for(var _3=k0&16383,V6=k0>>14;--G5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,V4=V6*M9+x9*_3;M9=_3*M9+((V4&16383)<<14)+j0[C2]+Z5,Z5=(M9>>28)+(V4>>14)+V6*x9,j0[C2++]=M9&268435455}return Z5}O&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):O&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--k0)q[k0]=this[k0];q.t=this.t,q.s=this.s}function y8(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 k0=W0();return k0.fromInt(q),k0}function c8(q,k0){var j0;if(k0==16)j0=4;else if(k0==8)j0=3;else if(k0==256)j0=8;else if(k0==2)j0=1;else if(k0==32)j0=5;else if(k0==4)j0=2;else{this.fromRadix(q,k0);return}this.t=0,this.s=0;for(var C2=q.length,Z5=!1,G5=0;--C2>=0;){var _3=j0==8?q[C2]&255:P9(q,C2);if(_3<0){q.charAt(C2)=="-"&&(Z5=!0);continue}Z5=!1,G5==0?this[this.t++]=_3:G5+j0>this.DB?(this[this.t-1]|=(_3&(1<>this.DB-G5):this[this.t-1]|=_3<=this.DB&&(G5-=this.DB)}j0==8&&q[0]&128&&(this.s=-1,G5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==q;)--this.t}function Mi(q){if(this.s<0)return"-"+this.negate().toString(q);var k0;if(q==16)k0=4;else if(q==8)k0=3;else if(q==2)k0=1;else if(q==32)k0=5;else if(q==4)k0=2;else return this.toRadix(q);var j0=(1<0)for(V6>V6)>0&&(Z5=!0,G5=R9(C2));_3>=0;)V6>(V6+=this.DB-k0)):(C2=this[_3]>>(V6-=k0)&j0,V6<=0&&(V6+=this.DB,--_3)),C2>0&&(Z5=!0),Z5&&(G5+=R9(C2));return Z5?G5:"0"}function Ti(){var q=W0();return e.ZERO.subTo(this,q),q}function fr(){return this.s<0?this.negate():this}function J$(q){var k0=this.s-q.s;if(k0!=0)return k0;var j0=this.t;if(k0=j0-q.t,k0!=0)return this.s<0?-k0:k0;for(;--j0>=0;)if((k0=this[j0]-q[j0])!=0)return k0;return 0}function PC(q){var k0=1,j0;return(j0=q>>>16)!=0&&(q=j0,k0+=16),(j0=q>>8)!=0&&(q=j0,k0+=8),(j0=q>>4)!=0&&(q=j0,k0+=4),(j0=q>>2)!=0&&(q=j0,k0+=2),(j0=q>>1)!=0&&(q=j0,k0+=1),k0}function Cp(){return this.t<=0?0:this.DB*(this.t-1)+PC(this[this.t-1]^this.s&this.DM)}function mp(q,k0){var j0;for(j0=this.t-1;j0>=0;--j0)k0[j0+q]=this[j0];for(j0=q-1;j0>=0;--j0)k0[j0]=0;k0.t=this.t+q,k0.s=this.s}function Bp(q,k0){for(var j0=q;j0=0;--V6)k0[V6+G5+1]=this[V6]>>C2|_3,_3=(this[V6]&Z5)<=0;--V6)k0[V6]=0;k0[G5]=_3,k0.t=this.t+G5+1,k0.s=this.s,k0.clamp()}function Qp(q,k0){k0.s=this.s;var j0=Math.floor(q/this.DB);if(j0>=this.t){k0.t=0;return}var C2=q%this.DB,Z5=this.DB-C2,G5=(1<>C2;for(var _3=j0+1;_3>C2;C2>0&&(k0[this.t-j0-1]|=(this.s&G5)<>=this.DB;if(q.t>=this.DB;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2-=q.s}k0.s=C2<0?-1:0,C2<-1?k0[j0++]=this.DV+C2:C2>0&&(k0[j0++]=C2),k0.t=j0,k0.clamp()}function yp(q,k0){var j0=this.abs(),C2=q.abs(),Z5=j0.t;for(k0.t=Z5+C2.t;--Z5>=0;)k0[Z5]=0;for(Z5=0;Z5=0;)q[j0]=0;for(j0=0;j0=k0.DV&&(q[j0+k0.t]-=k0.DV,q[j0+k0.t+1]=1)}q.t>0&&(q[q.t-1]+=k0.am(j0,k0[j0],q,2*j0,0,1)),q.s=0,q.clamp()}function kp(q,k0,j0){var C2=q.abs();if(!(C2.t<=0)){var Z5=this.abs();if(Z5.t0?(C2.lShiftTo(M9,G5),Z5.lShiftTo(M9,j0)):(C2.copyTo(G5),Z5.copyTo(j0));var x9=G5.t,V4=G5[x9-1];if(V4!=0){var et=V4*(1<1?G5[x9-2]>>this.F2:0),Vi=this.FV/et,Gp=(1<=0&&(j0[j0.t++]=1,j0.subTo(Tt,j0)),e.ONE.dlShiftTo(x9,Tt),Tt.subTo(G5,G5);G5.t=0;){var HC=j0[--zo]==V4?this.DM:Math.floor(j0[zo]*Vi+(j0[zo-1]+Np)*Gp);if((j0[zo]+=G5.am(0,HC,j0,Dh,0,x9))0&&j0.rShiftTo(M9,j0),_3<0&&e.ZERO.subTo(j0,j0)}}}function vp(q){var k0=W0();return this.abs().divRemTo(q,null,k0),this.s<0&&k0.compareTo(e.ZERO)>0&&q.subTo(k0,k0),k0}function Jo(q){this.m=q}function Sp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function Dp(q){return q}function bp(q){q.divRemTo(this.m,null,q)}function _p(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}function Ko(q,k0){q.squareTo(k0),this.reduce(k0)}Jo.prototype.convert=Sp,Jo.prototype.revert=Dp,Jo.prototype.reduce=bp,Jo.prototype.mulTo=_p,Jo.prototype.sqrTo=Ko;function Ki(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var k0=q&3;return k0=k0*(2-(q&15)*k0)&15,k0=k0*(2-(q&255)*k0)&255,k0=k0*(2-((q&65535)*k0&65535))&65535,k0=k0*(2-q*k0%this.DV)%this.DV,k0>0?this.DV-k0:-k0}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(k0,k0),k0}function Vo(q){var k0=W0();return q.copyTo(k0),this.reduce(k0),k0}function Tn(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var k0=0;k0>15)*this.mpl&this.um)<<15)&q.DM;for(j0=k0+this.m.t,q[j0]+=this.m.am(0,C2,q,k0,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 Rp(q,k0){q.squareTo(k0),this.reduce(k0)}function xp(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}Mn.prototype.convert=Sh,Mn.prototype.revert=Vo,Mn.prototype.reduce=Tn,Mn.prototype.mulTo=xp,Mn.prototype.sqrTo=Rp;function Fp(){return(this.t>0?this[0]&1:this.s)==0}function Js(q,k0){if(q>4294967295||q<1)return e.ONE;var j0=W0(),C2=W0(),Z5=k0.convert(this),G5=PC(q)-1;for(Z5.copyTo(j0);--G5>=0;)if(k0.sqrTo(j0,C2),(q&1<0)k0.mulTo(C2,Z5,j0);else{var _3=j0;j0=C2,C2=_3}return k0.revert(j0)}function Lp(q,k0){var j0;return q<256||k0.isEven()?j0=new Jo(k0):j0=new Mn(k0),this.exp(q,j0)}e.prototype.copyTo=d4,e.prototype.fromInt=y8,e.prototype.fromString=c8,e.prototype.clamp=K4,e.prototype.dlShiftTo=mp,e.prototype.drShiftTo=Bp,e.prototype.lShiftTo=pp,e.prototype.rShiftTo=Qp,e.prototype.subTo=H6,e.prototype.multiplyTo=yp,e.prototype.squareTo=wp,e.prototype.divRemTo=kp,e.prototype.invDigit=Ki,e.prototype.isEven=Fp,e.prototype.exp=Js,e.prototype.toString=Mi,e.prototype.negate=Ti,e.prototype.abs=fr,e.prototype.compareTo=J$,e.prototype.bitLength=Cp,e.prototype.mod=vp,e.prototype.modPowInt=Lp,e.ZERO=V9(0),e.ONE=V9(1);function Gn(q,k0){this.fromInt(0),k0==null&&(k0=10);for(var j0=this.chunkSize(k0),C2=Math.pow(k0,j0),Z5=!1,G5=0,_3=0,V6=0;V6=j0&&(this.dMultiply(C2),this.dAddOffset(_3,0),G5=0,_3=0)}G5>0&&(this.dMultiply(Math.pow(k0,G5)),this.dAddOffset(_3,0)),Z5&&e.ZERO.subTo(this,this)}function qr(q){return Math.floor(Math.LN2*this.DB/Math.log(q))}function Wm(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function i5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Mp(q,k0){if(q!=0){for(;this.t<=k0;)this[this.t++]=0;for(this[k0]+=q;this[k0]>=this.DV;)this[k0]-=this.DV,++k0>=this.t&&(this[this.t++]=0),++this[k0]}}function Ks(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var k0=this.chunkSize(q),j0=Math.pow(q,k0),C2=V9(j0),Z5=W0(),G5=W0(),_3="";for(this.divRemTo(C2,Z5,G5);Z5.signum()>0;)_3=(j0+G5.intValue()).toString(q).substr(1)+_3,Z5.divRemTo(C2,Z5,G5);return G5.intValue().toString(q)+_3}function Yr(){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;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2+=q.s}k0.s=C2<0?-1:0,C2>0?k0[j0++]=C2:C2<-1&&(k0[j0++]=this.DV+C2),k0.t=j0,k0.clamp()}e.prototype.fromRadix=Gn,e.prototype.chunkSize=qr,e.prototype.signum=Wm,e.prototype.dMultiply=i5,e.prototype.dAddOffset=Mp,e.prototype.toRadix=Ks,e.prototype.intValue=Yr,e.prototype.addTo=Tp;var ri={abs:function(q,k0){var j0=new i.math.Long(q,k0),C2;j0.isNegative()?C2=j0.negate():C2=j0,_9[Q8>>2]=C2.low_,_9[Q8+4>>2]=C2.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,k0){var j0=new e;j0.fromString(k0.toString(),10);var C2=new e;j0.multiplyTo(ri.two32,C2);var Z5=new e;Z5.fromString(q.toString(),10);var G5=new e;return Z5.addTo(C2,G5),G5},stringify:function(q,k0,j0){var C2=new i.math.Long(q,k0).toString();if(j0&&C2[0]=="-"){ri.ensureTemps();var Z5=new e;Z5.fromString(C2,10),C2=new e,ri.two64.addTo(Z5,C2),C2=C2.toString(10)}return C2},fromString:function(q,k0,j0,C2,Z5){ri.ensureTemps();var G5=new e;G5.fromString(q,k0);var _3=new e;_3.fromString(j0,10);var V6=new e;if(V6.fromString(C2,10),Z5&&G5.compareTo(e.ZERO)<0){var M9=new e;G5.addTo(ri.two64,M9),G5=M9}var x9=!1;G5.compareTo(_3)<0?(G5=_3,x9=!0):G5.compareTo(V6)>0&&(G5=V6,x9=!0);var V4=i.math.Long.fromString(G5.toString());if(_9[Q8>>2]=V4.low_,_9[Q8+4>>2]=V4.high_,x9)throw"range error"}};return ri}();function Yo(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}Yo.prototype=new Error,Yo.prototype.constructor=Yo;var up,OC=null,rv=!1;Fi=function i(){A.calledRun||Zm(),A.calledRun||(Fi=i)},A.callMain=A.callMain=function($){J4(C7==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),J4(LC.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Os();var h=$.length+1;function u(){for(var t1=0;t1<3;t1++)O.push(0)}var O=[E3(Hr(A.thisProgram),"i8",Po)];u();for(var e=0;e0||(wh(),C7>0)||A.calledRun)return;function $(){A.calledRun||(A.calledRun=!0,!N0&&(Os(),Ap(),g&&OC!==null&&A.printErr("pre-main prep time: "+(Date.now()-OC)+" ms"),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A._main&&Ep&&A.callMain(i),N$()))}A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),$()},1)):$()}A.run=A.run=Zm;function Ip(i,$){if(!($&&A.noExitRuntime))throw A.noExitRuntime||(N0=!0,v1=i,Ci=up,MC(),A.onExit&&A.onExit(i)),d?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):u0&&typeof quit=="function"&&quit(i),new Yo(i)}A.exit=A.exit=Ip;var dp=[];function Ys(i){i!==void 0?(A.print(i),A.printErr(i),i=JSON.stringify(i)):i="",N0=!0,v1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+RC()+$;throw dp&&dp.forEach(function(u){h=u(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 Ep=!0;A.noInitialRun&&(Ep=!1),Zm();var nv=A._encoder_init,sv=A._encoder_clear,Av=A._encoder_analysis_buffer,ov=A._encoder_process,av=A._encoder_data_len,$v=A._encoder_transfer_data,mi=A.HEAPU8,H$=A.HEAPU32,q$=A.HEAPF32,Y$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=nv(this.numChannels,i,h)};Y$.prototype.encode=function(i){for(var $=i[0].length,h=Av(this.encoder,$)>>2,u=0;u>2);this.process($)},Y$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},Y$.prototype.cancel=Y$.prototype.cleanup=function(){sv(this.encoder),delete this.encoder,delete this.oggBuffers},Y$.prototype.process=function(i){ov(this.encoder,i);var $=av(this.encoder);if($>0){var h=$v(this.encoder);this.oggBuffers.push(new Uint8Array(mi.subarray(h,h+$)))}},Um.OggVorbisEncoder=Y$}};typeof window<"u"&&window===self&&Um.init();function ck(A,r,l,g){let d=new Um.OggVorbisEncoder(l,r,g);d.encode(A);let R=d.finish(),u0=R.reduce((p0,m1)=>p0+m1.length,0),_0=new Uint8Array(u0),y0=0;for(let p0 of R)_0.set(p0,y0),y0+=p0.length;return _0}document.body.classList.add("load");var gk=!1,Tr=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=ck;let d;this.ready=new Promise(R=>d=R),this.initializeContext(r,l).then(()=>{d()})}saveBlob(r,l){let g=URL.createObjectURL(r),d=document.createElement("a");d.href=g,d.download=l,d.click(),j5(d)}sfError;async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let G of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(G,"innerText",G.getAttribute("translate-path"));for(let G of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(G,"innerText",G.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(G,"title",G.getAttribute("translate-path-title")+".description");let d=gk?"synthetizer/worklet_system/worklet_processor.js":Fm;gk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),r.audioWorklet&&await r.audioWorklet.addModule(new URL("../../spessasynth_lib/"+d,import.meta.url)),this.soundFont=l;let R=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),_0=await(await fetch(R)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(_0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new oh(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",G=>{this.sfError&&this.sfError(G)}),await this.synth.isReady,this.midHandler=new wm,this.wml=new km(this.synth),this.keyboard=new BC(this.channelColors,this.synth);let y0=document.getElementById("note_canvas");y0.width=window.innerWidth*window.devicePixelRatio,y0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new Si(this.channelColors,this.synth,y0,this.audioDelay),this.renderer.render(!0);let p0=!1,m1=()=>{if(y0.width=window.innerWidth*window.devicePixelRatio,y0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),_o){if(window.innerWidth/window.innerHeight>1){if(!p0){let G=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");p0=!0,G.parentElement.insertBefore(V0,G)}}else if(p0){let G=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");p0=!1,G.parentElement.insertBefore(G,V0)}}this.renderer.render(!1,!0)};m1(),window.addEventListener("resize",m1.bind(this)),window.addEventListener("orientationchange",m1.bind(this)),_o&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Mr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new Rm(document.getElementById("player_info"),this.localeManager),this.seqUI=new xs(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ei(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),document.addEventListener("keydown",G=>{switch(G.key.toLowerCase()){case X7.cinematicMode:this.seq&&this.seq.pause();let V0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),V0===null)return;y0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${V0}")`,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 N0=window.prompt(`Video mode! +`));if(!$)return null;i.input=Hr($,!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,u){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 O=k.createNode(i,$,h,u);return k.isDir(O.mode)?(O.node_ops=v9.ops_table.dir.node,O.stream_ops=v9.ops_table.dir.stream,O.contents={}):k.isFile(O.mode)?(O.node_ops=v9.ops_table.file.node,O.stream_ops=v9.ops_table.file.stream,O.usedBytes=0,O.contents=null):k.isLink(O.mode)?(O.node_ops=v9.ops_table.link.node,O.stream_ops=v9.ops_table.link.stream):k.isChrdev(O.mode)&&(O.node_ops=v9.ops_table.chrdev.node,O.stream_ops=v9.ops_table.chrdev.stream),O.timestamp=Date.now(),i&&(i.contents[$]=O),O},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 u=1024*1024;$=Math.max($,h*(h0&&i.contents.set(O.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,u){return v9.createNode(i,$,h,u)},rename:function(i,$,h){if(k.isDir(i.mode)){var u;try{u=k.lookupNode($,h)}catch{}if(u)for(var O in u.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 u 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 u=v9.createNode(i,$,41471,0);return u.link=h,u},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,u,O){var e=i.node.contents;if(O>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-O,u);if(J4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(O,O+W0),h);else for(var t1=0;t10||O+uT5.timestamp)&&(O.push(y5),u++)});var e=[];if(Object.keys($.entries).forEach(function(y5){var p2=$.entries[y5],T5=i.entries[y5];T5||(e.push(y5),u++)}),!u)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([m7.DB_STORE_NAME],"readwrite"),o1=s.objectStore(m7.DB_STORE_NAME);function m(y5){if(y5)return m.errored?void 0:(m.errored=!0,h(y5));if(++t1>=u)return h(null)}s.onerror=function(y5){m(this.error),y5.preventDefault()},O.sort().forEach(function(y5){$.type==="local"?m7.loadRemoteEntry(o1,y5,function(p2,T5){if(p2)return m(p2);m7.storeLocalEntry(y5,T5,m)}):m7.loadLocalEntry(y5,function(p2,T5){if(p2)return m(p2);m7.storeRemoteEntry(o1,y5,T5,m)})}),e.sort().reverse().forEach(function(y5){$.type==="local"?m7.removeLocalEntry(y5,m):m7.removeRemoteEntry(o1,y5,m)})}},l8={isWindows:!1,staticInit:function(){l8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return J4(d),l8.createNode(null,"/",l8.getMode(i.opts.root),0)},createNode:function(i,$,h,u){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var O=k.createNode(i,$,h);return O.node_ops=l8.node_ops,O.stream_ops=l8.stream_ops,O},getMode:function(i){var $;try{$=B7.lstatSync(i),l8.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(),l9.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 l8.flagsToPermissionStringMap?l8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=l8.realPath(i),h;try{h=B7.lstatSync($)}catch(u){throw u.code?new k.ErrnoError(L2[u.code]):u}return l8.isWindows&&!h.blksize&&(h.blksize=4096),l8.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=l8.realPath(i);try{if($.mode!==void 0&&(B7.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var u=new Date($.timestamp);B7.utimesSync(h,u,u)}$.size!==void 0&&B7.truncateSync(h,$.size)}catch(O){throw O.code?new k.ErrnoError(L2[O.code]):O}},lookup:function(i,$){var h=l9.join2(l8.realPath(i),$),u=l8.getMode(h);return l8.createNode(i,$,u)},mknod:function(i,$,h,u){var O=l8.createNode(i,$,h,u),e=l8.realPath(O);try{k.isDir(O.mode)?B7.mkdirSync(e,O.mode):B7.writeFileSync(e,"",{mode:O.mode})}catch(W0){throw W0.code?new k.ErrnoError(L2[W0.code]):W0}return O},rename:function(i,$,h){var u=l8.realPath(i),O=l9.join2(l8.realPath($),h);try{B7.renameSync(u,O)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=l9.join2(l8.realPath(i),$);try{B7.unlinkSync(h)}catch(u){throw u.code?new k.ErrnoError(L2[u.code]):u}},rmdir:function(i,$){var h=l9.join2(l8.realPath(i),$);try{B7.rmdirSync(h)}catch(u){throw u.code?new k.ErrnoError(L2[u.code]):u}},readdir:function(i){var $=l8.realPath(i);try{return B7.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var u=l9.join2(l8.realPath(i),$);try{B7.symlinkSync(h,u)}catch(O){throw O.code?new k.ErrnoError(L2[O.code]):O}},readlink:function(i){var $=l8.realPath(i);try{return $=B7.readlinkSync($),$=fp.relative(fp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=l8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=B7.openSync($,l8.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,u,O){if(u===0)return 0;var e=new Buffer(u),W0;try{W0=B7.readSync(i.nfd,e,0,u,O)}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 O=l9.normalizeArray(i.split("/").filter(function(y5){return!!y5}),!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,u=0;u<$.length;u++)h=(h<<5)-h+$.charCodeAt(u)|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 u=k.hashName(i.id,$),O=k.nameTable[u];O;O=O.name_next){var e=O.name;if(O.parent.id===i.id&&e===$)return O}return k.lookup(i,$)},createNode:function(i,$,h,u){if(!k.FSNode){k.FSNode=function(t1,b2,s,o1){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=o1},k.FSNode.prototype={};var O=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&O)===O},set:function(t1){t1?this.mode|=O:this.mode&=~O}},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,u);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 u;try{u=k.lookupNode(i,$)}catch(e){return e.errno}var O=k.nodePermissions(i,"wx");if(O)return O;if(h){if(!k.isDir(u.mode))return L2.ENOTDIR;if(k.isRoot(u)||k.getPath(u)===k.cwd())return L2.EBUSY}else if(k.isDir(u.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 u=new k.FSStream;for(var O in i)u[O]=i[O];i=u;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 u=h.pop();$.push(u),h.push.apply(h,u.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),u=0;function O(e){if(e)return O.errored?void 0:(O.errored=!0,$(e));++u>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return O(null);e.type.syncfs(e,i,O)})},mount:function(i,$,h){var u=h==="/",O=!h,e;if(u&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!u&&!O){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,u?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,u=h.mounted,O=k.getMounts(u);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;O.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(u);J4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var u=k.lookupPath(i,{parent:!0}),O=u.node,e=l9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(L2.EINVAL);var W0=k.mayCreate(O,e);if(W0)throw new k.ErrnoError(W0);if(!O.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return O.node_ops.mknod(O,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(!l9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),u=h.node;if(!u)throw new k.ErrnoError(L2.ENOENT);var O=l9.basename($),e=k.mayCreate(u,O);if(e)throw new k.ErrnoError(e);if(!u.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return u.node_ops.symlink(u,O,i)},rename:function(i,$){var h=l9.dirname(i),u=l9.dirname($),O=l9.basename(i),e=l9.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,O),o1=l9.relative(i,u);if(o1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(o1=l9.relative($,h),o1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var m;try{m=k.lookupNode(b2,e)}catch{}if(s!==m){var y5=k.isDir(s.mode),p2=k.mayDelete(t1,O,y5);if(p2)throw new k.ErrnoError(p2);if(p2=m?k.mayDelete(b2,e,y5):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)||m&&k.isMountpoint(m))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,u=l9.basename(i),O=k.lookupNode(h,u),e=k.mayDelete(h,u,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(O))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,u),k.destroyNode(O);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,u=l9.basename(i),O=k.lookupNode(h,u),e=k.mayDelete(h,u,!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(O))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,u),k.destroyNode(O);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 l9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),u=h.node;if(!u)throw new k.ErrnoError(L2.ENOENT);if(!u.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return u.node_ops.getattr(u)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var u;if(typeof i=="string"){var O=k.lookupPath(i,{follow:!h});u=O.node}else u=i;if(!u.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);u.node_ops.setattr(u,{mode:$&4095|u.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,u){var O;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!u});O=e.node}else O=i;if(!O.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);O.node_ops.setattr(O,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var u=k.getStream(i);if(!u)throw new k.ErrnoError(L2.EBADF);k.chown(u.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var u=k.lookupPath(i,{follow:!0});h=u.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 O=k.nodePermissions(h,"w");if(O)throw new k.ErrnoError(O);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 u=k.lookupPath(i,{follow:!0}),O=u.node;O.node_ops.setattr(O,{timestamp:Math.max($,h)})},open:function(i,$,h,u,O){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=l9.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},u,O);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(m){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+m.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,u,O){if(u<0||O<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 O>"u")O=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var W0=i.stream_ops.read(i,$,h,u,O);return e||(i.position+=W0),W0},write:function(i,$,h,u,O,e){if(u<0||O<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 O>"u")O=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,u,O,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,u,O,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,u,O,e,W0)},msync:function(i,$,h,u,O){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,u,O)},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,u=k.open(i,$.flags),O=k.stat(i),e=O.size,W0=new Uint8Array(e);return k.read(u,W0,0,e,0),$.encoding==="utf8"?h=Ts(W0,0):$.encoding==="binary"&&(h=W0),k.close(u),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 u=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var O=new Uint8Array(Ns($)+1),e=Rn($,O,0,O.length);k.write(u,O,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(u,$,0,$.length,0,h.canOwn);k.close(u)},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,u,O,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Ln.register(k.makedev(5,0),Ln.default_tty_ops),Ln.register(k.makedev(6,0),Ln.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 d?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[Bk>>2]=k.getPtrForStream(i),J4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[pk>>2]=k.getPtrForStream($),J4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Qk>>2]=k.getPtrForStream(h),J4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(u){this.errno=u;for(var O in L2)if(L2[O]===u){this.code=O;break}},this.setErrno($),this.message=mk[$]},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){J4(!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||y5<0)){var p2=y5%this.chunkSize,T5=y5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(y5){this.getter=y5},e.prototype.cacheLength=function(){var y5=new XMLHttpRequest;if(y5.open("HEAD",h,!1),y5.send(null),!(y5.status>=200&&y5.status<300||y5.status===304))throw new Error("Couldn't load "+h+". Status: "+y5.status);var p2=Number(y5.getResponseHeader("Content-length")),T5,R9=(T5=y5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",P9=1024*1024;R9||(P9=p2);var d4=function(V9,c8){if(V9>c8)throw new Error("invalid range ("+V9+", "+c8+") or no bytes requested!");if(c8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var K4=new XMLHttpRequest;if(K4.open("GET",h,!1),p2!==P9&&K4.setRequestHeader("Range","bytes="+V9+"-"+c8),typeof Uint8Array<"u"&&(K4.responseType="arraybuffer"),K4.overrideMimeType&&K4.overrideMimeType("text/plain; charset=x-user-defined"),K4.send(null),!(K4.status>=200&&K4.status<300||K4.status===304))throw new Error("Couldn't load "+h+". Status: "+K4.status);return K4.response!==void 0?new Uint8Array(K4.response||[]):Hr(K4.responseText||"",!0)},y8=this;y8.setDataGetter(function(V9){var c8=V9*P9,K4=(V9+1)*P9-1;if(K4=Math.min(K4,p2-1),typeof y8.chunks[V9]>"u"&&(y8.chunks[V9]=d4(c8,K4)),typeof y8.chunks[V9]>"u")throw new Error("doXHR failed!");return y8.chunks[V9]}),this._length=p2,this._chunkSize=P9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!_)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,u,O);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={},o1=Object.keys(b2.stream_ops);return o1.forEach(function(m){var y5=b2.stream_ops[m];s[m]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);return y5.apply(null,arguments)}}),s.read=function(y5,p2,T5,R9,P9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);var d4=y5.node.contents;if(P9>=d4.length)return 0;var y8=Math.min(d4.length-P9,R9);if(J4(y8>=0),d4.slice)for(var V9=0;V9=0;u--){var O=i[u];O==="."?i.splice(u,1):O===".."?(i.splice(u,1),h++):h&&(i.splice(u,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=l9.normalizeArray(i.split("/").filter(function(u){return!!u}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=l9.splitPath(i),h=$[0],u=$[1];return!h&&!u?".":(u&&(u=u.substr(0,u.length-1)),h+u)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return l9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return l9.normalize(i.join("/"))},join2:function(i,$){return l9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var u=h>=0?arguments[h]:k.cwd();if(typeof u!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!u)return"";i=u+"/"+i,$=u.charAt(0)==="/"}return i=l9.normalizeArray(i.split("/").filter(function(O){return!!O}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=l9.resolve(i).substr(1),$=l9.resolve($).substr(1);function h(s){for(var o1=0;o1=0&&s[m]==="";m--);return o1>m?[]:s.slice(o1,m-o1+1)}for(var u=h(i.split("/")),O=h($.split("/")),e=Math.min(u.length,O.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,o1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=o1:(o1=o1+.5,J1.mainLoop.remainingBlockers=(8*s+o1)/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"&&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 u<"u"?N.dynCall("vi",i,[u]):N.dynCall("v",i)}),!(e0?GC(0,1e3/$):GC(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,gp(h,0,!1,J1.mainLoop.arg,!0),GC(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,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){N.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 m=J1.URLObject.createObjectURL(s),y5=new Image;y5.onload=function(){J4(y5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=y5.width,T5.height=y5.height;var R9=T5.getContext("2d");R9.drawImage(y5,0,0),A.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(m),t1&&t1(e)},y5.onerror=function(T5){console.log("Image "+m+" could not be decoded"),b2&&b2()},y5.src=m},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,b2){var s=!1;function o1(R9){s||(s=!0,A.preloadedAudios[W0]=R9,t1&&t1(e))}function m(){s||(s=!0,A.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var y5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return m()}var p2=J1.URLObject.createObjectURL(y5),T5=new Audio;T5.addEventListener("canplaythrough",function(){o1(T5)},!1),T5.onerror=function(P9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function d4(y8){for(var V9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c8="=",K4="",Mi=0,Ti=0,fr=0;fr=6;){var J$=Mi>>Ti-6&63;Ti-=6,K4+=V9[J$]}return Ti==2?(K4+=V9[(Mi&3)<<4],K4+=c8+c8):Ti==4&&(K4+=V9[(Mi&15)<<2],K4+=c8),K4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+d4(e),o1(T5)},T5.src=p2,J1.safeSetTimeout(function(){o1(T5)},1e4)}else return m()},A.preloadPlugins.push($);var h=A.canvas;function u(){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",u,!1),document.addEventListener("mozpointerlockchange",u,!1),document.addEventListener("webkitpointerlockchange",u,!1),document.addEventListener("mspointerlockchange",u,!1),A.elementPointerLock&&h.addEventListener("click",function(O){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),O.preventDefault())},!1))},createContext:function(i,$,h,u){if($&&A.ctx&&i==A.canvas)return A.ctx;var O,e;if($){var W0={antialias:!1,alpha:!1};if(u)for(var t1 in u)W0[t1]=u[t1];e=GL.createContext(i,W0),e&&(O=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else O=i.getContext("2d");return O?(h&&($||J4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),A.ctx=O,$&&GL.makeContextCurrent(e),A.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),O):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 u=A.canvas;function O(){J1.isFullScreen=!1;var W0=u.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(u.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},u.cancelFullScreen=u.cancelFullScreen.bind(document),J1.lockPointer&&u.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(u,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),A.onFullScreen&&A.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(u)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",O,!1),document.addEventListener("mozfullscreenchange",O,!1),document.addEventListener("webkitfullscreenchange",O,!1),document.addEventListener("MSFullscreenChange",O,!1));var e=document.createElement("div");u.parentNode.insertBefore(e,u),e.appendChild(u),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,u=A.canvas.height,O=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-(O+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(u/$.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 o1=J1.touches[W0.identifier];o1||(o1=s),J1.lastTouches[W0.identifier]=o1,J1.touches[W0.identifier]=s}return}var m=i.pageX-(O+$.left),y5=i.pageY-(e+$.top);m=m*(h/$.width),y5=y5*(u/$.height),J1.mouseMovementX=m-J1.mouseX,J1.mouseMovementY=y5-J1.mouseY,J1.mouseX=m,J1.mouseY=y5}},xhrLoad:function(i,$,h){var u=new XMLHttpRequest;u.open("GET",i,!0),u.responseType="arraybuffer",u.onload=function(){u.status==200||u.status==0&&u.response?$(u.response):h()},u.onerror=h,u.send(null)},asyncLoad:function(i,$,h,u){J1.xhrLoad(i,function(O){J4(O,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(O)),u||gr("al "+i)},function(O){if(h)h();else throw'Loading data file "'+i+'" failed.'}),u||Fn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=A.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var u=A.canvas;J1.updateCanvasDimensions(u,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+N.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+N.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+N.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+N.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var u=$,O=h;if(A.forcedAspectRatio&&A.forcedAspectRatio>0&&(u/O>2]=$),$}function Nk(){A.printErr("missing function: floor0_exportbundle"),Ys(-1)}if(Hs=N.staticAlloc(4),_9[Hs>>2]=0,A.requestFullScreen=function($,h,u){J1.requestFullScreen($,h,u)},A.requestAnimationFrame=function($){J1.requestAnimationFrame($)},A.setCanvasSize=function($,h,u){J1.setCanvasSize($,h,u)},A.pauseMainLoop=function(){J1.mainLoop.pause()},A.resumeMainLoop=function(){J1.mainLoop.resume()},A.getUserMedia=function(){J1.getUserMedia()},A.createContext=function($,h,u,O){return J1.createContext($,h,u,O)},k.staticInit(),T$.unshift(function(){!A.noFSInit&&!k.init.initialized&&k.init()}),ph.push(function(){k.ignorePermissions=!1}),N$.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,T$.unshift(function(){Ln.init()}),N$.push(function(){Ln.shutdown()}),d)var B7=void 0,fp=void 0;Bh=Ci=N.alignMemory(Or),x$=!0,F$=Bh+FC,L$=_i=N.alignMemory(F$),J4(L$>0]=u[t>>0],u[p2+1>>0]=u[t+1>>0],u[p2+2>>0]=u[t+2>>0],u[p2+3>>0]=u[t+3>>0]}function pb(t){t=t|0,u[p2>>0]=u[t>>0],u[p2+1>>0]=u[t+1>>0],u[p2+2>>0]=u[t+2>>0],u[p2+3>>0]=u[t+3>>0],u[p2+4>>0]=u[t+4>>0],u[p2+5>>0]=u[t+5>>0],u[p2+6>>0]=u[t+6>>0],u[p2+7>>0]=u[t+7>>0]}function Ev(t){t=t|0,H6=t}function Cv(){return H6|0}function Xm(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0;E=m,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,u[n>>0]=0,c=t+16|0,e[c>>2]=256}function mv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0;R=m,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,b=t+4|0,e[b>>2]=w,e[t>>2]=o,c=8+(w<<2)|0,f=e[c>>2]|0,E=u[Q>>0]|0,I=E&255,C=I&f,p=C&255,u[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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;P0=m,f=o>>>0>32;do if(!f){if(E=e[t>>2]|0,b=t+16|0,t0=e[b>>2]|0,n0=t0+-4|0,Q0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,Q0)T=c;else{if(F0=(c|0)==0,F0)return;if(Y0=(t0|0)>2147483391,Y0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,C=Gi(z0,I)|0,p=(C|0)==0,p))break;e[O0>>2]=C,B=e[b>>2]|0,v=B+256|0,e[b>>2]=v,S=e[t>>2]|0,w=C+S|0,e[a>>2]=w,T=w}y=8+(o<<2)|0,D=e[y>>2]|0,Q=D&n,x=t+4|0,R=e[x>>2]|0,F=R+o|0,L=Q<>0]|0,G=M&255,P=G|L,z=P&255,u[T>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[x>>2]|0,W=8-J|0,e0=Q>>>W,H=e0&255,X=e[a>>2]|0,U=X+1|0,u[U>>0]=H,a0=(F|0)>15,a0&&(Z=e[x>>2]|0,V=16-Z|0,o0=Q>>>V,i0=o0&255,r0=e[a>>2]|0,K=r0+2|0,u[K>>0]=i0,c0=(F|0)>23,c0&&(s0=e[x>>2]|0,l0=24-s0|0,j=Q>>>l0,$0=j&255,g0=e[a>>2]|0,f0=g0+3|0,u[f0>>0]=$0,d0=(F|0)>31,d0))))if(w0=e[x>>2]|0,h0=(w0|0)==0,h0){b0=e[a>>2]|0,m0=b0+4|0,u[m0>>0]=0;break}else{E0=32-w0|0,C0=Q>>>E0,I0=C0&255,v0=e[a>>2]|0,K0=v0+4|0,u[K0>>0]=I0;break}while(!1);L0=(F|0)/8&-1,T0=e[t>>2]|0,U0=T0+L0|0,e[t>>2]=U0,B0=e[a>>2]|0,q0=B0+L0|0,e[a>>2]=q0,x0=F&7,e[x>>2]=x0;return}while(!1);D0=t+8|0,M0=e[D0>>2]|0,J0=(M0|0)==0,J0||d2(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 eB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;f=m,n=t+8|0,o=e[n>>2]|0,a=(o|0)==0,a||d2(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 ht(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,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,u[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function tB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0;if(v0=m,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,g0=V+n|0,Q0=e[t>>2]|0,d0=t+16|0,w0=e[d0>>2]|0,h0=w0+-4|0,f=(Q0|0)<(h0|0),!f){if(E=g0+7|0,I=E>>3,C=w0-I|0,p=(Q0|0)>(C|0),p)return o=-1,o|0;if(B=(g0|0)==0,B)return o=0,o|0}return v=t+12|0,S=e[v>>2]|0,w=u[S>>0]|0,y=w&255,Q=y>>>V,b=(g0|0)>8,b?(x=S+1|0,R=u[x>>0]|0,F=R&255,L=8-V|0,M=F<16,G?(P=S+2|0,Y=u[P>>0]|0,t0=Y&255,J=16-V|0,W=t0<24,H?(X=S+3|0,U=u[X>>0]|0,a0=U&255,Z=24-V|0,o0=a0<>0]|0,s0=c0&255,l0=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,b=y-Q|0,x=(S|0)>(b|0),x){B=t+12|0,e[B>>2]=0,e[t>>2]=y,R=1,e[o>>2]=R;return}else{c=(v|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+c|0,e[f>>2]=I,C=S+c|0,e[t>>2]=C,p=v&7,R=p,e[o>>2]=R;return}}function z4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;D0=m,C=n>>>0>32;do if(C)a=t+16|0,c=e[a>>2]|0,I=t+4|0,f=t,E=I,m0=c;else{if(p=8+(n<<2)|0,F=e[p>>2]|0,e0=t+4|0,K=e[e0>>2]|0,h0=K+n|0,F0=e[t>>2]|0,L0=t+16|0,T0=e[L0>>2]|0,U0=T0+-4|0,B=(F0|0)<(U0|0),!B){if(v=h0+7|0,S=v>>3,w=T0-S|0,y=(F0|0)>(w|0),y){f=t,E=e0,m0=T0;break}if(D=(h0|0)==0,D)return o=0,o|0}return Q=t+12|0,b=e[Q>>2]|0,x=u[b>>0]|0,R=x&255,L=R>>>K,M=(h0|0)>8,M?(T=b+1|0,G=u[T>>0]|0,P=G&255,z=8-K|0,Y=P<16,J?(W=b+2|0,H=u[W>>0]|0,X=H&255,U=16-K|0,a0=X<24,V?(o0=b+3|0,n0=u[o0>>0]|0,i0=n0&255,r0=24-K|0,c0=i0<>0]|0,f0=g0&255,Q0=32-K|0,d0=f0<>2]=I0,v0=F0+C0|0,e[t>>2]=v0,K0=h0&7,e[e0>>2]=K0,o=E0,o|0}while(!1);return b0=t+12|0,e[b0>>2]=0,e[f>>2]=m0,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,C=0;return C=m,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 Pp(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+8|0,o=e[n>>2]|0,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0;if(M=m,c=(t|0)==0,c)return o=-1,o|0;ne(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,b=t+20|0,e[b>>2]=Q,x=(w|0)==0;do if(x)I=y;else{if(R=(y|0)==0,E=(Q|0)==0,F=E|R,F){d2(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 C=(I|0)==0,C||d2(I),p=e[b>>2]|0,B=(p|0)==0,B||d2(p),ne(t|0,0,360)|0,o=-1,o|0}function pv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0;return v=m,n=(t|0)==0,n||(o=e[t>>2]|0,a=(o|0)==0,a||d2(o),c=t+16|0,f=e[c>>2]|0,E=(f|0)==0,E||d2(f),I=t+20|0,C=e[I>>2]|0,p=(C|0)==0,p||d2(C),ne(t|0,0,360)|0),0}function Qv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0;if(T0=m,n=(t|0)==0,!n){if(o=e[t>>2]|0,w=o+22|0,u[w>>0]=0,G=e[t>>2]|0,a0=G+23|0,u[a0>>0]=0,j=e[t>>2]|0,w0=j+24|0,u[w0>>0]=0,h0=e[t>>2]|0,E0=h0+25|0,u[E0>>0]=0,C0=t+4|0,a=e[C0>>2]|0,c=(a|0)>0,c)for(f=e[t>>2]|0,v0=0,m0=0;;)if(v=v0<<8,S=v0>>>24,y=f+m0|0,D=u[y>>0]|0,Q=D&255,b=Q^S,x=144+(b<<2)|0,R=e[x>>2]|0,F=R^v,L=m0+1|0,M=(L|0)<(a|0),M)v0=F,m0=L;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,C=(I|0)>0,C)for(p=t+8|0,B=e[p>>2]|0,b0=I0,F0=0;;)if(T=b0<<8,P=b0>>>24,z=B+F0|0,Y=u[z>>0]|0,t0=Y&255,J=t0^P,W=144+(J<<2)|0,e0=e[W>>2]|0,H=e0^T,X=F0+1|0,U=(X|0)<(I|0),U)b0=H,F0=X;else{K0=H;break}else K0=I0;Z=K0&255,V=e[t>>2]|0,o0=V+22|0,u[o0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,K=r0+23|0,u[K>>0]=i0,c0=K0>>>16,s0=c0&255,l0=e[t>>2]|0,$0=l0+24|0,u[$0>>0]=s0,g0=K0>>>24,f0=g0&255,Q0=e[t>>2]|0,d0=Q0+25|0,u[d0>>0]=f0}}function yv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0;if(I2=m,j=(t|0)==0,j||(v0=e[t>>2]|0,D0=(v0|0)==0,D0))return I=-1,I|0;if(S0=(n|0)==0,S0)return I=0,I|0;Z0=(o|0)>0;e:do if(Z0){for(u2=0,y2=0;;){if(y1=(n+(y2<<3)|0)+4|0,P1=e[y1>>2]|0,s2=(P1|0)<0,y=2147483647-P1|0,P=(u2|0)>(y|0),M2=s2|P,M2){I=-1;break}if(Z=P1+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,c0=t+12|0,s0=e[c0>>2]|0,l0=(s0|0)==0,w=t+8|0,l0||($0=e[w>>2]|0,g0=$0-s0|0,e[w>>2]=g0,f0=($0|0)==(s0|0),f0||(Q0=v0+s0|0,Zo(v0|0,Q0|0,g0|0)|0),e[c0>>2]=0),d0=t+4|0,w0=e[d0>>2]|0,h0=w0-n2|0,E0=e[w>>2]|0,C0=(h0|0)>(E0|0);do if(!C0){if(I0=2147483647-n2|0,K0=(w0|0)>(I0|0),K0)return b0=e[t>>2]|0,m0=(b0|0)==0,m0||d2(b0),F0=t+16|0,L0=e[F0>>2]|0,T0=(L0|0)==0,T0||d2(L0),U0=t+20|0,B0=e[U0>>2]|0,q0=(B0|0)==0,q0||d2(B0),ne(t|0,0,360)|0,I=-1,I|0;if(x0=w0+n2|0,M0=(x0|0)<2147482623,J0=x0+1024|0,E=M0?J0:x0,Y0=e[t>>2]|0,O0=Gi(Y0,E)|0,z0=(O0|0)==0,!z0){e[d0>>2]=E,e[t>>2]=O0;break}return N0=e[t>>2]|0,P0=(N0|0)==0,P0||d2(N0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||d2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||d2(c1),ne(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=wv(t,K)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(Z0)for(p=e[w>>2]|0,p1=p,S2=0;d1=e[t>>2]|0,B1=d1+p1|0,Q1=n+(S2<<3)|0,R1=e[Q1>>2]|0,x1=(n+(S2<<3)|0)+4|0,S1=e[x1>>2]|0,n4(B1|0,R1|0,S1|0)|0,F1=e[x1>>2]|0,L1=e[w>>2]|0,G1=L1+F1|0,e[w>>2]=G1,w1=S2+1|0,e2=(w1|0)==(o|0),!e2;)p1=G1,S2=w1;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,E1=e[h1>>2]|0,u1=(r0|0)>1,m2=0;U1=a1+m2|0,Z1=A1+(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=E1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=K1,O1=r2+4|0,l2=O1,e[l2>>2]=Y1,z1=m2+1|0,f2=(z1|0)<(r0|0),f2;)m2=z1;_2=u1?r0:1,B=I1,a2=E1,w2=_2}else C=t+20|0,v=e[C>>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,g2=a2+(A2<<3)|0,t2=g2,$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,b=Q,e[b>>2]=f,x=A1+(a1<<2)|0,R=e[x>>2]|0,F=R|256,e[x>>2]=F,L=a1+K|0,e[s1>>2]=L,M=t+344|0,T=M,G=T,z=e[G>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=Vs(z|0,J|0,1,0)|0,e0=H6,H=M,X=H,e[X>>2]=W,U=H+4|0,a0=U,e[a0>>2]=e0,V=(a|0)==0,V?(I=0,I|0):(o0=t+328|0,e[o0>>2]=1,I=0,I|0)}function qC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0;return x=m,m=m+16|0,Q=x,o=e[n>>2]|0,e[Q>>2]=o,a=n+4|0,C=e[a>>2]|0,p=Q+4|0,e[p>>2]=C,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=yv(t,Q,1,v,D,E)|0,m=x,I|0}function Hp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0;return c=m,o=Yp(t,n,1,4096)|0,o|0}function qp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0;return x=m,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(o=0,o|0):(C=t+328|0,p=e[C>>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?b=7:D=0):Q?D=0:b=7,(b|0)==7&&(D=1),y=Yp(t,n,D,4096)|0,o=y,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;return $0=m,c=t+24|0,f=e[c>>2]|0,Q=f-n|0,Y=t+28|0,o0=e[Y>>2]|0,r0=(Q|0)>(o0|0),r0?(a=0,a|0):(K=2147483647-n|0,c0=(f|0)>(K|0),c0?(s0=e[t>>2]|0,l0=(s0|0)==0,l0||d2(s0),E=t+16|0,I=e[E>>2]|0,C=(I|0)==0,C||d2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||d2(B),ne(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,b=e[D>>2]|0,x=o<<2,R=Gi(b,x)|0,F=(R|0)==0,F?(L=e[t>>2]|0,M=(L|0)==0,M||d2(L),T=e[D>>2]|0,G=(T|0)==0,G||d2(T),P=t+20|0,z=e[P>>2]|0,t0=(z|0)==0,t0||d2(z),ne(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=R,J=t+20|0,W=e[J>>2]|0,e0=o<<3,H=Gi(W,e0)|0,X=(H|0)==0,X?(U=e[t>>2]|0,a0=(U|0)==0,a0||d2(U),Z=e[D>>2]|0,V=(Z|0)==0,V||d2(Z),n0=e[J>>2]|0,i0=(n0|0)==0,i0||d2(n0),ne(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=H,e[c>>2]=o,a=0,a|0))))}function Yp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0;if(w5=m,Q=t+28|0,b=e[Q>>2]|0,c1=(b|0)>255,c=c1?255:b,h1=(t|0)==0,h1||(F1=e[t>>2]|0,q1=(F1|0)==0,A2=(c|0)==0,y3=A2|q1,y3))return f=0,f|0;e2=t+332|0,q2=e[e2>>2]|0,V2=(q2|0)==0;e:do if(V2)for(d0=t+16|0,$3=0;;){if(L0=($3|0)<(c|0),!L0){I=o,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,q5=$3,P5=14;break e}if(z0=e[d0>>2]|0,H0=z0+($3<<2)|0,e1=e[H0>>2]|0,S0=e1&255,i1=(S0|0)==255,$1=$3+1|0,i1)$3=$1;else{I=o,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,q5=$1,P5=14;break}}else if(x=(c|0)>0,x){for(J=t+16|0,i0=t+20|0,C5=0,v5=-1,c5=-1,o5=-1,z2=-1,c2=-1,B5=-1,e5=-1,n5=-1,W5=0,R3=0,m3=0;;){if(f1=(C5|0)>(a|0),g1=(W5|0)>3,T3=f1&g1,T3){E=1,G5=v5,_5=c5,H2=o5,I5=z2,A5=c2,l5=B5,m5=e5,M1=n5,l3=m3;break}if(l1=e[J>>2]|0,s1=l1+(m3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,A1=n1+C5|0,Z0=(n1|0)==255,Z0?(g5=v5,Y2=c5,h5=o5,t5=z2,R5=c2,W2=B5,a5=e5,F2=n5,t6=0,N3=R3):(I1=e[i0>>2]|0,E1=I1+(m3<<3)|0,u1=E1,d1=u1,B1=e[d1>>2]|0,p1=u1+4|0,Q1=p1,R1=e[Q1>>2]|0,x1=R3+1|0,y1=B1&255,S1=zs(B1|0,R1|0,8)|0,L1=H6,G1=S1&255,w1=zs(B1|0,R1|0,16)|0,U1=H6,Z1=w1&255,N1=zs(B1|0,R1|0,24)|0,D1=H6,K1=N1&255,P1=R1&255,H1=zs(B1|0,R1|0,40)|0,Y1=H6,j1=H1&255,r2=zs(B1|0,R1|0,48)|0,W1=H6,O1=r2&255,l2=zs(B1|0,R1|0,56)|0,z1=H6,f2=l2&255,g5=y1,Y2=Z1,h5=K1,t5=P1,R5=j1,W2=O1,a5=f2,F2=G1,t6=x1,N3=x1),s2=m3+1|0,E2=(s2|0)<(c|0),E2)C5=A1,v5=g5,c5=Y2,o5=h5,z2=t5,c2=R5,B5=W2,e5=a5,n5=F2,W5=t6,R3=N3,m3=s2;else{E=o,G5=g5,_5=Y2,H2=h5,I5=t5,A5=R5,l5=W2,m5=a5,M1=F2,l3=s2;break}}V1=(l3|0)==255,V1?(n3=G5,C3=_5,L5=H2,K5=I5,w3=A5,f3=l5,B3=m5,K3=M1,U5=255):(I=E,p5=G5,H5=_5,X5=H2,d5=I5,u3=A5,h3=l5,J5=m5,e3=M1,q5=l3,P5=14)}else I=o,p5=-1,H5=-1,X5=-1,d5=-1,u3=-1,h3=-1,J5=-1,e3=-1,q5=0,P5=14;while(!1);if((P5|0)==14){if(g2=(I|0)==0,g2)return f=0,f|0;n3=p5,C3=H5,L5=X5,K5=d5,w3=u3,f3=h3,B3=J5,K3=e3,U5=q5}if(a2=t+40|0,u[a2>>0]=79,u[a2+1>>0]=103,u[a2+2>>0]=103,u[a2+3>>0]=83,t2=t+44|0,u[t2>>0]=0,$2=t+45|0,u[$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,C=V2?y2:u2,o3=C&255,u[$2>>0]=o3,S2=t+328|0,w2=e[S2>>2]|0,m2=(w2|0)!=0,M2=(b|0)==(U5|0),z5=m2&M2,z5&&(p=V2?y2:u2,_2=p|4,N2=_2&255,u[$2>>0]=N2),e[e2>>2]=1,I2=t+46|0,u[I2>>0]=n3,J2=t+47|0,u[J2>>0]=K3,G2=t+48|0,u[G2>>0]=C3,T2=t+49|0,u[T2>>0]=L5,O2=t+50|0,u[O2>>0]=K5,K2=t+51|0,u[K2>>0]=w3,s5=t+52|0,u[s5>>0]=f3,P2=t+53|0,u[P2>>0]=B3,T1=t+336|0,j2=e[T1>>2]|0,x5=j2&255,X2=t+54|0,u[X2>>0]=x5,D5=j2>>>8,f5=D5&255,k5=t+55|0,u[k5>>0]=f5,O5=j2>>>16,$5=O5&255,v2=t+56|0,u[v2>>0]=$5,E5=j2>>>24,r5=E5&255,x2=t+57|0,u[x2>>0]=r5,R2=t+340|0,B2=e[R2>>2]|0,R=(B2|0)==-1,R?(e[R2>>2]=0,L=0):L=B2,F=L+1|0,e[R2>>2]=F,M=L&255,T=t+58|0,u[T>>0]=M,G=L>>>8,P=G&255,z=t+59|0,u[z>>0]=P,Y=L>>>16,t0=Y&255,W=t+60|0,u[W>>0]=t0,e0=L>>>24,H=e0&255,X=t+61|0,u[X>>0]=H,U=t+62|0,a0=U5&255,Z=t+66|0,u[U>>0]=0,u[U+1>>0]=0,u[U+2>>0]=0,u[U+3>>0]=0,u[Z>>0]=a0,V=(U5|0)>0,V){if(o0=e[o2>>2]|0,n0=o0&255,r0=t+67|0,u[r0>>0]=n0,K=o0&255,b5=(U5|0)==1,b5)B=K;else for(s0=1,w0=K;;)if(S=e[i2>>2]|0,c0=S+(s0<<2)|0,l0=e[c0>>2]|0,j=l0&255,$0=s0+27|0,g0=(t+40|0)+$0|0,u[g0>>0]=j,f0=l0&255,Q0=f0+w0|0,h0=s0+1|0,u5=(h0|0)==(U5|0),u5){B=Q0;break}else s0=h0,w0=Q0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,m0=w,B0=y,x0=D,F5=B}else m0=F1,B0=b,x0=o2,F5=0;return e[n>>2]=a2,E0=U5+27|0,C0=t+324|0,e[C0>>2]=E0,I0=n+4|0,e[I0>>2]=E0,v0=t+12|0,K0=e[v0>>2]|0,b0=m0+K0|0,F0=n+8|0,e[F0>>2]=b0,T0=n+12|0,e[T0>>2]=F5,U0=B0-U5|0,e[Q>>2]=U0,q0=x0+(U5<<2)|0,D0=U0<<2,Zo(x0|0,q0|0,D0|0)|0,M0=t+20|0,J0=e[M0>>2]|0,Y0=J0+(U5<<3)|0,O0=e[Q>>2]|0,N0=O0<<3,Zo(J0|0,Y0|0,N0|0)|0,P0=e[v0>>2]|0,r1=P0+F5|0,e[v0>>2]=r1,Qv(n),f=1,f|0}function kv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0;return H0=m,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,ht(V),g0=c+16|0,b0=e[g0>>2]|0,ht(b0),J0=c+20|0,N0=e[J0>>2]|0,ht(N0),P0=c+24|0,f=e[P0>>2]|0,ht(f),E=c+28|0,I=e[E>>2]|0,ht(I),C=c+32|0,p=e[C>>2]|0,ht(p),B=c+36|0,v=e[B>>2]|0,ht(v),S=c+40|0,w=e[S>>2]|0,ht(w),y=c+44|0,Q=e[y>>2]|0,ht(Q),b=c+48|0,x=e[b>>2]|0,ht(x),R=c+52|0,F=e[R>>2]|0,ht(F),L=c+56|0,M=e[L>>2]|0,ht(M),T=c+60|0,G=e[T>>2]|0,ht(G),P=c+64|0,Y=e[P>>2]|0,ht(Y),t0=c+68|0,J=e[t0>>2]|0,ht(J),W=e[6416]|0,e0=W+12|0,H=e[e0>>2]|0,X=QQ[H&1](t)|0,U=(X|0)==0,U?(a0=(n|0)==0,a0?(o=0,o|0):(Z=bh(t)|0,o0=(Z|0)==0,o0?(n0=t+4|0,i0=Pp(n0)|0,e[n>>2]=i0,r0=p7(n0)|0,K=n+4|0,e[K>>2]=r0,c0=n+8|0,e[c0>>2]=0,s0=t+44|0,l0=e[s0>>2]|0,j=n+12|0,e[j>>2]=l0,$0=t+48|0,f0=$0,Q0=f0,d0=e[Q0>>2]|0,w0=f0+4|0,h0=w0,E0=e[h0>>2]|0,C0=n+16|0,I0=C0,v0=I0,e[v0>>2]=d0,K0=I0+4|0,m0=K0,e[m0>>2]=E0,F0=t+56|0,L0=F0,T0=L0,U0=e[T0>>2]|0,B0=L0+4|0,q0=B0,x0=e[q0>>2]|0,D0=n+24|0,M0=D0,Y0=M0,e[Y0>>2]=U0,O0=M0+4|0,z0=O0,e[z0>>2]=x0,o=0,o|0):(o=-131,o|0))):(o=X,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0;d0=m,o=t+28|0,a=e[o>>2]|0,f0=n,w0=f0+48|0;do e[f0>>2]=0,f0=f0+4|0;while((f0|0)<(w0|0));y=a+3372|0,P=e[y>>2]|0,Z=(P|0)>0,Z&&(s0=t+8|0,l0=e[s0>>2]|0,j=e[a>>2]|0,$0=j>>1,g0=a+4|0,c=e[g0>>2]|0,f=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=f,e[n>>2]=1,I=a+3360|0,C=e[I>>2]|0,p=+(C|0),B=+($0|0),v=p*B,S=+(l0|0),w=v/S,D=+Ni(w),Q=~~D,b=n+12|0,e[b>>2]=Q,x=a+3364|0,R=e[x>>2]|0,F=+(R|0),L=F*B,M=L/S,T=+Ni(M),G=~~T,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=+Ni(e0),X=~~H,U=n+20|0,e[U>>2]=X,a0=n+32|0,o1[a0>>3]=7,V=+(P|0),o0=a+3376|0,n0=+o1[o0>>3],i0=V*n0,r0=~~i0,K=n+8|0,e[K>>2]=r0,c0=n+4|0,e[c0>>2]=r0)}function Sv(t){t=t|0;var n=0,o=0,a=0,c=0;a=m,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function bh(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,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,C=(I|0)!=0,n=C&1,n|0}function Dv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0;if(S6=m,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,c2=e[_5>>2]|0,F2=v2+4|0,L5=e[F2>>2]|0,R3=L5+28|0,M5=e[R3>>2]|0,v=c2+112|0,M=+o1[v>>3],X=+Ni(M),s0=~~X,C0=(B+12|0)+(s0<<2)|0,q0=e[C0>>2]|0,H0=p7(q0)|0,n1=H0<<3,R1=t+28|0,D1=e[R1>>2]|0,f2=(D1|0)==0,X1=c2+96|0,I2=e[X1>>2]|0,f2?(x5=c2+100|0,D5=e[x5>>2]|0,U=I2,w0=x5,I0=D5):(V2=c2+104|0,f5=e[V2>>2]|0,k5=c2+100|0,O5=e[k5>>2]|0,$5=i5(f5,I2)|0,E5=i5(f5,O5)|0,U=$5,w0=k5,I0=E5),r5=M5+(D1<<2)|0,x2=e[r5>>2]|0,R2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,F5=+(C5|0),u5=M5+3376|0,b5=+o1[u5>>3],G5=F5*b5,H2=~~G5,I5=c2+80|0,A5=e[I5>>2]|0,l5=(A5|0)==0,m5=c2+120|0,l5)return M1=e[m5>>2]|0,v5=(M1|0)==0,v5?(e[m5>>2]=t,o=0,o|0):(o=-1,o|0);if(e[m5>>2]=t,c5=c2+92|0,o5=e[c5>>2]|0,z2=(o5|0)>0,z2){f2?a5=o5:(B5=c2+104|0,e5=e[B5>>2]|0,n5=i5(e5,o5)|0,a5=n5),g5=M5+3384|0,Y2=+o1[g5>>3],h5=15/Y2,t5=c2+84|0,R5=e[t5>>2]|0,W2=n1-a5|0,p5=R5+W2|0,H5=(p5|0)>(H2|0);e:do if(H5)if(X5=(s0|0)>0,d5=(n1|0)>(a5|0),v6=d5&X5,v6)if(u3=n1-a5|0,h3=u3+R5|0,J5=(h3|0)>(H2|0),J5)for(U3=s0;;){if(e3=U3+-1|0,n3=(B+12|0)+(e3<<2)|0,C3=e[n3>>2]|0,K5=p7(C3)|0,w3=K5<<3,f3=(U3|0)>1,B3=(w3|0)>(a5|0),k6=B3&f3,!k6){V5=e3;break e}if(I=e[t5>>2]|0,K3=w3-a5|0,T3=K3+I|0,z5=(T3|0)>(H2|0),z5)U3=e3;else{V5=e3;break}}else V5=s0;else V5=s0;else if(y3=(p5|0)<(H2|0),y3)if(W5=s0+1|0,t6=(W5|0)<15,N3=(n1|0)<(a5|0),j3=N3&t6,j3)if(o3=n1-a5|0,$3=o3+R5|0,l3=($3|0)<(H2|0),l3)for(q5=W5;;){if(m3=(B+12|0)+(q5<<2)|0,U5=e[m3>>2]|0,P5=p7(U5)|0,w5=P5<<3,G3=q5+1|0,n6=(G3|0)<15,t3=(w5|0)<(a5|0),B6=t3&n6,!B6){V5=q5;break e}if(E=e[t5>>2]|0,A3=w5-a5|0,x3=A3+E|0,h6=(x3|0)<(H2|0),h6)q5=G3;else{V5=q5;break}}else V5=s0;else V5=s0;else V5=s0;while(!1);p3=+(V5|0),k3=+o1[v>>3],Q3=p3-k3,i6=+Ni(Q3),W3=+(R2|0),S=i6/W3,w=L5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*S,b=-h5,x=Qh5,S3=R?h5:C6,F=S3/D,L=F*W3,T=L+k3,o1[v>>3]=T,G=+Ni(T),P=~~G,z=(B+12|0)+(P<<2)|0,Y=e[z>>2]|0,t0=p7(Y)|0,J=t0<<3,C=e[X1>>2]|0,W=C,v3=P,X3=J}else W=I2,v3=s0,X3=n1;e0=(W|0)>0,H=(X3|0)<(U|0),l6=H&e0;e:do if(l6)if(a0=c2+88|0,Z=e[a0>>2]|0,V=X3-U|0,o0=V+Z|0,n0=(o0|0)<0,n0)for(c3=v3,e6=X3;;){if(i0=c3+1|0,r0=(c3|0)>13,r0){O3=i0,f6=e6;break e}if(K=(B+12|0)+(i0<<2)|0,c0=e[K>>2]|0,l0=p7(c0)|0,j=l0<<3,$0=e[a0>>2]|0,g0=j-U|0,f0=g0+$0|0,Q0=(f0|0)<0,Q0)c3=i0,e6=j;else{O3=i0,f6=j;break}}else O3=v3,f6=X3;else O3=v3,f6=X3;while(!1);d0=e[w0>>2]|0,h0=(d0|0)>0,E0=(f6|0)>(I0|0),p6=E0&h0;e:do if(p6)if(v0=c2+88|0,K0=e[v0>>2]|0,b0=f6-I0|0,m0=b0+K0|0,F0=e[B2>>2]|0,L0=(m0|0)>(F0|0),L0)for($6=O3,P3=f6;;){if(T0=$6+-1|0,U0=($6|0)<1,U0){I3=T0,D3=P3;break e}if(B0=(B+12|0)+(T0<<2)|0,x0=e[B0>>2]|0,D0=p7(x0)|0,M0=D0<<3,J0=e[v0>>2]|0,Y0=M0-I0|0,O0=Y0+J0|0,z0=e[B2>>2]|0,N0=(O0|0)>(z0|0),N0)$6=T0,P3=M0;else{I3=T0,D3=M0;break}}else I3=O3,D3=f6;else I3=O3,D3=f6;while(!1);if(P0=(I3|0)<0,P0)r1=e[B2>>2]|0,e1=c2+88|0,S0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-S0|0,$1=(c1|0)/8&-1,f1=c2+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,mv(A1,Z0),I1=e[g1>>2]|0,h1=p7(I1)|0,E1=h1<<3,H3=E1):H3=D3;else{if(u1=c2+88|0,d1=e[u1>>2]|0,B1=U+7|0,p1=B1-d1|0,Q1=(p1|0)/8&-1,x1=(I3|0)>14,c=x1?14:I3,y1=c2+124|0,e[y1>>2]=c,S1=(B+12|0)+(c<<2)|0,F1=e[S1>>2]|0,L1=p7(F1)|0,G1=Q1-L1|0,w1=(G1|0)>0,U1=e[S1>>2]|0,w1)for(N1=U1,w6=G1;;)if(Z1=w6+-1|0,U2(N1,0,8),K1=(w6|0)>1,P1=e[S1>>2]|0,K1)N1=P1,w6=Z1;else{f=P1;break}else f=U1;H1=p7(f)|0,q1=H1<<3,H3=q1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?V3=37:(r2=e[w0>>2]|0,W1=(r2|0)>0,W1&&(V3=37));do if((V3|0)==37){if(O1=(I0|0)>0,l2=(H3|0)>(I0|0),_6=O1&l2,_6){s2=H3-I0|0,E2=c2+88|0,A2=e[E2>>2]|0,V1=s2+A2|0,e[E2>>2]=V1;break}if(g2=(U|0)>0,a2=(H3|0)<(U|0),q6=g2&a2,q6){t2=H3-U|0,$2=c2+88|0,i2=e[$2>>2]|0,o2=t2+i2|0,e[$2>>2]=o2;break}if(n2=c2+88|0,u2=e[n2>>2]|0,e2=(u2|0)>(H2|0),e2)if(O1){y2=H3-I0|0,S2=u2+y2|0,w2=(S2|0)<(H2|0),n=w2?H2:S2,e[n2>>2]=n;break}else{e[n2>>2]=H2;break}else if(g2){m2=H3-U|0,M2=u2+m2|0,_2=(M2|0)>(H2|0),a=_2?H2:M2,e[n2>>2]=a;break}else{e[n2>>2]=H2;break}}while(!1);return N2=e[c5>>2]|0,J2=(N2|0)>0,J2?(G2=e[R1>>2]|0,q2=(G2|0)==0,q2?P2=N2:(T2=c2+104|0,O2=e[T2>>2]|0,K2=i5(O2,N2)|0,P2=K2),s5=H3-P2|0,T1=c2+84|0,j2=e[T1>>2]|0,X2=s5+j2|0,e[T1>>2]=X2,o=0,o|0):(o=0,o|0)}function Jp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0;return I0=m,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):(g0=(n|0)==0,g0||(f0=z+104|0,Q0=e[f0>>2]|0,d0=z+64|0,w0=e[d0>>2]|0,f=w0+104|0,E=e[f>>2]|0,I=E+80|0,C=e[I>>2]|0,E0=(C|0)==0,E0?h0=7:(p=c+124|0,B=e[p>>2]|0,h0=B),v=(Q0+12|0)+(h0<<2)|0,S=e[v>>2]|0,w=Pp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=p7(y)|0,b=n+4|0,e[b>>2]=Q,x=n+8|0,e[x>>2]=0,R=z+44|0,F=e[R>>2]|0,L=n+12|0,e[L>>2]=F,M=z+48|0,T=M,G=T,P=e[G>>2]|0,Y=T+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,H=e0,e[H>>2]=P,X=e0+4|0,U=X,e[U>>2]=J,a0=z+56|0,Z=a0,o0=Z,n0=e[o0>>2]|0,i0=Z+4|0,r0=i0,K=e[r0>>2]|0,c0=n+24|0,s0=c0,l0=s0,e[l0>>2]=n0,j=s0+4|0,$0=j,e[$0>>2]=K),e[D>>2]=0,o=1,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0;L=m,R=n,M=R+112|0;do e[R>>2]=0,R=R+4|0;while((R|0)<(M|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=r4(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,x=0;;)if(f=(x|0)==7,f){e[c>>2]=D,Xm(D),x=8;continue}else{if(E=r4(1,20)|0,I=Q+(x<<2)|0,e[I>>2]=E,Xm(E),C=x+1|0,b=(C|0)==15,b)break;x=C;continue}return 0}function P7(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0;return Y=m,o=n+7|0,a=o&-8,y=t+72|0,R=e[y>>2]|0,F=R+a|0,L=t+76|0,M=e[L>>2]|0,T=(F|0)>(M|0),G=t+68|0,P=e[G>>2]|0,T?(c=(P|0)==0,c||(f=P,E=S9(8)|0,I=t+80|0,C=e[I>>2]|0,p=C+R|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=f,e[B>>2]=E),e[L>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,b=0,D=Q+b|0,x=b+a|0,e[y>>2]=x,D|0):(Q=P,b=R,D=Q+b|0,x=b+a|0,e[y>>2]=x,D|0)}function _v(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(Z=m,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,P=(G|0)==0,!P)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,d2(t0),d2(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,C=e[I>>2]|0,p=C+f|0,B=Gi(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,b=(Q|0)==0,b||d2(Q),x=(c|0)==0,x){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(R=(c+12|0)+(H<<2)|0,F=e[R>>2]|0,eB(F),L=(H|0)==7,L){H=8;continue}if(M=e[R>>2]|0,d2(M),T=H+1|0,e0=(T|0)==15,e0)break;H=T}d2(c),U=t,V=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(V|0));return 0}function Rv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0;return b=m,a=Fv(t,n,1)|0,c=(a|0)==0,c?(C=t+104|0,p=e[C>>2]|0,B=gS(n)|0,v=p+60|0,e[v>>2]=B,S=r4(1,180)|0,e[p>>2]=S,Gv(S,n),w=p+80|0,vv(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 Kp(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0;if(G2=m,B=(t|0)==0,!B){if(v=t+4|0,C0=e[v>>2]|0,q0=(C0|0)!=0,q0?(H0=C0+28|0,n1=e[H0>>2]|0,B0=n1):B0=0,R1=t+104|0,D1=e[R1>>2]|0,z1=(D1|0)!=0,z1){if(o2=e[D1>>2]|0,S=(o2|0)==0,S||(Uv(o2),T=e[D1>>2]|0,d2(T)),U=D1+12|0,l0=e[U>>2]|0,f0=(l0|0)==0,f0||(Q0=e[l0>>2]|0,AB(Q0),d0=e[U>>2]|0,w0=e[d0>>2]|0,d2(w0),h0=e[U>>2]|0,d2(h0)),E0=D1+16|0,I0=e[E0>>2]|0,v0=(I0|0)==0,v0||(K0=e[I0>>2]|0,AB(K0),b0=e[E0>>2]|0,m0=e[b0>>2]|0,d2(m0),F0=e[E0>>2]|0,d2(F0)),L0=D1+48|0,T0=e[L0>>2]|0,U0=(T0|0)==0,!U0){if(x0=(B0|0)==0,x0)u1=T0;else if(D0=B0+16|0,M0=e[D0>>2]|0,J0=(M0|0)>0,J0){if(Y0=B0+800|0,O0=e[Y0>>2]|0,z0=25640+(O0<<2)|0,N0=e[z0>>2]|0,P0=N0+16|0,r1=e[P0>>2]|0,e1=e[T0>>2]|0,Ws[r1&7](e1),S0=e[D0>>2]|0,i1=(S0|0)>1,i1)for($1=1;n=e[L0>>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[D0>>2]|0,E1=(I1|0)<(h1|0),E1;)$1=I1;o=e[L0>>2]|0,u1=o}else u1=T0;d2(u1)}if(d1=D1+52|0,B1=e[d1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(B0|0)==0,Q1)V1=B1;else if(x1=B0+20|0,y1=e[x1>>2]|0,S1=(y1|0)>0,S1){if(F1=B0+1312|0,L1=e[F1>>2]|0,G1=25648+(L1<<2)|0,w1=e[G1>>2]|0,U1=w1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,Ws[Z1&7](N1),K1=e[x1>>2]|0,P1=(K1|0)>1,P1)for(q1=1;a=e[d1>>2]|0,H1=F1+(q1<<2)|0,Y1=e[H1>>2]|0,j1=25648+(Y1<<2)|0,r2=e[j1>>2]|0,W1=r2+16|0,O1=e[W1>>2]|0,l2=a+(q1<<2)|0,f2=e[l2>>2]|0,Ws[O1&7](f2),s2=q1+1|0,E2=e[x1>>2]|0,A2=(s2|0)<(E2|0),A2;)q1=s2;c=e[d1>>2]|0,V1=c}else V1=B1;d2(V1)}if(g2=D1+56|0,a2=e[g2>>2]|0,t2=(a2|0)==0,!t2){if($2=(B0|0)==0,$2)_2=a2;else if(i2=B0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if(iQ(a2),u2=e[i2>>2]|0,e2=(u2|0)>1,e2)for(S2=1;f=e[g2>>2]|0,y2=f+(S2*52|0)|0,iQ(y2),w2=S2+1|0,m2=e[i2>>2]|0,M2=(w2|0)<(m2|0),M2;)S2=w2;E=e[g2>>2]|0,_2=E}else _2=a2;d2(_2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||hS(y),Q=D1+80|0,Sv(Q),b=D1+20|0,gQ(b),x=D1+32|0,gQ(x)}if(R=t+8|0,F=e[R>>2]|0,L=(F|0)==0,!L){if(q0)if(M=C0+4|0,G=e[M>>2]|0,P=(G|0)>0,P){for(Y=F,g0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?H=g0:(d2(t0),C=e[M>>2]|0,H=C),W=N2+1|0,e0=(W|0)<(H|0),!!e0;)I=e[R>>2]|0,Y=I,g0=H,N2=W;p=e[R>>2]|0,X=p}else X=F;else X=F;d2(X),a0=t+12|0,Z=e[a0>>2]|0,V=(Z|0)==0,V||d2(Z)}z1&&(o0=D1+64|0,n0=e[o0>>2]|0,i0=(n0|0)==0,i0||d2(n0),r0=D1+68|0,K=e[r0>>2]|0,c0=(K|0)==0,c0||d2(K),s0=D1+72|0,j=e[s0>>2]|0,$0=(j|0)==0,$0||d2(j),d2(D1)),I2=t,q2=I2+112|0;do e[I2>>2]=0,I2=I2+4|0;while((I2|0)<(q2|0))}}function Vp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0;if(q0=m,I=t+4|0,C=e[I>>2]|0,R=t+104|0,W=e[R>>2]|0,r0=W+64|0,w0=e[r0>>2]|0,m0=(w0|0)==0,m0||d2(w0),e[r0>>2]=0,F0=W+68|0,L0=e[F0>>2]|0,T0=(L0|0)==0,T0||d2(L0),e[F0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||d2(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,b=(y|0)<(Q|0),b)o=C+4|0,f=e[o>>2]|0,X=f,B0=11;else if(x=n<<1,F=w+x|0,e[D>>2]=F,L=C+4|0,M=e[L>>2]|0,T=(M|0)>0,T)if(G=t+8|0,P=e[G>>2]|0,z=e[P>>2]|0,Y=F<<2,t0=Gi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[L>>2]|0,H=(e0|0)>1,H)for(i0=1;;)if(a=e[D>>2]|0,o0=e[G>>2]|0,n0=o0+(i0<<2)|0,K=e[n0>>2]|0,c0=a<<2,s0=Gi(K,c0)|0,l0=e[G>>2]|0,j=l0+(i0<<2)|0,e[j>>2]=s0,$0=i0+1|0,g0=e[L>>2]|0,f0=($0|0)<(g0|0),f0)i0=$0;else{X=g0,B0=11;break}else X=e0,B0=11;if((B0|0)==11&&(U=(X|0)>0,U)){for(a0=t+8|0,Z=e[S>>2]|0,V=t+12|0,U0=0;;)if(Q0=e[a0>>2]|0,d0=Q0+(U0<<2)|0,h0=e[d0>>2]|0,E0=h0+(Z<<2)|0,C0=e[V>>2]|0,I0=C0+(U0<<2)|0,e[I0>>2]=E0,v0=U0+1|0,K0=(v0|0)<(X|0),K0)U0=v0;else{c=V;break}return b0=e[c>>2]|0,b0|0}return E=t+12|0,c=E,b0=e[c>>2]|0,b0|0}function xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=t+4|0,C=e[I>>2]|0,R=C+28|0,W=e[R>>2]|0,r0=(n|0)<1,!r0)return Q0=t+20|0,d0=e[Q0>>2]|0,h0=d0+n|0,E0=t+16|0,C0=e[E0>>2]|0,I0=(h0|0)>(C0|0),I0?(a=-131,m=O0,a|0):(e[Q0>>2]=h0,v0=t+28|0,K0=e[v0>>2]|0,b0=(K0|0)==0,!b0||(m0=t+48|0,F0=e[m0>>2]|0,L0=h0-F0|0,U0=W+4|0,B0=e[U0>>2]|0,q0=(L0|0)>(B0|0),!q0)?(a=0,m=O0,a|0):(Zp(t),a=0,m=O0,a|0));if(w0=m,m=m+128|0,T0=t+28|0,x0=e[T0>>2]|0,D0=(x0|0)==0,D0&&Zp(t),M0=W+4|0,p=e[M0>>2]|0,B=p*3|0,Vp(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,b=C+4|0,x=e[b>>2]|0,F=(x|0)>0,!F)return a=0,m=O0,a|0;for(L=t+8|0,M=S,J0=0;;){if(T=(M|0)>64,T?(G=e[M0>>2]|0,P=(M|0)>(G|0),o=P?G:M,z=e[L>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,f=M-o|0,J=t0+(f<<2)|0,+Wp(J,w0,o,32),e0=e[L>>2]|0,H=e0+(J0<<2)|0,X=e[H>>2]|0,U=e[w>>2]|0,a0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,V=e[v>>2]|0,o0=V-U|0,jp(w0,Z,32,a0,o0)):(n0=e[L>>2]|0,i0=n0+(J0<<2)|0,K=e[i0>>2]|0,c0=K+(M<<2)|0,s0=e[v>>2]|0,l0=s0-M|0,j=l0<<2,ne(c0|0,0,j|0)|0),$0=J0+1|0,g0=e[b>>2]|0,f0=($0|0)<(g0|0),!f0){a=0;break}c=e[w>>2]|0,M=c,J0=$0}return m=O0,a|0}function zp(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0;if(s4=m,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,w5=e[s2>>2]|0,i6=t+104|0,v6=e[i6>>2]|0,f6=v6+60|0,u6=e[f6>>2]|0,N6=t+48|0,X6=e[N6>>2]|0,w=t+40|0,G=e[w>>2]|0,a0=w5+(G<<2)|0,j=e[a0>>2]|0,v0=(j|0)/2&-1,D0=X6-v0|0,S0=n+104|0,Z0=e[S0>>2]|0,y1=t+28|0,P1=e[y1>>2]|0,E2=(P1|0)==0,E2||(u2=t+32|0,G2=e[u2>>2]|0,D5=(G2|0)==-1,D5))return a=0,a|0;B2=Ov(t)|0,m5=(B2|0)==-1;do if(m5){if(Y2=e[u2>>2]|0,u3=(Y2|0)==0,u3)return a=0,a|0;K3=t+44|0,e[K3>>2]=0,f=K3,U3=0;break}else if(m3=e[w5>>2]|0,G3=w5+4|0,M5=e[G3>>2]|0,n6=(m3|0)==(M5|0),t3=t+44|0,n6){e[t3>>2]=0,f=t3,U3=0;break}else{e[t3>>2]=B2,f=t3,U3=B2;break}while(!1);if(A3=e[N6>>2]|0,x3=e[w>>2]|0,h6=w5+(x3<<2)|0,p3=e[h6>>2]|0,k3=(p3|0)/4&-1,Q3=k3+A3|0,W3=w5+(U3<<2)|0,V5=e[W3>>2]|0,v3=(V5|0)/4&-1,c3=Q3+v3|0,O3=(V5|0)/2&-1,$6=c3+O3|0,I3=t+20|0,w6=e[I3>>2]|0,k6=(w6|0)<($6|0),k6)return a=0,a|0;if(B6=n+84|0,j3=e[B6>>2]|0,l6=(j3|0)==0,!l6)for(I9=j3;p6=I9+4|0,_6=e[p6>>2]|0,q6=e[I9>>2]|0,d2(q6),d2(I9),C6=(_6|0)==0,!C6;)I9=_6;S3=n+80|0,X3=e[S3>>2]|0,e6=(X3|0)==0,e6||(P3=n+68|0,D3=e[P3>>2]|0,H3=n+76|0,V3=e[H3>>2]|0,S6=V3+X3|0,s6=Gi(D3,S6)|0,e[P3>>2]=s6,i3=e[S3>>2]|0,O6=e[H3>>2]|0,s3=O6+i3|0,e[H3>>2]=s3,e[S3>>2]=0),A6=n+72|0,e[A6>>2]=0,e[B6>>2]=0,b3=t+36|0,T6=e[b3>>2]|0,r6=n+24|0,e[r6>>2]=T6,Q6=e[w>>2]|0,R6=n+28|0,e[R6>>2]=Q6,J6=e[f>>2]|0,I6=n+32|0,e[I6>>2]=J6,Y6=(Q6|0)==0;do if(Y6)if(r9=Pv(t)|0,x6=(r9|0)==0,G6=Z0+8|0,x6){e[G6>>2]=1;break}else{e[G6>>2]=0;break}else if(F3=(T6|0)==0,Z6=(J6|0)==0,N9=F3|Z6,j6=Z0+8|0,N9){e[j6>>2]=0;break}else{e[j6>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,K6=t+64|0,y6=K6,F6=y6,L3=e[F6>>2]|0,L6=y6+4|0,A9=L6,W6=e[A9>>2]|0,h9=Vs(L3|0,W6|0,1,0)|0,f9=H6,u9=K6,o9=u9,e[o9>>2]=h9,a9=u9+4|0,T9=a9,e[T9>>2]=f9,d6=n+56|0,M6=d6,y=M6,e[y>>2]=L3,D=M6+4|0,Q=D,e[Q>>2]=W6,b=t+56|0,x=b,R=x,F=e[R>>2]|0,L=x+4|0,M=L,T=e[M>>2]|0,P=n+48|0,z=P,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=T,W=e[w>>2]|0,e0=w5+(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[u6>>2],o0=Z>V,o0?(s[u6>>2]=Z,n0=Z):n0=V,i0=+IS(n0,t),s[u6>>2]=i0,s[U>>2]=i0,r0=S+4|0,K=e[r0>>2]|0,c0=K<<2,s0=c0+7|0,l0=s0&-8,$0=e[A6>>2]|0,g0=l0+$0|0,f0=n+76|0,Q0=e[f0>>2]|0,d0=(g0|0)>(Q0|0),w0=n+68|0,h0=e[w0>>2]|0,d0?(E0=(h0|0)==0,E0||(C0=h0,I0=S9(8)|0,K0=e[S3>>2]|0,b0=K0+$0|0,e[S3>>2]=b0,m0=e[B6>>2]|0,F0=I0+4|0,e[F0>>2]=m0,e[I0>>2]=C0,e[B6>>2]=I0),e[f0>>2]=l0,L0=S9(l0)|0,e[w0>>2]=L0,e[A6>>2]=0,c=e[r0>>2]|0,U0=L0,B0=0,M0=c,N0=l0):(U0=h0,B0=$0,M0=K,N0=Q0),T0=U0+B0|0,q0=B0+l0|0,e[A6>>2]=q0,e[n>>2]=T0,x0=M0<<2,J0=x0+7|0,Y0=J0&-8,O0=Y0+q0|0,z0=(O0|0)>(N0|0),z0?(P0=(U0|0)==0,P0||(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[f0>>2]=Y0,f1=S9(Y0)|0,e[w0>>2]=f1,e[A6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,P5=Y0):(l1=U0,s1=q0,n1=M0,P5=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=P5,S1=l1,e9=0;;){if(h1=e[X>>2]|0,E1=h1+D0|0,u1=E1<<2,d1=u1+7|0,B1=d1&-8,p1=B1+Q1|0,R1=(p1|0)>(x1|0),R1?(F1=(S1|0)==0,F1||(L1=S1,G1=S9(8)|0,w1=e[S3>>2]|0,U1=w1+Q1|0,e[S3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=L1,e[B6>>2]=G1),e[f0>>2]=B1,D1=S9(B1)|0,e[w0>>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,r2=j1+(e9<<2)|0,e[r2>>2]=K1,W1=e[Z0>>2]|0,O1=W1+(e9<<2)|0,l2=e[O1>>2]|0,z1=e[I1>>2]|0,f2=z1+(e9<<2)|0,A2=e[f2>>2]|0,n4(l2|0,A2|0,u1|0)|0,V1=e[Z0>>2]|0,g2=V1+(e9<<2)|0,a2=e[g2>>2]|0,t2=a2+(D0<<2)|0,$2=e[n>>2]|0,i2=$2+(e9<<2)|0,e[i2>>2]=t2,o2=e9+1|0,X1=e[r0>>2]|0,n2=(o2|0)<(X1|0),!n2)break e;I=e[A6>>2]|0,C=e[f0>>2]|0,p=e[w0>>2]|0,Q1=I,x1=C,S1=p,e9=o2}while(!1);if(e2=e[u2>>2]|0,y2=(e2|0)==0,!y2&&(S2=e[N6>>2]|0,w2=(S2|0)<(e2|0),!w2))return e[u2>>2]=-1,m2=n+44|0,e[m2>>2]=1,a=1,a|0;if(M2=w5+4|0,_2=e[M2>>2]|0,N2=(_2|0)/2&-1,I2=c3-N2|0,J2=(I2|0)>0,!J2)return a=1,a|0;if(q2=e[v6>>2]|0,Hv(q2,I2),T2=e[I3>>2]|0,O2=T2-I2|0,e[I3>>2]=O2,K2=e[r0>>2]|0,s5=(K2|0)>0,s5&&(P2=t+8|0,T1=e[P2>>2]|0,j2=e[T1>>2]|0,x5=j2+(I2<<2)|0,X2=O2<<2,Zo(j2|0,x5|0,X2|0)|0,V2=e[r0>>2]|0,f5=(V2|0)>1,f5))for($5=1;B=e[I3>>2]|0,k5=e[P2>>2]|0,O5=k5+($5<<2)|0,v2=e[O5>>2]|0,E5=v2+(I2<<2)|0,r5=B<<2,Zo(v2|0,E5|0,r5|0)|0,x2=$5+1|0,R2=e[r0>>2]|0,C5=(x2|0)<(R2|0),C5;)$5=x2;return F5=e[w>>2]|0,e[b3>>2]=F5,u5=e[f>>2]|0,e[w>>2]=u5,e[N6>>2]=N2,b5=e[u2>>2]|0,G5=(b5|0)==0,G5?(f3=(I2|0)<0,B3=f3<<31>>31,T3=b,z5=T3,y3=e[z5>>2]|0,W5=T3+4|0,t6=W5,R3=e[t6>>2]|0,N3=Vs(y3|0,R3|0,I2|0,B3|0)|0,o3=H6,$3=b,l3=$3,e[l3>>2]=N3,q5=$3+4|0,U5=q5,e[U5>>2]=o3,a=1,a|0):(_5=b5-I2|0,H2=(_5|0)<1,o=H2?-1:_5,e[u2>>2]=o,I5=(o|0)>(N2|0),I5?(a5=(I2|0)<0,F2=a5<<31>>31,p5=b,H5=p5,X5=e[H5>>2]|0,d5=p5+4|0,h3=d5,J5=e[h3>>2]|0,e3=Vs(X5|0,J5|0,I2|0,F2|0)|0,n3=H6,C3=b,L5=C3,e[L5>>2]=e3,K5=C3+4|0,w3=K5,e[w3>>2]=n3,a=1,a|0):(A5=o+I2|0,l5=A5-N2|0,M1=(l5|0)<0,v5=M1<<31>>31,c5=b,o5=c5,z2=e[o5>>2]|0,c2=c5+4|0,B5=c2,e5=e[B5>>2]|0,n5=Vs(z2|0,e5|0,l5|0,v5|0)|0,g5=H6,h5=b,t5=h5,e[t5>>2]=n5,R5=h5+4|0,W2=R5,e[W2>>2]=g5,a=1,a|0))}function Fv(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0;if(t5=m,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,O1=e[Z1>>2]|0,$2=(O1|0)<1,$2)||(M2=e[B>>2]|0,P2=(M2|0)<64,P2)||(v2=B+4|0,_5=e[v2>>2]|0,v=(_5|0)<(M2|0),v))return a=1,a|0;M=B+3656|0,X=e[M>>2]|0,Y2=t,R5=Y2+112|0;do e[Y2>>2]=0,Y2=Y2+4|0;while((Y2|0)<(R5|0));s0=r4(1,136)|0,C0=t+104|0,e[C0>>2]=s0,q0=t+4|0,e[q0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,d1=L7(n1)|0,B1=s0+44|0,e[B1>>2]=d1,Q1=r4(1,4)|0,R1=s0+12|0,e[R1>>2]=Q1,x1=r4(1,4)|0,y1=s0+16|0,e[y1>>2]=x1,S1=r4(1,20)|0,e[Q1>>2]=S1,F1=r4(1,20)|0,e[x1>>2]=F1,L1=e[B>>2]|0,G1=L1>>X,sB(S1,G1),w1=e[y1>>2]|0,U1=e[w1>>2]|0,N1=e[v2>>2]|0,D1=N1>>X,sB(U1,D1),K1=e[B>>2]|0,P1=L7(K1)|0,H1=P1+-7|0,q1=s0+4|0,e[q1>>2]=H1,Y1=e[v2>>2]|0,j1=L7(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,l2=(o|0)==0;e:do if(l2){if(B2=B+2848|0,C5=e[B2>>2]|0,F5=(C5|0)==0,F5&&(u5=B+24|0,b5=e[u5>>2]|0,G5=r4(b5,56)|0,e[B2>>2]=G5,H2=e[u5>>2]|0,I5=(H2|0)>0,I5)){for(E1=H2,B5=0;;){if(A5=(B+1824|0)+(B5<<2)|0,l5=e[A5>>2]|0,m5=(l5|0)==0,m5){M1=E1;break}if(c5=e[B2>>2]|0,o5=c5+(B5*56|0)|0,z2=MS(o5,l5)|0,S=(z2|0)==0,!S){h5=20;break}if(w=e[A5>>2]|0,oB(w),e[A5>>2]=0,y=B5+1|0,D=e[u5>>2]|0,Q=(y|0)<(D|0),Q)E1=D,B5=y;else break e}if((h5|0)==20&&(I=e[u5>>2]|0,M1=I),v5=(M1|0)>0,v5)for(u1=M1,g5=0;s1=(B+1824|0)+(g5<<2)|0,a1=e[s1>>2]|0,A1=(a1|0)==0,A1?h1=u1:(oB(a1),e[s1>>2]=0,C=e[u5>>2]|0,h1=C),Z0=g5+1|0,I1=(Z0|0)<(h1|0),I1;)u1=h1,g5=Z0;return Kp(t),a=-1,a|0}}else{if(z1=s0+20|0,f2=e[B>>2]|0,cQ(z1,f2),s2=s0+32|0,E2=e[v2>>2]|0,cQ(s2,E2),A2=B+2848|0,V1=e[A2>>2]|0,g2=(V1|0)==0,g2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=r4(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,lQ(i2,u2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,S2=c+(w2*56|0)|0,m2=(B+1824|0)+(w2<<2)|0,_2=e[m2>>2]|0,lQ(S2,_2)|0,N2=w2+1|0,I2=e[a2>>2]|0,J2=(N2|0)<(I2|0),J2;)w2=N2;G2=B+28|0,q2=e[G2>>2]|0,T2=r4(q2,52)|0,O2=s0+56|0,e[O2>>2]=T2,K2=e[G2>>2]|0,s5=(K2|0)>0;t:do if(s5)for(T1=B+2868|0,j2=n+8|0,X2=T2,c2=0;;){if(x5=X2+(c2*52|0)|0,D5=(B+2852|0)+(c2<<2)|0,V2=e[D5>>2]|0,f5=e[V2>>2]|0,k5=B+(f5<<2)|0,O5=e[k5>>2]|0,$5=(O5|0)/2&-1,E5=e[j2>>2]|0,uS(x5,V2,T1,$5,E5),r5=c2+1|0,x2=e[G2>>2]|0,R2=(r5|0)<(x2|0),!R2)break t;f=e[O2>>2]|0,X2=f,c2=r5}while(!1);e[t>>2]=1}while(!1);if(b=e[v2>>2]|0,x=t+16|0,e[x>>2]=b,R=n+4|0,F=e[R>>2]|0,L=F<<2,T=S9(L)|0,G=t+8|0,e[G>>2]=T,P=S9(L)|0,z=t+12|0,e[z>>2]=P,Y=(F|0)>0,Y&&(t0=r4(b,4)|0,e[T>>2]=t0,J=(F|0)>1,J))for(H=1;E=e[G>>2]|0,W=r4(b,4)|0,e0=E+(H<<2)|0,e[e0>>2]=W,U=H+1|0,a0=(U|0)<(F|0),a0;)H=U;if(Z=t+36|0,e[Z>>2]=0,V=t+40|0,e[V>>2]=0,o0=e[v2>>2]|0,n0=(o0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,K=B+16|0,c0=e[K>>2]|0,l0=r4(c0,4)|0,j=s0+48|0,e[j>>2]=l0,$0=B+20|0,g0=e[$0>>2]|0,f0=r4(g0,4)|0,Q0=s0+52|0,e[Q0>>2]=f0,d0=e[K>>2]|0,w0=(d0|0)>0,w0)for(e5=0;I0=(B+800|0)+(e5<<2)|0,v0=e[I0>>2]|0,K0=25640+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0+8|0,F0=e[m0>>2]|0,L0=(B+1056|0)+(e5<<2)|0,T0=e[L0>>2]|0,U0=ft[F0&15](t,T0)|0,B0=e[j>>2]|0,x0=B0+(e5<<2)|0,e[x0>>2]=U0,D0=e5+1|0,M0=e[K>>2]|0,J0=(D0|0)<(M0|0),J0;)e5=D0;if(h0=e[$0>>2]|0,E0=(h0|0)>0,E0)n5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(n5<<2)|0,O0=e[Y0>>2]|0,z0=25648+(O0<<2)|0,N0=e[z0>>2]|0,P0=N0+8|0,r1=e[P0>>2]|0,e1=(B+1568|0)+(n5<<2)|0,S0=e[e1>>2]|0,i1=ft[r1&15](t,S0)|0,c1=e[Q0>>2]|0,$1=c1+(n5<<2)|0,e[$1>>2]=i1,f1=n5+1|0,g1=e[$0>>2]|0,l1=(f1|0)<(g1|0),l1)n5=f1;else{a=0;break}return a|0}function Zp(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0;if(b0=m,m=m+64|0,c=b0,f=t+20|0,Q=e[f>>2]|0,Y=Q<<2,n=Y,o0=m,m=m+((1*n|0)+15&-16)|0,f0=t+28|0,e[f0>>2]=1,d0=t+48|0,w0=e[d0>>2]|0,h0=Q-w0|0,E0=(h0|0)>32,!E0){m=b0;return}if(E=t+4|0,I=e[E>>2]|0,C=I+4|0,p=e[C>>2]|0,B=(p|0)>0,!B){m=b0;return}for(v=t+8|0,S=Q,C0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,D=y+(C0<<2)|0,b=e[D>>2]|0,I0=0;x=I0^-1,R=S+x|0,F=b+(R<<2)|0,L=e[F>>2]|0,M=o0+(I0<<2)|0,e[M>>2]=L,T=I0+1|0,G=(S|0)>(T|0),G;)I0=T;if(P=e[d0>>2]|0,z=S-P|0,+Wp(o0,c,z,16),t0=e[f>>2]|0,J=e[d0>>2]|0,o=t0-J|0,W=o0+(o<<2)|0,a=o+-16|0,e0=o0+(a<<2)|0,jp(c,e0,16,W,J),H=e[f>>2]|0,X=(H|0)>0,X)for(U=e[v>>2]|0,a0=U+(C0<<2)|0,Z=e[a0>>2]|0,v0=0;V=o0+(v0<<2)|0,n0=e[V>>2]|0,i0=v0^-1,r0=H+i0|0,K=Z+(r0<<2)|0,e[K>>2]=n0,c0=v0+1|0,s0=(H|0)>(c0|0),s0;)v0=c0;if(l0=C0+1|0,j=e[E>>2]|0,$0=j+4|0,g0=e[$0>>2]|0,Q0=(l0|0)<(g0|0),Q0)S=H,C0=l0;else break}m=b0}function Lv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0;o2=m,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),a0=e[I>>2]|0,j=(a0|0)>1;e:do if(j)for(v0=t+8|0,D0=e[v0>>2]|0,c=u[D0>>0]|0,S0=c,O1=1;;){if(Z0=S0<<24>>24==0,Z0){W1=O1;break e}if(y1=D0+O1|0,C=u[y1>>0]|0,D=C<<24>>24>24,D){W1=O1;break e}if(Q=O1+1|0,b=(Q|0)<(a0|0),b)S0=C,O1=Q;else{W1=Q;break}}else W1=1;while(!1);x=(W1|0)==(a0|0);e:do if(x){if(U2(n,1,1),R=t+8|0,F=e[R>>2]|0,L=u[F>>0]|0,M=L<<24>>24,T=M+-1|0,U2(n,T,5),P=e[I>>2]|0,z=(P|0)>1,z)for(y=P,H1=0,z1=1;;){if(Y=e[R>>2]|0,t0=Y+z1|0,J=u[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,H=u[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,o0=n0-q1|0,i0=L7(o0)|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,c0=(K|0)<(s0|0),c0)y=s0,H1=Y1,z1=K;else{a=s0,P1=Y1,l2=K;break}}else a=P,P1=0,l2=1;l0=l2-P1|0,$0=a-P1|0,g0=L7($0)|0,U2(n,l0,g0)}else{U2(n,0,1),f0=e[I>>2]|0,Q0=(f0|0)>0;t:do if(Q0)for(d0=t+8|0,w0=e[d0>>2]|0,s2=0;;){if(h0=w0+s2|0,E0=u[h0>>0]|0,C0=E0<<24>>24==0,C0){f2=s2;break t}if(I0=s2+1|0,K0=(I0|0)<(f0|0),K0)s2=I0;else{f2=I0;break}}else f2=0;while(!1);if(b0=(f2|0)==(f0|0),b0){if(U2(n,0,1),m0=e[I>>2]|0,F0=(m0|0)>0,!F0)break;for(L0=t+8|0,E2=0;;)if(T0=e[L0>>2]|0,U0=T0+E2|0,B0=u[U0>>0]|0,q0=B0<<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),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(N0=t+8|0,A2=0;P0=e[N0>>2]|0,r1=P0+A2|0,H0=u[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=u[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,E1=e[h1>>2]|0,u1=(E1|0)==0,u1)return o=-1,o|0;if(d1=t+16|0,B1=e[d1>>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),F1=t+28|0,L1=e[F1>>2]|0,U2(n,L1,1),G1=e[n1>>2]|0,(G1|0)==1)w1=xS(t)|0,$2=w1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=i5(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,g2=(B|0)>-1,t2=0-B|0,v=g2?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 _h(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0;return z=m,c=(n|0)<0,c||(f=t+12|0,Q=e[f>>2]|0,x=Q+4|0,R=e[x>>2]|0,F=(R|0)>(n|0),!F)?(a=0,a|0):(L=t+20|0,M=e[L>>2]|0,T=M+(n<<2)|0,G=e[T>>2]|0,E=Q+8|0,I=e[E>>2]|0,C=I+n|0,p=u[C>>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=u[y>>0]|0,b=D<<24>>24,a=b,a|0)}function YC(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0;return w=m,a=t+8|0,c=e[a>>2]|0,f=(c|0)>0,!f||(E=Rh(t,n)|0,I=(E|0)>-1,!I)?(o=-1,o|0):(C=t+24|0,p=e[C>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,o=v,o|0)}function Mv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0;if(j=m,C=t+8|0,p=e[C>>2]|0,F=(p|0)>0,!F)return c=0,m=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,a0=m,m=m+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(V=t+16|0,r0=0;;){if(T=Rh(t,o)|0,G=(T|0)==-1,G){c=-1;break}if(P=e[V>>2]|0,z=e[t>>2]|0,Y=i5(z,T)|0,t0=P+(Y<<2)|0,J=a0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,H=(W|0)<(X|0),H)r0=W;else{o0=z;break e}}return m=j,c|0}else o0=e0;while(!1);if(E=(o0|0)<1,I=Z^1,n0=E|I,n0)return c=0,m=j,c|0;for(K=0,s0=0;;){for(c0=0;w=a0+(c0<<2)|0,y=e[w>>2]|0,D=y+(K<<2)|0,Q=+s[D>>2],b=c0+s0|0,x=n+(b<<2)|0,R=+s[x>>2],L=R+Q,s[x>>2]=L,M=c0+1|0,i0=(M|0)==(X|0),!i0;)c0=M;if(B=K+1|0,v=s0+X|0,S=(B|0)<(o0|0),S)K=B,s0=v;else{c=0;break}}return m=j,c|0}function Tv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0;if(j2=m,Y=t+8|0,t0=e[Y>>2]|0,l0=(t0|0)>0,!l0)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=Rh(t,o)|0,V=(Z|0)==-1,V){c=-1,T1=29;break}if(o0=e[K1>>2]|0,n0=e[t>>2]|0,i0=i5(n0,Z)|0,r0=(n0|0)>0,r0){for(K=(n0|0)>1,P2=K?n0:1,u2=X1,I2=0;c0=I2+1|0,z=I2+i0|0,s0=o0+(z<<2)|0,j=+s[s0>>2],$0=u2+1|0,g0=n+(u2<<2)|0,f0=+s[g0>>2],Q0=f0+j,s[g0>>2]=Q0,d0=(c0|0)<(n0|0),d0;)u2=$0,I2=c0;f2=X1+P2|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=Rh(t,o)|0,X=(H|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,a0=e[t>>2]|0,a0|0){case 4:{B=H,Q=U,T1=19;break t}case 3:{v=H,b=U,T1=21;break t}case 7:{I=H,w=U,T1=13;break t}case 6:{C=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,s5=0;break t}case 2:{S=H,x=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,w0=E<<3,h0=f+(w0<<2)|0,E0=+s[h0>>2],C0=e2+1|0,v0=n+(e2<<2)|0,K0=+s[v0>>2],b0=K0+E0,s[v0>>2]=b0,L0=w0,U0=f,y2=C0,J2=1,T1=14):(T1|0)==13?(T1=0,m0=I*7|0,L0=m0,U0=w,y2=e2,J2=0,T1=14):(T1|0)==15?(T1=0,Y0=C*6|0,z0=Y0,P0=y,S2=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,E1=B<<2,d1=E1,p1=Q,m2=e2,T2=0,T1=20):(T1|0)==21?(T1=0,L1=v*3|0,w1=L1,Z1=b,M2=e2,O2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,O1=x,_2=e2,K2=0,T1=24),(T1|0)==14&&(T1=0,F0=J2+1|0,P=J2+L0|0,T0=U0+(P<<2)|0,B0=+s[T0>>2],q0=y2+1|0,D0=n+(y2<<2)|0,M0=+s[D0>>2],J0=M0+B0,s[D0>>2]=J0,z0=L0,P0=U0,S2=q0,G2=F0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,N0=P0+(G<<2)|0,r1=+s[N0>>2],H0=S2+1|0,S0=n+(S2<<2)|0,i1=+s[S0>>2],c1=i1+r1,s[S0>>2]=c1,g1=z0,s1=P0,w2=H0,q2=O0,T1=18),(T1|0)==18&&(T1=0,f1=q2+1|0,T=q2+g1|0,l1=s1+(T<<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,d1=g1,p1=s1,m2=n1,T2=f1,T1=20),(T1|0)==20&&(T1=0,u1=T2+1|0,M=T2+d1|0,B1=p1+(M<<2)|0,Q1=+s[B1>>2],R1=m2+1|0,y1=n+(m2<<2)|0,S1=+s[y1>>2],F1=S1+Q1,s[y1>>2]=F1,w1=d1,Z1=p1,M2=R1,O2=u1,T1=22),(T1|0)==22&&(T1=0,G1=O2+1|0,L=O2+w1|0,U1=Z1+(L<<2)|0,N1=+s[U1>>2],D1=M2+1|0,P1=n+(M2<<2)|0,H1=+s[P1>>2],q1=H1+N1,s[P1>>2]=q1,r2=w1,O1=Z1,_2=D1,K2=G1,T1=24),(T1|0)==24&&(T1=0,j1=K2+1|0,F=K2+r2|0,W1=O1+(F<<2)|0,l2=+s[W1>>2],z1=_2+1|0,s2=n+(_2<<2)|0,E2=+s[s2>>2],A2=E2+l2,s[s2>>2]=A2,V1=r2,a2=O1,N2=z1,s5=j1),R=s5+V1|0,g2=a2+(R<<2)|0,t2=+s[g2>>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 Nv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0;if(l0=m,B=t+8|0,v=e[B>>2]|0,M=(v|0)>0,!M||(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=Rh(t,c)|0,S=(Z|0)==-1,S){I=-1,s0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=i5(y,Z)|0,Q=(y|0)>0,Q)for(n0=V,K=i0,c0=0;;)if(p=c0+D|0,b=w+(p<<2)|0,x=+s[b>>2],R=n0+1|0,F=n+(n0<<2)|0,L=e[F>>2]|0,T=L+(K<<2)|0,G=+s[T>>2],P=G+x,s[T>>2]=P,z=(R|0)==(a|0),Y=z&1,C=Y+K|0,E=z?0:R,t0=c0+1|0,J=(t0|0)<(y|0),J)n0=E,K=C,c0=t0;else{o0=E,r0=C;break}else o0=V,r0=i0;if(a0=(r0|0)<(H|0),a0)V=o0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function Rh(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,c=t+40|0,f=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,o0=tB(n,Y)|0,f0=(o0|0)>-1;do if(f0){if(m0=t+32|0,Y0=e[m0>>2]|0,c1=Y0+(o0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,C=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,l1=C;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,b=D+w|0,x=u[b>>0]|0,R=x<<24>>24,iB(n,R),o=w,o|0}else F=t+8|0,L=e[F>>2]|0,f1=L,l1=0;while(!1);if(M=tB(n,f)|0,T=(M|0)<0,G=(f|0)>1,P=T&G,P)for(Z0=f;;)if(z=Z0+-1|0,t0=tB(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=T,n1=M,A1=f;if(a)return o=-1,o|0;if(H=n1>>>16,X=n1<<16,U=H|X,a0=U>>>8,Z=a0&16711935,V=U<<8,n0=V&-16711936,i0=Z|n0,r0=i0>>>4,K=r0&252645135,c0=i0<<4,s0=c0&-252645136,l0=K|s0,j=l0>>>2,$0=j&858993459,g0=l0<<2,Q0=g0&-858993460,d0=$0|Q0,w0=d0>>>1,h0=w0&1431655765,E0=d0<<1,C0=E0&-1431655766,I0=h0|C0,v0=f1-l1|0,K0=(v0|0)>1,K0)for(b0=t+20|0,F0=e[b0>>2]|0,T0=v0,g1=f1,a1=l1;;)if(L0=T0>>1,U0=L0+a1|0,B0=F0+(U0<<2)|0,q0=e[B0>>2]|0,x0=q0>>>0>I0>>>0,D0=x0?0:L0,M0=D0+a1|0,J0=x0?L0:0,O0=g1-J0|0,z0=O0-M0|0,N0=(z0|0)>1,N0)T0=z0,g1=O0,a1=M0;else{s1=M0;break}else s1=l1;return P0=t+28|0,r1=e[P0>>2]|0,H0=r1+s1|0,e1=u[H0>>0]|0,S0=e1<<24>>24,i1=(S0|0)>(A1|0),i1?(iB(n,A1),o=-1,o|0):(iB(n,S0),o=s1,o|0)}function Gv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;for(c1=m,p=n+28|0,B=e[p>>2]|0,L=n+4|0,H=e[L>>2]|0,c0=t+4|0,e[c0>>2]=128,E0=t+8|0,e[E0>>2]=64,B0=B+2932|0,Y0=e[B0>>2]|0,O0=t+12|0,e[O0>>2]=Y0,e[t>>2]=H,z0=t+164|0,e[z0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|0)/2&-1,y=t+176|0,e[y>>2]=w,D=r4(128,4)|0,Q=t+36|0,e[Q>>2]=D,b=t+16|0,sB(b,128),x=e[Q>>2]|0,H0=0;R=+(H0|0),F=R*.024736950028266088,M=+Tn(+F),T=M,G=x+(H0<<2)|0,P=T*T,s[G>>2]=P,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,a0=t+92|0,e[a0>>2]=8,Z=t+104|0,e[Z>>2]=13,V=t+108|0,e[V>>2]=8,o0=t+120|0,e[o0>>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,S0=0;;){if(K=s0<<2,l0=S9(K)|0,j=((t+40|0)+(S0<<4)|0)+8|0,e[j>>2]=l0,$0=(s0|0)>0,$0){for(g0=+(s0|0),f0=((t+40|0)+(S0<<4)|0)+12|0,C=+s[f0>>2],b0=C,e1=0;;)if(Q0=+(e1|0),d0=Q0+.5,w0=d0/g0,h0=w0*3.141592653589793,C0=+Tn(+h0),I0=C0,v0=l0+(e1<<2)|0,s[v0>>2]=I0,K0=b0+I0,m0=e1+1|0,N0=(m0|0)==(s0|0),N0){o=K0;break}else b0=K0,e1=m0;s[f0>>2]=o,E=f0,L0=o}else c=((t+40|0)+(S0<<4)|0)+12|0,I=+s[c>>2],E=c,L0=I;if(F0=1/L0,s[E>>2]=F0,T0=S0+1|0,P0=(T0|0)==7,P0)break;a=((t+40|0)+(T0<<4)|0)+4|0,f=e[a>>2]|0,s0=f,S0=T0}U0=H*7|0,q0=r4(U0,144)|0,x0=t+152|0,e[x0>>2]=q0,D0=e[z0>>2]|0,M0=r4(D0,4)|0,J0=t+160|0,e[J0>>2]=M0}function Uv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0;T=m,n=t+16|0,AB(n),o=t+48|0,w=e[o>>2]|0,d2(w),D=t+64|0,Q=e[D>>2]|0,d2(Q),b=t+80|0,x=e[b>>2]|0,d2(x),R=t+96|0,F=e[R>>2]|0,d2(F),L=t+112|0,a=e[L>>2]|0,d2(a),c=t+128|0,f=e[c>>2]|0,d2(f),E=t+144|0,I=e[E>>2]|0,d2(I),C=t+36|0,p=e[C>>2]|0,d2(p),B=t+152|0,v=e[B>>2]|0,d2(v),S=t+160|0,y=e[S>>2]|0,d2(y),ne(t|0,0,180)|0}function Ov(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,f=t+4|0,E=e[f>>2]|0,F=E+28|0,e0=e[F>>2]|0,K=e0+2868|0,h0=t+104|0,U0=e[h0>>2]|0,P0=e[U0>>2]|0,s1=P0+168|0,p1=e[s1>>2]|0,I=P0+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,b=(S|0)<0,n=b?0:S,x=D+2|0,R=P0+164|0,L=e[R>>2]|0,M=(x|0)>(L|0),M&&(e[R>>2]=x,T=P0+160|0,G=e[T>>2]|0,P=x<<2,z=Gi(G,P)|0,e[T>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=P0+156|0,J=P0+160|0,W=t+8|0,H=P0+40|0,X=P0+152|0,D1=n;;){if(U=e[t0>>2]|0,a0=U+1|0,Z=(U|0)>23,a=Z?24:a0,e[t0>>2]=a,V=e[P0>>2]|0,o0=(V|0)>0,o0){for(N1=0,q1=0;;)if(c0=e[W>>2]|0,s0=c0+(N1<<2)|0,l0=e[s0>>2]|0,j=e[I>>2]|0,$0=i5(j,D1)|0,g0=l0+($0<<2)|0,f0=e[X>>2]|0,Q0=N1*7|0,d0=f0+(Q0*144|0)|0,w0=qv(P0,K,g0,H,d0)|0,E0=w0|q1,C0=N1+1|0,I0=e[P0>>2]|0,v0=(C0|0)<(I0|0),v0)N1=C0,q1=E0;else{c=E0;break}K0=D1+2|0,b0=e[J>>2]|0,m0=b0+(K0<<2)|0,e[m0>>2]=0,F0=c&1,L0=(F0|0)==0,L0||(T0=b0+(D1<<2)|0,e[T0>>2]=1,B0=D1+1|0,q0=b0+(B0<<2)|0,e[q0>>2]=1),x0=c&2,D0=(x0|0)==0,D0||(M0=b0+(D1<<2)|0,e[M0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,O0=b0+(Y0<<2)|0,e[O0>>2]=1)),z0=c&4,N0=(z0|0)==0,N0||(e[t0>>2]=-1)}else n0=D1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=D1+1|0,Z1=(r1|0)==(Q|0),Z1)break;D1=r1}if(H0=e[I>>2]|0,e1=i5(H0,Q)|0,e[s1>>2]=e1,S0=t+48|0,i1=e[S0>>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,E1=(h1|0)/4&-1,u1=I1+E1|0,d1=P0+176|0,B1=e[d1>>2]|0,Q1=e1-H0|0,R1=(B1|0)<(Q1|0),!R1)return o=-1,o|0;for(x1=P0+160|0,K1=B1;;){if(F1=(K1|0)<(u1|0),!F1){o=1,Y1=22;break}if(e[d1>>2]=K1,L1=(K1|0)/(H0|0)&-1,G1=e[x1>>2]|0,w1=G1+(L1<<2)|0,U1=e[w1>>2]|0,C=(U1|0)!=0,p=(K1|0)>(i1|0),H1=p&C,y1=H0+K1|0,H1){P1=K1,Y1=21;break}if(S1=(y1|0)<(Q1|0),S1)K1=y1;else{o=-1,Y1=22;break}}return(Y1|0)==21?(B=P0+172|0,e[B>>2]=P1,o=0,o|0):(Y1|0)==22?o|0:0}function Pv(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0;if(E0=m,c=t+104|0,f=e[c>>2]|0,Q=e[f>>2]|0,Y=t+4|0,o0=e[Y>>2]|0,s0=o0+28|0,l0=e[s0>>2]|0,j=t+48|0,$0=e[j>>2]|0,g0=t+40|0,E=e[g0>>2]|0,I=l0+(E<<2)|0,C=e[I>>2]|0,p=(C|0)/4&-1,B=$0-p|0,v=p+$0|0,S=(E|0)==0,S?(G=e[l0>>2]|0,P=(G|0)/4&-1,o=P,a=P):(w=t+36|0,y=e[w>>2]|0,D=l0+(y<<2)|0,b=e[D>>2]|0,x=(b|0)/4&-1,R=t+44|0,F=e[R>>2]|0,L=l0+(F<<2)|0,M=e[L>>2]|0,T=(M|0)/4&-1,o=T,a=x),f0=B-a|0,Q0=v+o|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(f0|0),W=(t0|0)<(Q0|0),w0=J&W,w0)return n=1,n|0;if(e0=Q+8|0,H=e[e0>>2]|0,X=(f0|0)/(H|0)&-1,U=(Q0|0)/(H|0)&-1,a0=(X|0)<(U|0),!a0)return n=0,n|0;for(Z=Q+160|0,V=e[Z>>2]|0,d0=X;;){if(r0=V+(d0<<2)|0,K=e[r0>>2]|0,c0=(K|0)==0,n0=d0+1|0,!c0){n=1,h0=9;break}if(i0=(n0|0)<(U|0),i0)d0=n0;else{n=0,h0=9;break}}return(h0|0)==9?n|0:0}function Hv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0;if(G=m,o=t+168|0,a=e[o>>2]|0,y=t+8|0,Q=e[y>>2]|0,b=(a|0)/(Q|0)&-1,x=b+2|0,R=(n|0)/(Q|0)&-1,F=t+160|0,L=e[F>>2]|0,M=L+(R<<2)|0,c=x-R|0,f=c<<2,Zo(L|0,M|0,f|0)|0,E=e[o>>2]|0,I=E-n|0,e[o>>2]=I,C=t+172|0,p=e[C>>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[C>>2]=v,S=t+176|0,w=e[S>>2]|0,D=w-n|0,e[S>>2]=D}function qv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0;if(I3=m,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,M2=+s[$2>>2],P2=t0<<2,b=P2,v2=m,m=m+((1*b|0)+15&-16)|0,_5=t+156|0,c2=e[_5>>2]|0,F2=(c2|0)>5,L5=(c2|0)/2&-1,f=F2?L5:2,J=n+60|0,i0=+s[J>>2],d0=L5+-2|0,L0=+(d0|0),z0=i0-L0,g1=z0<0,h6=g1?0:z0,d1=h6>i0,p3=d1?i0:h6,w1=(t0|0)>0,w1)for(r2=t+36|0,a2=e[r2>>2]|0,P5=0;i2=o+(P5<<2)|0,o2=+s[i2>>2],X1=a2+(P5<<2)|0,n2=+s[X1>>2],u2=n2*o2,e2=v2+(P5<<2)|0,s[e2>>2]=u2,y2=P5+1|0,m3=(y2|0)==(t0|0),!m3;)P5=y2;S2=t+16|0,Xp(S2,v2,v2),w2=+s[v2>>2],m2=w2*w2,_2=m2,N2=v2+4|0,I2=+s[N2>>2],J2=I2,G2=J2*J2,q2=G2*.7,T2=q2+_2,O2=v2+8|0,K2=+s[O2>>2],s5=K2,T1=s5*s5,j2=T1*.2,x5=T2+j2,X2=x5,D5=c+140|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5?(k5=c+136|0,O5=+s[k5>>2],$5=O5+X2,E5=c+132|0,s[E5>>2]=$5,s[k5>>2]=X2,M=E5,H2=$5):(r5=c+132|0,x2=+s[r5>>2],R2=x2+X2,s[r5>>2]=R2,B2=c+136|0,C5=+s[B2>>2],F5=C5+X2,s[B2>>2]=F5,M=r5,H2=R2),u5=(c+72|0)+(V2<<2)|0,b5=+s[u5>>2],G5=H2-b5,s[M>>2]=G5,s[u5>>2]=X2,I5=e[D5>>2]|0,A5=I5+1|0,l5=(I5|0)>13,E=l5?0:A5,e[D5>>2]=E,m5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(v5=H2*.0625,c5=(s[p2>>2]=v5,e[p2>>2]|0),o5=c5&2147483647,z2=+(o5>>>0),B5=z2*7177114298428933e-22,e5=B5+-764.6162109375,n5=e5,g5=n5*.5,Y2=g5+-15,h5=Y2,x=h5,F0=w2,w5=0;;){if(m0=F0*F0,T0=w5|1,U0=v2+(T0<<2)|0,B0=+s[U0>>2],q0=B0*B0,x0=q0+m0,D0=(s[p2>>2]=x0,e[p2>>2]|0),M0=D0&2147483647,J0=+(M0>>>0),Y0=J0*35885571492144663e-23,O0=Y0+-382.30810546875,N0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=w5+2|0,S0=(e1|0)<(m5|0),!S0)break e;i1=x+-8,F=v2+(e1<<2)|0,L=+s[F>>2],x=i1,F0=L,w5=e1}while(!1);if(t5=(f|0)>0,t5)A3=0,U3=0;else{for(t3=0,W3=0;;){if(c1=(a+(t3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(t3<<4)|0,s1=e[l1>>2]|0,a1=(a+(t3<<4)|0)+8|0,n1=e[a1>>2]|0,o3=0,G3=0;;)if(A1=s1+G3|0,Z0=v2+(A1<<2)|0,I1=+s[Z0>>2],h1=n1+(G3<<2)|0,E1=+s[h1>>2],u1=E1*I1,B1=u1+o3,p1=G3+1|0,Q1=(p1|0)<($1|0),Q1)o3=B1,G3=p1;else{R3=B1;break}else R3=0;if(R1=(a+(t3<<4)|0)+12|0,x1=+s[R1>>2],y1=x1*R3,S1=(c+(t3*144|0)|0)+68|0,F1=e[S1>>2]|0,L1=(F1|0)<1,p=L1?16:-1,I=p+F1|0,G1=(c+(t3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=y1U1,v=D1?U1:y1,K1=v+-99999,P1=N1+99999,H1=(c+(t3*144|0)|0)+(F1<<2)|0,s[H1>>2]=y1,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)+(t3<<2)|0,O1=+s[W1>>2],l2=O1+p3,z1=P1>l2,f2=W3|5,V5=z1?f2:W3,s2=(n+32|0)+(t3<<2)|0,E2=+s[s2>>2],A2=E2-p3,V1=K1>2]|0,a5=(W2|0)>0,a5)for(Q0=a+(A3<<4)|0,n0=e[Q0>>2]|0,w0=(a+(A3<<4)|0)+8|0,s0=e[w0>>2]|0,$3=0,M5=0;;)if(o0=n0+M5|0,r0=v2+(o0<<2)|0,K=+s[r0>>2],c0=s0+(M5<<2)|0,l0=+s[c0>>2],j=l0*K,$0=j+$3,g0=M5+1|0,f0=(g0|0)<(W2|0),f0)$3=$0,M5=g0;else{N3=$0;break}else N3=0;for(h0=(a+(A3<<4)|0)+12|0,E0=+s[h0>>2],h3=E0*N3,e3=(c+(A3*144|0)|0)+68|0,u3=e[e3>>2]|0,C0=(u3|0)<1,B=C0?16:-1,C=B+u3|0,I0=(c+(A3*144|0)|0)+(C<<2)|0,v0=+s[I0>>2],K0=h3v0,S=b0?v0:h3,n6=0,x3=C,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,T=Z?X:Q3,V=n6+1|0,q5=(V|0)==(f|0),q5){R=a0,G=T;break}else n6=V,x3=w,k3=a0,Q3=T;if(p5=S-G,H5=X5-R,d5=(c+(A3*144|0)|0)+(u3<<2)|0,s[d5>>2]=h3,J5=e[e3>>2]|0,n3=J5+1|0,C3=(J5|0)>15,Q=C3?0:n3,e[e3>>2]=Q,K5=(n+4|0)+(A3<<2)|0,w3=+s[K5>>2],f3=w3+p3,B3=H5>f3,K3=U3|5,v3=B3?K3:U3,T3=(n+32|0)+(A3<<2)|0,z5=+s[T3>>2],y3=z5-p3,W5=p5>2]|0,m2=n+1288|0,j3=e[m2>>2]|0,L3=n+1284|0,d6=e[L3>>2]|0,d9=(d6|0)>0,d9){for(g8=0;Z4=p4+(g8<<2)|0,e[Z4>>2]=-200,Ee=g8+1|0,Ce=(Ee|0)==(d6|0),!Ce;)g8=Ee;if(d9){for(q3=0;f4=l4+(q3<<2)|0,e[f4>>2]=-200,W=q3+1|0,$4=(W|0)==(d6|0),!$4;)q3=W;if(d9){for(r0=d6<<2,ne(L8|0,0,r0|0)|0,y9=0;w0=De+(y9<<2)|0,e[w0>>2]=1,T0=y9+1|0,Ge=(T0|0)==(d6|0),!Ge;)y9=T0;if(d9){if(l1=d6<<2,ne(z8|0,-1,l1|0)|0,B1=(d6|0)>1,!B1)return ee=0,m=e4,ee|0;for(U1=j3+-1|0,W1=J+1112|0,t2=d6+-1|0,L=e[n>>2]|0,m4=L,m9=0,me=0;;){D4=m9+1|0,b4=n+(D4<<2)|0,R4=e[b4>>2]|0,M4=U6+(m9*56|0)|0,Le=M4,b7=Le+56|0;do e[Le>>2]=0,Le=Le+4|0;while((Le|0)<(b7|0));if(e[M4>>2]=m4,T4=(U6+(m9*56|0)|0)+4|0,e[T4>>2]=R4,U9=(R4|0)<(j3|0),e7=U9?R4:U1,N4=(e7|0)<(m4|0),N4)w8=0,j8=0,S8=0,D8=0,d8=0,Fe=0,t7=0,q9=0,J8=0,_8=0,H7=0,q7=0;else for(k4=m4,h8=0,Ue=0,P4=0,j9=0,Be=0,s8=0,d3=0,b9=0,o8=0,B9=0,o7=0,R8=0;;){o4=a+(k4<<2)|0,P=+s[o4>>2],x4=P*7.314285755157471,h4=x4+1023.5,de=~~h4,H9=(de|0)>1023,E9=(de|0)<0,E=E9?0:de,v=H9?1023:E,Te=(v|0)==0;do if(Te)P8=h8,e8=Ue,i8=P4,I8=j9,Pe=Be,Q4=s8,C8=d3,q8=b9,q4=o8,Je=B9,re=o7,K8=R8;else if(We=o+(k4<<2)|0,G4=+s[We>>2],Ne=+s[W1>>2],U4=Ne+G4,W4=!(U4>=P),W4){Ae=k4+s8|0,W9=v+R8|0,oe=i5(k4,k4)|0,ae=oe+j9|0,B4=i5(v,v)|0,e0=B4+B9|0,H=i5(v,k4)|0,X=H+b9|0,U=Ue+1|0,P8=h8,e8=U,i8=P4,I8=ae,Pe=Be,Q4=Ae,C8=d3,q8=X,q4=o8,Je=e0,re=o7,K8=W9;break}else{Se=k4+Be|0,je=v+o7|0,Z9=i5(k4,k4)|0,se=Z9+P4|0,b6=i5(v,v)|0,O4=b6+o8|0,F9=i5(v,k4)|0,a4=F9+d3|0,_4=h8+1|0,P8=_4,e8=Ue,i8=se,I8=j9,Pe=Se,Q4=s8,C8=a4,q8=b9,q4=O4,Je=B9,re=je,K8=R8;break}while(!1);if(a0=k4+1|0,Z=(k4|0)<(e7|0),Z)k4=a0,h8=P8,Ue=e8,P4=i8,j9=I8,Be=Pe,s8=Q4,d3=C8,b9=q8,o8=q4,B9=Je,o7=re,R8=K8;else{w8=P8,j8=e8,S8=i8,D8=I8,d8=Pe,Fe=Q4,t7=C8,q9=q8,J8=q4,_8=Je,H7=re,q7=K8;break}}if(V=(U6+(m9*56|0)|0)+8|0,e[V>>2]=d8,o0=(U6+(m9*56|0)|0)+12|0,e[o0>>2]=H7,n0=(U6+(m9*56|0)|0)+16|0,e[n0>>2]=S8,i0=(U6+(m9*56|0)|0)+20|0,e[i0>>2]=J8,K=(U6+(m9*56|0)|0)+24|0,e[K>>2]=t7,c0=(U6+(m9*56|0)|0)+28|0,e[c0>>2]=w8,s0=(U6+(m9*56|0)|0)+32|0,e[s0>>2]=Fe,l0=(U6+(m9*56|0)|0)+36|0,e[l0>>2]=q7,j=(U6+(m9*56|0)|0)+40|0,e[j>>2]=D8,$0=(U6+(m9*56|0)|0)+44|0,e[$0>>2]=_8,g0=(U6+(m9*56|0)|0)+48|0,e[g0>>2]=q9,f0=(U6+(m9*56|0)|0)+52|0,e[f0>>2]=j8,Q0=w8+me|0,c6=(D4|0)==(t2|0),c6){f7=Q0;break}else m4=R4,m9=D4,me=Q0}}else he=9}else he=9}else he=9}else he=9;if((he|0)==9){if(N0=(d6|0)==0,!N0)return ee=0,m=e4,ee|0;M2=U6+4|0,Le=U6,b7=Le+56|0;do e[Le>>2]=0,Le=Le+4|0;while((Le|0)<(b7|0));if(e[M2>>2]=j3,P2=(j3|0)<1,P2)U8=0,W8=0,H8=0,u8=0,n8=0,X9=0,E8=0,te=0,n7=0,s7=0,M7=0,T7=0;else for(v2=J+1112|0,c4=0,k8=0,f8=0,t8=0,le=0,ce=0,ge=0,H4=0,ie=0,A8=0,Ye=0,v7=0,a8=0;;){_5=a+(c4<<2)|0,G=+s[_5>>2],c2=G*7.314285755157471,F2=c2+1023.5,L5=~~F2,R3=(L5|0)>1023,M5=(L5|0)<0,f=M5?0:L5,B=R3?1023:f,U3=(B|0)==0;do if(U3)O8=k8,Re=f8,xe=t8,r8=le,Oe=ce,pe=ge,He=H4,qe=ie,b8=A8,A7=Ye,S7=v7,D7=a8;else if(l6=o+(c4<<2)|0,H3=+s[l6>>2],r6=+s[v2>>2],r9=r6+H3,x6=!(r9>=G),x6){h9=c4+ge|0,f9=B+a8|0,u9=i5(c4,c4)|0,o9=u9+le|0,a9=i5(B,B)|0,T9=a9+Ye|0,M6=i5(B,c4)|0,e9=M6+ie|0,N9=f8+1|0,O8=k8,Re=N9,xe=t8,r8=o9,Oe=ce,pe=h9,He=H4,qe=e9,b8=A8,A7=T9,S7=v7,D7=f9;break}else{G6=c4+ce|0,D6=B+v7|0,K6=i5(c4,c4)|0,y6=K6+t8|0,F6=i5(B,B)|0,L6=F6+A8|0,X6=i5(B,c4)|0,A9=X6+H4|0,W6=k8+1|0,O8=W6,Re=f8,xe=y6,r8=le,Oe=G6,pe=ge,He=A9,qe=ie,b8=L6,A7=Ye,S7=D6,D7=a8;break}while(!1);if(I9=c4+1|0,C9=(I9|0)==(j3|0),C9){U8=O8,W8=Re,H8=xe,u8=r8,n8=Oe,X9=pe,E8=He,te=qe,n7=b8,s7=A7,M7=S7,T7=D7;break}else c4=I9,k8=O8,f8=Re,t8=xe,le=r8,ce=Oe,ge=pe,H4=He,ie=qe,A8=b8,Ye=A7,v7=S7,a8=D7}E4=U6+8|0,e[E4>>2]=n8,s4=U6+12|0,e[s4>>2]=M7,g4=U6+16|0,e[g4>>2]=H8,G9=U6+20|0,e[G9>>2]=n7,z9=U6+24|0,e[z9>>2]=E8,D9=U6+28|0,e[D9>>2]=U8,P6=U6+32|0,e[P6>>2]=X9,t9=U6+36|0,e[t9>>2]=T7,C4=U6+40|0,e[C4>>2]=u8,S4=U6+44|0,e[S4>>2]=s7,A4=U6+48|0,e[A4>>2]=te,Q9=U6+52|0,e[Q9>>2]=W8,f7=U8}if(d0=(f7|0)==0,d0)return ee=0,m=e4,ee|0;e[r7>>2]=-200,e[Y8>>2]=-200,h0=d6+-1|0,rB(U6,h0,r7,Y8,J)|0,E0=e[r7>>2]|0,e[p4>>2]=E0,e[l4>>2]=E0,C0=e[Y8>>2]|0,I0=l4+4|0,e[I0>>2]=C0,v0=p4+4|0,e[v0>>2]=C0,K0=(d6|0)>2;do if(K0){b0=J+1112|0,m0=J+1096|0,F0=J+1100|0,L0=J+1104|0,L4=2;e:for(;;){U0=(n+520|0)+(L4<<2)|0,B0=e[U0>>2]|0,q0=L8+(B0<<2)|0,x0=e[q0>>2]|0,D0=De+(B0<<2)|0,M0=e[D0>>2]|0,J0=z8+(x0<<2)|0,Y0=e[J0>>2]|0,O0=(Y0|0)==(M0|0);t:do if(!O0){if(z0=(n+520|0)+(x0<<2)|0,P0=e[z0>>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,S0=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=l4+(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,E1=(h1|0)<0,u1=l4+(M0<<2)|0,d1=e[u1>>2]|0,E1?Q=d1:(p1=(d1|0)<0,p1?Q=h1:(Q1=d1+h1|0,R1=Q1>>1,Q=R1)),x1=(y|0)==-1,y1=(Q|0)==-1,w7=x1|y1,w7){he=38;break e}S1=Q-y|0,F1=c1-S0|0,_e=(S1|0)>-1,w9=0-S1|0,L1=_e?S1:w9,G1=(S1|0)/(F1|0)&-1,w1=S1>>31,Z1=w1|1,N1=a+(S0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,K1=D1+1023.5,P1=~~K1,H1=(P1|0)>1023,q1=(P1|0)<0,I=q1?0:P1,S=H1?1023:I,Y1=i5(G1,F1)|0,l7=(Y1|0)>-1,h7=0-Y1|0,j1=l7?Y1:h7,r2=L1-j1|0,O1=y-S|0,l2=i5(O1,O1)|0,z1=o+(S0<<2)|0,f2=+s[z1>>2],s2=+s[b0>>2],E2=s2+f2,A2=!(E2>=Y),A2?he=42:(V1=+(y|0),g2=+s[m0>>2],a2=g2+V1,$2=+(S|0),i2=a2<$2,i2||(o2=+s[F0>>2],X1=V1-o2,n2=X1>$2,n2||(he=42)));i:do if((he|0)==42){if(he=0,u2=S0+1|0,e2=(u2|0)<(c1|0),e2)for(I2=u2,j4=0,y7=l2,G8=1,u7=y;;){if(y2=j4+r2|0,S2=(y2|0)<(F1|0),w2=S2?0:Z1,_2=S2?0:F1,F4=y2-_2|0,F=u7+G1|0,i7=F+w2|0,N2=a+(I2<<2)|0,z=+s[N2>>2],J2=z*7.314285755157471,G2=J2+1023.5,q2=~~G2,T2=(q2|0)>1023,O2=(q2|0)<0,C=O2?0:q2,D=T2?1023:C,K2=i7-D|0,s5=i5(K2,K2)|0,T1=s5+y7|0,j2=G8+1|0,x5=o+(I2<<2)|0,X2=+s[x5>>2],D5=X2+s2,V2=D5>=z,f5=(D|0)!=0,X8=V2&f5,X8&&(k5=+(i7|0),O5=+s[m0>>2],$5=O5+k5,E5=+(D|0),r5=$5>2],R2=k5-x2,B2=R2>E5,B2)))break i;if(C5=I2+1|0,F5=(C5|0)<(c1|0),F5)I2=C5,j4=F4,y7=T1,G8=j2,u7=i7;else{Z8=T1,N8=j2;break}}else Z8=l2,N8=1;if(u5=+s[m0>>2],b5=u5*u5,G5=+(N8|0),H2=b5/G5,I5=+s[L0>>2],A5=H2>I5,!A5&&(l5=+s[F0>>2],m5=l5*l5,M1=m5/G5,v5=M1>I5,!v5&&(c5=(Z8|0)/(N8|0)&-1,o5=+(c5|0),z2=o5>I5,z2)))break;$3=p4+(L4<<2)|0,e[$3>>2]=-200,l3=l4+(L4<<2)|0,e[l3>>2]=-200;break t}while(!1);if(e[M8>>2]=-200,e[T8>>2]=-200,e[be>>2]=-200,e[Xe>>2]=-200,B5=U6+(P0*56|0)|0,e5=B0-P0|0,n5=rB(B5,e5,M8,T8,J)|0,g5=U6+(B0*56|0)|0,Y2=H0-B0|0,h5=rB(g5,Y2,be,Xe,J)|0,t5=(n5|0)!=0,t5&&(e[M8>>2]=y,R5=e[be>>2]|0,e[T8>>2]=R5),W2=(h5|0)==0,!W2&&(a5=e[T8>>2]|0,e[be>>2]=a5,e[Xe>>2]=Q,t5)){p5=p4+(L4<<2)|0,e[p5>>2]=-200,H5=l4+(L4<<2)|0,e[H5>>2]=-200;break}if(X5=e[M8>>2]|0,e[s1>>2]=X5,d5=(x0|0)==0,d5&&(e[p4>>2]=X5),u3=e[T8>>2]|0,h3=p4+(L4<<2)|0,e[h3>>2]=u3,J5=e[be>>2]|0,e3=l4+(L4<<2)|0,e[e3>>2]=J5,n3=e[Xe>>2]|0,e[I1>>2]=n3,C3=(M0|0)==1,C3&&(e[I0>>2]=n3),K5=J5&u3,w3=(K5|0)>-1,w3){f3=(B0|0)>0;i:do if(f3)for(V8=B0;;){if(Q7=V8+-1|0,K3=De+(Q7<<2)|0,T3=e[K3>>2]|0,z5=(T3|0)==(M0|0),!z5)break i;if(e[K3>>2]=L4,y3=(V8|0)>1,y3)V8=Q7;else break}while(!1);if(g7=B0+1|0,B3=(g7|0)<(d6|0),B3)for(F8=g7;;){if(W5=L8+(F8<<2)|0,t6=e[W5>>2]|0,N3=(t6|0)==(x0|0),!N3)break t;if(e[W5>>2]=L4,c7=F8+1|0,o3=(c7|0)<(d6|0),o3)F8=c7;else break}}}while(!1);if(m3=L4+1|0,q5=(m3|0)<(d6|0),q5)L4=m3;else{he=68;break}}if((he|0)==38)gv(1);else if((he|0)==68){M=e[p4>>2]|0,T=e[l4>>2]|0,w5=M,n6=T;break}}else w5=E0,n6=E0;while(!1);if(U5=d6<<2,P5=P7(t,U5)|0,G3=(w5|0)<0,G3?w=n6:(t3=(n6|0)<0,t3?w=w5:(A3=n6+w5|0,x3=A3>>1,w=x3)),e[P5>>2]=w,h6=e[v0>>2]|0,p3=(h6|0)<0,k3=e[I0>>2]|0,p3?x=k3:(Q3=(k3|0)<0,Q3?x=h6:(i6=k3+h6|0,W3=i6>>1,x=W3)),V5=P5+4|0,e[V5>>2]=x,K0)X4=2;else return ee=P5,m=e4,ee|0;for(;;)if(v3=X4+-2|0,c3=(n+1032|0)+(v3<<2)|0,O3=e[c3>>2]|0,$6=(n+780|0)+(v3<<2)|0,I3=e[$6>>2]|0,w6=(J+836|0)+(O3<<2)|0,k6=e[w6>>2]|0,v6=(J+836|0)+(I3<<2)|0,B6=e[v6>>2]|0,p6=P5+(O3<<2)|0,_6=e[p6>>2]|0,q6=P5+(I3<<2)|0,C6=e[q6>>2]|0,S3=(J+836|0)+(X4<<2)|0,X3=e[S3>>2]|0,e6=_6&32767,f6=C6&32767,P3=f6-e6|0,D3=B6-k6|0,$7=(P3|0)>-1,v8=0-P3|0,V3=$7?P3:v8,S6=X3-k6|0,s6=i5(V3,S6)|0,i3=(s6|0)/(D3|0)&-1,O6=(P3|0)<0,s3=0-i3|0,R=O6?s3:i3,b=R+e6|0,A6=p4+(X4<<2)|0,u6=e[A6>>2]|0,b3=(u6|0)<0,T6=l4+(X4<<2)|0,Q6=e[T6>>2]|0,b3?p=Q6:(R6=(Q6|0)<0,R6?p=u6:(J6=Q6+u6|0,I6=J6>>1,p=I6)),Y6=(p|0)<0,F3=(b|0)==(p|0),k7=Y6|F3,Z6=b|32768,c=k7?Z6:p,N6=P5+(X4<<2)|0,e[N6>>2]=c,j6=X4+1|0,$e=(j6|0)==(d6|0),$e){ee=P5;break}else X4=j6;return m=e4,ee|0}function x8(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;if(o0=m,f=n+1284|0,E=e[f>>2]|0,b=(o|0)!=0,z=(a|0)!=0,a0=b&z,!a0)return Z=0,Z|0;if(Y=E<<2,t0=P7(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,C=i5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=i5(v,c)|0,w=C+32768|0,y=w+S|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,x=e[e0>>2]|0,R=x&32768,F=(R|0)==0,F||(L=e[p>>2]|0,M=L&32768,T=(M|0)==0,T||(G=D|32768,e[Q>>2]=G)),P=U+1|0,X=(P|0)==(E|0),X){Z=t0;break}else U=P;return Z|0}function Yv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0;if(L6=m,m=m+336|0,x6=L6+64|0,c3=L6+32|0,F3=L6,D=o+1296|0,Q=e[D>>2]|0,g2=o+1284|0,x2=e[g2>>2]|0,A5=n+64|0,n5=e[A5>>2]|0,X5=n5+4|0,f3=e[X5>>2]|0,$3=f3+28|0,A3=e[$3>>2]|0,b=A3+2848|0,t0=e[b>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),x5=n+36|0,X2=e[x5>>2]|0,D5=(X2|0)/2&-1,V2=D5<<2,ne(c|0,0,V2|0)|0,E=0,m=L6,E|0;if(Q0=(x2|0)>0,Q0)for(F0=Q+832|0,f6=0;O0=a+(f6<<2)|0,f1=e[O0>>2]|0,u1=f1&32767,G1=e[F0>>2]|0,(G1|0)==4?(K2=u1>>>4,G6=K2):(G1|0)==1?(j1=u1>>>2,G6=j1):(G1|0)==2?(a2=u1>>>3,G6=a2):(G1|0)==3?(w2=(u1>>>0)/12&-1,G6=w2):G6=u1,f5=f1&32768,k5=f5|G6,e[O0>>2]=k5,O5=f6+1|0,C6=(O5|0)==(x2|0),!C6;)f6=O5;if($5=e[a>>2]|0,e[x6>>2]=$5,v2=a+4|0,E5=e[v2>>2]|0,r5=x6+4|0,e[r5>>2]=E5,R2=(x2|0)>2,B2=o+1292|0,R2){for(P3=2;;){if(C5=P3+-2|0,F5=(o+1032|0)+(C5<<2)|0,u5=e[F5>>2]|0,b5=(o+780|0)+(C5<<2)|0,G5=e[b5>>2]|0,_5=(Q+836|0)+(u5<<2)|0,H2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,l5=e[I5>>2]|0,m5=a+(u5<<2)|0,M1=e[m5>>2]|0,v5=a+(G5<<2)|0,c5=e[v5>>2]|0,o5=(Q+836|0)+(P3<<2)|0,z2=e[o5>>2]|0,c2=M1&32767,B5=c5&32767,e5=B5-c2|0,g5=l5-H2|0,H3=(e5|0)>-1,Z6=0-e5|0,Y2=H3?e5:Z6,h5=z2-H2|0,t5=i5(Y2,h5)|0,R5=(t5|0)/(g5|0)&-1,W2=(e5|0)<0,a5=0-R5|0,C=W2?a5:R5,I=C+c2|0,F2=a+(P3<<2)|0,p5=e[F2>>2]|0,H5=p5&32768,d5=(H5|0)!=0,u3=(p5|0)==(I|0),r9=d5|u3,r9)h3=I|32768,e[F2>>2]=h3,J5=x6+(P3<<2)|0,e[J5>>2]=0;else{e3=e[B2>>2]|0,n3=e3-I|0,C3=(n3|0)<(I|0),f=C3?n3:I,L5=p5-I|0,K5=(L5|0)<0;do if(K5)if(w3=0-f|0,B3=(L5|0)<(w3|0),B3){K3=L5^-1,T3=f+K3|0,D6=T3;break}else{z5=L5<<1,y3=z5^-1,D6=y3;break}else if(W5=(f|0)>(L5|0),W5){R3=L5<<1,D6=R3;break}else{t6=f+L5|0,D6=t6;break}while(!1);N3=x6+(P3<<2)|0,e[N3>>2]=D6,e[m5>>2]=c2,o3=e[v5>>2]|0,l3=o3&32767,e[v5>>2]=l3}if(m3=P3+1|0,q6=(m3|0)==(x2|0),q6)break;P3=m3}v=e[x6>>2]|0,S=e[r5>>2]|0,i6=v,v3=S}else i6=$5,v3=E5;if(U2(t,1,1),q5=o+1308|0,U5=e[q5>>2]|0,P5=U5+1|0,e[q5>>2]=P5,w5=e[B2>>2]|0,G3=w5+-1|0,M5=L7(G3)|0,n6=M5<<1,t3=o+1304|0,x3=e[t3>>2]|0,h6=x3+n6|0,e[t3>>2]=h6,p3=e[B2>>2]|0,k3=p3+-1|0,Q3=L7(k3)|0,U2(t,i6,Q3),W3=e[B2>>2]|0,U3=W3+-1|0,V5=L7(U3)|0,U2(t,v3,V5),x=e[Q>>2]|0,R=(x|0)>0,R)for(F=o+1300|0,D3=0,s6=2;;){if(L=(Q+4|0)+(D3<<2)|0,M=e[L>>2]|0,T=(Q+128|0)+(M<<2)|0,G=e[T>>2]|0,P=(Q+192|0)+(M<<2)|0,z=e[P>>2]|0,Y=1<>2]=0,e[c3+4>>2]=0,e[c3+8>>2]=0,e[c3+12>>2]=0,e[c3+16>>2]=0,e[c3+20>>2]=0,e[c3+24>>2]=0,e[c3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;$0=((Q+320|0)+(M<<5)|0)+(s3<<2)|0,g0=e[$0>>2]|0,f0=(g0|0)<0,f0?y=1:(d0=(A3+1824|0)+(g0<<2)|0,w0=e[d0>>2]|0,h0=w0+4|0,E0=e[h0>>2]|0,y=E0),C0=F3+(s3<<2)|0,e[C0>>2]=y,I0=s3+1|0,v0=(I0|0)<(Y|0),v0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(O3=0,w6=0,A6=0;;)if(K0=c3+(A6<<2)|0,b0=e[K0>>2]|0,m0=b0<>2]|0,T6=0;;){if(H=F3+(T6<<2)|0,X=e[H>>2]|0,a0=(U|0)<(X|0),a0){r6=T6,L3=31;break}if(Z=T6+1|0,V=(Z|0)<(Y|0),V)T6=Z;else{L3=33;break}}if((L3|0)==31?(L3=0,o0=c3+(u6<<2)|0,e[o0>>2]=r6,r0=r6):(L3|0)==33&&(L3=0,p=c3+(u6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<<$6,K=i0|k6,c0=$6+z|0,s0=u6+1|0,_6=(s0|0)==(G|0),_6){I3=K;break}else $6=c0,k6=K,u6=s0}}else I3=0;while(!1);B0=(Q+256|0)+(M<<2)|0,q0=e[B0>>2]|0,x0=t0+(q0*56|0)|0,D0=_h(x0,I3,t)|0,M0=e[F>>2]|0,J0=M0+D0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(b3=0;z0=c3+(b3<<2)|0,N0=e[z0>>2]|0,P0=((Q+320|0)+(M<<5)|0)+(N0<<2)|0,r1=e[P0>>2]|0,H0=(r1|0)>-1,H0&&(e1=b3+s6|0,S0=x6+(e1<<2)|0,i1=e[S0>>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=_h(l1,i1,t)|0,a1=e[t3>>2]|0,n1=a1+s1|0,e[t3>>2]=n1)),A1=b3+1|0,p6=(A1|0)==(G|0),!p6;)b3=A1;if(Z0=G+s6|0,I1=D3+1|0,h1=e[Q>>2]|0,E1=(I1|0)<(h1|0),E1)D3=I1,s6=Z0;else break}if(d1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=i5(p1,d1)|0,R1=n+28|0,x1=e[R1>>2]|0,y1=A3+(x1<<2)|0,S1=e[y1>>2]|0,F1=(S1|0)/2&-1,L1=e[g2>>2]|0,w1=(L1|0)>1,w1)for(X3=0,i3=1,Q6=0,I6=Q1;;){if(K1=(o+260|0)+(i3<<2)|0,P1=e[K1>>2]|0,H1=a+(P1<<2)|0,q1=e[H1>>2]|0,Y1=q1&32767,r2=(Y1|0)==(q1|0),r2)if(W1=e[B1>>2]|0,O1=i5(W1,q1)|0,l2=(Q+836|0)+(P1<<2)|0,z1=e[l2>>2]|0,f2=O1-I6|0,s2=z1-Q6|0,V3=(f2|0)>-1,N6=0-f2|0,E2=V3?f2:N6,A2=(f2|0)/(s2|0)&-1,V1=f2>>31,t2=V1|1,$2=i5(A2,s2)|0,S6=($2|0)>-1,j6=0-$2|0,i2=S6?$2:j6,o2=E2-i2|0,X1=(F1|0)>(z1|0),K6=X1?z1:F1,n2=(K6|0)>(Q6|0),n2&&(u2=c+(Q6<<2)|0,e[u2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(K6|0),y2)for(I2=e2,v6=0,y6=I6;;)if(S2=v6+o2|0,m2=(S2|0)<(s2|0),M2=m2?0:t2,_2=m2?0:s2,B6=S2-_2|0,B=y6+A2|0,F6=B+M2|0,N2=c+(I2<<2)|0,e[N2>>2]=F6,J2=I2+1|0,l6=(J2|0)==(K6|0),l6){e6=z1,R6=z1,Y6=O1;break}else I2=J2,v6=B6,y6=F6;else e6=z1,R6=z1,Y6=O1;else e6=X3,R6=Q6,Y6=I6;if(G2=i3+1|0,q2=e[g2>>2]|0,T2=(G2|0)<(q2|0),T2)X3=e6,i3=G2,Q6=R6,I6=Y6;else{S3=e6,J6=Y6;break}}else S3=0,J6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(S3|0)<(N1|0),D1)O6=S3;else return E=1,m=L6,E|0;for(;;)if(O2=c+(O6<<2)|0,e[O2>>2]=J6,s5=O6+1|0,P2=e[U1>>2]|0,T1=(P2|0)/2&-1,j2=(s5|0)<(T1|0),j2)O6=s5;else{E=1;break}return m=L6,E|0}function rB(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0;if(s5=m,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,d0=e[i0>>2]|0,L0=(n|0)>0,L0)for(z0=c+1108|0,g1=+s[z0>>2],t2=0,X1=0,u2=0,w2=0,N2=0,q2=0;;)if(d1=(t+(X1*56|0)|0)+52|0,w1=e[d1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,M=v+w1|0,H=+(M|0),X=H*g1,U=v+1|0,a0=+(U|0),Z=X/a0,V=Z,o0=V+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,K=+(r0|0),c0=(t+(X1*56|0)|0)+8|0,s0=e[c0>>2]|0,l0=+(s0|0),j=l0*o0,$0=K+w2,g0=$0+j,f0=(t+(X1*56|0)|0)+36|0,Q0=e[f0>>2]|0,w0=+(Q0|0),h0=(t+(X1*56|0)|0)+12|0,E0=e[h0>>2]|0,C0=+(E0|0),I0=C0*o0,v0=w0+q2,K0=v0+I0,b0=(t+(X1*56|0)|0)+40|0,m0=e[b0>>2]|0,F0=+(m0|0),T0=(t+(X1*56|0)|0)+16|0,U0=e[T0>>2]|0,B0=+(U0|0),q0=B0*o0,x0=F0+u2,D0=x0+q0,M0=(t+(X1*56|0)|0)+48|0,J0=e[M0>>2]|0,Y0=+(J0|0),O0=(t+(X1*56|0)|0)+24|0,N0=e[O0>>2]|0,P0=+(N0|0),r1=P0*o0,H0=Y0+N2,e1=H0+r1,S0=+(w1|0),i1=+(v|0),c1=o0*i1,$1=S0+t2,f1=$1+c1,l1=X1+1|0,o2=(l1|0)==(n|0),o2){a2=f1,n2=D0,S2=g0,_2=e1,G2=K0;break}else t2=f1,X1=l1,u2=D0,w2=g0,N2=e1,q2=K0;else a2=0,n2=0,S2=0,_2=0,G2=0;return s1=e[o>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),A1=S2+n1,Z0=+(s1|0),I1=Z0+G2,h1=i5(p,p)|0,E1=+(h1|0),u1=n2+E1,B1=i5(s1,p)|0,p1=+(B1|0),Q1=p1+_2,R1=a2+1,$2=R1,e2=u1,m2=A1,I2=Q1,T2=I1):($2=a2,e2=n2,m2=S2,I2=_2,T2=G2),x1=e[a>>2]|0,y1=(x1|0)>-1,y1?(S1=+(d0|0),F1=m2+S1,L1=+(x1|0),G1=L1+T2,U1=i5(d0,d0)|0,Z1=+(U1|0),N1=e2+Z1,D1=i5(x1,d0)|0,K1=+(D1|0),P1=K1+I2,H1=$2+1,i2=H1,y2=N1,M2=F1,J2=P1,O2=G1):(i2=$2,y2=e2,M2=m2,J2=I2,O2=T2),q1=y2*i2,Y1=M2*M2,j1=q1-Y1,W1=j1>0,W1?(O1=O2*y2,l2=M2*J2,z1=O1-l2,f2=z1/j1,s2=J2*i2,E2=M2*O2,A2=s2-E2,V1=A2/j1,g2=+(p|0),S=V1*g2,w=S+f2,y=+Ni(w),D=~~y,e[o>>2]=D,Q=+(d0|0),b=V1*Q,x=b+f2,R=+Ni(x),F=~~R,e[a>>2]=F,L=e[o>>2]|0,T=(L|0)>1023,T?(e[o>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=L),P=(G|0)>1023,P?(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,C=e[a>>2]|0,t0=C):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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0;if(S0=m,E=t+836|0,I=t+840|0,x=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,d0=(i0|0)>0,d0){for(L0=t+4|0,J0=0,H0=-1;;)if(B=L0+(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(B0=t+128|0,q0=t+192|0,C=t+256|0,p=t+320|0,Y0=0;;){if(b=B0+(Y0<<2)|0,R=e[b>>2]|0,F=R+-1|0,U2(n,F,3),L=q0+(Y0<<2)|0,M=e[L>>2]|0,U2(n,M,2),T=e[L>>2]|0,G=(T|0)==0,G?(z0=0,e1=8):(P=C+(Y0<<2)|0,z=e[P>>2]|0,U2(n,z,8),c=e[L>>2]|0,Y=(c|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),H=z0+1|0,X=e[L>>2]|0,U=1<>2]|0,n0=o0+-1|0,U2(n,n0,2),r0=x+-1|0,K=L7(r0)|0,U2(n,K,4),c0=L7(r0)|0,s0=e[t>>2]|0,l0=(s0|0)>0,!!l0)for(j=t+4|0,$0=t+128|0,T0=s0,x0=0,O0=0,N0=0;;){if(g0=j+(O0<<2)|0,f0=e[g0>>2]|0,Q0=$0+(f0<<2)|0,w0=e[Q0>>2]|0,h0=w0+x0|0,E0=(N0|0)<(h0|0),E0){for(r1=N0;C0=r1+2|0,I0=E+(C0<<2)|0,v0=e[I0>>2]|0,U2(n,v0,c0),K0=r1+1|0,D0=(K0|0)==(h0|0),!D0;)r1=K0;f=e[t>>2]|0,F0=f,P0=h0}else F0=T0,P0=N0;if(b0=O0+1|0,m0=(b0|0)<(F0|0),m0)T0=F0,x0=h0,O0=b0,N0=P0;else break}}function Kv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0;z1=m,m=m+272|0,O1=z1,D=t+28|0,Q=e[D>>2]|0,Y=r4(1,1120)|0,o0=z4(n,5)|0,e[Y>>2]=o0,f0=(o0|0)>0;e:do if(f0){for(m0=Y+4|0,Z1=0,r2=-1;;){if(R=z4(n,4)|0,F=m0+(Z1<<2)|0,e[F>>2]=R,L=(R|0)<0,L)break e;if(M=(r2|0)<(R|0),c=M?R:r2,T=Z1+1|0,G=e[Y>>2]|0,P=(T|0)<(G|0),P)Z1=T,r2=c;else{f=c;break}}if(Y0=(f|0)>-1,Y0)for($1=Y+128|0,E1=Y+192|0,L1=Y+256|0,b=Q+24|0,x=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=E1+(N1<<2)|0,e[e0>>2]=W,H=(W|0)<0,H||(X=(W|0)==0,X?(E=L1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=z4(n,8)|0,a0=L1+(N1<<2)|0,e[a0>>2]=U,Z=U),V=(Z|0)<0,V)||(n0=e[b>>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($0=z4(n,8)|0,g0=$0+-1|0,Q0=(x+(N1<<5)|0)+(H1<<2)|0,e[Q0>>2]=g0,d0=($0|0)<0,d0||(w0=e[b>>2]|0,h0=($0|0)>(w0|0),l0=H1+1|0,h0))break e;if(c0=e[e0>>2]|0,s0=1<>2]=v0,b0=z4(n,4)|0,F0=(b0|0)<0,!F0)){if(L0=e[Y>>2]|0,T0=(L0|0)>0,T0)for(U0=Y+4|0,B0=Y+128|0,q0=Y+836|0,x0=1<>2]|0,J0=B0+(M0<<2)|0,O0=e[J0>>2]|0,z0=O0+U1|0,N0=(z0|0)>63,N0)break e;if(P0=(q1|0)<(z0|0),P0){for(j1=q1;;){if(r1=z4(n,b0)|0,H0=j1+2|0,e1=q0+(H0<<2)|0,e[e1>>2]=r1,S0=(r1|0)>-1,i1=(r1|0)<(x0|0),W1=S0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(z0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=q1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,D1=g1,q1=Y1;else{C=q0,p=x0,w1=z0;break}}else w=Y+836|0,y=1<>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=w1+2|0,A1=(w1|0)>-2,A1)for(K1=0;Z0=C+(K1<<2)|0,I1=O1+(K1<<2)|0,e[I1>>2]=Z0,h1=K1+1|0,u1=(h1|0)<(n1|0),u1;)K1=h1;xh(O1,n1,4,8),d1=(n1|0)>1;t:do if(d1){for(v=e[O1>>2]|0,S=e[v>>2]|0,y1=S,P1=1;Q1=O1+(P1<<2)|0,R1=e[Q1>>2]|0,x1=e[R1>>2]|0,S1=(y1|0)==(x1|0),B1=P1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)y1=x1,P1=B1;else break t;if(F1=(Y|0)==0,F1)o=0;else break e;return m=z1,o|0}while(!1);return o=Y,m=z1,o|0}while(!1);return d2(Y),o=0,m=z1,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0;if(F1=m,m=m+272|0,y1=F1,a=r4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,V=e[z>>2]|0,g0=a+1288|0,e[g0>>2]=V,b0=e[n>>2]|0,J0=(b0|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,C=f+(I<<2)|0,p=e[C>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(b0|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?(L=w,p1=o,S1=7):(xh(y1,w,4,8),B1=o)}else r1=a+1284|0,e[r1>>2]=2,L=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;b=D+(l1<<2)|0,x=y1+(l1<<2)|0,e[x>>2]=b,R=l1+1|0,F=(R|0)<(L|0),F;)l1=R;for(xh(y1,L,4,8),M=D,T=a+260|0,s1=0;Y=y1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-M|0,e0=W>>2,H=T+(s1<<2)|0,e[H>>2]=e0,X=s1+1|0,U=(X|0)<(L|0),U;)s1=X;for(G=a+260|0,P=a+520|0,a1=0;Z=G+(a1<<2)|0,o0=e[Z>>2]|0,n0=P+(o0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(L|0),r0;)a1=i0;for(a0=a+260|0,n1=0;;)if(K=a0+(n1<<2)|0,c0=e[K>>2]|0,s0=D+(c0<<2)|0,l0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=l0,$0=n1+1|0,f0=($0|0)<(L|0),f0)n1=$0;else{B1=p1;break}}if(Q0=n+832|0,d0=e[Q0>>2]|0,(d0|0)==4?(C0=a+1292|0,e[C0>>2]=64):(d0|0)==2?(h0=a+1292|0,e[h0>>2]=128):(d0|0)==1?(w0=a+1292|0,e[w0>>2]=256):(d0|0)==3&&(E0=a+1292|0,e[E0>>2]=86),I0=(B1|0)>0,!I0)return m=F1,a|0;for(v0=a+1032|0,K0=a+780|0,A1=0;;){for(m0=A1+2|0,F0=D+(m0<<2)|0,L0=e[F0>>2]|0,T0=e[g0>>2]|0,S0=1,$1=T0,Z0=0,I1=0,u1=0;;)if(U0=D+(Z0<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)>(u1|0),x0=(B0|0)<(L0|0),R1=q0&x0,h1=R1?Z0:I1,d1=R1?B0:u1,D0=(B0|0)<($1|0),M0=(B0|0)>(L0|0),x1=D0&M0,i1=x1?Z0:S0,f1=x1?B0:$1,Y0=Z0+1|0,O0=(Y0|0)<(m0|0),O0)S0=i1,$1=f1,Z0=Y0,I1=h1,u1=d1;else{c1=i1,E1=h1;break}if(z0=v0+(A1<<2)|0,e[z0>>2]=E1,N0=K0+(A1<<2)|0,e[N0>>2]=c1,P0=A1+1|0,e1=(P0|0)==(B1|0),e1)break;A1=P0}return m=F1,a|0}function zv(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function Zv(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function Wv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;if(w2=m,f=n+1296|0,E=e[f>>2]|0,r0=t+64|0,w0=e[r0>>2]|0,T0=w0+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,x=z4(I,1)|0,J=(x|0)==1,!J)return o=0,o|0;U=n+1284|0,a0=e[U>>2]|0,Z=a0<<2,V=P7(t,Z)|0,o0=n+1292|0,n0=e[o0>>2]|0,i0=n0+-1|0,K=L7(i0)|0,c0=z4(I,K)|0,e[V>>2]=c0,s0=e[o0>>2]|0,l0=s0+-1|0,j=L7(l0)|0,$0=z4(I,j)|0,g0=V+4|0,e[g0>>2]=$0,f0=e[E>>2]|0,Q0=(f0|0)>0;e:do if(Q0){i2=0,n2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,v0=e[I0>>2]|0,K0=(E+128|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=(E+192|0)+(v0<<2)|0,F0=e[m0>>2]|0,L0=1<>2]|0,x0=W1+(q0*56|0)|0,D0=YC(x0,I)|0,M0=(D0|0)==-1,M0){o=0,S2=25;break}else t2=D0;if(J0=(b0|0)>0,J0)for(Y0=L0+-1|0,$2=t2,u2=0;;){if(O0=$2&Y0,z0=((E+320|0)+(v0<<5)|0)+(O0<<2)|0,P0=e[z0>>2]|0,r1=$2>>F0,H0=(P0|0)>-1,H0){if(e1=W1+(P0*56|0)|0,S0=YC(e1,I)|0,i1=u2+n2|0,c1=V+(i1<<2)|0,e[c1>>2]=S0,$1=(S0|0)==-1,$1){o=0,S2=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)<(b0|0),a1)$2=r1,u2=s1;else break}if(n1=b0+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((S2|0)==25)return o|0}while(!1);if(d0=e[U>>2]|0,h0=(d0|0)>2,!h0)return o=V,o|0;for(E0=n+1032|0,C0=n+780|0,o2=2;;){if(h1=o2+-2|0,E1=E0+(h1<<2)|0,u1=e[E1>>2]|0,d1=(E+836|0)+(u1<<2)|0,p1=e[d1>>2]|0,Q1=C0+(h1<<2)|0,R1=e[Q1>>2]|0,x1=(E+836|0)+(R1<<2)|0,y1=e[x1>>2]|0,S1=V+(u1<<2)|0,F1=e[S1>>2]|0,L1=V+(R1<<2)|0,G1=e[L1>>2]|0,w1=(E+836|0)+(o2<<2)|0,Z1=e[w1>>2]|0,N1=F1&32767,D1=G1&32767,K1=D1-N1|0,P1=y1-p1|0,X1=(K1|0)>-1,e2=0-K1|0,H1=X1?K1:e2,q1=Z1-p1|0,Y1=i5(H1,q1)|0,j1=(Y1|0)/(P1|0)&-1,r2=(K1|0)<0,O1=0-j1|0,c=r2?O1:j1,a=c+N1|0,l2=e[o0>>2]|0,z1=l2-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,g2=V1<<1,a2=(s2|0)<(g2|0);do if(a2)if(S=s2&1,w=(S|0)==0,w){b=s2>>1,y2=b;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(C=(z1|0)>(a|0),C){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);R=y2+a|0,F=R&32767,e[f2>>2]=F,L=e[E1>>2]|0,M=V+(L<<2)|0,T=e[M>>2]|0,G=T&32767,e[M>>2]=G,P=e[Q1>>2]|0,z=V+(P<<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 jv(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0;if(w1=m,E=n+1296|0,I=e[E>>2]|0,x=t+64|0,J=e[x>>2]|0,i0=J+4|0,d0=e[i0>>2]|0,L0=d0+28|0,z0=e[L0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,C=z0+(f1<<2)|0,p=e[C>>2]|0,B=(p|0)/2&-1,v=(o|0)==0,v)return c1=B<<2,ne(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=i5(y,S)|0,Q=(D|0)<0,b=(D|0)>255,R=b?255:D,F=Q?0:R,L=n+1284|0,M=e[L>>2]|0,T=(M|0)>1,T)for(G=n+260|0,A1=0,E1=1,d1=0,Q1=F;;){if(t0=G+(E1<<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(a0=(I+836|0)+(W<<2)|0,Z=e[a0>>2]|0,V=i5(y,H)|0,o0=(V|0)<0,n0=(V|0)>255,r0=n0?255:V,K=o0?0:r0,c0=K-Q1|0,s0=Z-d1|0,I1=(c0|0)>-1,x1=0-c0|0,l0=I1?c0:x1,j=(c0|0)/(s0|0)&-1,$0=c0>>31,g0=$0|1,f0=i5(j,s0)|0,h1=(f0|0)>-1,y1=0-f0|0,Q0=h1?f0:y1,w0=l0-Q0|0,h0=(B|0)>(Z|0),S1=h0?Z:B,E0=(S1|0)>(d1|0),E0&&(C0=1768+(Q1<<2)|0,I0=+s[C0>>2],v0=a+(d1<<2)|0,K0=+s[v0>>2],b0=K0*I0,s[v0>>2]=b0),m0=d1+1|0,F0=(m0|0)<(S1|0),F0)for(J0=m0,g1=0,F1=Q1;;)if(T0=g1+w0|0,U0=(T0|0)<(s0|0),B0=U0?0:g0,q0=U0?0:s0,l1=T0-q0|0,f=F1+j|0,L1=f+B0|0,x0=1768+(L1<<2)|0,D0=+s[x0>>2],M0=a+(J0<<2)|0,Y0=+s[M0>>2],O0=Y0*D0,s[M0>>2]=O0,N0=J0+1|0,a1=(N0|0)==(S1|0),a1){Z0=Z,B1=Z,R1=K;break}else J0=N0,g1=l1,F1=L1;else Z0=Z,B1=Z,R1=K;else Z0=A1,B1=d1,R1=Q1;if(P0=E1+1|0,r1=(P0|0)<(M|0),r1)A1=Z0,E1=P0,d1=B1,Q1=R1;else{n1=Z0,p1=R1;break}}else n1=0,p1=F;if(P=(n1|0)<(B|0),!P)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],u1=n1;;)if(H0=a+(u1<<2)|0,e1=+s[H0>>2],S0=e1*Y,s[H0>>2]=S0,i1=u1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else u1=i1;return c|0}function Xv(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return C=m,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 eS(t){t=t|0;var n=0,o=0;o=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0;o0=m,c=z$(n|0)|0,f=z$(o|0)|0,Q=c+2|0,Y=Q+f|0,a=Y,J=m,m=m+((1*a|0)+15&-16)|0,aB(J|0,n|0)|0,Z=z$(J|0)|0,a0=J+Z|0,u[a0>>0]=61,u[a0+1>>0]=0,EQ(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=Gi(W,U)|0,e[t>>2]=E,I=t+4|0,C=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Gi(C,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,b=w+1|0,x=S9(b)|0,R=e[t>>2]|0,F=R+(y<<2)|0,e[F>>2]=x,L=e[t>>2]|0,M=L+(y<<2)|0,T=e[M>>2]|0,aB(T|0,J|0)|0,G=e[e0>>2]|0,P=G+1|0,e[e0>>2]=P,z=e[t>>2]|0,t0=z+(P<<2)|0,e[t0>>2]=0,m=o0}function iS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0;if(Y=m,c=(t|0)==0,!c){if(f=e[t>>2]|0,Q=(f|0)==0,!Q){if(x=t+8|0,R=e[x>>2]|0,F=(R|0)>0,F){for(b=R,M=f,P=0;L=M+(P<<2)|0,T=e[L>>2]|0,G=(T|0)==0,G?C=b:(d2(T),o=e[x>>2]|0,C=o),E=P+1|0,I=(E|0)<(C|0),!!I;)n=e[t>>2]|0,b=C,M=n,P=E;a=e[t>>2]|0,p=a}else p=f;d2(p)}B=t+4|0,v=e[B>>2]|0,S=(v|0)==0,S||d2(v),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||d2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function rS(t){t=t|0;var n=0,o=0,a=0,c=0;c=m,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=r4(1,3664)|0,o=t+28|0,e[o>>2]=n}function nB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0;if(B1=m,f=t+28|0,E=e[f>>2]|0,b=(E|0)==0,b){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,Q0=(n0|0)>0,Q0)for(g1=n0,A1=0;n1=(E+32|0)+(A1<<2)|0,I=e[n1>>2]|0,C=(I|0)==0,C?v=g1:(d2(I),n=e[t0>>2]|0,v=n),p=A1+1|0,B=(p|0)<(v|0),B;)g1=v,A1=p;if(F0=E+12|0,O0=e[F0>>2]|0,f1=(O0|0)>0,f1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,x=(Q|0)==0,x?Y=l1:(R=(E+288|0)+(Z0<<2)|0,F=e[R>>2]|0,L=25664+(F<<2)|0,M=e[L>>2]|0,T=M+8|0,G=e[T>>2]|0,Ws[G&7](Q),o=e[F0>>2]|0,Y=o),P=Z0+1|0,z=(P|0)<(Y|0),z;)l1=Y,Z0=P;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:(a0=(E+800|0)+(I1<<2)|0,Z=e[a0>>2]|0,V=25640+(Z<<2)|0,o0=e[V>>2]|0,i0=o0+12|0,r0=e[i0>>2]|0,Ws[r0&7](X),a=e[S>>2]|0,s0=a),K=I1+1|0,c0=(K|0)<(s0|0),c0;)s1=s0,I1=K;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;f0=(E+1568|0)+(h1<<2)|0,d0=e[f0>>2]|0,w0=(d0|0)==0,w0?L0=a1:(h0=(E+1312|0)+(h1<<2)|0,E0=e[h0>>2]|0,C0=25648+(E0<<2)|0,I0=e[C0>>2]|0,v0=I0+12|0,K0=e[v0>>2]|0,Ws[K0&7](d0),c=e[J>>2]|0,L0=c),b0=h1+1|0,m0=(b0|0)<(L0|0),m0;)a1=L0,h1=b0;if(l0=E+24|0,j=e[l0>>2]|0,$0=(j|0)>0,g0=E+2848|0,$0)for(E1=0;T0=(E+1824|0)+(E1<<2)|0,U0=e[T0>>2]|0,B0=(U0|0)==0,B0||oB(U0),q0=e[g0>>2]|0,x0=(q0|0)==0,x0||(D0=q0+(E1*56|0)|0,LS(D0)),M0=E1+1|0,J0=e[l0>>2]|0,Y0=(M0|0)<(J0|0),Y0;)E1=M0;if(z0=e[g0>>2]|0,N0=(z0|0)==0,N0||d2(z0),P0=E+28|0,r1=e[P0>>2]|0,H0=(r1|0)>0,H0)for(u1=0;e1=(E+2852|0)+(u1<<2)|0,S0=e[e1>>2]|0,fS(S0),i1=u1+1|0,c1=e[P0>>2]|0,$1=(i1|0)<(c1|0),$1;)u1=i1;d2(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 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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0;if(z2=m,m=m+32|0,M1=z2,C=t+4|0,p=e[C>>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,m=z2,f|0;if(l2=p+4|0,i2=e[l2>>2]|0,_2=(i2|0)<1,_2)v5=-129,o5=27;else if(Xm(M1),T1=p+28|0,E5=e[T1>>2]|0,B=(E5|0)==0,B)v5=-130,o5=27;else if(L=e[E5>>2]|0,H=(L|0)<64,H)v5=-130,o5=27;else if(c0=E5+4|0,E0=e[c0>>2]|0,B0=(E0|0)<(L|0),B0)v5=-130,o5=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[l2>>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),E1=e[E5>>2]|0,u1=E1+-1|0,d1=L7(u1)|0,U2(M1,d1,4),B1=e[c0>>2]|0,p1=B1+-1|0,R1=L7(p1)|0,U2(M1,R1,4),U2(M1,1,1),x1=Q1+64|0,y1=e[x1>>2]|0,S1=(y1|0)==0,S1||d2(y1),F1=p7(M1)|0,L1=S9(F1)|0,e[x1>>2]=L1,G1=M1+8|0,w1=e[G1>>2]|0,U1=p7(M1)|0,n4(L1|0,w1|0,U1|0)|0,Z1=e[x1>>2]|0,e[o>>2]=Z1,D1=p7(M1)|0,K1=o+4|0,e[K1>>2]=D1,P1=o+8|0,e[P1>>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,ht(M1),sS(M1,n),q1=Q1+68|0,Y1=e[q1>>2]|0,j1=(Y1|0)==0,j1||d2(Y1),r2=p7(M1)|0,W1=S9(r2)|0,e[q1>>2]=W1,O1=e[G1>>2]|0,z1=p7(M1)|0,n4(W1|0,O1|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,g2=V1,a2=g2,e[a2>>2]=1,t2=g2+4|0,$2=t2,e[$2>>2]=0,ht(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,S2=(y2|0)>0,S2)for(H2=0;;){if(N2=(o2+1824|0)+(H2<<2)|0,I2=e[N2>>2]|0,J2=Lv(I2,M1)|0,G2=(J2|0)==0,m2=H2+1|0,!G2)break e;if(w2=e[n2>>2]|0,M2=(m2|0)<(w2|0),M2)H2=m2;else break}if(U2(M1,0,6),U2(M1,0,16),q2=o2+16|0,T2=e[q2>>2]|0,O2=T2+-1|0,U2(M1,O2,6),K2=e[q2>>2]|0,s5=(K2|0)>0,s5)for(I5=0;;){if(P2=(o2+800|0)+(I5<<2)|0,j2=e[P2>>2]|0,U2(M1,j2,16),x5=e[P2>>2]|0,X2=25640+(x5<<2)|0,D5=e[X2>>2]|0,V2=e[D5>>2]|0,f5=(V2|0)==0,f5)break e;if(k5=(o2+1056|0)+(I5<<2)|0,O5=e[k5>>2]|0,gB[V2&3](O5,M1),$5=I5+1|0,v2=e[q2>>2]|0,r5=($5|0)<(v2|0),r5)I5=$5;else break}if(x2=o2+20|0,R2=e[x2>>2]|0,B2=R2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,F5=(C5|0)>0,F5)for(A5=0;u5=(o2+1312|0)+(A5<<2)|0,b5=e[u5>>2]|0,U2(M1,b5,16),G5=e[u5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(o2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,gB[S&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,b=(D|0)<(Q|0),b;)A5=D;if(x=o2+12|0,R=e[x>>2]|0,F=R+-1|0,U2(M1,F,6),M=e[x>>2]|0,T=(M|0)>0,T)for(l5=0;G=(o2+288|0)+(l5<<2)|0,P=e[G>>2]|0,U2(M1,P,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)+(l5<<2)|0,e0=e[W>>2]|0,yQ[J&1](p,e0,M1),X=l5+1|0,U=e[x>>2]|0,a0=(X|0)<(U|0),a0;)l5=X;if(Z=o2+8|0,V=e[Z>>2]|0,o0=V+-1|0,U2(M1,o0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(m5=0;r0=(o2+32|0)+(m5<<2)|0,K=e[r0>>2]|0,s0=e[K>>2]|0,U2(M1,s0,1),l0=e[r0>>2]|0,j=l0+4|0,$0=e[j>>2]|0,U2(M1,$0,16),g0=e[r0>>2]|0,f0=g0+8|0,Q0=e[f0>>2]|0,U2(M1,Q0,16),d0=e[r0>>2]|0,w0=d0+12|0,h0=e[w0>>2]|0,U2(M1,h0,8),C0=m5+1|0,I0=e[Z>>2]|0,v0=(C0|0)<(I0|0),v0;)m5=C0;return U2(M1,1,1),K0=Q1+72|0,b0=e[K0>>2]|0,m0=(b0|0)==0,m0||d2(b0),F0=p7(M1)|0,L0=S9(F0)|0,e[K0>>2]=L0,T0=e[G1>>2]|0,U0=p7(M1)|0,n4(L0|0,T0|0,U0|0)|0,q0=e[K0>>2]|0,e[c>>2]=q0,x0=p7(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,O0=Y0,e[O0>>2]=2,z0=Y0+4|0,N0=z0,e[N0>>2]=0,eB(M1),f=0,m=z2,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,c5=-130}return(o5|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,c5=v5),eB(M1),P0=e[I>>2]|0,H0=(P0|0)==0,H0||d2(P0),e1=Q1+68|0,S0=e[e1>>2]|0,i1=(S0|0)==0,i1||d2(S0),c1=Q1+72|0,$1=e[c1>>2]|0,f1=($1|0)==0,f1||d2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=c5,m=z2,f|0}function sS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0;for(i0=m,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,x=u[o>>0]|0,J=x<<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),a0=e[X>>2]|0,Z=(a0|0)>0,!Z){U2(t,1,1);return}for(V=n+4|0,o0=0;;){if(C=e[n>>2]|0,p=C+(o0<<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+(o0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[V>>2]|0,Q=D+(o0<<2)|0,b=e[Q>>2]|0,R=(b|0)==0,!R)for(F=e[n>>2]|0,L=F+(o0<<2)|0,M=e[L>>2]|0,a=M,f=b;T=f+-1|0,G=a+1|0,P=u[a>>0]|0,z=P<<24>>24,U2(t,z,8),Y=(T|0)==0,!Y;)a=G,f=T;if(t0=o0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)o0=t0;else break}U2(t,1,1)}function Wp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0;if(Y1=m,C=a+1|0,p=C<<3,c=p,F=m,m=m+((1*c|0)+15&-16)|0,e0=a<<3,f=e0,K=m,m=m+((1*f|0)+15&-16)|0,h0=(C|0)==0,h0)T=0;else{for(U0=a;;){if(P0=(U0|0)<(o|0),P0)for(E1=0,F1=U0;;)if(s1=t+(F1<<2)|0,I1=+s[s1>>2],B=I1,v=F1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,D=y*B,Q=D+E1,b=F1+1|0,S1=(b|0)==(o|0),S1){h1=Q;break}else E1=Q,F1=b;else h1=0;if(x=F+(U0<<3)|0,o1[x>>3]=h1,R=U0+-1|0,L=(U0|0)==0,L)break;U0=R}I=+o1[F>>3],T=I}if(M=T*1.0000000001,G=T*1e-9,P=G+1e-10,z=(a|0)>0,z)d1=M,L1=0;else return Q1=M,Z0=Q1,m=Y1,+Z0;for(;;){if(w1=L1+1|0,Y=d1>3],U=-X,a0=(L1|0)>0,a0){for(U1=0,P1=U;;)if(o0=K+(U1<<3)|0,n0=+o1[o0>>3],i0=L1-U1|0,r0=F+(i0<<3)|0,c0=+o1[r0>>3],s0=c0*n0,l0=P1-s0,j=U1+1|0,y1=(j|0)==(L1|0),y1){E=l0;break}else U1=j,P1=l0;if($0=E/d1,g0=K+(L1<<3)|0,o1[g0>>3]=$0,f0=(L1|0)/2&-1,Q0=(L1|0)>1,Q0){for(d0=L1+-1|0,w0=(f0|0)>1,N1=0;E0=K+(N1<<3)|0,C0=+o1[E0>>3],I0=d0-N1|0,v0=K+(I0<<3)|0,K0=+o1[v0>>3],b0=K0*$0,m0=b0+C0,o1[E0>>3]=m0,F0=C0*$0,L0=+o1[v0>>3],T0=L0+F0,o1[v0>>3]=T0,B0=N1+1|0,q0=(B0|0)<(f0|0),q0;)N1=B0;H1=w0?f0:1,O0=$0,Z1=H1}else O0=$0,Z1=0}else Z=U/d1,V=K+(L1<<3)|0,o1[V>>3]=Z,O0=Z,Z1=0;if(x0=L1&1,D0=(x0|0)==0,D0||(M0=K+(Z1<<3)|0,J0=+o1[M0>>3],Y0=J0*O0,z0=Y0+J0,o1[M0>>3]=z0),N0=O0*O0,r1=1-N0,H0=r1*d1,e1=(w1|0)<(a|0),e1)d1=H0,L1=w1;else{p1=H0;break}}if((q1|0)==8&&(t0=K+(G1<<3)|0,J=a-G1|0,W=J<<3,ne(t0|0,0,W|0)|0,p1=B1),z)u1=.99,D1=0;else return Q1=p1,Z0=Q1,m=Y1,+Z0;for(;S0=K+(D1<<3)|0,i1=+o1[S0>>3],c1=i1*u1,o1[S0>>3]=c1,$1=u1*.99,f1=D1+1|0,x1=(f1|0)==(a|0),!x1;)u1=$1,D1=f1;if(z)K1=0;else return Q1=p1,Z0=Q1,m=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,m=Y1,+Z0}function jp(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0;if(V=m,I=c+o|0,C=I<<2,f=C,R=m,m=m+((1*f|0)+15&-16)|0,L=(n|0)==0,M=(o|0)>0,L?M&&(G=o<<2,ne(R|0,0,G|0)|0):M&&(T=o<<2,n4(R|0,n|0,T|0)|0),P=(c|0)>0,!P){m=V;return}if(z=(o|0)>0,z)W=0,e0=o;else{Y=c<<2,ne(R|0,0,Y|0)|0,ne(a|0,0,Y|0)|0,m=V;return}for(;;){for(X=W,U=o,a0=0;;)if(S=X+1|0,w=R+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,b=+s[Q>>2],x=b*y,F=a0-x,t0=(S|0)==(e0|0),t0){E=F;break}else X=S,U=D,a0=F;if(p=R+(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}m=V}function AS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0;if(v0=m,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),o0=n+1156|0,g0=e[o0>>2]|0,f0=(g0|0)>0,f0){if(U2(o,1,1),Q0=e[o0>>2]|0,d0=Q0+-1|0,U2(o,d0,8),w0=e[o0>>2]|0,E=(w0|0)>0,E)for(I=n+1160|0,C=t+4|0,p=n+2184|0,h0=0;B=I+(h0<<2)|0,v=e[B>>2]|0,S=e[C>>2]|0,w=S+-1|0,y=L7(w)|0,U2(o,v,y),D=p+(h0<<2)|0,b=e[D>>2]|0,x=e[C>>2]|0,R=x+-1|0,F=L7(R)|0,U2(o,b,F),L=h0+1|0,M=e[o0>>2]|0,T=(L|0)<(M|0),T;)h0=L}else U2(o,0,1);if(U2(o,0,2),G=e[n>>2]|0,P=(G|0)>1,P){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,E0=0;a0=W+(E0<<2)|0,Z=e[a0>>2]|0,U2(o,Z,4),V=E0+1|0,n0=e[z>>2]|0,i0=(V|0)<(n0|0),i0;)E0=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,C0=0;U2(o,0,8),r0=X+(C0<<2)|0,K=e[r0>>2]|0,U2(o,K,8),c0=U+(C0<<2)|0,s0=e[c0>>2]|0,U2(o,s0,8),l0=C0+1|0,j=e[n>>2]|0,$0=(l0|0)<(j|0),$0;)C0=l0}function oS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,c=r4(1,3208)|0,f=t+28|0,Q=e[f>>2]|0,ne(c|0,0,3208)|0,Y=t+4|0,o0=e[Y>>2]|0,f0=(o0|0)<1;e:do if(f0)a1=24;else if(m0=z4(n,1)|0,Y0=(m0|0)<0,Y0)a1=24;else{if(H0=(m0|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(C=z4(n,1)|0,p=(C|0)<0,!p){if(B=(C|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,b=c+2184|0,a=e[Y>>2]|0,M=a,S0=0;;){if(L=M+-1|0,T=L7(L)|0,G=z4(n,T)|0,P=D+(S0<<2)|0,e[P>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=L7(t0)|0,W=z4(n,J)|0,e0=b+(S0<<2)|0,e[e0>>2]=W,H=W|G,X=(H|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(a0=e[Y>>2]|0,Z=(G|0)<(a0|0),V=(W|0)<(a0|0),f1=Z&V,R=S0+1|0,!f1))break e;if(x=e[w>>2]|0,F=(R|0)<(x|0),F)M=a0,S0=R;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(c0=e[Y>>2]|0,s0=(c0|0)>0,s0)for(l0=c+4|0,i1=0;;){if(I0=z4(n,4)|0,v0=l0+(i1<<2)|0,e[v0>>2]=I0,K0=e[c>>2]|0,b0=(I0|0)>=(K0|0),F0=(I0|0)<0,g1=F0|b0,E0=i1+1|0,g1)break e;if(h0=e[Y>>2]|0,C0=(E0|0)<(h0|0),C0)i1=E0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&($0=(j|0)>0,!$0))return o=c,o|0;for(g0=c+1028|0,Q0=Q+16|0,d0=c+1092|0,w0=Q+20|0,c1=0;;){if(z4(n,8)|0,B0=z4(n,8)|0,q0=g0+(c1<<2)|0,e[q0>>2]=B0,x0=e[Q0>>2]|0,D0=(B0|0)>=(x0|0),M0=(B0|0)<0,l1=M0|D0,l1||(J0=z4(n,8)|0,O0=d0+(c1<<2)|0,e[O0>>2]=J0,z0=e[w0>>2]|0,N0=(J0|0)>=(z0|0),P0=(J0|0)<0,s1=P0|N0,T0=c1+1|0,s1))break e;if(L0=e[c>>2]|0,U0=(T0|0)<(L0|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):(d2(c),o=0,o|0)}function aS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function $S(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Nt=0,Gt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,N7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,G7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,On=0,iA=0,Kr=0,rA=0,nA=0,sA=0,Pn=0,AA=0,Hn=0,qn=0,oA=0,Vr=0,Yn=0,zr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Zr=0,Vn=0,cA=0,Ir=0,Wr=0,gA=0,hA=0,jr=0,$i=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,IA=0,li=0,Xr=0,dA=0,Xn=0,EA=0,CA=0,mA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,en=0,dr=0,tn=0,vA=0,zi=0,SA=0,is=0,rn=0,rs=0,nn=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,Er=0,as=0,ci=0,sn=0,Cr=0,Zi=0,mr=0,Ui=0,Br=0,$s=0,Oi=0,Bi=0,pi=0,Wt=0,Qi=0,pr=0,Wi=0,ji=0,Qr=0,gi=0,RA=0,at=0,W$=0,An=0,on=0;if(An=m,b=t+64|0,x=e[b>>2]|0,t2=x+4|0,U3=e[t2>>2]|0,_4=U3+28|0,q4=e[_4>>2]|0,gA=x+104|0,li=e[gA>>2]|0,yA=t+104|0,rn=e[yA>>2]|0,R=t+36|0,W=e[R>>2]|0,r0=U3+4|0,w0=e[r0>>2]|0,T0=w0<<2,a=T0,N0=m,m=m+((1*a|0)+15&-16)|0,l1=P7(t,T0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=P7(t,U1)|0,$2=e[r0>>2]|0,M2=$2<<2,P2=P7(t,M2)|0,v2=rn+4|0,_5=+s[v2>>2],c2=e[r0>>2]|0,F2=c2<<2,c=F2,L5=m,m=m+((1*c|0)+15&-16)|0,R3=rn+8|0,M5=e[R3>>2]|0,V5=t+28|0,l6=e[V5>>2]|0,H3=(q4+544|0)+(l6<<2)|0,r6=e[H3>>2]|0,x6=li+56|0,h9=e[x6>>2]|0,E4=(l6|0)!=0,A4=E4?2:0,D=A4+M5|0,o4=h9+(D*52|0)|0,U4=t+40|0,e[U4>>2]=l6,Ae=(c2|0)>0,Ae)for($4=+(W|0),q3=4/$4,g7=(s[p2>>2]=q3,e[p2>>2]|0),w8=(W|0)/2&-1,v8=w8<<2,S8=g7&2147483647,n8=+(S8>>>0),Q4=n8*7177114298428933e-22,qe=Q4+-764.6162109375,s7=qe,re=s7+.345,tt=re,it=li+4|0,qt=t+24|0,ai=t+32|0,G7=tt+-764.6162109375,Jr=W+-1|0,rA=(Jr|0)>1,Jn=tt+-382.30810546875,Br=_5,Oi=0;;){if(hA=e[t>>2]|0,jr=hA+(Oi<<2)|0,$i=e[jr>>2]|0,zn=P7(t,v8)|0,fA=W1+(Oi<<2)|0,e[fA>>2]=zn,uA=P7(t,v8)|0,Zn=l1+(Oi<<2)|0,e[Zn>>2]=uA,Wn=e[qt>>2]|0,jn=e[V5>>2]|0,IA=e[ai>>2]|0,HS($i,it,q4,Wn,jn,IA),Xr=e[V5>>2]|0,dA=(li+12|0)+(Xr<<2)|0,Xn=e[dA>>2]|0,EA=e[Xn>>2]|0,CA=e[Zn>>2]|0,Xp(EA,$i,CA),mA=e[V5>>2]|0,es=(li+20|0)+(mA*12|0)|0,NS(es,$i),BA=e[$i>>2]|0,pA=BA&2147483647,QA=+(pA>>>0),ts=QA*7177114298428933e-22,wA=G7+ts,kA=wA,en=kA+.345,dr=en,s[$i>>2]=dr,tn=L5+(Oi<<2)|0,s[tn>>2]=dr,rA)for(P=dr,pr=1;;)if(vA=$i+(pr<<2)|0,zi=+s[vA>>2],SA=zi*zi,is=pr+1|0,rs=$i+(is<<2)|0,nn=+s[rs>>2],DA=nn*nn,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,Er=_A,F=Er+.345,L=F,M=is>>1,T=$i+(M<<2)|0,s[T>>2]=L,G=L>P,G?(s[tn>>2]=L,Ir=L):Ir=P,z=pr+2|0,Y=(z|0)<(Jr|0),Y)P=Ir,pr=z;else{J=Ir;break}else J=dr;if(t0=J>0,t0?(s[tn>>2]=0,H=0):H=J,e0=H>Br,$s=e0?H:Br,X=Oi+1|0,U=e[r0>>2]|0,a0=(X|0)<(U|0),a0)Br=$s,Oi=X;else{p=v8,v=w8,Ui=$s;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,Ui=_5;Z=P7(t,p)|0,V=P7(t,p)|0,o0=e[r0>>2]|0,n0=(o0|0)>0;e:do if(n0){if(i0=(W|0)>1,K=li+48|0,i0)pi=0;else{for(Bi=0;;){e6=(r6+4|0)+(Bi<<2)|0,f6=e[e6>>2]|0,P3=l1+(Bi<<2)|0,D3=e[P3>>2]|0,V3=e[t>>2]|0,S6=V3+(Bi<<2)|0,s6=e[S6>>2]|0,i3=s6+(v<<2)|0,e[U4>>2]=l6,O6=P7(t,60)|0,s3=P2+(Bi<<2)|0,e[s3>>2]=O6,at=O6,on=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(on|0));if(rQ(o4,i3,Z),A6=L5+(Bi<<2)|0,u6=+s[A6>>2],nQ(o4,s6,V,Ui,u6),V$(o4,Z,V,1,s6,D3,i3),b3=(r6+1028|0)+(f6<<2)|0,T6=e[b3>>2]|0,Q6=(q4+800|0)+(T6<<2)|0,R6=e[Q6>>2]|0,J6=(R6|0)==1,!J6){o=-1;break}if(I6=e[K>>2]|0,Y6=I6+(T6<<2)|0,F3=e[Y6>>2]|0,Z6=K$(t,F3,i3,s6)|0,N6=e[s3>>2]|0,j6=N6+28|0,e[j6>>2]=Z6,r9=bh(t)|0,G6=(r9|0)==0,G6||(D6=e[s3>>2]|0,K6=D6+28|0,y6=e[K6>>2]|0,F6=(y6|0)==0,F6||(V$(o4,Z,V,2,s6,D3,i3),L3=e[b3>>2]|0,L6=e[K>>2]|0,X6=L6+(L3<<2)|0,A9=e[X6>>2]|0,W6=K$(t,A9,i3,s6)|0,f9=e[s3>>2]|0,u9=f9+56|0,e[u9>>2]=W6,V$(o4,Z,V,0,s6,D3,i3),o9=e[b3>>2]|0,a9=e[K>>2]|0,T9=a9+(o9<<2)|0,d6=e[T9>>2]|0,M6=K$(t,d6,i3,s6)|0,e9=e[s3>>2]|0,e[e9>>2]=M6,N9=e[b3>>2]|0,I9=e[K>>2]|0,s4=I9+(N9<<2)|0,g4=e[s4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,D9=G9+28|0,d9=e[D9>>2]|0,P6=x8(t,g4,z9,d9,9362)|0,t9=e[s3>>2]|0,C4=t9+4|0,e[C4>>2]=P6,S4=e[b3>>2]|0,Q9=e[K>>2]|0,D4=Q9+(S4<<2)|0,b4=e[D4>>2]|0,R4=e[s3>>2]|0,M4=e[R4>>2]|0,Z4=R4+28|0,m4=e[Z4>>2]|0,T4=x8(t,b4,M4,m4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,x4=e[b3>>2]|0,h4=e[K>>2]|0,de=h4+(x4<<2)|0,H9=e[de>>2]|0,E9=e[s3>>2]|0,Ee=e[E9>>2]|0,Te=E9+28|0,We=e[Te>>2]|0,G4=x8(t,H9,Ee,We,28086)|0,Ne=e[s3>>2]|0,W4=Ne+12|0,e[W4>>2]=G4,Se=e[b3>>2]|0,je=e[K>>2]|0,Z9=je+(Se<<2)|0,se=e[Z9>>2]|0,f4=e[s3>>2]|0,b6=e[f4>>2]|0,O4=f4+28|0,F9=e[O4>>2]|0,a4=x8(t,se,b6,F9,37449)|0,W9=e[s3>>2]|0,oe=W9+16|0,e[oe>>2]=a4,ae=e[b3>>2]|0,B4=e[K>>2]|0,j4=B4+(ae<<2)|0,F4=e[j4>>2]|0,$e=e[s3>>2]|0,C9=e[$e>>2]|0,c6=$e+28|0,Ge=e[c6>>2]|0,Ce=x8(t,F4,C9,Ge,46811)|0,p4=e[s3>>2]|0,l4=p4+20|0,e[l4>>2]=Ce,U6=e[b3>>2]|0,De=e[K>>2]|0,be=De+(U6<<2)|0,Xe=e[be>>2]|0,c4=e[s3>>2]|0,k4=e[c4>>2]|0,g8=c4+28|0,y9=e[g8>>2]|0,m9=x8(t,Xe,k4,y9,56173)|0,L4=e[s3>>2]|0,X4=L4+24|0,e[X4>>2]=m9,$7=e[b3>>2]|0,_e=e[K>>2]|0,l7=_e+($7<<2)|0,Q7=e[l7>>2]|0,V8=e[s3>>2]|0,c7=V8+28|0,F8=e[c7>>2]|0,L8=V8+56|0,M8=e[L8>>2]|0,T8=x8(t,Q7,F8,M8,9362)|0,z8=e[s3>>2]|0,Z8=z8+32|0,e[Z8>>2]=T8,y7=e[b3>>2]|0,N8=e[K>>2]|0,G8=N8+(y7<<2)|0,U8=e[G8>>2]|0,k8=e[s3>>2]|0,h8=k8+28|0,O8=e[h8>>2]|0,P8=k8+56|0,W8=e[P8>>2]|0,j8=x8(t,U8,O8,W8,18724)|0,f8=e[s3>>2]|0,Ue=f8+36|0,e[Ue>>2]=j8,Re=e[b3>>2]|0,e8=e[K>>2]|0,w9=e8+(Re<<2)|0,h7=e[w9>>2]|0,me=e[s3>>2]|0,f7=me+28|0,w7=e[f7>>2]|0,X8=me+56|0,k7=e[X8>>2]|0,ee=x8(t,h7,w7,k7,28086)|0,e7=e[s3>>2]|0,H8=e7+40|0,e[H8>>2]=ee,t8=e[b3>>2]|0,P4=e[K>>2]|0,xe=P4+(t8<<2)|0,i8=e[xe>>2]|0,u8=e[s3>>2]|0,D8=u8+28|0,le=e[D8>>2]|0,j9=u8+56|0,r8=e[j9>>2]|0,I8=x8(t,i8,le,r8,37449)|0,d8=e[s3>>2]|0,ce=d8+44|0,e[ce>>2]=I8,Be=e[b3>>2]|0,Oe=e[K>>2]|0,Pe=Oe+(Be<<2)|0,X9=e[Pe>>2]|0,Fe=e[s3>>2]|0,ge=Fe+28|0,s8=e[ge>>2]|0,pe=Fe+56|0,E8=e[pe>>2]|0,t7=x8(t,X9,s8,E8,46811)|0,H4=e[s3>>2]|0,d3=H4+48|0,e[d3>>2]=t7,He=e[b3>>2]|0,C8=e[K>>2]|0,te=C8+(He<<2)|0,q9=e[te>>2]|0,ie=e[s3>>2]|0,b9=ie+28|0,q8=e[b9>>2]|0,u7=ie+56|0,i7=e[u7>>2]|0,r7=x8(t,q9,q8,i7,56173)|0,Y8=e[s3>>2]|0,n7=Y8+52|0,e[n7>>2]=r7)),J8=Bi+1|0,A8=e[r0>>2]|0,o8=(J8|0)<(A8|0),o8)Bi=J8;else{B=K,_8=A8;break e}}return m=An,o|0}for(;;){_6=(r6+4|0)+(pi<<2)|0,f0=e[_6>>2]|0,q6=l1+(pi<<2)|0,$0=e[q6>>2]|0,C6=e[t>>2]|0,S3=C6+(pi<<2)|0,j=e[S3>>2]|0,c0=j+(v<<2)|0,e[U4>>2]=l6,X3=P7(t,60)|0,m0=P2+(pi<<2)|0,e[m0>>2]=X3,at=X3,on=at+60|0;do e[at>>2]=0,at=at+4|0;while((at|0)<(on|0));for(Wi=0;W3=$0+(Wi<<2)|0,v3=e[W3>>2]|0,c3=v3&2147483647,O3=+(c3>>>0),$6=O3*7177114298428933e-22,I3=$6+-764.6162109375,w6=I3,k6=w6+.345,v6=k6,Q=Wi+v|0,B6=j+(Q<<2)|0,s[B6>>2]=v6,j3=Wi+1|0,p6=(j3|0)<(v|0),p6;)Wi=j3;if(rQ(o4,c0,Z),s0=L5+(pi<<2)|0,l0=+s[s0>>2],nQ(o4,j,V,Ui,l0),V$(o4,Z,V,1,j,$0,c0),g0=(r6+1028|0)+(f0<<2)|0,Q0=e[g0>>2]|0,d0=(q4+800|0)+(Q0<<2)|0,h0=e[d0>>2]|0,E0=(h0|0)==1,!E0){o=-1;break}if(C0=e[K>>2]|0,I0=C0+(Q0<<2)|0,v0=e[I0>>2]|0,K0=K$(t,v0,c0,j)|0,b0=e[m0>>2]|0,F0=b0+28|0,e[F0>>2]=K0,L0=bh(t)|0,U0=(L0|0)==0,U0||(B0=e[m0>>2]|0,q0=B0+28|0,x0=e[q0>>2]|0,D0=(x0|0)==0,D0||(V$(o4,Z,V,2,j,$0,c0),M0=e[g0>>2]|0,J0=e[K>>2]|0,Y0=J0+(M0<<2)|0,O0=e[Y0>>2]|0,z0=K$(t,O0,c0,j)|0,P0=e[m0>>2]|0,r1=P0+56|0,e[r1>>2]=z0,V$(o4,Z,V,0,j,$0,c0),H0=e[g0>>2]|0,e1=e[K>>2]|0,S0=e1+(H0<<2)|0,i1=e[S0>>2]|0,c1=K$(t,i1,c0,j)|0,$1=e[m0>>2]|0,e[$1>>2]=c1,f1=e[g0>>2]|0,g1=e[K>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[m0>>2]|0,A1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=x8(t,a1,A1,I1,9362)|0,E1=e[m0>>2]|0,u1=E1+4|0,e[u1>>2]=h1,d1=e[g0>>2]|0,p1=e[K>>2]|0,Q1=p1+(d1<<2)|0,R1=e[Q1>>2]|0,x1=e[m0>>2]|0,y1=e[x1>>2]|0,S1=x1+28|0,F1=e[S1>>2]|0,L1=x8(t,R1,y1,F1,18724)|0,G1=e[m0>>2]|0,w1=G1+8|0,e[w1>>2]=L1,Z1=e[g0>>2]|0,N1=e[K>>2]|0,D1=N1+(Z1<<2)|0,K1=e[D1>>2]|0,P1=e[m0>>2]|0,H1=e[P1>>2]|0,q1=P1+28|0,Y1=e[q1>>2]|0,j1=x8(t,K1,H1,Y1,28086)|0,r2=e[m0>>2]|0,O1=r2+12|0,e[O1>>2]=j1,l2=e[g0>>2]|0,z1=e[K>>2]|0,f2=z1+(l2<<2)|0,s2=e[f2>>2]|0,E2=e[m0>>2]|0,A2=e[E2>>2]|0,V1=E2+28|0,g2=e[V1>>2]|0,a2=x8(t,s2,A2,g2,37449)|0,i2=e[m0>>2]|0,o2=i2+16|0,e[o2>>2]=a2,X1=e[g0>>2]|0,n2=e[K>>2]|0,u2=n2+(X1<<2)|0,e2=e[u2>>2]|0,y2=e[m0>>2]|0,S2=e[y2>>2]|0,w2=y2+28|0,m2=e[w2>>2]|0,_2=x8(t,e2,S2,m2,46811)|0,N2=e[m0>>2]|0,I2=N2+20|0,e[I2>>2]=_2,J2=e[g0>>2]|0,G2=e[K>>2]|0,q2=G2+(J2<<2)|0,T2=e[q2>>2]|0,O2=e[m0>>2]|0,K2=e[O2>>2]|0,s5=O2+28|0,T1=e[s5>>2]|0,j2=x8(t,T2,K2,T1,56173)|0,x5=e[m0>>2]|0,X2=x5+24|0,e[X2>>2]=j2,D5=e[g0>>2]|0,V2=e[K>>2]|0,f5=V2+(D5<<2)|0,k5=e[f5>>2]|0,O5=e[m0>>2]|0,$5=O5+28|0,E5=e[$5>>2]|0,r5=O5+56|0,x2=e[r5>>2]|0,R2=x8(t,k5,E5,x2,9362)|0,B2=e[m0>>2]|0,C5=B2+32|0,e[C5>>2]=R2,F5=e[g0>>2]|0,u5=e[K>>2]|0,b5=u5+(F5<<2)|0,G5=e[b5>>2]|0,H2=e[m0>>2]|0,I5=H2+28|0,A5=e[I5>>2]|0,l5=H2+56|0,m5=e[l5>>2]|0,M1=x8(t,G5,A5,m5,18724)|0,v5=e[m0>>2]|0,c5=v5+36|0,e[c5>>2]=M1,o5=e[g0>>2]|0,z2=e[K>>2]|0,B5=z2+(o5<<2)|0,e5=e[B5>>2]|0,n5=e[m0>>2]|0,g5=n5+28|0,Y2=e[g5>>2]|0,h5=n5+56|0,t5=e[h5>>2]|0,R5=x8(t,e5,Y2,t5,28086)|0,W2=e[m0>>2]|0,a5=W2+40|0,e[a5>>2]=R5,p5=e[g0>>2]|0,H5=e[K>>2]|0,X5=H5+(p5<<2)|0,d5=e[X5>>2]|0,u3=e[m0>>2]|0,h3=u3+28|0,J5=e[h3>>2]|0,e3=u3+56|0,n3=e[e3>>2]|0,C3=x8(t,d5,J5,n3,37449)|0,K5=e[m0>>2]|0,w3=K5+44|0,e[w3>>2]=C3,f3=e[g0>>2]|0,B3=e[K>>2]|0,K3=B3+(f3<<2)|0,T3=e[K3>>2]|0,z5=e[m0>>2]|0,y3=z5+28|0,W5=e[y3>>2]|0,t6=z5+56|0,N3=e[t6>>2]|0,o3=x8(t,T3,W5,N3,46811)|0,$3=e[m0>>2]|0,l3=$3+48|0,e[l3>>2]=o3,m3=e[g0>>2]|0,q5=e[K>>2]|0,U5=q5+(m3<<2)|0,P5=e[U5>>2]|0,w5=e[m0>>2]|0,G3=w5+28|0,n6=e[G3>>2]|0,t3=w5+56|0,A3=e[t3>>2]|0,x3=x8(t,P5,n6,A3,56173)|0,h6=e[m0>>2]|0,p3=h6+52|0,e[p3>>2]=x3)),k3=pi+1|0,Q3=e[r0>>2]|0,i6=(k3|0)<(Q3|0),i6)pi=k3;else{B=K,_8=Q3;break e}}return m=An,o|0}else y=li+48|0,B=y,_8=o0;while(!1);for(s[v2>>2]=Ui,b8=_8<<2,f=b8,Ye=m,m=m+((1*f|0)+15&-16)|0,E=b8,B9=m,m=m+((1*E|0)+15&-16)|0,A7=bh(t)|0,Je=(A7|0)!=0,M7=Je?0:7,H7=li+44|0,v7=t+24|0,o7=t+32|0,S7=q4+2868|0,T7=li+52|0,gi=M7;;){if(q7=(rn+12|0)+(gi<<2)|0,a8=e[q7>>2]|0,U2(a8,0,1),R8=e[H7>>2]|0,U2(a8,l6,R8),D7=e[V5>>2]|0,K8=(D7|0)==0,K8||(Le=e[v7>>2]|0,U2(a8,Le,1),he=e[o7>>2]|0,U2(a8,he,1)),e4=e[r0>>2]|0,b7=(e4|0)>0,b7)for(Wt=0;;)if(Nt=(r6+4|0)+(Wt<<2)|0,Gt=e[Nt>>2]|0,Ut=W1+(Wt<<2)|0,ut=e[Ut>>2]|0,Y7=(r6+1028|0)+(Gt<<2)|0,It=e[Y7>>2]|0,J7=e[B>>2]|0,dt=J7+(It<<2)|0,K7=e[dt>>2]|0,Et=P2+(Wt<<2)|0,ni=e[Et>>2]|0,Ot=ni+(gi<<2)|0,Ct=e[Ot>>2]|0,mt=Yv(a8,t,K7,Ct,ut)|0,si=N0+(Wt<<2)|0,e[si>>2]=mt,Bt=Wt+1|0,rt=e[r0>>2]|0,Ai=(Bt|0)<(rt|0),Ai)Wt=Bt;else{I=rt;break}else I=e4;if(Pt=e[V5>>2]|0,Ht=((q4+3240|0)+(Pt*60|0)|0)+(gi<<2)|0,Yt=e[Ht>>2]|0,dS(gi,S7,o4,r6,l1,W1,N0,Yt,I),nt=e[r6>>2]|0,pt=(nt|0)>0,pt)for(Qi=0;;){if(Jt=(r6+1092|0)+(Qi<<2)|0,V7=e[Jt>>2]|0,st=e[r0>>2]|0,N7=(st|0)>0,N7)for(Wr=st,ci=0,ji=0;;)if(z7=(r6+4|0)+(ji<<2)|0,oi=e[z7>>2]|0,Kt=(oi|0)==(Qi|0),Kt?(Qt=B9+(ci<<2)|0,Vt=N0+(ji<<2)|0,yt=e[Vt>>2]|0,RA=(yt|0)!=0,n=RA&1,e[Qt>>2]=n,wt=W1+(ji<<2)|0,zt=e[wt>>2]|0,kt=ci+1|0,Z7=Ye+(ci<<2)|0,e[Z7>>2]=zt,C=e[r0>>2]|0,At=C,sn=kt):(At=Wr,sn=ci),vt=ji+1|0,Zt=(vt|0)<(At|0),Zt)Wr=At,ci=sn,ji=vt;else{as=sn;break}else as=0;if(St=(q4+1312|0)+(V7<<2)|0,Qe=e[St>>2]|0,Dt=25648+(Qe<<2)|0,_7=e[Dt>>2]|0,ot=_7+20|0,i9=e[ot>>2]|0,I7=e[T7>>2]|0,m8=I7+(V7<<2)|0,d7=e[m8>>2]|0,R7=hB[i9&7](t,d7,Ye,B9,as)|0,ur=e[r0>>2]|0,js=(ur|0)>0,js)for(Zi=0,Qr=0;;)if(Gn=(r6+4|0)+(Qr<<2)|0,Xs=e[Gn>>2]|0,Un=(Xs|0)==(Qi|0),Un?(eA=W1+(Qr<<2)|0,tA=e[eA>>2]|0,On=Zi+1|0,iA=Ye+(Zi<<2)|0,e[iA>>2]=tA,mr=On):mr=Zi,Kr=Qr+1|0,nA=(Kr|0)<(ur|0),nA)Zi=mr,Qr=Kr;else{Cr=mr;break}else Cr=0;if(sA=e[St>>2]|0,Pn=25648+(sA<<2)|0,AA=e[Pn>>2]|0,Hn=AA+24|0,qn=e[Hn>>2]|0,oA=e[T7>>2]|0,Vr=oA+(V7<<2)|0,Yn=e[Vr>>2]|0,wQ[qn&3](a8,t,Yn,Ye,B9,Cr,R7,Qi)|0,zr=Qi+1|0,Kn=e[r6>>2]|0,aA=(zr|0)<(Kn|0),aA)Qi=zr;else break}if($A=gi+1|0,lA=bh(t)|0,Zr=(lA|0)!=0,Vn=Zr?14:7,cA=(gi|0)<(Vn|0),cA)gi=$A;else{o=0;break}}return m=An,o|0}function lS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0;if(F2=m,S=t+64|0,w=e[S>>2]|0,E1=w+4|0,L1=e[E1>>2]|0,Y1=L1+28|0,V1=e[Y1>>2]|0,y2=w+104|0,T2=e[y2>>2]|0,f5=t+28|0,F5=e[f5>>2]|0,y=V1+(F5<<2)|0,P=e[y>>2]|0,Z=t+36|0,e[Z>>2]=P,$0=L1+4|0,K0=e[$0>>2]|0,M0=K0<<2,c=M0,i1=m,m=m+((1*c|0)+15&-16)|0,f=M0,Z0=m,m=m+((1*f|0)+15&-16)|0,E=M0,I1=m,m=m+((1*E|0)+15&-16)|0,I=M0,h1=m,m=m+((1*I|0)+15&-16)|0,u1=e[$0>>2]|0,d1=(u1|0)>0,d1)for(B1=n+4|0,p1=n+1028|0,Q1=T2+48|0,R1=P<<1,x1=R1&2147483646,z2=0;;)if(U1=B1+(z2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,K1=(V1+800|0)+(D1<<2)|0,P1=e[K1>>2]|0,H1=25640+(P1<<2)|0,q1=e[H1>>2]|0,j1=q1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,O1=W1+(D1<<2)|0,l2=e[O1>>2]|0,z1=ft[r2&15](t,l2)|0,f2=h1+(z2<<2)|0,e[f2>>2]=z1,s2=I1+(z2<<2)|0,W2=(z1|0)!=0,o=W2&1,e[s2>>2]=o,E2=e[t>>2]|0,A2=E2+(z2<<2)|0,g2=e[A2>>2]|0,ne(g2|0,0,x1|0)|0,a2=z2+1|0,t2=e[$0>>2]|0,$2=(a2|0)<(t2|0),$2)z2=a2;else{n1=t2;break}else n1=u1;if(y1=n+1156|0,S1=e[y1>>2]|0,F1=(S1|0)>0,F1)for(G1=n+1160|0,w1=n+2184|0,c2=0;e2=G1+(c2<<2)|0,S2=e[e2>>2]|0,w2=I1+(S2<<2)|0,m2=e[w2>>2]|0,M2=(m2|0)==0,_2=w1+(c2<<2)|0,N2=e[_2>>2]|0,M2?(I2=I1+(N2<<2)|0,J2=e[I2>>2]|0,G2=(J2|0)==0,G2||(a5=10)):a5=10,(a5|0)==10&&(a5=0,e[w2>>2]=1,q2=I1+(N2<<2)|0,e[q2>>2]=1),O2=c2+1|0,K2=(O2|0)<(S1|0),K2;)c2=O2;if(i2=e[n>>2]|0,o2=(i2|0)>0,o2){for(X1=n+1092|0,n2=T2+52|0,u2=n+4|0,s5=n1,B5=0;;){if(P2=(s5|0)>0,P2)for(A1=s5,c5=0,h5=0;;)if(T1=u2+(h5<<2)|0,j2=e[T1>>2]|0,x5=(j2|0)==(B5|0),x5?(X2=I1+(h5<<2)|0,D5=e[X2>>2]|0,V2=Z0+(c5<<2)|0,R5=(D5|0)!=0,a=R5&1,e[V2>>2]=a,k5=e[t>>2]|0,O5=k5+(h5<<2)|0,$5=e[O5>>2]|0,v2=c5+1|0,E5=i1+(c5<<2)|0,e[E5>>2]=$5,B=e[$0>>2]|0,R2=B,o5=v2):(R2=A1,o5=c5),r5=h5+1|0,x2=(r5|0)<(R2|0),x2)A1=R2,c5=o5,h5=r5;else{v5=o5;break}else v5=0;if(B2=X1+(B5<<2)|0,C5=e[B2>>2]|0,u5=(V1+1312|0)+(C5<<2)|0,b5=e[u5>>2]|0,G5=25648+(b5<<2)|0,_5=e[G5>>2]|0,H2=_5+28|0,I5=e[H2>>2]|0,A5=e[n2>>2]|0,l5=A5+(C5<<2)|0,m5=e[l5>>2]|0,hB[I5&7](t,m5,i1,Z0,v5)|0,M1=B5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[$0>>2]|0,s5=p,B5=M1}v=e[y1>>2]|0,b=v}else b=S1;if(x=(b|0)>0,x)for(R=n+1160|0,F=e[t>>2]|0,L=n+2184|0,M=(P|0)/2&-1,T=(P|0)>1,n5=b;;){if(e5=n5+-1|0,e0=R+(e5<<2)|0,H=e[e0>>2]|0,X=F+(H<<2)|0,U=e[X>>2]|0,a0=L+(e5<<2)|0,V=e[a0>>2]|0,o0=F+(V<<2)|0,n0=e[o0>>2]|0,T)for(t5=0;;){i0=U+(t5<<2)|0,r0=+s[i0>>2],K=n0+(t5<<2)|0,c0=+s[K>>2],s0=r0>0,l0=c0>0;do if(s0)if(l0){s[i0>>2]=r0,j=r0-c0,s[K>>2]=j;break}else{s[K>>2]=r0,g0=c0+r0,s[i0>>2]=g0;break}else if(l0){s[i0>>2]=r0,f0=c0+r0,s[K>>2]=f0;break}else{s[K>>2]=r0,Q0=r0-c0,s[i0>>2]=Q0;break}while(!1);if(d0=t5+1|0,w0=(d0|0)<(M|0),w0)t5=d0;else break}if(G=(n5|0)>1,G)n5=e5;else break}if(z=e[$0>>2]|0,Y=(z|0)>0,!Y)return m=F2,0;for(t0=n+4|0,J=n+1028|0,W=T2+48|0,g5=0;;)if(E0=e[t>>2]|0,C0=E0+(g5<<2)|0,I0=e[C0>>2]|0,v0=t0+(g5<<2)|0,b0=e[v0>>2]|0,m0=J+(b0<<2)|0,F0=e[m0>>2]|0,L0=(V1+800|0)+(F0<<2)|0,T0=e[L0>>2]|0,U0=25640+(T0<<2)|0,B0=e[U0>>2]|0,q0=B0+24|0,x0=e[q0>>2]|0,D0=e[W>>2]|0,J0=D0+(F0<<2)|0,Y0=e[J0>>2]|0,O0=h1+(g5<<2)|0,z0=e[O0>>2]|0,cB[x0&3](t,Y0,z0,I0)|0,N0=g5+1|0,P0=e[$0>>2]|0,r1=(N0|0)<(P0|0),r1)g5=N0;else{C=P0;break}if(h0=(C|0)>0,!h0)return m=F2,0;for(Y2=0;H0=e[t>>2]|0,e1=H0+(Y2<<2)|0,S0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(T2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,cS(g1,S0,S0),l1=Y2+1|0,s1=e[$0>>2]|0,a1=(l1|0)<(s1|0),a1;)Y2=l1;return m=F2,0}function sB(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0;if(y1=m,o=(n|0)/4&-1,a=o<<2,y=S9(a)|0,P=o+n|0,Z=P<<2,$0=S9(Z)|0,K0=n>>1,M0=+(n|0),i1=M0,I1=+qr(+i1),c=I1*1.4426950408889634,f=+Ni(c),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,C=t+8|0,e[C>>2]=$0,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;L=B1<<2,M=+(L|0),T=S*M,G=+Vo(+T),z=G,Y=B1<<1,t0=$0+(Y<<2)|0,s[t0>>2]=z,J=+Tn(+T),W=J,e0=-W,H=Y|1,X=$0+(H<<2)|0,s[X>>2]=e0,U=+(H|0),a0=Q*U,V=+Vo(+a0),o0=V,n0=Y+K0|0,i0=$0+(n0<<2)|0,s[i0>>2]=o0,r0=+Tn(+a0),K=r0,c0=n0+1|0,s0=$0+(c0<<2)|0,s[s0>>2]=K,l0=B1+1|0,j=(l0|0)<(o|0),j;)B1=l0;if(b=(n|0)/8&-1,x=(n|0)>7,!x){Z0=4/M0,h1=t+16|0,s[h1>>2]=Z0;return}for(R=+(n|0),F=3.141592653589793/R,p1=0;g0=p1<<2,f0=g0|2,Q0=+(f0|0),d0=F*Q0,w0=+Vo(+d0),h0=w0*.5,E0=h0,C0=p1<<1,I0=C0+n|0,v0=$0+(I0<<2)|0,s[v0>>2]=E0,b0=+Tn(+d0),m0=b0*-.5,F0=m0,L0=I0+1|0,T0=$0+(L0<<2)|0,s[T0>>2]=F0,U0=p1+1|0,B0=(U0|0)<(b|0),B0;)p1=U0;if(q0=E+-1|0,x0=1<>2]=Z0;return}for(;;){for(z0=Y0,E1=0,R1=0;;)if(O0=z0&Q1,N0=(O0|0)==0,P0=1<>H0,S0=(e1|0)==0,S0){d1=u1;break}else z0=e1,E1=u1,R1=H0;if(c1=d1^-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]=d1,n1=Q1+1|0,A1=(n1|0)<(b|0),A1)Q1=n1;else break}Z0=4/M0,h1=t+16|0,s[h1>>2]=Z0}function AB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,n=(t|0)==0,!n&&(o=t+8|0,a=e[o>>2]|0,c=(a|0)==0,c||d2(a),f=t+12|0,E=e[f>>2]|0,I=(E|0)==0,I||d2(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 cS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0;for(O3=m,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,J2=n+(a<<2)|0,c=I+W1|0,X2=o+(c<<2)|0,R2=t+8|0,l5=e[R2>>2]|0,g5=l5+(W1<<2)|0,l3=g5,U5=J2,k3=X2;d5=k3+-16|0,B3=U5+8|0,C=+s[B3>>2],R=l3+12|0,W=+s[R>>2],r0=C*W,w0=-r0,T0=+s[U5>>2],N0=l3+8|0,l1=+s[N0>>2],B1=l1*T0,U1=w0-B1,s[d5>>2]=U1,O1=+s[U5>>2],$2=+s[R>>2],y2=$2*O1,S2=+s[B3>>2],w2=+s[N0>>2],m2=w2*S2,M2=y2-m2,_2=k3+-12|0,s[_2>>2]=M2,N2=U5+24|0,I2=+s[N2>>2],G2=l3+4|0,q2=+s[G2>>2],T2=I2*q2,O2=-T2,K2=U5+16|0,s5=+s[K2>>2],P2=+s[l3>>2],T1=P2*s5,j2=O2-T1,x5=k3+-8|0,s[x5>>2]=j2,D5=+s[K2>>2],V2=+s[G2>>2],f5=V2*D5,k5=+s[N2>>2],O5=+s[l3>>2],$5=O5*k5,v2=f5-$5,E5=k3+-4|0,s[E5>>2]=v2,r5=U5+-32|0,x2=l3+16|0,B2=r5>>>0>>0,!B2;)l3=x2,U5=r5,k3=d5;for(C5=o+(I<<2)|0,f=I+-8|0,F5=n+(f<<2)|0,m3=g5,P5=F5,Q3=X2;u5=m3+-16|0,b5=P5+16|0,G5=+s[b5>>2],_5=m3+-4|0,H2=+s[_5>>2],I5=H2*G5,A5=P5+24|0,m5=+s[A5>>2],M1=m3+-8|0,v5=+s[M1>>2],c5=v5*m5,o5=c5+I5,s[Q3>>2]=o5,z2=+s[b5>>2],c2=+s[M1>>2],B5=c2*z2,e5=+s[A5>>2],n5=+s[_5>>2],Y2=n5*e5,h5=B5-Y2,t5=Q3+4|0,s[t5>>2]=h5,R5=+s[P5>>2],W2=m3+-12|0,a5=+s[W2>>2],F2=a5*R5,p5=P5+8|0,H5=+s[p5>>2],X5=+s[u5>>2],u3=X5*H5,h3=u3+F2,J5=Q3+8|0,s[J5>>2]=h3,e3=+s[P5>>2],n3=+s[u5>>2],C3=n3*e3,L5=+s[p5>>2],K5=+s[W2>>2],w3=K5*L5,f3=C3-w3,K3=Q3+12|0,s[K3>>2]=f3,T3=P5+-32|0,z5=Q3+16|0,y3=T3>>>0>>0,!y3;)m3=u5,P5=T3,Q3=z5;for(n6=t+4|0,t3=e[n6>>2]|0,eQ(t3,l5,C5,I),A3=e[t>>2]|0,x3=e[R2>>2]|0,h6=t+12|0,p3=e[h6>>2]|0,tQ(A3,x3,p3,o),W5=e[R2>>2]|0,t6=W5+(I<<2)|0,q5=t6,w5=o,i6=X2,V5=X2;R3=i6+-16|0,N3=+s[w5>>2],o3=q5+4|0,$3=+s[o3>>2],p=$3*N3,B=w5+4|0,v=+s[B>>2],S=+s[q5>>2],w=S*v,y=p-w,D=i6+-4|0,s[D>>2]=y,Q=+s[w5>>2],b=+s[q5>>2],x=b*Q,F=+s[B>>2],L=+s[o3>>2],M=L*F,T=x+M,G=-T,s[V5>>2]=G,P=w5+8|0,z=+s[P>>2],Y=q5+12|0,t0=+s[Y>>2],J=t0*z,e0=w5+12|0,H=+s[e0>>2],X=q5+8|0,U=+s[X>>2],a0=U*H,Z=J-a0,V=i6+-8|0,s[V>>2]=Z,o0=+s[P>>2],n0=+s[X>>2],i0=n0*o0,K=+s[e0>>2],c0=+s[Y>>2],s0=c0*K,l0=i0+s0,j=-l0,$0=V5+4|0,s[$0>>2]=j,g0=w5+16|0,f0=+s[g0>>2],Q0=q5+20|0,d0=+s[Q0>>2],h0=d0*f0,E0=w5+20|0,C0=+s[E0>>2],I0=q5+16|0,v0=+s[I0>>2],K0=v0*C0,b0=h0-K0,m0=i6+-12|0,s[m0>>2]=b0,F0=+s[g0>>2],L0=+s[I0>>2],U0=L0*F0,B0=+s[E0>>2],q0=+s[Q0>>2],x0=q0*B0,D0=U0+x0,M0=-D0,J0=V5+8|0,s[J0>>2]=M0,Y0=w5+24|0,O0=+s[Y0>>2],z0=q5+28|0,P0=+s[z0>>2],r1=P0*O0,H0=w5+28|0,e1=+s[H0>>2],S0=q5+24|0,i1=+s[S0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[Y0>>2],g1=+s[S0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[z0>>2],A1=n1*a1,Z0=s1+A1,I1=-Z0,h1=V5+12|0,s[h1>>2]=I1,E1=V5+16|0,u1=w5+32|0,d1=q5+32|0,p1=u1>>>0>>0,p1;)q5=d1,w5=u1,i6=R3,V5=E1;for(Q1=o+(W1<<2)|0,G3=X2,W3=Q1,v3=Q1;;)if(R1=W3+-16|0,x1=G3+-16|0,y1=G3+-4|0,S1=+s[y1>>2],F1=W3+-4|0,s[F1>>2]=S1,L1=-S1,s[v3>>2]=L1,G1=G3+-8|0,w1=+s[G1>>2],Z1=W3+-8|0,s[Z1>>2]=w1,N1=-w1,D1=v3+4|0,s[D1>>2]=N1,K1=G3+-12|0,P1=+s[K1>>2],H1=W3+-12|0,s[H1>>2]=P1,q1=-P1,Y1=v3+8|0,s[Y1>>2]=q1,j1=+s[x1>>2],s[R1>>2]=j1,r2=-j1,l2=v3+12|0,s[l2>>2]=r2,z1=v3+16|0,f2=z1>>>0>>0,f2)G3=x1,W3=R1,v3=z1;else{M5=X2,U3=X2;break}for(;s2=U3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[s2>>2]=A2,V1=M5+8|0,g2=e[V1>>2]|0,a2=U3+-12|0,e[a2>>2]=g2,t2=M5+4|0,i2=e[t2>>2]|0,o2=U3+-8|0,e[o2>>2]=i2,X1=e[M5>>2]|0,n2=U3+-4|0,e[n2>>2]=X1,u2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=u2,U3=s2}function Xp(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0;if(H5=m,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=m,m=m+((1*a|0)+15&-16)|0,l2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,_2=t+8|0,T1=e[_2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(f=c+1|0,V=n+(f<<2)|0,g0=a1+-1|0,b0=g0>>>1,J0=b0<<1,O0=y+-2|0,z0=O0-J0|0,N0=c+-4|0,P0=b0<<2,H0=N0-P0|0,r5=D,b5=0,g5=i2,R5=V;e1=g5+-16|0,S0=r5+-8|0,i1=g5+-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=r5+-4|0,Z0=+s[A1>>2],I1=n1*Z0,h1=+s[S0>>2],E1=h1*f1,u1=E1+I1,v=b5+y|0,d1=N1+(v<<2)|0,s[d1>>2]=u1,B1=+s[S0>>2],p1=B1*n1,R1=+s[A1>>2],x1=R1*f1,y1=p1-x1,S1=b5|1,S=S1+y|0,F1=N1+(S<<2)|0,s[F1>>2]=y1,L1=R5+16|0,G1=b5+2|0,w1=(G1|0)<(a1|0),w1;)r5=S0,b5=G1,g5=e1,R5=L1;U1=J0+2|0,c2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,P2=z0,E5=c2,u5=U1,n5=B5}else P2=y,E5=D,u5=0,n5=i2;if(Z1=n+4|0,D1=y-a1|0,K1=(u5|0)<(D1|0),K1){for(P1=y+-1|0,H1=P1-u5|0,q1=H1-a1|0,Y1=q1>>>1,j1=Y1<<1,r2=u5+j1|0,W1=Y1<<2,O1=W1+5|0,z1=-2-j1|0,R2=E5,_5=u5,Y2=n5,a5=Z1;f2=R2+-8|0,s2=Y2+-16|0,E2=Y2+-8|0,A2=+s[E2>>2],V1=+s[a5>>2],g2=A2-V1,a2=+s[s2>>2],t2=a5+8|0,$2=+s[t2>>2],o2=a2-$2,X1=R2+-4|0,n2=+s[X1>>2],u2=o2*n2,e2=+s[f2>>2],y2=e2*g2,S2=y2+u2,C=_5+y|0,w2=N1+(C<<2)|0,s[w2>>2]=S2,m2=+s[f2>>2],M2=m2*o2,N2=+s[X1>>2],I2=N2*g2,J2=M2-I2,G2=_5|1,p=G2+y|0,q2=N1+(p<<2)|0,s[q2>>2]=J2,T2=a5+16|0,O2=_5+2|0,K2=(O2|0)<(D1|0),K2;)R2=f2,_5=O2,Y2=s2,a5=T2;s5=r2+2|0,o5=n+(O1<<2)|0,B=P2+z1|0,z2=T1+(B<<2)|0,x2=z2,G5=s5,W2=o5}else x2=E5,G5=u5,W2=Z1;if(j2=(G5|0)<(y|0),j2)for(x5=n+(w<<2)|0,B2=x2,H2=G5,h5=x5,F2=W2;X2=B2+-8|0,D5=h5+-16|0,V2=h5+-8|0,f5=+s[V2>>2],k5=-f5,O5=+s[F2>>2],$5=k5-O5,v2=+s[D5>>2],Q=-v2,b=F2+8|0,x=+s[b>>2],R=Q-x,F=B2+-4|0,L=+s[F>>2],M=R*L,T=+s[X2>>2],G=T*$5,P=G+M,E=H2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=P,t0=+s[X2>>2],J=t0*R,W=+s[F>>2],e0=W*$5,H=J-e0,X=H2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=H,a0=F2+16|0,Z=H2+2|0,o0=(Z|0)<(y|0),o0;)B2=X2,H2=Z,h5=D5,F2=a0;if(A5=t+4|0,l5=e[A5>>2]|0,eQ(l5,T1,l2,y),c5=e[t>>2]|0,m5=e[_2>>2]|0,M1=t+12|0,v5=e[M1>>2]|0,tQ(c5,m5,v5,N1),n0=(r1|0)>0,!n0){m=H5;return}for(i0=o+(y<<2)|0,r0=e[_2>>2]|0,K=r0+(y<<2)|0,c0=t+16|0,C5=K,I5=0,e5=N1,t5=i0;s0=t5+-4|0,l0=+s[e5>>2],j=+s[C5>>2],$0=j*l0,f0=e5+4|0,Q0=+s[f0>>2],d0=C5+4|0,w0=+s[d0>>2],h0=w0*Q0,E0=h0+$0,C0=+s[c0>>2],I0=E0*C0,v0=o+(I5<<2)|0,s[v0>>2]=I0,K0=+s[e5>>2],m0=+s[d0>>2],F0=m0*K0,L0=+s[f0>>2],T0=+s[C5>>2],U0=T0*L0,B0=F0-U0,q0=+s[c0>>2],x0=B0*q0,s[s0>>2]=x0,D0=e5+8|0,M0=C5+8|0,Y0=I5+1|0,F5=(Y0|0)==(r1|0),!F5;)C5=M0,I5=Y0,e5=D0,t5=s0;m=H5}function eQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Nt=0,Gt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,N7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,G7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0;if(ur=m,f0=t+-6|0,Q0=(t|0)>6,Q0)for(I=a+-8|0,O5=o+(I<<2)|0,b3=a>>1,B=b3+-8|0,V8=o+(B<<2)|0,c=n,I7=O5,d7=V8;a8=I7+24|0,Ut=+s[a8>>2],Ct=d7+24|0,pt=+s[Ct>>2],yt=Ut-pt,d0=I7+28|0,L0=+s[d0>>2],z0=d7+28|0,g1=+s[z0>>2],d1=L0-g1,w1=pt+Ut,s[a8>>2]=w1,r2=+s[z0>>2],a2=r2+L0,s[d0>>2]=a2,w2=c+4|0,K2=+s[w2>>2],$5=K2*d1,G5=+s[c>>2],z2=G5*yt,a5=z2+$5,s[Ct>>2]=a5,C3=+s[c>>2],t6=C3*d1,G3=+s[w2>>2],W3=G3*yt,B6=t6-W3,s[z0>>2]=B6,P3=I7+16|0,T6=+s[P3>>2],r9=d7+16|0,W6=+s[r9>>2],I9=T6-W6,S4=I7+20|0,N4=+s[S4>>2],Ne=d7+20|0,a4=+s[Ne>>2],c6=N4-a4,k4=W6+T6,s[P3>>2]=k4,c7=+s[Ne>>2],U8=c7+N4,s[S4>>2]=U8,e8=c+20|0,H8=+s[e8>>2],I8=H8*c6,pe=c+16|0,b9=+s[pe>>2],b8=b9*I9,o7=b8+I8,s[r9>>2]=o7,q7=+s[pe>>2],R8=q7*c6,D7=+s[e8>>2],K8=D7*I9,Le=R8-K8,s[Ne>>2]=Le,he=I7+8|0,e4=+s[he>>2],b7=d7+8|0,tt=+s[b7>>2],Nt=e4-tt,Gt=I7+12|0,ut=+s[Gt>>2],Y7=d7+12|0,It=+s[Y7>>2],J7=ut-It,dt=tt+e4,s[he>>2]=dt,K7=+s[Y7>>2],Et=K7+ut,s[Gt>>2]=Et,it=c+36|0,ni=+s[it>>2],Ot=ni*J7,mt=c+32|0,si=+s[mt>>2],Bt=si*Nt,rt=Bt+Ot,s[b7>>2]=rt,Ai=+s[mt>>2],Pt=Ai*J7,Ht=+s[it>>2],qt=Ht*Nt,Yt=Pt-qt,s[Y7>>2]=Yt,nt=+s[I7>>2],Jt=+s[d7>>2],V7=nt-Jt,st=I7+4|0,N7=+s[st>>2],z7=d7+4|0,oi=+s[z7>>2],Kt=N7-oi,ai=Jt+nt,s[I7>>2]=ai,Qt=+s[z7>>2],Vt=Qt+N7,s[st>>2]=Vt,wt=c+52|0,zt=+s[wt>>2],kt=zt*Kt,Z7=c+48|0,vt=+s[Z7>>2],Zt=vt*V7,At=Zt+kt,s[d7>>2]=At,G7=+s[Z7>>2],St=G7*Kt,Qe=+s[wt>>2],w0=Qe*V7,h0=St-w0,s[z7>>2]=h0,E0=I7+-32|0,C0=d7+-32|0,I0=c+64|0,v0=C0>>>0>>0,!v0;)c=I0,I7=E0,d7=C0;if(K0=(f0|0)>1,K0)for(_7=1;;){if(b0=1<<_7,m0=(_7|0)==31,!m0)for(F0=a>>_7,T0=4<<_7,C=F0+-8|0,U0=F0>>1,v=U0+-8|0,T=T0+1|0,a0=T0<<1,i0=a0|1,c0=T0*3|0,l0=c0+1|0,$0=T0<<2,ot=0;;){for(q0=i5(ot,F0)|0,x0=o+(q0<<2)|0,E=C+q0|0,D0=o+(E<<2)|0,o0=v+q0|0,M0=o+(o0<<2)|0,f=n,m8=D0,R7=M0;J0=m8+24|0,Y0=+s[J0>>2],O0=R7+24|0,N0=+s[O0>>2],P0=Y0-N0,r1=m8+28|0,H0=+s[r1>>2],e1=R7+28|0,S0=+s[e1>>2],i1=H0-S0,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*P0,Z0=A1+a1,s[O0>>2]=Z0,I1=+s[f>>2],h1=I1*i1,E1=+s[l1>>2],u1=E1*P0,B1=h1-u1,s[e1>>2]=B1,p1=f+(T0<<2)|0,Q1=m8+16|0,R1=+s[Q1>>2],x1=R7+16|0,y1=+s[x1>>2],S1=R1-y1,F1=m8+20|0,L1=+s[F1>>2],G1=R7+20|0,U1=+s[G1>>2],Z1=L1-U1,N1=y1+R1,s[Q1>>2]=N1,D1=+s[G1>>2],K1=D1+L1,s[F1>>2]=K1,P1=f+(T<<2)|0,H1=+s[P1>>2],q1=H1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+q1,s[x1>>2]=W1,O1=+s[p1>>2],l2=O1*Z1,z1=+s[P1>>2],f2=z1*S1,s2=l2-f2,s[G1>>2]=s2,E2=f+(a0<<2)|0,A2=m8+8|0,V1=+s[A2>>2],g2=R7+8|0,t2=+s[g2>>2],$2=V1-t2,i2=m8+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],S2=y2+o2,s[i2>>2]=S2,m2=f+(i0<<2)|0,M2=+s[m2>>2],_2=M2*u2,N2=+s[E2>>2],I2=N2*$2,J2=I2+_2,s[g2>>2]=J2,G2=+s[E2>>2],q2=G2*u2,T2=+s[m2>>2],O2=T2*$2,s5=q2-O2,s[X1>>2]=s5,P2=f+(c0<<2)|0,T1=+s[m8>>2],j2=+s[R7>>2],x5=T1-j2,X2=m8+4|0,D5=+s[X2>>2],V2=R7+4|0,f5=+s[V2>>2],k5=D5-f5,v2=j2+T1,s[m8>>2]=v2,E5=+s[V2>>2],r5=E5+D5,s[X2>>2]=r5,x2=f+(l0<<2)|0,R2=+s[x2>>2],B2=R2*k5,C5=+s[P2>>2],F5=C5*x5,u5=F5+B2,s[R7>>2]=u5,b5=+s[P2>>2],_5=b5*k5,H2=+s[x2>>2],I5=H2*x5,A5=_5-I5,s[V2>>2]=A5,l5=f+($0<<2)|0,m5=m8+-32|0,M1=R7+-32|0,v5=M1>>>0>>0,!v5;)f=l5,m8=m5,R7=M1;if(c5=ot+1|0,o5=(c5|0)<(b0|0),o5)ot=c5;else break}if(c2=_7+1|0,Dt=(c2|0)==(f0|0),Dt)break;_7=c2}if(B0=(a|0)>0,B0)i9=0;else return;for(;B5=o+(i9<<2)|0,p=i9|30,e5=o+(p<<2)|0,n5=+s[e5>>2],M=i9|14,g5=o+(M<<2)|0,Y2=+s[g5>>2],h5=n5-Y2,U=i9|31,t5=o+(U<<2)|0,R5=+s[t5>>2],n0=i9|15,W2=o+(n0<<2)|0,F2=+s[W2>>2],p5=R5-F2,H5=Y2+n5,s[e5>>2]=H5,X5=F2+R5,s[t5>>2]=X5,s[g5>>2]=h5,s[W2>>2]=p5,r0=i9|28,d5=o+(r0<<2)|0,u3=+s[d5>>2],K=i9|12,h3=o+(K<<2)|0,J5=+s[h3>>2],e3=u3-J5,s0=i9|29,n3=o+(s0<<2)|0,L5=+s[n3>>2],j=i9|13,K5=o+(j<<2)|0,w3=+s[K5>>2],f3=L5-w3,B3=J5+u3,s[d5>>2]=B3,K3=w3+L5,s[n3>>2]=K3,T3=e3*.9238795042037964,z5=f3*.3826834261417389,y3=T3-z5,s[h3>>2]=y3,W5=e3*.3826834261417389,R3=f3*.9238795042037964,N3=R3+W5,s[K5>>2]=N3,g0=i9|26,o3=o+(g0<<2)|0,$3=+s[o3>>2],S=i9|10,l3=o+(S<<2)|0,m3=+s[l3>>2],q5=$3-m3,w=i9|27,U5=o+(w<<2)|0,P5=+s[U5>>2],y=i9|11,w5=o+(y<<2)|0,M5=+s[w5>>2],n6=P5-M5,t3=m3+$3,s[o3>>2]=t3,A3=M5+P5,s[U5>>2]=A3,x3=q5-n6,h6=x3*.7071067690849304,s[l3>>2]=h6,p3=n6+q5,k3=p3*.7071067690849304,s[w5>>2]=k3,D=i9|24,Q3=o+(D<<2)|0,i6=+s[Q3>>2],Q=i9|8,U3=o+(Q<<2)|0,V5=+s[U3>>2],v3=i6-V5,b=i9|25,c3=o+(b<<2)|0,O3=+s[c3>>2],x=i9|9,$6=o+(x<<2)|0,I3=+s[$6>>2],w6=O3-I3,k6=V5+i6,s[Q3>>2]=k6,v6=I3+O3,s[c3>>2]=v6,j3=v3*.3826834261417389,l6=w6*.9238795042037964,p6=j3-l6,_6=w6*.3826834261417389,q6=v3*.9238795042037964,C6=_6+q6,R=i9|22,S3=o+(R<<2)|0,X3=+s[S3>>2],F=i9|6,e6=o+(F<<2)|0,f6=+s[e6>>2],D3=X3-f6,L=i9|7,H3=o+(L<<2)|0,V3=+s[H3>>2],G=i9|23,S6=o+(G<<2)|0,s6=+s[S6>>2],i3=V3-s6,O6=f6+X3,s[S3>>2]=O6,s3=s6+V3,s[S6>>2]=s3,s[e6>>2]=i3,s[H3>>2]=D3,P=i9|4,A6=o+(P<<2)|0,u6=+s[A6>>2],z=i9|20,r6=o+(z<<2)|0,Q6=+s[r6>>2],R6=u6-Q6,Y=i9|5,J6=o+(Y<<2)|0,I6=+s[J6>>2],t0=i9|21,Y6=o+(t0<<2)|0,F3=+s[Y6>>2],Z6=I6-F3,N6=Q6+u6,s[r6>>2]=N6,j6=F3+I6,s[Y6>>2]=j6,x6=Z6*.9238795042037964,G6=R6*.3826834261417389,D6=x6+G6,K6=Z6*.3826834261417389,y6=R6*.9238795042037964,F6=K6-y6,J=i9|2,L3=o+(J<<2)|0,L6=+s[L3>>2],W=i9|18,X6=o+(W<<2)|0,A9=+s[X6>>2],h9=L6-A9,e0=i9|3,f9=o+(e0<<2)|0,u9=+s[f9>>2],H=i9|19,o9=o+(H<<2)|0,a9=+s[o9>>2],T9=u9-a9,d6=A9+L6,s[X6>>2]=d6,M6=a9+u9,s[o9>>2]=M6,e9=T9+h9,N9=e9*.7071067690849304,E4=T9-h9,s4=E4*.7071067690849304,g4=+s[B5>>2],X=i9|16,G9=o+(X<<2)|0,z9=+s[G9>>2],D9=g4-z9,Z=i9|1,d9=o+(Z<<2)|0,P6=+s[d9>>2],V=i9|17,t9=o+(V<<2)|0,C4=+s[t9>>2],A4=P6-C4,Q9=z9+g4,s[G9>>2]=Q9,D4=C4+P6,s[t9>>2]=D4,b4=A4*.3826834261417389,R4=D9*.9238795042037964,M4=b4+R4,Z4=A4*.9238795042037964,m4=D9*.3826834261417389,T4=Z4-m4,U9=T4-C6,o4=M4-p6,x4=M4+p6,h4=T4+C6,de=o4+U9,H9=U9-o4,E9=+s[w5>>2],Ee=s4-E9,Te=+s[l3>>2],We=Te-N9,G4=Te+N9,U4=E9+s4,W4=+s[h3>>2],Se=W4-D6,je=+s[K5>>2],Z9=je-F6,se=W4+D6,f4=je+F6,b6=Se-Z9,O4=Z9+Se,F9=+s[g5>>2],_4=F9-i3,Ae=+s[W2>>2],W9=Ae-D3,oe=i3+F9,ae=D3+Ae,B4=_4+Ee,j4=_4-Ee,F4=b6+de,$e=F4*.7071067690849304,C9=b6-de,Ge=C9*.7071067690849304,$4=$e+B4,s[e6>>2]=$4,Ce=B4-$e,s[A6>>2]=Ce,p4=O4-H9,l4=p4*.7071067690849304,U6=W9-We,De=l4+j4,s[B5>>2]=De,be=j4-l4,s[L3>>2]=be,Xe=O4+H9,c4=Xe*.7071067690849304,g8=W9+We,q3=U6+Ge,s[f9>>2]=q3,y9=U6-Ge,s[d9>>2]=y9,m9=g8+c4,s[H3>>2]=m9,L4=g8-c4,s[J6>>2]=L4,X4=oe+G4,$7=oe-G4,_e=x4+se,l7=se-x4,Q7=X4+_e,s[g5>>2]=Q7,g7=X4-_e,s[h3>>2]=g7,F8=f4-h4,L8=ae-U4,M8=$7+F8,s[U3>>2]=M8,T8=$7-F8,s[l3>>2]=T8,z8=f4+h4,Z8=ae+U4,y7=L8+l7,s[w5>>2]=y7,N8=L8-l7,s[$6>>2]=N8,G8=Z8+z8,s[W2>>2]=G8,w8=Z8-z8,s[K5>>2]=w8,k8=+s[c3>>2],h8=D4-k8,O8=+s[Q3>>2],P8=Q9-O8,W8=O8+Q9,j8=k8+D4,f8=P8+h8,Ue=h8-P8,Re=+s[o9>>2],v8=+s[U5>>2],w9=Re-v8,h7=+s[o3>>2],me=+s[X6>>2],f7=h7-me,w7=me+h7,X8=v8+Re,k7=+s[d5>>2],ee=+s[r6>>2],e7=k7-ee,S8=+s[n3>>2],t8=+s[Y6>>2],P4=S8-t8,xe=ee+k7,i8=t8+S8,u8=e7-P4,D8=P4+e7,le=+s[e5>>2],j9=+s[S3>>2],r8=le-j9,n8=+s[t5>>2],d8=+s[S6>>2],ce=n8-d8,Be=j9+le,Oe=d8+n8,Pe=r8+w9,X9=r8-w9,Fe=u8+f8,ge=Fe*.7071067690849304,s8=u8-f8,Q4=s8*.7071067690849304,E8=ge+Pe,s[S3>>2]=E8,t7=Pe-ge,s[r6>>2]=t7,H4=D8-Ue,d3=H4*.7071067690849304,He=ce-f7,C8=d3+X9,s[G9>>2]=C8,te=X9-d3,s[X6>>2]=te,q9=D8+Ue,ie=q9*.7071067690849304,qe=ce+f7,q8=He+Q4,s[o9>>2]=q8,u7=He-Q4,s[t9>>2]=u7,i7=qe+ie,s[S6>>2]=i7,r7=qe-ie,s[Y6>>2]=r7,Y8=Be+w7,n7=Be-w7,J8=xe+W8,A8=xe-W8,o8=Y8+J8,s[e5>>2]=o8,q4=Y8-J8,s[d5>>2]=q4,s7=i8-j8,_8=Oe-X8,Ye=n7+s7,s[Q3>>2]=Ye,B9=n7-s7,s[o3>>2]=B9,A7=i8+j8,Je=Oe+X8,M7=_8+A8,s[U5>>2]=M7,H7=_8-A8,s[c3>>2]=H7,v7=Je+A7,s[t5>>2]=v7,S7=Je-A7,s[n3>>2]=S7,re=i9+32|0,T7=(re|0)<(a|0),T7;)i9=re}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0;for(E1=m,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,A1=o,Z0=a,I1=w;a0=e[A1>>2]|0,c=a0+S|0,j=a+(c<<2)|0,v0=A1+4|0,D0=e[v0>>2]|0,f=D0+S|0,S0=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,b=+s[j>>2],x=+s[S0>>2],R=x+b,F=+s[n1>>2],L=R*F,M=n1+4|0,T=+s[M>>2],P=T*Q,z=P+L,Y=T*R,t0=F*Q,J=Y-t0,W=I1+-16|0,e0=D+a1,H=e0*.5,X=b-x,U=X*.5,Z=z+H,s[Z0>>2]=Z,V=H-z,o0=I1+-8|0,s[o0>>2]=V,n0=J+U,i0=Z0+4|0,s[i0>>2]=n0,r0=J-U,K=I1+-4|0,s[K>>2]=r0,c0=A1+8|0,s0=e[c0>>2]|0,C=s0+S|0,l0=a+(C<<2)|0,$0=A1+12|0,g0=e[$0>>2]|0,p=g0+S|0,f0=a+(p<<2)|0,B=C+1|0,Q0=a+(B<<2)|0,d0=+s[Q0>>2],v=p+1|0,w0=a+(v<<2)|0,h0=+s[w0>>2],E0=d0-h0,C0=+s[l0>>2],I0=+s[f0>>2],K0=I0+C0,b0=n1+8|0,m0=+s[b0>>2],F0=K0*m0,L0=n1+12|0,T0=+s[L0>>2],U0=T0*E0,B0=U0+F0,q0=T0*K0,x0=m0*E0,M0=q0-x0,J0=h0+d0,Y0=J0*.5,O0=C0-I0,z0=O0*.5,N0=B0+Y0,P0=Z0+8|0,s[P0>>2]=N0,r1=Y0-B0,s[W>>2]=r1,H0=M0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=M0-z0,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 gS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0;return B=m,n=t+28|0,o=e[n>>2]|0,a=o+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,C=c+8|0,e[C>>2]=a,c|0}function hS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,!n&&d2(t)}function fS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function uS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0;e9=m,d6=t,N9=d6+48|0;do e[d6>>2]=0,d6=d6+4|0;while((d6|0)<(N9|0));b=e[o>>2]|0,x=t+36|0,e[x>>2]=b,t2=+(b|0),X5=t2*8,f3=X5,$3=+qr(+f3),A3=$3*1.4426950408889634,c3=+Ni(A3),_6=c3+-1,S6=~~_6,R=t+32|0,e[R>>2]=S6,W=+(c|0),r0=W*.25,w0=r0,T0=w0*.5,N0=+(a|0),l1=T0/N0,B1=+qr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=S6+1|0,M2=1<<$2,P2=+(M2|0),v2=P2*W1,_5=+(b|0),c2=v2-_5,a5=~~c2,F2=t+28|0,e[F2>>2]=a5,p5=+(a|0),H5=p5+.25,d5=H5*W,u3=d5,h3=u3*.5,J5=h3/N0,e3=+qr(+J5),n3=e3*1.4426950216293335,C3=n3+-5.965784072875977,L5=P2*C3,K5=L5+.5,w3=~~K5,B3=1-a5|0,K3=B3+w3|0,T3=t+40|0,e[T3>>2]=K3,z5=a<<2,y3=S9(z5)|0,W5=t+16|0,e[W5>>2]=y3,t6=S9(z5)|0,R3=t+20|0,e[R3>>2]=t6,N3=S9(z5)|0,o3=t+24|0,e[o3>>2]=N3,l3=t+4|0,e[l3>>2]=n,e[t>>2]=a,m3=t+44|0,e[m3>>2]=c,q5=t+48|0,s[q5>>2]=1,U5=(c|0)<26e3;do if(U5)s[q5>>2]=0;else{if(P5=(c|0)<38e3,P5){s[q5>>2]=.9399999976158142;break}w5=(c|0)>46e3,w5&&(s[q5>>2]=1.274999976158142)}while(!1);G3=N0*2,M5=+(c|0),n6=(a|0)>0,p3=n6,K6=0,W6=0;e:for(;;){for(p=p3^1,y6=K6;;){if(Q3=y6+1|0,i6=+(Q3|0),W3=i6*.08664337545633316,U3=W3+2.7488713472395148,V5=+Nn(+U3),v3=G3*V5,O3=v3/M5,$6=+Ni(O3),I3=~~$6,C=(I3|0)<=(W6|0),J6=C|p,!J6){E=Q3,I=I3,F6=y6;break}if(w6=(Q3|0)<87,w6)y6=Q3;else{A9=W6;break e}}for(k6=1272+(F6<<2)|0,v6=+s[k6>>2],B6=1272+(E<<2)|0,j3=+s[B6>>2],l6=j3-v6,p6=I-W6|0,q6=+(p6|0),C6=l6/q6,S3=W6-I|0,X3=W6-a|0,e6=S3>>>0>X3>>>0,T9=e6?S3:X3,t3=W6-T9|0,R6=v6,h9=W6;f6=R6+100,P3=y3+(h9<<2)|0,s[P3>>2]=f6,D3=R6+C6,H3=h9+1|0,N6=(H3|0)==(t3|0),!N6;)R6=D3,h9=H3;if(x3=(t3|0)<(a|0),h6=(E|0)<87,h6)p3=x3,K6=E,W6=t3;else{A9=t3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;T6=f9+-1|0,r6=y3+(T6<<2)|0,Q6=e[r6>>2]|0,F=y3+(f9<<2)|0,e[F>>2]=Q6,L=f9+1|0,Z6=(L|0)==(a|0),!Z6;)f9=L;if(V3=(a|0)>0,V3){for(s6=a<<1,i3=(c|0)/(s6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,A6=n+124|0,u6=n+116|0,b3=n+112|0,x6=1,L3=0,u9=-99;;){Y=i5(i3,L3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,H=+Js(+e0),X=H*13.100000381469727,U=i5(Y,Y)|0,a0=+(U|0),Z=a0*18499999754340024e-24,V=Z,o0=+Js(+V),n0=o0*2.240000009536743,i0=n0+X,K=t0*9999999747378752e-20,c0=K,s0=i0+c0,l0=s0,j=s3+u9|0,$0=(j|0)<(L3|0);e:do if($0)for(g0=+s[b3>>2],f0=l0-g0,Q0=f0,a9=u9;;){if(d0=i5(a9,i3)|0,h0=+(d0|0),E0=h0*.0007399999885819852,C0=E0,I0=+Js(+C0),v0=I0*13.100000381469727,K0=i5(d0,d0)|0,b0=+(K0|0),m0=b0*18499999754340024e-24,F0=m0,L0=+Js(+F0),U0=L0*2.240000009536743,B0=h0*9999999747378752e-20,q0=B0,x0=v0+q0,D0=x0+U0,M0=D0(a|0);e:do if(J0)G6=x6;else for(Y0=e[A6>>2]|0,O0=Y0+L3|0,D6=x6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=i5(D6,i3)|0,S0=+(e1|0),i1=S0*.0007399999885819852,c1=i1,$1=+Js(+c1),f1=$1*13.100000381469727,g1=i5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,A1=+Js(+n1),Z0=A1*2.240000009536743,I1=S0*9999999747378752e-20,h1=I1,E1=f1+h1,u1=E1+Z0,d1=+s[u6>>2],p1=d1+l0,Q1=p1,R1=u1>2]=L1,w1=L3+1|0,F3=(w1|0)==(a|0),F3)break;x6=G6,L3=w1,u9=o9}if(V3)for(M=M5*.5,T=e[R>>2]|0,G=T+1|0,P=1<>2]=O1,z1=L6+1|0,Y6=(z1|0)==(a|0),Y6){w=M;break}else L6=z1;else M6=19}else M6=19;if((M6|0)==19&&(Q=M5*.5,w=Q),f2=n+36|0,s2=w/N0,E2=s2,A2=n+24|0,V1=+s[A2>>2],g2=n+28|0,a2=+s[g2>>2],i2=ES(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(z5)|0,e[X1>>2]=u2,e2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=e2,S2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=S2,!!V3)for(m2=e[l3>>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,X6=0;_2=+(X6|0),N2=_2+.5,I2=N2*M5,J2=I2/G3,G2=+qr(+J2),q2=G2*2.885390043258667,T2=q2+-11.931568145751953,O2=T2,K2=O2<0,j6=K2?0:O2,f=j6>=16,r9=f?16:j6,s5=~~r9,T1=+(s5|0),j2=r9-T1,x5=j2,X2=1-x5,D5=s5+1|0,V2=(m2+132|0)+(s5<<2)|0,f5=+s[V2>>2],k5=f5,O5=k5*X2,$5=(m2+132|0)+(D5<<2)|0,E5=+s[$5>>2],r5=E5*j2,x2=r5,R2=x2+O5,B2=R2,C5=S+(X6<<2)|0,s[C5>>2]=B2,F5=(m2+200|0)+(s5<<2)|0,u5=+s[F5>>2],b5=u5,G5=b5*X2,H2=(m2+200|0)+(D5<<2)|0,I5=+s[H2>>2],A5=I5*j2,l5=A5,m5=l5+G5,M1=m5,v5=y+(X6<<2)|0,s[v5>>2]=M1,c5=(m2+268|0)+(s5<<2)|0,o5=+s[c5>>2],z2=o5,B5=z2*X2,e5=(m2+268|0)+(D5<<2)|0,n5=+s[e5>>2],g5=n5*j2,Y2=g5,h5=Y2+B5,t5=h5,R5=D+(X6<<2)|0,s[R5>>2]=t5,W2=X6+1|0,I6=(W2|0)==(a|0),!I6;)X6=W2}function iQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;if(N0=m,o=(t|0)==0,!o){if(a=t+16|0,y=e[a>>2]|0,P=(y|0)==0,P||d2(y),Z=t+20|0,$0=e[Z>>2]|0,K0=($0|0)==0,K0||d2($0),x0=t+24|0,D0=e[x0>>2]|0,M0=(D0|0)==0,M0||d2(D0),c=t+8|0,f=e[c>>2]|0,E=(f|0)==0,!E){for(C=f,Y0=0;I=C+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,d2(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,d2(Q),b=e[c>>2]|0,x=b+(Y0<<2)|0,R=e[x>>2]|0,F=R+8|0,L=e[F>>2]|0,d2(L),M=e[c>>2]|0,T=M+(Y0<<2)|0,G=e[T>>2]|0,z=G+12|0,Y=e[z>>2]|0,d2(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,d2(H),X=e[c>>2]|0,U=X+(Y0<<2)|0,a0=e[U>>2]|0,V=a0+20|0,o0=e[V>>2]|0,d2(o0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,K=r0+24|0,c0=e[K>>2]|0,d2(c0),s0=e[c>>2]|0,l0=s0+(Y0<<2)|0,j=e[l0>>2]|0,g0=j+28|0,f0=e[g0>>2]|0,d2(f0),Q0=e[c>>2]|0,d0=Q0+(Y0<<2)|0,w0=e[d0>>2]|0,d2(w0),h0=Y0+1|0,J0=(h0|0)==17,!J0;)n=e[c>>2]|0,C=n,Y0=h0;E0=e[c>>2]|0,d2(E0)}C0=t+12|0,I0=e[C0>>2]|0,v0=(I0|0)==0,v0||(b0=e[I0>>2]|0,d2(b0),m0=e[C0>>2]|0,F0=m0+4|0,L0=e[F0>>2]|0,d2(L0),T0=e[C0>>2]|0,U0=T0+8|0,B0=e[U0>>2]|0,d2(B0),q0=e[C0>>2]|0,d2(q0)),O0=t,P0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0))}}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0;if(d0=m,E=e[t>>2]|0,I=E<<2,f=I,x=m,m=m+((1*f|0)+15&-16)|0,J=t+24|0,o0=e[J>>2]|0,sQ(E,o0,n,o,140,-1),n0=(E|0)>0,n0)for($0=0;i0=n+($0<<2)|0,r0=+s[i0>>2],K=o+($0<<2)|0,c0=+s[K>>2],C=r0-c0,p=x+($0<<2)|0,s[p>>2]=C,B=$0+1|0,l0=(B|0)==(E|0),!l0;)$0=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,sQ(E,v,x,o,0,D),n0)g0=0;else{m=d0;return}for(;b=n+(g0<<2)|0,R=+s[b>>2],F=x+(g0<<2)|0,L=+s[F>>2],M=R-L,s[F>>2]=M,T=g0+1|0,j=(T|0)==(E|0),!j;)g0=T;if(!n0){m=d0;return}for(Q=e[S>>2]|0,f0=0;G=o+(f0<<2)|0,P=+s[G>>2],z=P,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,H=x+(f0<<2)|0,X=+s[H>>2],U=(Q+336|0)+(c<<2)|0,a0=+s[U>>2],Z=a0+X,s[G>>2]=Z,V=f0+1|0,s0=(V|0)==(E|0),!s0;)f0=V;m=d0}function nQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0;if(d5=m,L=e[t>>2]|0,M=t+40|0,l1=e[M>>2]|0,B1=l1<<2,I=B1,U1=m,m=m+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,m2=t2+4|0,s5=+s[m2>>2],$5=s5+c,T=(l1|0)>0,T)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,l0=A5+1|0,I0=(l0|0)<(l1|0),I0;)A5=l0;if(x0=t2+8|0,e1=+s[x0>>2],c1=$50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,c5=0;s1=g1+(c5<<2)|0,a1=+s[s1>>2],n1=a1+G5,A1=o+(c5<<2)|0,s[A1>>2]=n1,Z0=c5+1|0,H2=(Z0|0)==(L|0),!H2;)c5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,E1=t2+496|0,u1=+s[E1>>2],d1=u1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,R1=t+32|0,x1=t+36|0,y1=t+28|0,l5=0;;){S1=n+(l5<<2)|0,F1=+s[S1>>2],L1=Q1+(l5<<2)|0,G1=e[L1>>2]|0,v5=l5,n5=F1;e:for(;;)for(m5=v5;;){if(w1=m5+1|0,Z1=(w1|0)<(L|0),!Z1){v=0,w=w1,M1=m5,g5=n5;break e}if(N1=Q1+(w1<<2)|0,D1=e[N1>>2]|0,K1=(D1|0)==(G1|0),!K1){v=1,w=w1,M1=m5,g5=n5;break e}if(P1=n+(w1<<2)|0,H1=+s[P1>>2],q1=H1>n5,q1){v5=w1,n5=H1;continue e}else m5=w1}if(Y1=g5+6,j1=o+(M1<<2)|0,r2=+s[j1>>2],O1=Y1>r2,O1&&(l2=e[R1>>2]|0,z1=G1>>l2,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,g2=d1+g5,a2=g2,$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,S2=e[y2>>2]|0,w2=S2+4|0,M2=+s[w2>>2],_2=~~M2,N2=+s[S2>>2],I2=~~N2,J2=(I2|0)<(_2|0),J2))for(G2=Q1+(M1<<2)|0,q2=e[G2>>2]|0,T2=e[y1>>2]|0,O2=q2-T2|0,K2=+(O2|0),P2=V1>>1,T1=+(P2|0),j2=N2+-16,x5=+(V1|0),X2=j2*x5,D5=X2-T1,V2=D5+K2,f5=~~V2,I5=I2,H5=f5;k5=(H5|0)>0,k5&&(F=I5+2|0,O5=S2+(F<<2)|0,v2=+s[O5>>2],E5=v2+g5,r5=U1+(H5<<2)|0,x2=+s[r5>>2],R2=x2>2]=E5)),B2=H5+V1|0,C5=(B2|0)<(l1|0),F5=I5+1|0,u5=(F5|0)<(_2|0),a5=u5&C5,a5;)I5=F5,H5=B2;if(v)l5=w;else{x=x1;break}}else X5=7}else X5=7;(X5|0)==7&&(Q=t+36|0,x=Q),b5=e[x>>2]|0,CS(U1,b5,l1),G=e[t>>2]|0,P=(G|0)>1;e:do if(P)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,a0=e[W1>>2]|0,Z=a0+32|0,K=1,j=J,z2=0,F2=X;;){n0=U1+(F2<<2)|0,i0=+s[n0>>2],r0=t0+(K<<2)|0,c0=e[r0>>2]|0,s0=c0+j|0,$0=s0>>1,g0=$0-H|0,f0=+s[Z>>2],Q0=i0>f0,Y2=Q0?f0:i0,d0=(F2|0)<(g0|0);t:do if(d0)for(C=F2,t5=Y2;;){for(w0=t5==-9999,p=C;;){if(h0=p+1|0,E0=U1+(h0<<2)|0,C0=+s[E0>>2],v0=C0>-9999,v0){if(K0=C0=(G|0),T0=(j|0)>(F0|0),R5=L0|T0;t:do if(R5)c2=z2;else for(B5=z2;;){if(U0=o+(B5<<2)|0,B0=+s[U0>>2],q0=B0>2]=h5),D0=B5+1|0,M0=(D0|0)<(G|0),!M0){c2=D0;break t}if(D=t0+(D0<<2)|0,R=e[D>>2]|0,J0=(R|0)>(F0|0),J0){c2=D0;break}else B5=D0}while(!1);if(V=c2+1|0,o0=(V|0)<(G|0),!o0){o5=c2;break e}y=t0+(c2<<2)|0,b=e[y>>2]|0,K=V,j=b,z2=c2,F2=p5}else o5=0;while(!1);if(Y0=e[M>>2]|0,O0=Y0+-1|0,z0=U1+(O0<<2)|0,N0=+s[z0>>2],P0=(o5|0)<(G|0),P0)e5=o5;else{m=d5;return}for(;r1=o+(e5<<2)|0,H0=+s[r1>>2],S0=H0>2]=N0),i1=e5+1|0,_5=(i1|0)==(G|0),!_5;)e5=i1;m=d5}function V$(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0;if(b0=m,C=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,K=+s[e0>>2],f0=(C|0)>0,!!f0)for(Q0=t+48|0,d0=+s[Q0>>2],w0=t+12|0,h0=e[w0>>2]|0,B=h0+(a<<2)|0,v=e[B>>2]|0,S=F+108|0,w=(a|0)==1,y=d0,D=y*.005,Q=y*3e-4,I0=0;b=n+(I0<<2)|0,x=+s[b>>2],R=v+(I0<<2)|0,L=+s[R>>2],M=L+x,T=+s[S>>2],G=M>T,v0=G?T:M,P=o+(I0<<2)|0,z=+s[P>>2],Y=z+K,t0=v0>2]=I,w&&(W=E+(I0<<2)|0,H=+s[W>>2],X=v0-H,U=X>-17.200000762939453,a0=X+17.200000762939453,Z=a0,U?(V=D*Z,o0=1-V,n0=o0,i0=n0<0,i0?E0=9999999747378752e-20:E0=n0):(r0=Q*Z,c0=1-r0,s0=c0,E0=s0),l0=f+(I0<<2)|0,j=+s[l0>>2],$0=j*E0,s[l0>>2]=$0),g0=I0+1|0,C0=(g0|0)==(C|0),!C0;)I0=g0}function IS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0;return T=m,a=n+4|0,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=n+40|0,b=e[Q>>2]|0,x=D+(b<<2)|0,R=e[x>>2]|0,F=(R|0)/2&-1,L=+(F|0),f=c+8|0,E=e[f>>2]|0,I=+(E|0),C=L/I,p=D+2936|0,B=+s[p>>2],v=B*C,S=v+t,w=S<-9999,o=w?-9999:S,+o}function dS(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0;if(N4=m,n0=e[o>>2]|0,i0=o+4|0,s5=e[i0>>2]|0,K3=s5+500|0,m3=e[K3>>2]|0,h6=(m3|0)==0,h6?K5=16:($6=s5+508|0,C6=e[$6>>2]|0,K5=C6),i3=e[s5>>2]|0,I6=((n+132|0)+(i3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,w0=(n+252|0)+(t<<2)|0,T0=e[w0>>2]|0,N0=1624+(T0<<3)|0,l1=+o1[N0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=C<<2,v=W1,t2=m,m=m+((1*v|0)+15&-16)|0,S=W1,m2=m,m=m+((1*S|0)+15&-16)|0,Q=W1,P2=m,m=m+((1*Q|0)+15&-16)|0,b=W1,v2=m,m=m+((1*b|0)+15&-16)|0,x=W1,_5=m,m=m+((1*x|0)+15&-16)|0,c2=a+1156|0,F2=(n0|0)>1e3,T4=F2?1696:1624,M4=T4+(U1<<3)|0,R4=+o1[M4>>3],L5=i5(W1,K5)|0,R=L5,w3=m,m=m+((1*R|0)+15&-16)|0,e[t2>>2]=w3,w=L5,f3=m,m=m+((1*w|0)+15&-16)|0,e[m2>>2]=f3,y=L5,B3=m,m=m+((1*y|0)+15&-16)|0,e[P2>>2]=B3,D=L5,T3=m,m=m+((1*D|0)+15&-16)|0,e[v2>>2]=T3,z5=(C|0)>1,z5&&(y3=w3+(K5<<2)|0,W5=t2+4|0,e[W5>>2]=y3,t6=f3+(K5<<2)|0,R3=m2+4|0,e[R3>>2]=t6,N3=B3+(K5<<2)|0,o3=P2+4|0,e[o3>>2]=N3,$3=T3+(K5<<2)|0,l3=v2+4|0,e[l3>>2]=$3,h9=(C|0)==2,!h9))for(w5=2;L=e[t2>>2]|0,G=e[m2>>2]|0,P=e[P2>>2]|0,z=e[v2>>2]|0,P5=i5(w5,K5)|0,G3=L+(P5<<2)|0,M5=t2+(w5<<2)|0,e[M5>>2]=G3,n6=G+(P5<<2)|0,t3=m2+(w5<<2)|0,e[t3>>2]=n6,A3=P+(P5<<2)|0,x3=P2+(w5<<2)|0,e[x3>>2]=A3,p3=z+(P5<<2)|0,k3=v2+(w5<<2)|0,e[k3>>2]=p3,Q3=w5+1|0,W6=(Q3|0)==(C|0),!W6;)w5=Q3;if(q5=e[c2>>2]|0,U5=(n0|0)>0,U5)for(i6=e[v2>>2]|0,W3=(C|0)>0,U3=n0^-1,V5=K5^-1,M6=0,I9=U3;;){if(O3=(I9|0)>(V5|0),Z4=O3?I9:V5,I3=Z4^-1,w6=n0-M6|0,k6=(K5|0)>(w6|0),p=k6?w6:K5,n4(_5|0,E|0,W1|0)|0,ne(i6|0,0,L5|0)|0,W3)for(v6=(p|0)>0,B6=r0-M6|0,t9=0;;){if(S3=f+(t9<<2)|0,X3=e[S3>>2]|0,e6=X3+(M6<<2)|0,f6=_5+(t9<<2)|0,P3=e[f6>>2]|0,D3=(P3|0)==0,D3){if(v6)for(S6=P2+(t9<<2)|0,s6=e[S6>>2]|0,O6=t2+(t9<<2)|0,s3=e[O6>>2]|0,A6=m2+(t9<<2)|0,u6=e[A6>>2]|0,b3=v2+(t9<<2)|0,T6=e[b3>>2]|0,d9=0;M0=s6+(d9<<2)|0,s[M0>>2]=1000000013351432e-25,J0=s3+(d9<<2)|0,s[J0>>2]=0,Y0=u6+(d9<<2)|0,s[Y0>>2]=0,O0=T6+(d9<<2)|0,e[O0>>2]=0,U=d9+M6|0,z0=X3+(U<<2)|0,e[z0>>2]=0,P0=d9+1|0,L6=(P0|0)==(I3|0),!L6;)d9=P0}else{if(H3=P2+(t9<<2)|0,V3=e[H3>>2]|0,v6){for(z9=0;a0=z9+M6|0,r6=X3+(a0<<2)|0,Q6=e[r6>>2]|0,R6=1768+(Q6<<2)|0,J6=e[R6>>2]|0,Y6=V3+(z9<<2)|0,e[Y6>>2]=J6,F3=z9+1|0,y6=(F3|0)==(I3|0),!y6;)z9=F3;if(Z6=c+(t9<<2)|0,N6=e[Z6>>2]|0,j6=v2+(t9<<2)|0,r9=e[j6>>2]|0,v6){for(G9=0;x6=(G9|0)>=(B6|0),o0=x6?R4:l1,G6=o0,Z=G9+M6|0,D6=N6+(Z<<2)|0,K6=+s[D6>>2],u9=+Ki(+K6),K=V3+(G9<<2)|0,c0=+s[K>>2],s0=u9/c0,l0=r9+(G9<<2)|0,Q9=!(s0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(v6)for($0=t2+(t9<<2)|0,g0=e[$0>>2]|0,f0=m2+(t9<<2)|0,Q0=e[f0>>2]|0,D9=0;;)if(d0=D9+M6|0,h0=N6+(d0<<2)|0,E0=+s[h0>>2],C0=E0*E0,I0=g0+(D9<<2)|0,s[I0>>2]=C0,v0=Q0+(D9<<2)|0,s[v0>>2]=C0,K0=+s[h0>>2],b0=K0<0,b0&&(m0=+s[I0>>2],F0=-m0,s[I0>>2]=F0),L0=V3+(D9<<2)|0,U0=+s[L0>>2],B0=U0*U0,s[L0>>2]=B0,q0=D9+1|0,L3=(q0|0)==(I3|0),L3){M=f0,D0=g0;break}else D9=q0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(t9<<2)|0,Y=e[F>>2]|0,H=m2+(t9<<2)|0,M=H,D0=Y),x0=e[M>>2]|0,D4=e[i0>>2]|0,+AQ(D4,r0,D0,x0,V3,0,M6,p,e6)}if(r1=t9+1|0,X6=(r1|0)==(C|0),X6)break;t9=r1}if(j3=e[c2>>2]|0,l6=(j3|0)>0,l6)for(p6=(p|0)>0,_6=I-M6|0,q6=r0-M6|0,C3=j3,m4=0;;){if(H0=(a+1160|0)+(m4<<2)|0,e1=e[H0>>2]|0,S0=(a+2184|0)+(m4<<2)|0,i1=e[S0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(M6<<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=m2+(e1<<2)|0,h1=e[I1>>2]|0,E1=m2+(i1<<2)|0,u1=e[E1>>2]|0,d1=P2+(e1<<2)|0,p1=e[d1>>2]|0,Q1=P2+(i1<<2)|0,R1=e[Q1>>2]|0,x1=v2+(e1<<2)|0,y1=e[x1>>2]|0,S1=v2+(i1<<2)|0,F1=e[S1>>2]|0,L1=_5+(e1<<2)|0,G1=e[L1>>2]|0,w1=(G1|0)==0,Z1=_5+(i1<<2)|0,w1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?z2=C3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[L1>>2]=1,p6)for(P6=0;;){K1=(P6|0)<(_6|0);do if(K1){if(P1=y1+(P6<<2)|0,H1=e[P1>>2]|0,q1=(H1|0)==0,Y1=F1+(P6<<2)|0,q1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){X2=(P6|0)<(q6|0);do if(X2)D5=Z0+(P6<<2)|0,V2=+s[D5>>2],f5=n1+(P6<<2)|0,k5=+s[f5>>2],O5=k5+V2,s[f5>>2]=O5,a9=+Ki(+O5),$5=h1+(P6<<2)|0,s[$5>>2]=a9,T=D5;else if(E5=n1+(P6<<2)|0,r5=+s[E5>>2],x2=Z0+(P6<<2)|0,R2=+s[x2>>2],B2=R2+r5,C5=B2<0,f9=+Ki(+r5),o9=+Ki(+R2),F5=o9+f9,u5=h1+(P6<<2)|0,s[u5>>2]=F5,C5){b5=-F5,s[E5>>2]=b5,T=x2;break}else{s[E5>>2]=F5,T=x2;break}while(!1);G5=u1+(P6<<2)|0,s[G5>>2]=0,s[T>>2]=0,e[Y1>>2]=1,X=P6+M6|0,H2=s1+(X<<2)|0,e[H2>>2]=0;break}O1=n1+(P6<<2)|0,l2=+s[O1>>2],T9=+Ki(+l2),z1=Z0+(P6<<2)|0,f2=+s[z1>>2],d6=+Ki(+f2),s2=d6+T9,s[O1>>2]=s2,E2=h1+(P6<<2)|0,A2=+s[E2>>2],V1=u1+(P6<<2)|0,g2=+s[V1>>2],a2=g2+A2,s[E2>>2]=a2,e[Y1>>2]=1,e[P1>>2]=1,V=P6+M6|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,C4=0-i2|0,n2=E4?i2:C4,s4=(X1|0)>-1,A4=0-X1|0,u2=s4?X1:A4,e2=(n2|0)>(u2|0),e2?(y2=(i2|0)>0,S2=i2-X1|0,w2=X1-i2|0,M2=y2?S2:w2,e[o2>>2]=M2,J=e[$2>>2]|0,G2=J,O2=M2):(_2=(X1|0)>0,N2=i2-X1|0,I2=X1-i2|0,J2=_2?N2:I2,e[o2>>2]=J2,e[$2>>2]=X1,t0=e[o2>>2]|0,G2=X1,O2=t0),g4=(G2|0)>-1,S4=0-G2|0,q2=g4?G2:S4,T2=q2<<1,K2=(O2|0)<(T2|0),K2||(T1=0-O2|0,e[o2>>2]=T1,j2=e[$2>>2]|0,x5=0-j2|0,e[$2>>2]=x5)}while(!1);if(I5=p1+(P6<<2)|0,A5=+s[I5>>2],l5=R1+(P6<<2)|0,m5=+s[l5>>2],M1=m5+A5,s[l5>>2]=M1,s[I5>>2]=M1,v5=P6+1|0,A9=(v5|0)==(I3|0),A9)break;P6=v5}b4=e[i0>>2]|0,+AQ(b4,r0,n1,h1,p1,y1,M6,p,f1),W=e[c2>>2]|0,z2=W}if(c5=m4+1|0,o5=(c5|0)<(z2|0),o5)C3=z2,m4=c5;else{n3=z2;break}}else n3=j3;if(B5=M6+K5|0,e5=(n0|0)>(B5|0),N9=I9+K5|0,e5)M6=B5,I9=N9;else{v3=n3;break}}else v3=q5;if(c3=(v3|0)>0,c3)e3=v3,e9=0;else{m=N4;return}for(;n5=(a+1160|0)+(e9<<2)|0,g5=e[n5>>2]|0,Y2=E+(g5<<2)|0,h5=e[Y2>>2]|0,t5=(h5|0)==0,R5=(a+2184|0)+(e9<<2)|0,t5?(W2=e[R5>>2]|0,a5=E+(W2<<2)|0,p5=e[a5>>2]|0,H5=(p5|0)==0,H5?J5=e3:U9=52):U9=52,(U9|0)==52&&(U9=0,e[Y2>>2]=1,X5=e[R5>>2]|0,d5=E+(X5<<2)|0,e[d5>>2]=1,e0=e[c2>>2]|0,J5=e0),u3=e9+1|0,h3=(u3|0)<(J5|0),h3;)e3=J5,e9=u3;m=N4}function ES(t,n,o,a,c){t=t|0,n=+n,o=o|0,a=+a,c=+c;var f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0;for(Je=m,m=m+32480|0,q3=Je+32256|0,B9=Je+1792|0,y9=Je,R=o<<2,S=R,F=m,m=m+((1*S|0)+15&-16)|0,i2=S9(68)|0,ne(B9|0,0,30464)|0,v3=a>0,s4=a<0,w9=0;;){for(Ae=w9<<2,ee=0;r5=ee+Ae|0,I5=(r5|0)<88,I5?(e5=1272+(r5<<2)|0,H5=+s[e5>>2],q9=H5):q9=-30,w3=r5+1|0,o3=(w3|0)<88,o3?(x6=1272+(w3<<2)|0,G6=+s[x6>>2],K6=q9>G6,K6?ie=G6:ie=q9):(r9=q9>-30,r9?ie=-30:ie=q9),y6=r5+2|0,F6=(y6|0)<88,F6?(L6=1272+(y6<<2)|0,X6=+s[L6>>2],A9=ie>X6,A9?b9=X6:b9=ie):(L3=ie>-30,L3?b9=-30:b9=ie),W6=r5+3|0,h9=(W6|0)<88,h9?(o9=1272+(W6<<2)|0,a9=+s[o9>>2],T9=b9>a9,T9?qe=a9:qe=b9):(f9=b9>-30,f9?qe=-30:qe=b9),d6=q3+(ee<<2)|0,s[d6>>2]=qe,M6=ee+1|0,M8=(M6|0)==56,!M8;)ee=M6;if($4=(B9+(w9*1792|0)|0)+448|0,L=2792+(w9*1344|0)|0,n4($4|0,L|0,224)|0,H=(B9+(w9*1792|0)|0)+672|0,c0=(2792+(w9*1344|0)|0)+224|0,n4(H|0,c0|0,224)|0,E0=(B9+(w9*1792|0)|0)+896|0,B0=(2792+(w9*1344|0)|0)+448|0,n4(E0|0,B0|0,224)|0,r1=(B9+(w9*1792|0)|0)+1120|0,a1=(2792+(w9*1344|0)|0)+672|0,n4(r1|0,a1|0,224)|0,Q1=(B9+(w9*1792|0)|0)+1344|0,N1=(2792+(w9*1344|0)|0)+896|0,n4(Q1|0,N1|0,224)|0,l2=(B9+(w9*1792|0)|0)+1568|0,o2=(2792+(w9*1344|0)|0)+1120|0,n4(l2|0,o2|0,224)|0,N2=B9+(w9*1792|0)|0,n4(N2|0,L|0,224)|0,j2=(B9+(w9*1792|0)|0)+224|0,n4(j2|0,L|0,224)|0,v3)for(t8=0;;){if(s4)for(I8=0;g4=16-I8|0,w7=(g4|0)>-1,r7=0-g4|0,G9=w7?g4:r7,z9=+(G9|0),D9=z9*c,d9=D9+a,P6=d9<0,I=P6?0:d9,t9=I>0,f=t9?0:I,C4=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(I8<<2)|0,S4=+s[C4>>2],A4=S4+f,s[C4>>2]=A4,D4=I8+1|0,U8=(D4|0)==56,!U8;)I8=D4;else for(n8=0;c3=16-n8|0,X8=(c3|0)>-1,Y8=0-c3|0,_6=X8?c3:Y8,S6=+(_6|0),R6=S6*c,D6=R6+a,u9=D6<0,C=u9?0:D6,e9=((B9+(w9*1792|0)|0)+(t8*224|0)|0)+(n8<<2)|0,N9=+s[e9>>2],I9=N9+C,s[e9>>2]=I9,E4=n8+1|0,G8=(E4|0)==56,!G8;)n8=E4;if(t3=t8+1|0,w8=(t3|0)==8,w8)break;t8=t3}else for(S8=0;;){if(s4)for(d8=0;Z4=16-d8|0,k7=(Z4|0)>-1,n7=0-Z4|0,m4=k7?Z4:n7,T4=+(m4|0),U9=T4*c,N4=U9+a,o4=N4>0,E=o4?0:N4,h4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(d8<<2)|0,de=+s[h4>>2],H9=de+E,s[h4>>2]=H9,E9=d8+1|0,z8=(E9|0)==56,!z8;)d8=E9;else for(r8=0;Ee=16-r8|0,f7=(Ee|0)>-1,i7=0-Ee|0,Te=f7?Ee:i7,We=+(Te|0),G4=We*c,Ne=G4+a,U4=((B9+(w9*1792|0)|0)+(S8*224|0)|0)+(r8<<2)|0,Se=+s[U4>>2],je=Se+Ne,s[U4>>2]=je,Z9=r8+1|0,T8=(Z9|0)==56,!T8;)r8=Z9;if(se=S8+1|0,Z8=(se|0)==8,Z8)break;S8=se}for(b4=t+(w9<<2)|0,R4=+s[b4>>2],M4=R4,P4=0;;){for(f4=(P4|0)<2,b6=+(P4|0),w=b6*10,y=70-w,O4=f4?50:y,F9=O4+M4,a4=F9,f8=0;_4=((B9+(w9*1792|0)|0)+(P4*224|0)|0)+(f8<<2)|0,W9=+s[_4>>2],oe=W9+a4,s[_4>>2]=oe,ae=f8+1|0,L4=(ae|0)==56,!L4;)f8=ae;for(B4=y9+(P4*224|0)|0,n4(B4|0,q3|0,224)|0,j4=+(P4|0),F4=j4*10,$e=70-F4,v8=0;;)if(C9=(y9+(P4*224|0)|0)+(v8<<2)|0,c6=+s[C9>>2],Ge=$e+c6,s[C9>>2]=Ge,Ce=v8+1|0,l7=(Ce|0)==56,l7){e8=0;break}else v8=Ce;for(;p4=((B9+(w9*1792|0)|0)+(P4*224|0)|0)+(e8<<2)|0,l4=+s[p4>>2],U6=(y9+(P4*224|0)|0)+(e8<<2)|0,De=+s[U6>>2],be=l4>De,be&&(s[U6>>2]=l4),Xe=e8+1|0,_e=(Xe|0)==56,!_e;)e8=Xe;if(c4=P4+1|0,y7=(c4|0)==8,y7){xe=1;break}else P4=c4}for(;;){for(k4=xe+-1|0,Re=0;;)if(g8=(y9+(k4*224|0)|0)+(Re<<2)|0,M=+s[g8>>2],T=(y9+(xe*224|0)|0)+(Re<<2)|0,G=+s[T>>2],P=M>2]=M),z=Re+1|0,$7=(z|0)==56,$7){Ue=0;break}else Re=z;for(;Y=(y9+(xe*224|0)|0)+(Ue<<2)|0,t0=+s[Y>>2],J=((B9+(w9*1792|0)|0)+(xe*224|0)|0)+(Ue<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Ue+1|0,X4=(X|0)==56,!X4;)Ue=X;if(U=xe+1|0,N8=(U|0)==8,N8)break;xe=U}if(a0=w9+1|0,k8=(a0|0)==17,k8)break;w9=a0}for(Q9=n,x4=(o|0)>0,W4=o^-1,me=0;;){for(Z=S9(32)|0,V=i2+(me<<2)|0,e[V>>2]=Z,o0=+(me|0),n0=o0*.5,i0=o0*.34657350182533264,r0=i0+4.135165354540845,K=+Nn(+r0),s0=K/Q9,l0=+Ko(+s0),j=~~l0,$0=+(j|0),g0=$0*n,f0=g0+1,Q0=f0,d0=+qr(+Q0),w0=d0*2.885390043258667,h0=w0+-11.931568145751953,C0=+jm(+h0),I0=~~C0,v0=j+1|0,K0=+(v0|0),b0=K0*n,m0=b0,F0=+qr(+m0),L0=F0*2.885390043258667,T0=L0+-11.931568145751953,U0=+Ko(+T0),q0=~~U0,x0=(I0|0)>(me|0),h7=x0?me:I0,D0=(h7|0)<0,C8=D0?0:h7,M0=(q0|0)>16,p=M0?16:q0,J0=(C8|0)>(p|0),Y0=me+1|0,O0=(Y0|0)<17,z0=n0+3.9657840728759766,te=0;;){if(N0=S9(232)|0,P0=Z+(te<<2)|0,e[P0>>2]=N0,x4)for(i8=0;H0=F+(i8<<2)|0,s[H0>>2]=999,e1=i8+1|0,m9=(e1|0)==(o|0),!m9;)i8=e1;if(!J0)for(ce=C8;;){for(S0=+(ce|0),i1=S0*.5,u8=0,Be=0;;){if(g1=+(u8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,A1=n1*.6931470036506653,Z0=+Nn(+A1),I1=Z0/Q9,h1=~~I1,E1=s1+4.028284072875977,u1=E1*.6931470036506653,d1=+Nn(+u1),B1=d1/Q9,p1=B1+1,R1=~~p1,x1=(h1|0)<0,B=x1?0:h1,y1=(B|0)>(o|0),t7=y1?o:B,S1=(t7|0)<(Be|0),H4=S1?t7:Be,F1=(R1|0)<0,W8=F1?0:R1,L1=(W8|0)>(o|0),q8=L1?o:W8,G1=(H4|0)<(q8|0),w1=(H4|0)<(o|0),J8=G1&w1,J8)for(U1=((B9+(ce*1792|0)|0)+(te*224|0)|0)+(u8<<2)|0,Z1=+s[U1>>2],D1=(Be|0)<(o|0),K1=D1?Be:o,P1=K1^-1,H1=(h1|0)>0,b=h1^-1,q1=H1?b:-1,Y1=(q1|0)<(P1|0),q4=Y1?P1:q1,j1=q4^-1,r2=(R1|0)>0,x=R1^-1,W1=r2?x:-1,O1=(W1|0)<(W4|0),s7=O1?W4:W1,z1=s7-q4|0,f2=q4+o|0,s2=f2^-1,E2=z1>>>0>s2>>>0,_8=E2?z1:s2,A2=j1-_8|0,X9=H4;;)if(V1=F+(X9<<2)|0,g2=+s[V1>>2],a2=g2>Z1,a2&&(s[V1>>2]=Z1),t2=X9+1|0,h8=(t2|0)==(A2|0),h8){Oe=A2;break}else X9=t2;else Oe=H4;if($2=u8+1|0,O8=($2|0)==56,O8){Pe=Oe;break}else u8=$2,Be=Oe}if(c1=(Pe|0)<(o|0),c1)for($1=((B9+(ce*1792|0)|0)+(te*224|0)|0)+220|0,f1=+s[$1>>2],Fe=Pe;X1=F+(Fe<<2)|0,n2=+s[X1>>2],u2=n2>f1,u2&&(s[X1>>2]=f1),e2=Fe+1|0,P8=(e2|0)==(o|0),!P8;)Fe=e2;if(y2=ce+1|0,S2=(ce|0)<(p|0),S2)ce=y2;else break}if(O0){for(D8=0,ge=0;;){if(G2=+(D8|0),q2=G2*.125,T2=q2+n0,O2=T2+3.9032840728759766,K2=O2*.6931470036506653,s5=+Nn(+K2),P2=s5/Q9,T1=~~P2,x5=T2+4.028284072875977,X2=x5*.6931470036506653,D5=+Nn(+X2),V2=D5/Q9,f5=V2+1,k5=~~f5,O5=(T1|0)<0,v=O5?0:T1,$5=(v|0)>(o|0),d3=$5?o:v,v2=(d3|0)<(ge|0),He=v2?d3:ge,E5=(k5|0)<0,j8=E5?0:k5,x2=(j8|0)>(o|0),u7=x2?o:j8,R2=(He|0)<(u7|0),B2=(He|0)<(o|0),A8=R2&B2,A8)for(C5=((B9+(Y0*1792|0)|0)+(te*224|0)|0)+(D8<<2)|0,F5=+s[C5>>2],u5=(ge|0)<(o|0),b5=u5?ge:o,G5=b5^-1,_5=(T1|0)>0,D=T1^-1,H2=_5?D:-1,A5=(H2|0)<(G5|0),o8=A5?G5:H2,l5=o8^-1,m5=(k5|0)>0,Q=k5^-1,M1=m5?Q:-1,v5=(M1|0)<(W4|0),b8=v5?W4:M1,c5=b8-o8|0,o5=o8+o|0,z2=o5^-1,c2=c5>>>0>z2>>>0,Ye=c2?c5:z2,B5=l5-Ye|0,Q4=He;;)if(n5=F+(Q4<<2)|0,g5=+s[n5>>2],Y2=g5>F5,Y2&&(s[n5>>2]=F5),h5=Q4+1|0,Q7=(h5|0)==(B5|0),Q7){s8=B5;break}else Q4=h5;else s8=He;if(t5=D8+1|0,V8=(t5|0)==56,V8){pe=s8;break}else D8=t5,ge=s8}if(_2=(pe|0)<(o|0),_2)for(I2=((B9+(Y0*1792|0)|0)+(te*224|0)|0)+220|0,J2=+s[I2>>2],E8=pe;R5=F+(E8<<2)|0,W2=+s[R5>>2],a5=W2>J2,a5&&(s[R5>>2]=J2),F2=E8+1|0,c7=(F2|0)==(o|0),!c7;)E8=F2}for(w2=Z+(te<<2)|0,m2=Z+(te<<2)|0,M2=Z+(te<<2)|0,le=0;;){u3=+(le|0),h3=u3*.125,J5=z0+h3,e3=J5*.6931470036506653,n3=+Nn(+e3),C3=n3/Q9,L5=~~C3,K5=(L5|0)<0;do if(K5)f3=le+2|0,B3=e[w2>>2]|0,K3=B3+(f3<<2)|0,s[K3>>2]=-999;else if(T3=(L5|0)<(o|0),T3){t6=F+(L5<<2)|0,R3=e[t6>>2]|0,N3=le+2|0,$3=e[m2>>2]|0,l3=$3+(N3<<2)|0,e[l3>>2]=R3;break}else{z5=le+2|0,y3=e[M2>>2]|0,W5=y3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(m3=le+1|0,g7=(m3|0)==56,g7)break;le=m3}p5=N0+8|0,X5=+s[p5>>2],d5=X5>-200;do if(d5)j9=0;else if(q5=N0+12|0,U5=+s[q5>>2],P5=U5>-200,P5)j9=1;else if(Q3=N0+16|0,i6=+s[Q3>>2],W3=i6>-200,W3)j9=2;else if(U3=N0+20|0,V5=+s[U3>>2],O3=V5>-200,O3)j9=3;else if($6=N0+24|0,I3=+s[$6>>2],w6=I3>-200,w6)j9=4;else if(k6=N0+28|0,v6=+s[k6>>2],B6=v6>-200,B6)j9=5;else if(j3=N0+32|0,l6=+s[j3>>2],p6=l6>-200,p6)j9=6;else if(q6=N0+36|0,C6=+s[q6>>2],S3=C6>-200,S3)j9=7;else if(X3=N0+40|0,e6=+s[X3>>2],f6=e6>-200,f6)j9=8;else if(P3=N0+44|0,D3=+s[P3>>2],H3=D3>-200,H3)j9=9;else if(V3=N0+48|0,s6=+s[V3>>2],i3=s6>-200,i3)j9=10;else if(O6=N0+52|0,s3=+s[O6>>2],A6=s3>-200,A6)j9=11;else if(u6=N0+56|0,b3=+s[u6>>2],T6=b3>-200,T6)j9=12;else if(r6=N0+60|0,Q6=+s[r6>>2],J6=Q6>-200,J6)j9=13;else{if(I6=N0+64|0,Y6=+s[I6>>2],F3=Y6>-200,F3){j9=14;break}if(Z6=N0+68|0,N6=+s[Z6>>2],j6=N6>-200,j6){j9=15;break}j9=16}while(!1);for(s[N0>>2]=j9,H8=55;;){if(w5=H8+2|0,G3=N0+(w5<<2)|0,M5=+s[G3>>2],n6=M5>-200,n6){e7=H8;break}if(A3=H8+-1|0,x3=(A3|0)>17,x3)H8=A3;else{e7=A3;break}}if(h6=+(e7|0),p3=N0+4|0,s[p3>>2]=h6,k3=te+1|0,F8=(k3|0)==8,F8)break;te=k3}if(L8=(Y0|0)==17,L8)break;me=Y0}return m=Je,i2|0}function sQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0;if(b4=m,w=t<<2,E=w,y=m,m=m+((1*E|0)+15&-16)|0,I=w,A2=m,m=m+((1*I|0)+15&-16)|0,C=w,W2=m,m=m+((1*C|0)+15&-16)|0,p=w,n3=m,m=m+((1*p|0)+15&-16)|0,B=w,W5=m,m=m+((1*B|0)+15&-16)|0,w5=+s[o>>2],i6=w5+c,v6=i6<1,A4=v6?1:i6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[W2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,V=(t|0)>1,V)for(L3=1,d6=D,M6=D,e9=0,N9=0,I9=z,E4=1;c1=o+(L3<<2)|0,h1=+s[c1>>2],F1=h1+c,q1=F1<1,Q9=q1?1:F1,V1=Q9*Q9,y2=V1+d6,T2=V1*E4,f5=T2+M6,F5=T2*E4,v5=F5+e9,Y2=V1*Q9,h5=Y2+I9,t5=T2*Q9,R5=t5+N9,a5=y+(L3<<2)|0,s[a5>>2]=y2,F2=A2+(L3<<2)|0,s[F2>>2]=f5,p5=W2+(L3<<2)|0,s[p5>>2]=v5,H5=n3+(L3<<2)|0,s[H5>>2]=h5,X5=W5+(L3<<2)|0,s[X5>>2]=R5,d5=L3+1|0,u3=E4+1,F6=(d5|0)==(t|0),!F6;)L3=d5,d6=y2,M6=f5,e9=v5,N9=R5,I9=h5,E4=u3;if(g0=e[n>>2]|0,b0=g0>>16,J0=(b0|0)>-1,J0)J5=g0,u6=0,Q6=0,Y6=1,L6=0,s4=0;else for(L5=g0,B3=b0,X6=0,g4=0;;)if(C3=L5&65535,K5=y+(C3<<2)|0,w3=+s[K5>>2],f3=0-B3|0,K3=y+(f3<<2)|0,T3=+s[K3>>2],z5=T3+w3,y3=A2+(C3<<2)|0,t6=+s[y3>>2],R3=A2+(f3<<2)|0,N3=+s[R3>>2],o3=t6-N3,$3=W2+(C3<<2)|0,l3=+s[$3>>2],m3=W2+(f3<<2)|0,q5=+s[m3>>2],U5=q5+l3,P5=n3+(C3<<2)|0,G3=+s[P5>>2],M5=n3+(f3<<2)|0,n6=+s[M5>>2],t3=n6+G3,A3=W5+(C3<<2)|0,x3=+s[A3>>2],h6=W5+(f3<<2)|0,p3=+s[h6>>2],k3=x3-p3,Q3=t3*U5,W3=k3*o3,U3=Q3-W3,V5=k3*z5,v3=t3*o3,c3=V5-v3,O3=U5*z5,$6=o3*o3,I3=O3-$6,w6=c3*g4,k6=w6+U3,B6=k6/I3,j3=B6<0,j6=j3?0:B6,l6=j6-c,p6=a+(X6<<2)|0,s[p6>>2]=l6,_6=X6+1|0,q6=g4+1,C6=n+(_6<<2)|0,S3=e[C6>>2]|0,X3=S3>>16,e6=(X3|0)>-1,e6){J5=S3,u6=U3,Q6=c3,Y6=I3,L6=_6,s4=q6;break}else L5=S3,B3=X3,X6=_6,g4=q6;if(h3=J5&65535,e3=(h3|0)<(t|0),e3)for(v=J5,V3=h3,W6=L6,z9=s4;;)if(D3=v>>16,H3=y+(V3<<2)|0,S6=+s[H3>>2],s6=y+(D3<<2)|0,i3=+s[s6>>2],O6=S6-i3,s3=A2+(V3<<2)|0,A6=+s[s3>>2],Q=A2+(D3<<2)|0,b=+s[Q>>2],x=A6-b,R=W2+(V3<<2)|0,F=+s[R>>2],L=W2+(D3<<2)|0,M=+s[L>>2],T=F-M,G=n3+(V3<<2)|0,P=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=P-t0,W=W5+(V3<<2)|0,e0=+s[W>>2],H=W5+(D3<<2)|0,X=+s[H>>2],U=e0-X,a0=J*T,Z=U*x,o0=a0-Z,n0=U*O6,i0=J*x,r0=n0-i0,K=T*O6,c0=x*x,s0=K-c0,l0=r0*z9,j=l0+o0,$0=j/s0,f0=$0<0,r9=f0?0:$0,Q0=r9-c,d0=a+(W6<<2)|0,s[d0>>2]=Q0,w0=W6+1|0,h0=z9+1,E0=n+(w0<<2)|0,C0=e[E0>>2]|0,I0=C0&65535,v0=(I0|0)<(t|0),v0)v=C0,V3=I0,W6=w0,z9=h0;else{b3=o0,R6=r0,F3=s0,A9=w0,G9=h0;break}else b3=u6,R6=Q6,F3=Y6,A9=L6,G9=s4;if(P3=(A9|0)<(t|0),P3)for(h9=A9,D9=G9;K0=D9*R6,m0=K0+b3,F0=m0/F3,L0=F0<0,x6=L0?0:F0,T0=x6-c,U0=a+(h9<<2)|0,s[U0>>2]=T0,B0=h9+1|0,q0=D9+1,y6=(B0|0)==(t|0),!y6;)h9=B0,D9=q0;if(x0=(f|0)<1,x0){m=b4;return}if(D0=(f|0)/2&-1,M0=D0-f|0,Y0=(M0|0)>-1,Y0)T6=b3,J6=R6,Z6=F3,f9=0,d9=0;else for(O0=f-D0|0,H0=D0,i1=M0,u9=0,P6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],S0=0-i1|0,$1=y+(S0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(S0<<2)|0,n1=+s[a1>>2],A1=s1-n1,Z0=W2+(H0<<2)|0,I1=+s[Z0>>2],E1=W2+(S0<<2)|0,u1=+s[E1>>2],d1=u1+I1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(S0<<2)|0,R1=+s[Q1>>2],x1=R1+p1,y1=W5+(H0<<2)|0,S1=+s[y1>>2],L1=W5+(S0<<2)|0,G1=+s[L1>>2],w1=S1-G1,U1=x1*d1,Z1=w1*A1,N1=U1-Z1,D1=w1*g1,K1=x1*A1,P1=D1-K1,H1=d1*g1,Y1=A1*A1,j1=H1-Y1,r2=P1*P6,W1=r2+N1,O1=W1/j1,l2=O1-c,z1=a+(u9<<2)|0,f2=+s[z1>>2],s2=l2>2]=l2),E2=u9+1|0,g2=P6+1,a2=D0+E2|0,t2=a2-f|0,K6=(E2|0)==(O0|0),K6){T6=N1,J6=P1,Z6=j1,f9=O0,d9=g2;break}else H0=a2,i1=t2,u9=E2,P6=g2;if(z0=f9+D0|0,N0=(z0|0)<(t|0),N0)for(P0=t-D0|0,S=z0,a9=f9,C4=d9;;)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,S2=A2+(S<<2)|0,w2=+s[S2>>2],m2=A2+(i2<<2)|0,M2=+s[m2>>2],_2=w2-M2,N2=W2+(S<<2)|0,I2=+s[N2>>2],J2=W2+(i2<<2)|0,G2=+s[J2>>2],q2=I2-G2,O2=n3+(S<<2)|0,K2=+s[O2>>2],s5=n3+(i2<<2)|0,P2=+s[s5>>2],T1=K2-P2,j2=W5+(S<<2)|0,x5=+s[j2>>2],X2=W5+(i2<<2)|0,D5=+s[X2>>2],V2=x5-D5,k5=T1*q2,O5=V2*_2,$5=k5-O5,v2=V2*e2,E5=T1*_2,r5=v2-E5,x2=q2*e2,R2=_2*_2,B2=x2-R2,C5=r5*C4,u5=C5+$5,b5=u5/B2,G5=b5-c,_5=a+(a9<<2)|0,H2=+s[_5>>2],I5=G5>2]=G5),A5=a9+1|0,l5=C4+1,m5=A5+D0|0,D6=(A5|0)==(P0|0),D6){r6=$5,I6=r5,N6=B2,o9=P0,t9=l5;break}else S=m5,a9=A5,C4=l5;else r6=T6,I6=J6,N6=Z6,o9=f9,t9=d9;if($2=(o9|0)<(t|0),$2)T9=o9,S4=t9;else{m=b4;return}for(;M1=S4*I6,c5=M1+r6,o5=c5/N6,z2=o5-c,c2=a+(T9<<2)|0,B5=+s[c2>>2],e5=z2>2]=z2),n5=T9+1|0,g5=S4+1,G6=(n5|0)==(t|0),!G6;)T9=n5,S4=g5;m=b4}function CS(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0;if(c1=m,f=o<<2,a=f,E=m,m=m+((1*a|0)+15&-16)|0,c=f,b=m,m=m+((1*c|0)+15&-16)|0,t0=(o|0)>0,t0)B0=0,O0=0;else{m=c1;return}for(;;){v0=(O0|0)<2;do if(v0)m0=E+(O0<<2)|0,e[m0>>2]=B0,I=t+(B0<<2)|0,C=e[I>>2]|0,p=b+(O0<<2)|0,e[p>>2]=C,H0=O0;else{for(K0=t+(B0<<2)|0,b0=+s[K0>>2],z0=O0;;){if(B=z0+-1|0,v=b+(B<<2)|0,S=+s[v>>2],w=b0>2]|0,R=x+n|0,F=(B0|0)<(R|0),L=(z0|0)>1,D0=L&F,!D0){P0=z0,i1=12;break}if(M=z0+-2|0,T=b+(M<<2)|0,G=+s[T>>2],P=!(S<=G),P){P0=z0,i1=12;break}if(z=E+(M<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(B0|0)<(J|0),W)z0=B;else{P0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(N0<<2)|0,e[y>>2]=B0,D=b+(N0<<2)|0,s[D>>2]=b0,H0=N0;break}else if((i1|0)==12){i1=0,e0=E+(P0<<2)|0,e[e0>>2]=B0,H=b+(P0<<2)|0,s[H>>2]=b0,H0=P0;break}}while(!1);if(r1=H0+1|0,X=B0+1|0,U0=(X|0)==(o|0),U0){e1=H0,S0=r1;break}else B0=X,O0=r1}if(n0=(e1|0)>-1,!n0){m=c1;return}for(Q0=n+1|0,q0=0,M0=0;;){if(U=(q0|0)<(e1|0),U?(a0=q0+1|0,Z=b+(a0<<2)|0,V=+s[Z>>2],o0=b+(q0<<2)|0,i0=+s[o0>>2],r0=V>i0,r0?(K=E+(a0<<2)|0,c0=e[K>>2]|0,F0=c0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(q0<<2)|0,l0=e[s0>>2]|0,j=Q0+l0|0,F0=j),$0=(F0|0)>(o|0),x0=$0?o:F0,g0=(M0|0)<(x0|0),g0)for(f0=b+(q0<<2)|0,d0=e[f0>>2]|0,w0=(F0|0)<(o|0),h0=w0?F0:o,Y0=M0;;)if(E0=t+(Y0<<2)|0,e[E0>>2]=d0,C0=Y0+1|0,L0=(C0|0)==(h0|0),L0){J0=h0;break}else Y0=C0;else J0=M0;if(I0=q0+1|0,T0=(I0|0)==(S0|0),T0)break;q0=I0,M0=J0}m=c1}function AQ(t,n,o,a,c,f,E,I,C){t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,f=f|0,E=E|0,I=I|0,C=C|0;var p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0;if(l2=m,R=I<<2,D=R,F=m,m=m+((1*D|0)+15&-16)|0,e0=t+500|0,K=e[e0>>2]|0,h0=(K|0)==0,h0?p1=I:(U0=t+504|0,P0=e[U0>>2]|0,s1=P0-E|0,p1=s1),L1=(p1|0)>(I|0),Y1=L1?I:p1,L=(Y1|0)>0,L)for(M=(f|0)==0,T=(p1|0)<(I|0),G=T?p1:I,P1=0;;){M?O1=9:(t0=f+(P1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(O1=9));do if((O1|0)==9)if(O1=0,H=a+(P1<<2)|0,X=+s[H>>2],U=c+(P1<<2)|0,a0=+s[U>>2],Z=X/a0,V=o+(P1<<2)|0,o0=+s[V>>2],n0=o0<0,i0=Z,r0=+Mn(+i0),c0=+Ni(r0),n0){s0=-c0,l0=~~s0,j=C+(P1<<2)|0,e[j>>2]=l0;break}else{$0=~~c0,g0=C+(P1<<2)|0,e[g0>>2]=$0;break}while(!1);if(f0=P1+1|0,D1=(f0|0)==(G|0),D1){K1=G;break}else P1=f0}else K1=0;if(P=(K1|0)<(I|0),!P)return y=0,m=l2,+y;for(z=(f|0)!=0,Y=n-E|0,p=0,G1=0,H1=K1;;){z?(Q0=f+(H1<<2)|0,d0=e[Q0>>2]|0,w0=(d0|0)==0,w0?O1=15:(B=p,w1=G1)):O1=15;do if((O1|0)==15)if(O1=0,E0=a+(H1<<2)|0,C0=+s[E0>>2],I0=c+(H1<<2)|0,v0=+s[I0>>2],K0=C0/v0,b0=!(K0<.25),m0=(H1|0)<(Y|0),j1=z&m0,r2=b0|j1,r2){B0=o+(H1<<2)|0,q0=+s[B0>>2],x0=q0<0,D0=K0,M0=+Mn(+D0),J0=+Ni(M0),Y0=-J0,b=x0?Y0:J0,Q=~~b,O0=C+(H1<<2)|0,e[O0>>2]=Q,z0=i5(Q,Q)|0,N0=+(z0|0),r1=+s[I0>>2],H0=N0*r1,s[E0>>2]=H0,B=p,w1=G1;break}else{F0=K0+p,L0=G1+1|0,T0=F+(G1<<2)|0,e[T0>>2]=E0,B=F0,w1=L0;break}while(!1);if(e1=H1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=w1;break}else p=B,G1=w1,H1=e1}if(S0=(U1|0)==0,S0||(xh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,m=l2,+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,x=0,W1=0):(h1=o+(A1<<2)|0,E1=e[h1>>2]|0,u1=E1&-2147483648,d1=u1|1065353216,B1=(e[p2>>2]=d1,+s[p2>>2]),Q1=~~B1,R1=S+-1,x1=c+(A1<<2)|0,y1=+s[x1>>2],w=R1,x=Q1,W1=y1),S1=C+(A1<<2)|0,e[S1>>2]=x,s[l1>>2]=W1,F1=q1+1|0,Z1=(F1|0)==(U1|0),Z1){y=w;break}else S=w,q1=F1;return m=l2,+y}function mS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,o=e[t>>2]|0,a=+s[o>>2],c=e[n>>2]|0,f=+s[c>>2],E=af,p=C&1,B=I-p|0,B|0}function BS(t){t=t|0;var n=0,o=0,a=0;a=m,n=(t|0)==0,n||d2(t)}function pS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0;if(W=m,o=(t|0)==0,!o){if(a=t+4|0,y=e[a>>2]|0,F=(y|0)>0,L=t+20|0,F)for(R=y,Y=0;M=e[L>>2]|0,T=M+(Y<<2)|0,G=e[T>>2]|0,P=(G|0)==0,P?f=R:(d2(G),n=e[a>>2]|0,f=n),z=Y+1|0,c=(z|0)<(f|0),c;)R=f,Y=z;if(E=e[L>>2]|0,d2(E),I=t+24|0,C=e[I>>2]|0,p=(C|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,d2(w),D=t0+1|0,Q=e[I>>2]|0,b=(D|0)<(Q|0),b;)t0=D;x=e[B>>2]|0,d2(x),d2(t)}}function QS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0;if($0=m,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,a0=U+-1|0,U2(n,a0,24),Z=t+12|0,V=e[Z>>2]|0,o0=V+-1|0,U2(n,o0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,C=(I|0)>0,!!C){for(p=t+24|0,i0=0,K=0;;){if(S=p+(K<<2)|0,w=e[S>>2]|0,y=L7(w)|0,D=(y|0)>3,b=e[S>>2]|0,D?(U2(n,b,3),U2(n,1,1),x=e[S>>2]|0,R=x>>3,U2(n,R,5)):U2(n,b,4),F=e[S>>2]|0,L=(F|0)==0,L)s0=0;else for(o=F,l0=0;;)if(M=o&1,T=M+l0|0,G=o>>>1,P=(G|0)==0,P){s0=T;break}else o=G,l0=T;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,c0=0;e0=v+(c0<<2)|0,H=e[e0>>2]|0,U2(n,H,8),X=c0+1|0,r0=(X|0)==(a|0),!r0;)c0=X}}function yS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=m,E=r4(1,2840)|0,I=t+28|0,x=e[I>>2]|0,J=z4(n,24)|0,e[E>>2]=J,i0=z4(n,24)|0,d0=E+4|0,e[d0>>2]=i0,L0=z4(n,24)|0,z0=L0+1|0,P0=E+8|0,e[P0>>2]=z0,r1=z4(n,6)|0,C=r1+1|0,p=E+12|0,e[p>>2]=C,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(b=z4(n,3)|0,R=z4(n,1)|0,F=(R|0)<0,F){a1=26;break e}if(L=(R|0)==0,L)S0=b;else{if(M=z4(n,5)|0,T=(M|0)<0,T){a1=26;break e}G=M<<3,P=G|b,S0=P}if(z=y+(c1<<2)|0,e[z>>2]=S0,Y=(S0|0)==0,Y)l1=0;else for(a=S0,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,a0=e[p>>2]|0,Z=(U|0)<(a0|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,o0=(V|0)<0,o0)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(c0=e[v>>2]|0,s0=x+24|0,l0=e[s0>>2]|0,j=(c0|0)<(l0|0),j){if(N0)for($0=E+280|0,f1=0;;){if(Q0=$0+(f1<<2)|0,w0=e[Q0>>2]|0,h0=(w0|0)<(l0|0),!h0||(E0=(x+1824|0)+(w0<<2)|0,C0=e[E0>>2]|0,I0=C0+12|0,v0=e[I0>>2]|0,K0=(v0|0)==0,g0=f1+1|0,K0))break e;if(f0=(g0|0)<(H0|0),f0)f1=g0;else break}if(b0=(x+1824|0)+(c0<<2)|0,m0=e[b0>>2]|0,F0=m0+4|0,T0=e[F0>>2]|0,U0=e[m0>>2]|0,B0=(U0|0)<1,!B0){for(q0=e[p>>2]|0,i1=U0,g1=1;;){if(M0=i5(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,o=E,o|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(o=0,o|0):(d2(E),o=0,o|0)}function wS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0;if(p1=m,f=r4(1,44)|0,E=t+4|0,b=e[E>>2]|0,t0=b+28|0,n0=e[t0>>2]|0,e[f>>2]=n,Q0=n+12|0,F0=e[Q0>>2]|0,O0=f+4|0,e[O0>>2]=F0,r1=n0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,C=H0,p=n+20|0,B=e[p>>2]|0,v=C+(B*56|0)|0,S=f+16|0,e[S>>2]=v,w=e[v>>2]|0,y=r4(F0,4)|0,D=f+20|0,e[D>>2]=y,Q=(F0|0)>0,Q)for(x=n+24|0,R=n+280|0,e1=0,l1=0,h1=0;;){if(F=x+(l1<<2)|0,L=e[F>>2]|0,M=L7(L)|0,T=(M|0)==0,T)c1=e1,E1=h1;else if(G=(M|0)>(h1|0),a=G?M:h1,P=r4(M,4)|0,z=y+(l1<<2)|0,e[z>>2]=P,Y=(M|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,S0=e1,A1=0;;)if(e0=1<>2]|0,a0=S0+1|0,Z=R+(S0<<2)|0,V=e[Z>>2]|0,o0=U+(V*56|0)|0,i0=e[W>>2]|0,r0=i0+(A1<<2)|0,e[r0>>2]=o0,i1=a0),K=A1+1|0,f1=(K|0)==(M|0),f1){c1=i1,E1=a;break}else S0=i1,A1=K;else c1=e1,E1=a;if(c0=l1+1|0,s0=(c0|0)<(F0|0),s0)e1=c1,l1=c0,h1=E1;else{I1=E1;break}}else I1=0;if(l0=f+24|0,e[l0>>2]=1,j=(w|0)>0,j){for(g0=1,s1=0;;)if($0=i5(g0,F0)|0,f0=s1+1|0,$1=(f0|0)==(w|0),$1){o=$0;break}else g0=$0,s1=f0;e[l0>>2]=o,h0=o}else h0=1;if(d0=f+8|0,e[d0>>2]=I1,w0=h0<<2,E0=S9(w0)|0,C0=f+28|0,e[C0>>2]=E0,I0=(h0|0)>0,!I0)return f|0;if(v0=w<<2,!j){for(a1=0;Y0=S9(v0)|0,z0=E0+(a1<<2)|0,e[z0>>2]=Y0,N0=a1+1|0,P0=(N0|0)<(h0|0),P0;)a1=N0;return f|0}for(K0=e[C0>>2]|0,n1=0;;){for(D0=S9(v0)|0,M0=E0+(n1<<2)|0,e[M0>>2]=D0,J0=K0+(n1<<2)|0,q0=e[J0>>2]|0,c=h0,Z0=0,d1=n1;u1=(c|0)/(F0|0)&-1,L0=(d1|0)/(u1|0)&-1,T0=i5(L0,u1)|0,U0=d1-T0|0,B0=q0+(Z0<<2)|0,e[B0>>2]=L0,x0=Z0+1|0,g1=(x0|0)==(w|0),!g1;)c=u1,Z0=x0,d1=U0;if(b0=n1+1|0,m0=(b0|0)<(h0|0),m0)n1=b0;else break}return f|0}function kS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0;if(L=m,f=(c|0)>0,f)Q=0,b=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=b:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=b+1|0,S=o+(b<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){R=x;break}else Q=w,b=x;return y=(R|0)==0,y||oQ(t,n,o,R,2),0}function vS(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0;if(G=m,C=(f|0)>0,C)R=0,F=0;else return 0;for(;;)if(p=c+(R<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?L=F:(S=a+(R<<2)|0,w=e[S>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=w,L=y),Q=R+1|0,x=(Q|0)==(f|0),x){M=L;break}else R=Q,F=L;return b=(M|0)==0,b||aQ(t,o,a,M,E),0}function SS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0;if(B1=m,I=(c|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(C=a+(i1<<2)|0,R=e[C>>2]|0,W=(R|0)==0,W?E1=h1:(r0=o+(i1<<2)|0,w0=e[r0>>2]|0,T0=h1+1|0,J0=o+(h1<<2)|0,e[J0>>2]=w0,E1=T0),Y0=i1+1|0,P0=(Y0|0)==(c|0),P0){u1=E1;break}else i1=Y0,h1=E1;if(O0=(u1|0)==0,O0)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,b=D-Q|0,x=(b|0)/(v|0)&-1,F=u1<<2,L=P7(t,F)|0,M=+(v|0),T=100/M,G=T,P=(u1|0)>0,P)for(z=x<<2,c1=0;H=P7(t,z)|0,X=L+(c1<<2)|0,e[X>>2]=H,ne(H|0,0,z|0)|0,U=c1+1|0,S0=(U|0)==(u1|0),!S0;)c1=U;if(Y=(x|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if(a0=i5($1,v)|0,Z=e[p>>2]|0,V=Z+a0|0,P)for(g1=0;;){if(t0)for(o0=o+(g1<<2)|0,n0=e[o0>>2]|0,N0=0,l1=0,A1=0;;)if(i0=V+l1|0,K=n0+(i0<<2)|0,c0=e[K>>2]|0,f1=(c0|0)>-1,Z0=0-c0|0,s0=f1?c0:Z0,l0=(s0|0)>(A1|0),E=l0?s0:A1,j=s0+N0|0,$0=l1+1|0,r1=($0|0)==(v|0),r1){z0=j,n1=E;break}else N0=j,l1=$0,A1=E;else z0=0,n1=0;g0=+(z0|0),f0=g0*G,Q0=~~f0;e:do if(e0)for(a1=0;;){if(d0=(p+2328|0)+(a1<<2)|0,h0=e[d0>>2]|0,E0=(n1|0)>(h0|0),!E0&&(C0=(p+2584|0)+(a1<<2)|0,I0=e[C0>>2]|0,v0=(I0|0)<0,K0=(Q0|0)<(I0|0),I1=v0|K0,I1)){s1=a1;break e}if(b0=a1+1|0,m0=(b0|0)<(J|0),m0)a1=b0;else{s1=b0;break}}else s1=0;while(!1);if(F0=L+(g1<<2)|0,L0=e[F0>>2]|0,U0=L0+($1<<2)|0,e[U0>>2]=s1,B0=g1+1|0,H0=(B0|0)==(u1|0),H0)break;g1=B0}if(q0=$1+1|0,e1=(q0|0)==(x|0),e1)break;$1=q0}return x0=n+40|0,D0=e[x0>>2]|0,M0=D0+1|0,e[x0>>2]=M0,f=L,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0;if(L=m,f=(c|0)>0,f)Q=0,b=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,C=(I|0)==0,C?x=b:(p=o+(Q<<2)|0,B=e[p>>2]|0,v=b+1|0,S=o+(b<<2)|0,e[S>>2]=B,x=v),w=Q+1|0,D=(w|0)==(c|0),D){R=x;break}else Q=w,b=x;return y=(R|0)==0,y||oQ(t,n,o,R,3),0}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,C=(c|0)>0,C)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(h0=e[n>>2]|0,K0=h0+8|0,b0=e[K0>>2]|0,m0=h0+12|0,F0=e[m0>>2]|0,B=h0+4|0,v=e[B>>2]|0,S=e[h0>>2]|0,w=v-S|0,y=(w|0)/(b0|0)&-1,D=P7(t,4)|0,Q=y<<2,b=P7(t,Q)|0,e[D>>2]=b,ne(b|0,0,Q|0)|0,x=(y|0)>0,x)for(R=e[h0>>2]|0,L=(R|0)/(c|0)&-1,M=(b0|0)>0,T=F0+-1|0,G=(F0|0)>1,P=e[D>>2]|0,z=(c|0)>1,J0=0,H0=L;;){if(M)for(Y=e[o>>2]|0,T0=0,z0=0,S0=H0,c1=0;;){if(t0=Y+(S0<<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(B0=T0,r1=1;;)if(X=o+(r1<<2)|0,U=e[X>>2]|0,a0=U+(S0<<2)|0,Z=e[a0>>2]|0,O0=(Z|0)>-1,f1=0-Z|0,V=O0?Z:f1,o0=(V|0)>(B0|0),E=o0?V:B0,n0=r1+1|0,x0=(n0|0)==(c|0),x0){U0=E;break}else B0=E,r1=n0;else U0=T0;if(i0=S0+1|0,r0=z0+c|0,c0=(r0|0)<(b0|0),c0)T0=U0,z0=r0,S0=i0,c1=I;else{L0=U0,e1=i0,i1=I;break}}else L0=0,e1=H0,i1=0;e:do if(G)for(P0=0;;){if(s0=(h0+2328|0)+(P0<<2)|0,l0=e[s0>>2]|0,j=(i1|0)>(l0|0),!j&&($0=(h0+2584|0)+(P0<<2)|0,g0=e[$0>>2]|0,f0=(L0|0)>(g0|0),!f0)){N0=P0;break e}if(Q0=P0+1|0,d0=(Q0|0)<(T|0),d0)P0=Q0;else{N0=Q0;break}}else N0=0;while(!1);if(w0=P+(J0<<2)|0,e[w0>>2]=N0,E0=J0+1|0,D0=(E0|0)==(y|0),D0)break;J0=E0,H0=e1}return C0=n+40|0,I0=e[C0>>2]|0,v0=I0+1|0,e[C0>>2]=v0,f=D,f|0}function _S(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0;if(n0=m,m=m+16|0,V=n0,C=n+36|0,p=e[C>>2]|0,F=(p|0)/2&-1,L=f<<2,M=i5(L,F)|0,T=P7(n,M)|0,e[V>>2]=T,G=(f|0)>0,!G)return m=n0,0;for(P=(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,P)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=T+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,b=e0+f|0,x=(Q|0)<(F|0),x;)W=Q,e0=b;if(R=J+1|0,t0=(R|0)==(f|0),t0){a0=U;break}else J=R,Z=U}return X=(a0|0)==0,X?(m=n0,0):(aQ(t,o,V,1,E),m=n0,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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0;if(Q1=m,I=e[n>>2]|0,C=I+8|0,R=e[C>>2]|0,W=n+16|0,r0=e[W>>2]|0,w0=e[r0>>2]|0,T0=t+36|0,N0=e[T0>>2]|0,l1=i5(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)/(R|0)&-1,Q=w0+-1|0,b=Q+D|0,x=(b|0)/(w0|0)&-1,F=x<<2,L=P7(t,F)|0,M=(c|0)>0;e:do if(M)for(n1=0;;){if(T=a+(n1<<2)|0,G=e[T>>2]|0,P=(G|0)==0,!P){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,a0=I+16|0,Z=n+28|0,V=(w0|0)>0,o0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,c0=YC(K,U)|0,s0=(c0|0)==-1,s0){p1=23;break e}if(l0=e[a0>>2]|0,j=(c0|0)<(l0|0),!j){p1=23;break e}if($0=e[Z>>2]|0,g0=$0+(c0<<2)|0,f0=e[g0>>2]|0,Q0=L+(E1<<2)|0,e[Q0>>2]=f0,d0=(f0|0)==0,d0){p1=23;break e}}if(h0=(A1|0)<(D|0),d1=V&h0,d1)for(E0=L+(E1<<2)|0,I1=A1,h1=0;;){if(C0=e[E0>>2]|0,I0=C0+(h1<<2)|0,v0=e[I0>>2]|0,K0=(I+24|0)+(v0<<2)|0,b0=e[K0>>2]|0,m0=b0&i0,F0=(m0|0)==0,!F0&&(L0=e[o0>>2]|0,U0=L0+(v0<<2)|0,B0=e[U0>>2]|0,q0=B0+(B1<<2)|0,x0=e[q0>>2]|0,D0=(x0|0)==0,!D0&&(M0=i5(I1,R)|0,J0=e[I>>2]|0,Y0=J0+M0|0,O0=Nv(x0,o,Y0,c,U,R)|0,z0=(O0|0)==-1,z0))){p1=23;break e}if(P0=h1+1|0,r1=I1+1|0,H0=(P0|0)<(w0|0),e1=(r1|0)<(D|0),u1=H0&e1,u1)I1=r1,h1=P0;else{Z0=r1;break}}else Z0=A1;if(S0=E1+1|0,i1=(Z0|0)<(D|0),i1)A1=Z0,E1=S0;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 oQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0;if(j1=m,p=e[n>>2]|0,B=p+8|0,L=e[B>>2]|0,H=n+16|0,c0=e[H>>2]|0,E0=e[c0>>2]|0,B0=t+36|0,r1=e[B0>>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){m=j1;return}if(Q=(y|0)/(L|0)&-1,b=a<<2,E=b,x=m,m=m+((1*E|0)+15&-16)|0,R=(a|0)>0,R)for(F=E0+-1|0,M=F+Q|0,T=(M|0)/(E0|0)&-1,G=T<<2,G1=0;a0=P7(t,G)|0,Z=x+(G1<<2)|0,e[Z>>2]=a0,V=G1+1|0,x1=(V|0)==(a|0),!x1;)G1=V;if(P=n+8|0,z=e[P>>2]|0,Y=(z|0)>0,!Y){m=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(E0|0)>0,U=n+20|0,C=R^1,q1=0;e:for(;;){if(t0)for(o0=1<>2]|0,H0=YC(P0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(S0=e[W>>2]|0,i1=(H0|0)<(S0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=x+(w1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,z0=w1+1|0,n1){Y1=25;break e}if(N0=(z0|0)<(a|0),N0)w1=z0;else break}n0=(y1|0)<(Q|0),H1=X&n0;t:do if(H1){if(R)L1=y1,N1=0;else for(F1=y1,Z1=0;;)if(A1=Z1+1|0,Z0=F1+1|0,I1=(A1|0)<(E0|0),h1=(Z0|0)<(Q|0),K1=I1&h1,K1)F1=Z0,Z1=A1;else{S1=Z0;break t}for(;;){for($0=i5(L1,L)|0,U1=0;;){if(l0=e[p>>2]|0,j=l0+$0|0,g0=x+(U1<<2)|0,f0=e[g0>>2]|0,Q0=f0+(D1<<2)|0,d0=e[Q0>>2]|0,w0=d0+(N1<<2)|0,h0=e[w0>>2]|0,C0=(p+24|0)+(h0<<2)|0,I0=e[C0>>2]|0,v0=I0&o0,K0=(v0|0)==0,!K0&&(b0=e[U>>2]|0,m0=b0+(h0<<2)|0,F0=e[m0>>2]|0,L0=F0+(q1<<2)|0,T0=e[L0>>2]|0,U0=(T0|0)==0,!U0&&(q0=o+(U1<<2)|0,x0=e[q0>>2]|0,D0=x0+(j<<2)|0,M0=cB[c&3](T0,D0,J,L)|0,J0=(M0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,O0=(Y0|0)<(a|0),O0)U1=Y0;else break}if(i0=N1+1|0,r0=L1+1|0,K=(i0|0)<(E0|0),s0=(r0|0)<(Q|0),P1=K&s0,P1)L1=r0,N1=i0;else{S1=r0;break}}}else S1=y1;while(!1);if(E1=D1+1|0,u1=(S1|0)<(Q|0),u1)y1=S1,D1=E1;else break}if(d1=q1+1|0,B1=e[P>>2]|0,p1=(d1|0)<(B1|0),p1)q1=d1;else{Y1=25;break}}if((Y1|0)==25){m=j1;return}}function aQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0;if(I6=m,m=m+1088|0,i3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,b=Q+8|0,a2=e[b>>2]|0,q2=Q+12|0,V2=e[q2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,h5=e[M1>>2]|0,h3=Q+4|0,T3=e[h3>>2]|0,x=e[Q>>2]|0,J=T3-x|0,i0=(J|0)/(a2|0)&-1,ne(O6|0,0,512)|0,ne(s3|0,0,512)|0,d0=n+8|0,L0=e[d0>>2]|0,z0=(L0|0)>0,!z0){m=I6;return}for(g1=(i0|0)>0,d1=(a|0)>0,w1=(h5|0)>1,r2=n+36|0,t2=(h5|0)>0,S2=n+20|0,w2=n+32|0,m2=0-h5|0,y2=L0,A6=0;;){if(g1){for(M2=(A6|0)==0,_2=1<>2]|0,G5=b5+(V5<<2)|0,_5=e[G5>>2]|0,H2=e[C5>>2]|0,I5=H2+4|0,A5=e[I5>>2]|0,l5=(_5|0)<(A5|0),l5&&(m5=_h(H2,_5,t)|0,v5=e[r2>>2]|0,c5=v5+m5|0,e[r2>>2]=c5),o5=C6+1|0,n6=(o5|0)==(a|0),n6)break e;C6=o5}for(;;){for(v2=c+(S3<<2)|0,f5=e[v2>>2]|0,E5=f5+(V5<<2)|0,r5=e[E5>>2]|0,f6=1,r6=r5;;)if(j2=i5(r6,V2)|0,x5=f6+V5|0,X2=(x5|0)<(i0|0),X2?(D5=f5+(x5<<2)|0,k5=e[D5>>2]|0,O5=k5+j2|0,Q6=O5):Q6=j2,$5=f6+1|0,k3=($5|0)==(h5|0),k3){R6=Q6;break}else f6=$5,r6=Q6;if(J2=e[C5>>2]|0,G2=J2+4|0,T2=e[G2>>2]|0,O2=(R6|0)<(T2|0),O2&&(K2=_h(J2,R6,t)|0,s5=e[r2>>2]|0,P2=s5+K2|0,e[r2>>2]=P2),T1=S3+1|0,Q3=(T1|0)==(a|0),Q3)break;S3=T1}}while(!1);if(x2=(V5|0)<(i0|0),S6=t2&x2,S6){for(R2=V5-i0|0,B2=R2>>>0>>0,T6=B2?m2:R2,F5=0-T6|0,$6=V5,P3=0;;){if(z2=i5($6,a2)|0,c2=e[Q>>2]|0,B5=c2+z2|0,d1)for(e6=0;;){if(e5=c+(e6<<2)|0,n5=e[e5>>2]|0,g5=n5+($6<<2)|0,Y2=e[g5>>2]|0,M2&&(t5=s3+(Y2<<2)|0,R5=e[t5>>2]|0,W2=R5+a2|0,e[t5>>2]=W2),a5=(Q+24|0)+(Y2<<2)|0,F2=e[a5>>2]|0,p5=F2&_2,H5=(p5|0)==0,!H5&&(X5=e[S2>>2]|0,d5=X5+(Y2<<2)|0,u3=e[d5>>2]|0,J5=u3+(A6<<2)|0,e3=e[J5>>2]|0,n3=(e3|0)==0,!n3)){if(C3=o+(e6<<2)|0,L5=e[C3>>2]|0,K5=e[e3>>2]|0,w3=(a2|0)/(K5|0)&-1,f3=(w3|0)>0,f3){for(B3=e3+48|0,K3=e3+52|0,z5=e3+44|0,y3=e3+12|0,W5=e3+4|0,R=K5,w5=0,c3=0;;){t6=i5(c3,K5)|0,S=t6+B5|0,R3=L5+(S<<2)|0,N3=e[B3>>2]|0,o3=e[K3>>2]|0,$3=e[z5>>2]|0,l3=$3>>1,e[i3>>2]=0,e[i3+4>>2]=0,e[i3+8>>2]=0,e[i3+12>>2]=0,e[i3+16>>2]=0,e[i3+20>>2]=0,e[i3+24>>2]=0,e[i3+28>>2]=0,m3=(o3|0)==1,F=(R|0)>0;do if(m3){if(!F){j3=0;break}for(G=$3+-1|0,I3=0,B6=0,H3=R;;)if(f0=H3+-1|0,D=S+f0|0,Q0=L5+(D<<2)|0,w0=e[Q0>>2]|0,h0=w0-N3|0,E0=(h0|0)<(l3|0),E0?(C0=l3-h0|0,I0=C0<<1,v0=I0+-1|0,F0=v0):(K0=h0-l3|0,b0=K0<<1,F0=b0),m0=i5(B6,$3)|0,T0=(F0|0)<0,U0=(F0|0)>=($3|0),B0=U0?G:F0,q0=T0?0:B0,x0=q0+m0|0,D0=i3+(f0<<2)|0,e[D0>>2]=w0,M0=I3+1|0,W3=(M0|0)==(R|0),W3){j3=x0;break}else I3=M0,B6=x0,H3=f0}else{if(!F){j3=0;break}for(L=o3>>1,M=L-N3|0,T=$3+-1|0,v3=0,v6=0,D3=R;;)if(P=D3+-1|0,y=S+P|0,z=L5+(y<<2)|0,Y=e[z>>2]|0,t0=M+Y|0,W=(t0|0)/(o3|0)&-1,e0=(W|0)<(l3|0),e0?(H=l3-W|0,X=H<<1,U=X+-1|0,o0=U):(a0=W-l3|0,Z=a0<<1,o0=Z),V=i5(v6,$3)|0,n0=(o0|0)<0,r0=(o0|0)>=($3|0),K=r0?T:o0,c0=n0?0:K,s0=c0+V|0,l0=i5(W,o3)|0,j=l0+N3|0,$0=i3+(P<<2)|0,e[$0>>2]=j,g0=v3+1|0,U3=(g0|0)==(R|0),U3){j3=s0;break}else v3=g0,v6=s0,D3=P}while(!1);J0=e[y3>>2]|0,Y0=J0+8|0,O0=e[Y0>>2]|0,N0=O0+j3|0,P0=u[N0>>0]|0,r1=P0<<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=$3+-1|0,e1=i5(H0,o3)|0,S0=e1+N3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)q5=-1,w6=0,l6=j3;else{_6=j3;break}for(;;){$1=O0+w6|0,f1=u[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(F)for(q6=0,b3=0;;)if(s1=M5+(q6<<2)|0,a1=e[s1>>2]|0,w=S+q6|0,n1=L5+(w<<2)|0,A1=e[n1>>2]|0,Z0=a1-A1|0,I1=i5(Z0,Z0)|0,h1=I1+b3|0,E1=q6+1|0,i6=(E1|0)==(R|0),i6){u6=h1;break}else q6=E1,b3=h1;else u6=0;if(u1=(q5|0)==-1,B1=(u6|0)<(q5|0),V3=u1|B1,!V3){U5=q5,p6=l6;break}e[i3>>2]=e[M5>>2]|0,e[i3+4>>2]=e[M5+4>>2]|0,e[i3+8>>2]=e[M5+8>>2]|0,e[i3+12>>2]=e[M5+12>>2]|0,e[i3+16>>2]=e[M5+16>>2]|0,e[i3+20>>2]=e[M5+20>>2]|0,e[i3+24>>2]=e[M5+24>>2]|0,e[i3+28>>2]=e[M5+28>>2]|0,U5=u6,p6=w6}else U5=q5,p6=l6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(S0|0),Q1)E=M5,I=p1;else for(x1=M5,X3=0;;)if(R1=X3+1|0,e[x1>>2]=0,y1=M5+(R1<<2)|0,S1=e[y1>>2]|0,F1=(S1|0)<(S0|0),F1){E=y1,I=S1;break}else x1=y1,X3=R1;if(L1=(I|0)>-1,L1?(G1=I+o3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=w6+1|0,t3=(N1|0)==(i1|0),t3){_6=p6;break}else q5=U5,w6=N1,l6=p6}}else _6=j3;while(!1);if(D1=(_6|0)>-1,s6=F&D1,s6)for(f=R3,k6=0;K1=i3+(k6<<2)|0,P1=e[K1>>2]|0,H1=f+4|0,q1=e[f>>2]|0,Y1=q1-P1|0,e[f>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(R|0),!A3;)f=H1,k6=j1;if(W1=_h(e3,_6,t)|0,O1=W1+w5|0,l2=c3+1|0,x3=(l2|0)==(w3|0),x3){C=O1;break}p=e[e3>>2]|0,R=p,w5=O1,c3=l2}B=e[e5>>2]|0,E2=B,P5=C}else E2=n5,P5=0;z1=e[w2>>2]|0,f2=z1+P5|0,e[w2>>2]=f2,s2=E2+($6<<2)|0,A2=e[s2>>2]|0,V1=O6+(A2<<2)|0,g2=e[V1>>2]|0,$2=g2+P5|0,e[V1>>2]=$2}if(i2=e6+1|0,h6=(i2|0)==(a|0),h6)break;e6=i2}if(o2=P3+1|0,X1=$6+1|0,p3=(o2|0)==(F5|0),p3)break;$6=X1,P3=o2}N2=V5-T6|0,O3=N2}else O3=V5;if(I2=(O3|0)<(i0|0),I2)V5=O3;else break}v=e[d0>>2]|0,e2=v}else e2=y2;if(n2=A6+1|0,u2=(n2|0)<(e2|0),u2)y2=e2,A6=n2;else break}m=I6}function L7(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;if(p=m,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 $Q(t,n,o){t=t|0,n=n|0,o=o|0;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0;g2=m,m=m+144|0,O1=g2,C=(o|0)!=0,p=C?o:n,F=p<<2,e0=S9(F)|0,ne(O1|0,0,132)|0,K=(n|0)>0;do if(K){h0=O1+4|0,U0=(o|0)==0,P0=U0&1,p1=0,w1=0;e:for(;;){s1=t+w1|0,B1=u[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=O1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,l2=y|Q,!l2){V1=5;break e}b=e0+(p1<<2)|0,e[b>>2]=w,x=O1+(B<<2)|0,R=w&1,L=(R|0)==0;i:do if(L)for(H=w,X=x,K1=B;;){if(W=H+1|0,e[X>>2]=W,U=K1+-1|0,a0=(K1|0)>1,!a0)break i;if(f=O1+(U<<2)|0,I=e[f>>2]|0,Z=O1+(U<<2)|0,V=I&1,o0=(V|0)==0,o0)H=I,X=Z,K1=U;else{c=Z,D1=U,V1=8;break}}else c=x,D1=B,V1=8;while(!1);do if((V1|0)==8)if(V1=0,T=(D1|0)==1,T){G=e[h0>>2]|0,P=G+1|0,e[h0>>2]=P;break}else{z=D1+-1|0,Y=O1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,M=(Y1|0)<33,M)for(F1=w,H1=B,j1=Y1;;){if(n0=O1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,c0=(r0|0)==(F1|0),!c0){E=1;break t}if(s0=O1+(H1<<2)|0,l0=e[s0>>2]|0,j=l0<<1,e[n0>>2]=j,P1=j1+1|0,$0=(P1|0)<33,$0)q1=j1,F1=i0,j1=P1,H1=q1;else{E=1;break}}else E=1}else E=P0;while(!1);if(Q1=p1+E|0,g0=w1+1|0,f0=(g0|0)<(n|0),f0)p1=Q1,w1=g0;else{R1=Q1,V1=16;break}}if((V1|0)==5)return d2(e0),a=0,m=g2,a|0;if((V1|0)==16){if(z1=(R1|0)==1,!z1){U1=1,V1=27;break}if(Q0=O1+8|0,d0=e[Q0>>2]|0,w0=(d0|0)==2,w0)break;U1=1,V1=27;break}}else U1=1,V1=27;while(!1);e:do if((V1|0)==27){for(;V1=0,z0=O1+(U1<<2)|0,N0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=N0&H0,S0=(e1|0)==0,Y0=U1+1|0,!!S0;)if(O0=(Y0|0)<33,O0)U1=Y0,V1=27;else break e;return d2(e0),a=0,m=g2,a|0}while(!1);if(!K)return a=e0,m=g2,a|0;if(C)y1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=u[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(E1=x1+1|0,u1=e0+(x1<<2)|0,e[u1>>2]=f2,d1=Z1+1|0,L1=(d1|0)==(n|0),L1){a=e0;break}else x1=E1,Z1=d1}return m=g2,a|0}for(;;){if(E0=t+N1|0,C0=u[E0>>0]|0,I0=C0<<24>>24>0,I0)for(J0=e0+(y1<<2)|0,T0=e[J0>>2]|0,M0=C0<<24>>24,W1=0,A2=0;;)if(F0=A2<<1,L0=T0>>>W1,B0=L0&1,q0=B0|F0,x0=W1+1|0,D0=(x0|0)<(M0|0),D0)W1=x0,A2=q0;else{s2=q0;break}else s2=0;if(v0=C0<<24>>24==0,v0?S1=y1:(K0=y1+1|0,b0=e0+(y1<<2)|0,e[b0>>2]=s2,S1=K0),m0=N1+1|0,G1=(m0|0)==(n|0),G1){a=e0;break}else y1=S1,N1=m0}return m=g2,a|0}function xS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0;if(H=m,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(b=+(c|0),x=b,R=+(D|0),F=1/R,L=F,M=+Sh(+x,+L),f=+Ko(+M),E=~~f,Y=E;;){for(S=Y+1|0,T=1,G=1,P=0;;)if(B=i5(T,Y)|0,v=i5(G,S)|0,w=P+1|0,y=(w|0)<(D|0),y)T=B,G=v,P=w;else{n=B,o=v;break}if(I=(n|0)<=(c|0),C=(o|0)>(c|0),z=I&C,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0;if(H5=m,p=t+12|0,B=e[p>>2]|0,C=B+-1|0,t5=C>>>0<2,!t5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,R1=n1&2097151,D1=+(R1|0),z1=n1>>>21,o2=z1&1023,N2=(n1|0)<0,j2=-D1,a=N2?j2:D1,v=o2+-788|0,M=+VC(a,v),X=M,s0=t+20|0,C0=e[s0>>2]|0,q0=C0&2097151,z0=+(q0|0),N0=C0>>>21,P0=N0&1023,r1=(C0|0)<0,e1=-z0,c=r1?e1:z0,S0=P0+-788|0,i1=+VC(c,S0),c1=i1,$1=e[t>>2]|0,f1=i5($1,n)|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),y1=x1,S1=+($1|0),F1=1/S1,L1=F1,G1=+Sh(+y1,+L1),w1=+Ko(+G1),U1=~~w1,a5=U1;;){for(f2=a5+1|0,r5=1,x2=1,I5=0;;)if(O1=i5(r5,a5)|0,l2=i5(x2,f2)|0,s2=I5+1|0,u5=(s2|0)==($1|0),u5){E=O1,I=l2;break}else r5=O1,x2=l2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),h5=N1&Z1,h5){F2=a5;break}W1=(E|0)>(p1|0),W2=W1?-1:1,R5=W2+a5|0,a5=R5}if(K1=(p1|0)>0,!K1)return f=g1,f|0;for(P1=(o|0)==0,H1=t+8|0,q1=t+32|0,Y1=c1,j1=X,r2=t+28|0,R2=0,M1=0;;){if(P1)if(a2=e[q1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=i5($1,R2)|0,$2)for(m5=1,z2=0;;)if(D5=(M1|0)/(m5|0)&-1,V2=(D5|0)%(F2|0)&-1,f5=a2+(V2<<2)|0,k5=e[f5>>2]|0,O5=+(k5|0),H2=+Ki(+O5),$5=H2,v2=$5*Y1,E5=j1+v2,S=E5,w=i2+z2|0,y=g1+(w<<2)|0,s[y>>2]=S,D=i5(m5,F2)|0,Q=z2+1|0,b=(Q|0)<($1|0),b)m5=D,z2=Q;else{p5=21;break}else for(A5=1,c5=0,e5=0;;)if(x=(M1|0)/(A5|0)&-1,R=(x|0)%(F2|0)&-1,F=a2+(R<<2)|0,L=e[F>>2]|0,T=+(L|0),G5=+Ki(+T),G=G5,P=G*Y1,z=e5,Y=z+j1,t0=Y+P,J=t0,W=i2+c5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,H=i5(A5,F2)|0,U=c5+1|0,a0=(U|0)<($1|0),a0)A5=H,c5=U,e5=J;else{p5=21;break}else if(E2=e[H1>>2]|0,A2=E2+M1|0,V1=u[A2>>0]|0,g2=V1<<24>>24==0,g2)B2=R2;else for(X1=e[q1>>2]|0,n2=e[r2>>2]|0,u2=(n2|0)==0,e2=o+(R2<<2)|0,y2=e[e2>>2]|0,S2=i5(y2,$1)|0,l5=1,o5=0,n5=0;;)if(w2=(M1|0)/(l5|0)&-1,m2=(w2|0)%(F2|0)&-1,M2=X1+(m2<<2)|0,_2=e[M2>>2]|0,I2=+(_2|0),_5=+Ki(+I2),J2=_5,G2=J2*Y1,q2=n5,T2=q2+j1,O2=T2+G2,K2=O2,B5=u2?n5:K2,s5=S2+o5|0,P2=g1+(s5<<2)|0,s[P2>>2]=K2,T1=i5(l5,F2)|0,x5=o5+1|0,X2=(x5|0)<($1|0),X2)l5=T1,o5=x5,n5=B5;else{p5=21;break}if((p5|0)==21&&(p5=0,Z=R2+1|0,B2=Z),V=M1+1|0,o0=(V|0)<(p1|0),o0)R2=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,E1=X,u1=t+28|0,d1=($1|0)>0,C5=0,v5=0;;){if(A1?(n0=e[Z0>>2]|0,i0=n0+v5|0,r0=u[i0>>0]|0,K=r0<<24>>24==0,K?F5=C5:p5=25):p5=25,(p5|0)==25){if(p5=0,d1)for(c0=e[I1>>2]|0,l0=e[u1>>2]|0,j=(l0|0)==0,$0=o+(C5<<2)|0,g0=i5($1,v5)|0,f0=i5($1,C5)|0,c2=0,Y2=0;Q0=g0+c2|0,d0=c0+(Q0<<2)|0,w0=e[d0>>2]|0,h0=+(w0|0),b5=+Ki(+h0),E0=b5,I0=E0*h1,v0=Y2,K0=v0+E1,b0=K0+I0,m0=b0,g5=j?Y2:m0,A1?(F0=e[$0>>2]|0,L0=i5(F0,$1)|0,T0=L0+c2|0,U0=g1+(T0<<2)|0,s[U0>>2]=m0):(B0=f0+c2|0,x0=g1+(B0<<2)|0,s[x0>>2]=m0),D0=c2+1|0,M0=(D0|0)<($1|0),M0;)c2=D0,Y2=g5;J0=C5+1|0,F5=J0}if(Y0=v5+1|0,O0=(Y0|0)<(s1|0),O0)C5=F5,v5=Y0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function oB(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0;v=m,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||d2(f),I=t+8|0,C=e[I>>2]|0,p=(C|0)==0,p||d2(C),d2(t))}function LS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0;x=m,n=t+16|0,o=e[n>>2]|0,C=(o|0)==0,C||d2(o),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||d2(B),S=t+24|0,w=e[S>>2]|0,y=(w|0)==0,y||d2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||d2(a),f=t+32|0,E=e[f>>2]|0,I=(E|0)==0,I||d2(E),Q=t,R=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(R|0))}function lQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0;N0=m,O0=t,P0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(P0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,x=e[I>>2]|0,J=t+4|0,e[J>>2]=x,i0=t+8|0,e[i0>>2]=x,d0=e[n>>2]|0,e[t>>2]=d0,v0=n+8|0,K0=e[v0>>2]|0,b0=$Q(K0,x,0)|0,m0=t+20|0,e[m0>>2]=b0,C=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(C|0),S=v,w=+(p|0),y=1/w,D=y,Q=+Sh(+S,+D),b=+Ko(+Q),R=~~b,J0=R;;){for(P=J0+1|0,F0=1,L0=1,U0=0;;)if(T=i5(F0,J0)|0,G=i5(L0,P)|0,z=U0+1|0,T0=(z|0)==(p|0),T0){c=T,f=G;break}else F0=T,L0=G,U0=z;if(F=(c|0)<=(C|0),L=(f|0)>(C|0),B0=L&F,B0){Y0=J0;break}M=(c|0)>(C|0),M0=M?-1:1,D0=M0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,H=+(e0|0),X=W>>>21,U=X&1023,a0=(W|0)<0,Z=-H,o=a0?Z:H,V=U+-788|0,o0=+VC(o,V),n0=o0,q0=+IQ(n0),r0=~~q0,K=t+48|0,e[K>>2]=r0,c0=n+20|0,s0=e[c0>>2]|0,l0=s0&2097151,j=+(l0|0),$0=s0>>>21,g0=$0&1023,f0=(s0|0)<0,Q0=-j,a=f0?Q0:j,w0=g0+-788|0,h0=+VC(a,w0),E0=h0,x0=+IQ(E0),C0=~~x0,I0=t+52|0,e[I0>>2]=C0,0}function MS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0;L3=m,y6=t,L6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(L6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(H2=n+8|0,B5=e[H2>>2]|0,P3=0,R6=0;;)if(p5=B5+P3|0,K5=u[p5>>0]|0,N3=K5<<24>>24>0,n6=N3&1,C=n6+R6|0,V5=P3+1|0,y=(V5|0)<(w|0),y)P3=V5,R6=C;else{$0=C;break}else $0=0;if(P=t+4|0,e[P>>2]=w,Z=t+8|0,e[Z>>2]=$0,K0=e[n>>2]|0,e[t>>2]=K0,M0=($0|0)>0,!M0)return a=0,m=L3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=$Q(I1,w,$0)|0,H1=$0<<2,f=H1,A2=m,m=m+((1*f|0)+15&-16)|0,e2=(S1|0)==0,e2){O2=t+16|0,K2=e[O2>>2]|0,s5=(K2|0)==0,s5||d2(K2),P2=t+20|0,T1=e[P2>>2]|0,j2=(T1|0)==0,j2||d2(T1),x5=t+24|0,X2=e[x5>>2]|0,D5=(X2|0)==0,D5||d2(X2),f5=t+28|0,k5=e[f5>>2]|0,O5=(k5|0)==0,O5||d2(k5),$5=t+32|0,v2=e[$5>>2]|0,E5=(v2|0)==0,E5||d2(v2),y6=t,L6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(L6|0));return a=-1,m=L3,a|0}else D3=0;for(;q2=S1+(D3<<2)|0,V2=e[q2>>2]|0,C5=V2>>>16,F5=V2<<16,u5=C5|F5,b5=u5>>>8,G5=b5&16711935,_5=u5<<8,I5=_5&-16711936,A5=G5|I5,l5=A5>>>4,m5=l5&252645135,M1=A5<<4,v5=M1&-252645136,c5=m5|v5,o5=c5>>>2,z2=o5&858993459,c2=c5<<2,e5=c2&-858993460,n5=z2|e5,g5=n5>>>1,Y2=g5&1431655765,h5=n5<<1,t5=h5&-1431655766,R5=Y2|t5,e[q2>>2]=R5,W2=A2+(D3<<2)|0,e[W2>>2]=q2,a5=D3+1|0,q6=(a5|0)==($0|0),!q6;)D3=a5;for(xh(A2,$0,4,10),E=H1,F2=m,m=m+((1*E|0)+15&-16)|0,H5=S9(H1)|0,X5=t+20|0,e[X5>>2]=H5,d5=S1,H3=0;;)if(u3=A2+(H3<<2)|0,h3=e[u3>>2]|0,J5=h3,e3=J5-d5|0,n3=e3>>2,C3=F2+(n3<<2)|0,e[C3>>2]=H3,L5=H3+1|0,_6=(L5|0)==($0|0),_6){V3=0;break}else H3=L5;for(;w3=S1+(V3<<2)|0,f3=e[w3>>2]|0,B3=F2+(V3<<2)|0,K3=e[B3>>2]|0,T3=H5+(K3<<2)|0,e[T3>>2]=f3,z5=V3+1|0,p6=(z5|0)==($0|0),!p6;)V3=z5;if(d2(S1),y3=FS(n,$0,F2)|0,W5=t+16|0,e[W5>>2]=y3,t6=S9(H1)|0,R3=t+24|0,e[R3>>2]=t6,o3=e[S>>2]|0,$3=(o3|0)>0,$3)for(p=e[i1>>2]|0,S6=0,I6=0;;)if(l3=p+S6|0,m3=u[l3>>0]|0,q5=m3<<24>>24>0,q5?(U5=I6+1|0,P5=F2+(I6<<2)|0,w5=e[P5>>2]|0,G3=t6+(w5<<2)|0,e[G3>>2]=S6,Y6=U5):Y6=I6,M5=S6+1|0,t3=(M5|0)<(o3|0),t3)S6=M5,I6=Y6;else{J6=Y6;break}else J6=0;if(A3=S9(J6)|0,x3=t+28|0,e[x3>>2]=A3,h6=t+40|0,e[h6>>2]=0,$3){for(B=e[i1>>2]|0,r5=0,k3=B,s6=0,Z6=0;;)if(p3=k3+s6|0,Q3=u[p3>>0]|0,i6=Q3<<24>>24>0,i6?(W3=Z6+1|0,U3=F2+(Z6<<2)|0,v3=e[U3>>2]|0,c3=e[x3>>2]|0,O3=c3+v3|0,u[O3>>0]=Q3,$6=e[i1>>2]|0,I3=$6+s6|0,w6=u[I3>>0]|0,k6=w6<<24>>24,v6=e[h6>>2]|0,B6=(k6|0)>(v6|0),B6?(e[h6>>2]=k6,x2=k6,R2=$6,N6=W3):(x2=v6,R2=$6,N6=W3)):(x2=r5,R2=k3,N6=Z6),j3=s6+1|0,D=e[S>>2]|0,Q=(j3|0)<(D|0),Q)r5=x2,k3=R2,s6=j3,Z6=N6;else{I=x2,j6=N6;break}if(b=(j6|0)==1,b){if(x=(I|0)==1,x)return R=t+36|0,e[R>>2]=1,F=r4(2,4)|0,L=t+32|0,e[L>>2]=F,M=F+4|0,e[M>>2]=1,e[F>>2]=1,a=0,m=L3,a|0;F3=1}else F3=j6}else F3=0;if(T=e[Z>>2]|0,G=(T|0)==0,G)x6=-4;else{for(c=T,G6=0;;)if(z=c>>>1,Y=G6+1|0,t0=(z|0)==0,t0){D6=G6;break}else c=z,G6=Y;r9=D6+-3|0,x6=r9}if(J=t+36|0,W=(x6|0)<5,o=W?5:x6,e0=(o|0)>8,K6=e0?8:o,e[J>>2]=K6,H=1<>2]=X,a0=(F3|0)>0,a0)for(r0=K6,i3=0;;){if(V=e[x3>>2]|0,o0=V+i3|0,n0=u[o0>>0]|0,i0=n0<<24>>24,K=(r0|0)<(i0|0),K)B2=r0;else if(c0=e[X5>>2]|0,s0=c0+(i3<<2)|0,l0=e[s0>>2]|0,j=l0>>>16,g0=l0<<16,f0=j|g0,Q0=f0>>>8,d0=Q0&16711935,w0=f0<<8,h0=w0&-16711936,E0=d0|h0,C0=E0>>>4,I0=C0&252645135,v0=E0<<4,b0=v0&-252645136,m0=I0|b0,F0=m0>>>2,L0=F0&858993459,T0=m0<<2,U0=T0&-858993460,B0=L0|U0,q0=B0>>>1,x0=q0&1431655765,D0=B0<<1,J0=D0&-1431655766,Y0=x0|J0,O0=r0-i0|0,z0=(O0|0)==31,z0)B2=r0;else for(N0=i3+1|0,r1=i0,s3=0;;)if(P0=s3<>2]=N0,S0=s3+1|0,c1=e[J>>2]|0,$1=u[o0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=d1<<16,Q1=B1|p1,R1=Q1>>>8,x1=R1&16711935,y1=Q1<<8,F1=y1&-16711936,L1=x1|F1,G1=L1>>>4,w1=G1&252645135,U1=L1<<4,Z1=U1&-252645136,N1=w1|Z1,D1=N1>>>2,K1=D1&858993459,P1=N1<<2,q1=P1&-858993460,Y1=K1|q1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,O1=W1&-1431655766,l2=r2|O1,z1=X+(l2<<2)|0,f2=e[z1>>2]|0,s2=(f2|0)==0,s2){for(u6=A6;;){if(V1=u6+1|0,g2=(V1|0)<(F3|0),!g2){b3=u6;break}if(a2=e[X5>>2]|0,t2=a2+(V1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>d1>>>0,i2){b3=u6;break}else u6=V1}o2=(F3|0)>(C6|0);e:do if(o2)for(X1=e[X5>>2]|0,X3=C6;;){if(n2=X1+(X3<<2)|0,u2=e[n2>>2]|0,y2=u2&Z0,S2=d1>>>0>>0,S2){S3=X3;break e}if(w2=X3+1|0,m2=(F3|0)>(w2|0),m2)X3=w2;else{S3=w2;break}}else S3=C6;while(!1);M2=F3-S3|0,_2=b3>>>0>32767,N2=M2>>>0>32767,f6=N2?32767:M2,T6=b3<<15,r6=T6|-2147483648,I2=_2?-1073774592:r6,J2=I2|f6,e[z1>>2]=J2,e6=S3,Q6=b3}else e6=C6,Q6=A6;if(G2=O6+1|0,T2=(G2|0)<(H|0),!T2){a=0;break}v=e[J>>2]|0,u1=v,C6=e6,O6=G2,A6=Q6}return m=L3,a|0}function TS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0;return S=m,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,C=a>>>0>>0,p=C&1,B=I-p|0,B|0}function NS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0;if(K0=m,p=e[t>>2]|0,B=(p|0)==1,!B&&(L=t+4|0,H=e[L>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,K=r0+4|0,c0=e[K>>2]|0,s0=(c0|0)>0,!!s0)){for(l0=c0+1|0,C=p+-1|0,f0=p,Q0=0,d0=p,h0=1;;){v=l0-Q0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(d0|0)/(w|0)&-1,D=(p|0)/(d0|0)&-1,Q=i5(D,y)|0,b=w+-1|0,x=i5(D,b)|0,R=f0-x|0,F=1-h0|0;do if((w|0)==2)if(Y=(F|0)==0,o=C+R|0,t0=H+(o<<2)|0,Y){fQ(D,y,n,H,t0),E0=0;break}else{fQ(D,y,H,n,t0),E0=F;break}else if((w|0)==4)if(M=R+D|0,T=(F|0)==0,a=C+R|0,G=H+(a<<2)|0,c=C+M|0,P=H+(c<<2)|0,f=C+D|0,E=f+M|0,z=H+(E<<2)|0,T){hQ(D,y,n,H,G,P,z),E0=0;break}else{hQ(D,y,H,n,G,P,z),E0=F;break}else if(J=(D|0)==1,w0=J?h0:F,W=(w0|0)==0,I=C+R|0,e0=H+(I<<2)|0,W){uQ(D,w,y,Q,n,n,n,H,H,e0),E0=1;break}else{uQ(D,w,y,Q,H,H,H,n,n,e0),E0=0;break}while(!1);if(X=Q0+1|0,$0=(X|0)==(c0|0),$0){C0=E0;break}else f0=R,Q0=X,d0=y,h0=E0}if(U=(C0|0)!=1,a0=(p|0)>0,I0=a0&U,I0)g0=0;else return;for(;Z=H+(g0<<2)|0,V=e[Z>>2]|0,o0=n+(g0<<2)|0,e[o0>>2]=V,n0=g0+1|0,j=(n0|0)==(p|0),!j;)g0=n0}}function cQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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=m,e[t>>2]=n,E=n*3|0,I=r4(E,4)|0,x=t+4|0,e[x>>2]=I,J=r4(32,4)|0,i0=t+8|0,e[i0>>2]=J,d0=(n|0)==1,!d0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(b0=H0+1|0,m0=(b0|0)<4,m0?(F0=25768+(b0<<2)|0,C=e[F0>>2]|0,s1=C):(p=l1+2|0,s1=p),B=(s1|0)!=2,O0=$1,g1=f1;;){if(J0=O0+1|0,v=(g1|0)/(s1|0)&-1,S=i5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=b0,$1=O0,f1=g1,l1=s1;continue e}if(y=O0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(O0|0)==0,a1=B|Q,!a1){if(b=(O0|0)<1,!b)for(x0=1;R=J0-x0|0,F=R+1|0,L=J+(F<<2)|0,M=e[L>>2]|0,T=R+2|0,G=J+(T<<2)|0,e[G>>2]=M,P=x0+1|0,B0=(P|0)==(J0|0),!B0;)x0=P;e[K0>>2]=2}if(z=(v|0)==1,z){o=Q,Y0=J0,z0=O0;break e}else O0=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=(z0|0)>0,n1=e0&a,!!n1)for(H=n+1|0,N0=0,S0=0,i1=1;;){if(X=S0+2|0,U=J+(X<<2)|0,a0=e[U>>2]|0,Z=i5(a0,i1)|0,V=(n|0)/(Z|0)&-1,o0=(a0|0)>1,o0){for(n0=(V|0)>2,r0=a0+-1|0,r1=N0,e1=0,c1=0;;){if(K=c1+i1|0,c0=+(K|0),s0=c0*W,n0)for(q0=0,D0=r1,M0=2;l0=q0+1,j=s0*l0,L0=+Vo(+j),c=D0+n|0,$0=I+(c<<2)|0,s[$0>>2]=L0,A1=+Tn(+j),g0=D0+2|0,f=H+D0|0,f0=I+(f<<2)|0,s[f0>>2]=A1,Q0=M0+2|0,w0=(Q0|0)<(V|0),w0;)q0=l0,D0=g0,M0=Q0;if(h0=r1+V|0,E0=e1+1|0,T0=(E0|0)==(r0|0),T0)break;r1=h0,e1=E0,c1=K}C0=i5(V,r0)|0,I0=C0+N0|0,P0=I0}else P0=N0;if(v0=S0+1|0,U0=(v0|0)==(z0|0),U0)break;N0=P0,S0=v0,i1=Z}}}function gQ(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0;p=m,n=(t|0)==0,!n&&(o=t+4|0,a=e[o>>2]|0,c=(a|0)==0,c||d2(a),f=t+8|0,E=e[f>>2]|0,I=(E|0)==0,I||d2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function hQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0;if(u3=m,I=i5(n,t)|0,C=I<<1,E1=(n|0)>0,E1)for(L1=I*3|0,Y1=t<<2,V1=Y1+-1|0,y2=t<<1,c2=0,n5=I,h5=L1,W2=0,a5=C;T2=o+(n5<<2)|0,f5=+s[T2>>2],F5=o+(h5<<2)|0,p=+s[F5>>2],F=p+f5,e0=o+(W2<<2)|0,K=+s[e0>>2],h0=o+(a5<<2)|0,U0=+s[h0>>2],P0=U0+K,s1=P0+F,I1=W2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,u1=P0-F,d1=V1+I1|0,B1=a+(d1<<2)|0,s[B1>>2]=u1,p1=+s[e0>>2],Q1=+s[h0>>2],R1=p1-Q1,x1=I1+y2|0,y1=x1+-1|0,S1=a+(y1<<2)|0,s[S1>>2]=R1,F1=+s[F5>>2],G1=+s[T2>>2],w1=F1-G1,U1=a+(x1<<2)|0,s[U1>>2]=w1,Z1=n5+t|0,N1=h5+t|0,D1=W2+t|0,K1=a5+t|0,P1=c2+1|0,c5=(P1|0)==(n|0),!c5;)c2=P1,n5=Z1,h5=N1,W2=D1,a5=K1;if(H1=(t|0)<2,!H1){if(q1=(t|0)==2,!q1){if(E1)for(j1=t<<1,B5=0,g5=0;;){for(j=g5<<2,$0=j+j1|0,z2=2,t5=g5,F2=j,H5=$0;O1=t5+2|0,l2=F2+2|0,z1=H5+-2|0,f2=O1+I|0,s2=z2+-2|0,E2=c+(s2<<2)|0,A2=+s[E2>>2],g2=f2+-1|0,a2=o+(g2<<2)|0,t2=+s[a2>>2],$2=t2*A2,i2=z2+-1|0,o2=c+(i2<<2)|0,X1=+s[o2>>2],n2=o+(f2<<2)|0,u2=+s[n2>>2],e2=u2*X1,S2=e2+$2,w2=u2*A2,m2=X1*t2,M2=w2-m2,_2=f2+I|0,N2=f+(s2<<2)|0,I2=+s[N2>>2],J2=_2+-1|0,G2=o+(J2<<2)|0,q2=+s[G2>>2],O2=q2*I2,K2=f+(i2<<2)|0,s5=+s[K2>>2],P2=o+(_2<<2)|0,T1=+s[P2>>2],j2=T1*s5,x5=j2+O2,X2=T1*I2,D5=s5*q2,V2=X2-D5,k5=_2+I|0,O5=E+(s2<<2)|0,$5=+s[O5>>2],v2=k5+-1|0,E5=o+(v2<<2)|0,r5=+s[E5>>2],x2=r5*$5,R2=E+(i2<<2)|0,B2=+s[R2>>2],C5=o+(k5<<2)|0,u5=+s[C5>>2],b5=u5*B2,G5=b5+x2,_5=u5*$5,H2=B2*r5,I5=_5-H2,A5=G5+S2,l5=G5-S2,m5=I5+M2,M1=M2-I5,B=o+(O1<<2)|0,v=+s[B>>2],S=v+V2,w=v-V2,y=t5+1|0,D=o+(y<<2)|0,Q=+s[D>>2],b=Q+x5,x=Q-x5,R=A5+b,L=F2|1,M=a+(L<<2)|0,s[M>>2]=R,T=m5+S,G=a+(l2<<2)|0,s[G>>2]=T,P=x-M1,z=H5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=P,t0=l5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+x,H=l2+j1|0,X=H+-1|0,U=a+(X<<2)|0,s[U>>2]=W,a0=l5+w,Z=a+(H<<2)|0,s[Z>>2]=a0,V=b-A5,o0=z1+j1|0,n0=o0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=V,r0=m5-S,c0=a+(o0<<2)|0,s[c0>>2]=r0,s0=z2+2|0,l0=(s0|0)<(t|0),l0;)z2=s0,t5=O1,F2=l2,H5=z1;if(r2=g5+t|0,W1=B5+1|0,o5=(W1|0)==(n|0),o5)break;B5=W1,g5=r2}if(g0=t&1,f0=(g0|0)==0,!f0)return}if(Q0=t+-1|0,d0=Q0+I|0,w0=t<<2,E0=t<<1,!!E1)for(C0=d0+C|0,e5=0,Y2=d0,R5=C0,p5=t,X5=t;I0=o+(Y2<<2)|0,v0=+s[I0>>2],K0=o+(R5<<2)|0,b0=+s[K0>>2],m0=b0+v0,F0=m0*-.7071067690849304,L0=v0-b0,T0=L0*.7071067690849304,B0=X5+-1|0,q0=o+(B0<<2)|0,x0=+s[q0>>2],D0=T0+x0,M0=p5+-1|0,J0=a+(M0<<2)|0,s[J0>>2]=D0,Y0=+s[q0>>2],O0=Y0-T0,z0=p5+E0|0,N0=z0+-1|0,r1=a+(N0<<2)|0,s[r1>>2]=O0,H0=Y2+I|0,e1=o+(H0<<2)|0,S0=+s[e1>>2],i1=F0-S0,c1=a+(p5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+F0,g1=a+(z0<<2)|0,s[g1>>2]=f1,l1=Y2+t|0,a1=R5+t|0,n1=p5+w0|0,A1=X5+t|0,Z0=e5+1|0,v5=(Z0|0)==(n|0),!v5;)e5=Z0,Y2=l1,R5=a1,p5=n1,X5=A1}}function fQ(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0;if(w1=m,f=i5(n,t)|0,E=t<<1,b=(n|0)>0,b)for(t0=E+-1|0,I1=0,u1=0,p1=f;n0=o+(u1<<2)|0,Q0=+s[n0>>2],F0=o+(p1<<2)|0,O0=+s[F0>>2],f1=O0+Q0,s1=u1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,C=+s[n0>>2],p=+s[F0>>2],B=C-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=u1+t|0,y=p1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,u1=w,p1=y;if(Q=(t|0)<2,!Q){if(x=(t|0)==2,!x){if(b)for(h1=0,d1=0,Q1=f;;){for(q0=d1<<1,x0=q0+E|0,Z0=2,x1=Q1,S1=x0,F1=d1,L1=q0;M=x1+2|0,T=S1+-2|0,G=F1+2|0,P=L1+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,a0=c+(U<<2)|0,Z=+s[a0>>2],V=o+(M<<2)|0,o0=+s[V>>2],i0=o0*Z,r0=i0+X,K=o0*J,c0=Z*H,s0=K-c0,l0=o+(G<<2)|0,j=+s[l0>>2],$0=s0+j,g0=a+(P<<2)|0,s[g0>>2]=$0,f0=+s[l0>>2],d0=s0-f0,w0=a+(T<<2)|0,s[w0>>2]=d0,h0=F1+1|0,E0=o+(h0<<2)|0,C0=+s[E0>>2],I0=C0+r0,v0=L1|1,K0=a+(v0<<2)|0,s[K0>>2]=I0,b0=+s[E0>>2],m0=b0-r0,L0=S1+-3|0,T0=a+(L0<<2)|0,s[T0>>2]=m0,U0=Z0+2|0,B0=(U0|0)<(t|0),B0;)Z0=U0,x1=M,S1=T,F1=G,L1=P;if(R=d1+t|0,F=Q1+t|0,L=h1+1|0,A1=(L|0)==(n|0),A1)break;h1=L,d1=R,Q1=F}if(D0=(t|0)%2&-1,M0=(D0|0)==1,M0)return}if(J0=t+-1|0,!!b)for(Y0=f+J0|0,E1=0,B1=t,R1=Y0,y1=J0;z0=o+(R1<<2)|0,N0=+s[z0>>2],P0=-N0,r1=a+(B1<<2)|0,s[r1>>2]=P0,H0=o+(y1<<2)|0,e1=e[H0>>2]|0,S0=B1+-1|0,i1=a+(S0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=R1+t|0,g1=y1+t|0,l1=E1+1|0,a1=(l1|0)==(n|0),!a1;)E1=l1,B1=c1,R1=$1,y1=g1}}function uQ(t,n,o,a,c,f,E,I,C,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,C=C|0,p=p|0;var B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Nt=0,Gt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,N7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,G7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0;m8=m,S=+(n|0),w=6.2831854820251465/S,h8=+Vo(+w),M7=+Tn(+w),E2=n+1|0,p3=E2>>1,U9=t+-1|0,G4=U9>>1,F9=i5(o,t)|0,C9=i5(n,t)|0,c4=(t|0)==1;e:do if(!c4){if(Q7=(a|0)>0,Q7)for(pe=0;$0=E+(pe<<2)|0,K0=e[$0>>2]|0,M0=C+(pe<<2)|0,e[M0>>2]=K0,i1=pe+1|0,I8=(i1|0)==(a|0),!I8;)pe=i1;if(P=(n|0)>1,P)for(Z=(o|0)>0,C8=1,H7=0;;){if(I1=H7+F9|0,Z)for(n7=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=n7+1|0,j9=(q2|0)==(o|0),!j9;)n7=q2,e4=e2;if(V2=C8+1|0,r8=(V2|0)==(n|0),r8)break;C8=V2,H7=I1}if(C5=0-t|0,M1=(G4|0)>(o|0),M1){if(P)for(T3=(o|0)>0,q5=(t|0)>2,d3=C5,q9=1,S7=0;;){if(k3=S7+F9|0,w6=d3+t|0,T3)for(X3=k3-t|0,s3=w6+-1|0,A8=0,b7=X3;;){if(F3=b7+t|0,q5)for(n8=2,ge=s3,dt=F3;L3=ge+2|0,d6=dt+2|0,d9=ge+1|0,Z4=p+(d9<<2)|0,T4=+s[Z4>>2],N4=dt+1|0,o4=f+(N4<<2)|0,x4=+s[o4>>2],h4=x4*T4,de=p+(L3<<2)|0,H9=+s[de>>2],E9=f+(d6<<2)|0,Ee=+s[E9>>2],Te=Ee*H9,We=Te+h4,Ne=I+(N4<<2)|0,s[Ne>>2]=We,U4=+s[Z4>>2],W4=+s[E9>>2],Se=W4*U4,je=+s[de>>2],Z9=+s[o4>>2],se=Z9*je,f4=Se-se,b6=I+(d6<<2)|0,s[b6>>2]=f4,O4=n8+2|0,a4=(O4|0)<(t|0),a4;)n8=O4,ge=L3,dt=d6;if(_4=A8+1|0,i8=(_4|0)==(o|0),i8)break;A8=_4,b7=F3}if(Ae=q9+1|0,u8=(Ae|0)==(n|0),u8)break;d3=w6,q9=Ae,S7=k3}}else if(P)for(h5=(t|0)>2,h3=(o|0)>0,He=C5,ie=1,T7=0;;){if(W9=He+t|0,oe=T7+F9|0,h5)for(ae=W9+-1|0,d8=2,s8=ae,tt=oe;;){if(B4=s8+2|0,j4=tt+2|0,h3)for(F4=s8+1|0,$e=p+(F4<<2)|0,c6=p+(B4<<2)|0,o8=0,K7=j4;Ge=+s[$e>>2],$4=K7+-1|0,Ce=f+($4<<2)|0,p4=+s[Ce>>2],l4=p4*Ge,U6=+s[c6>>2],De=f+(K7<<2)|0,be=+s[De>>2],Xe=be*U6,k4=Xe+l4,g8=I+($4<<2)|0,s[g8>>2]=k4,q3=+s[$e>>2],y9=+s[De>>2],m9=y9*q3,L4=+s[c6>>2],X4=+s[Ce>>2],$7=X4*L4,_e=m9-$7,l7=I+(K7<<2)|0,s[l7>>2]=_e,V8=K7+t|0,c7=o8+1|0,D8=(c7|0)==(o|0),!D8;)o8=c7,K7=V8;if(g7=d8+2|0,F8=(g7|0)<(t|0),F8)d8=g7,s8=B4,tt=j4;else break}if(L8=ie+1|0,le=(L8|0)==(n|0),le)break;He=W9,ie=L8,T7=oe}if(M8=i5(F9,n)|0,T8=(G4|0)<(o|0),z8=(p3|0)>1,!T8){if(!z8)break;for(Z8=(o|0)>0,y7=(t|0)>2,qe=1,a8=0,Gt=M8;;){if(E0=a8+F9|0,C0=Gt-F9|0,Z8)for(q4=0,it=E0,rt=C0;;){if(y7)for(Be=2,V7=it,Qt=rt;I0=V7+2|0,v0=Qt+2|0,b0=V7+1|0,m0=I+(b0<<2)|0,F0=+s[m0>>2],L0=Qt+1|0,T0=I+(L0<<2)|0,U0=+s[T0>>2],B0=U0+F0,q0=f+(b0<<2)|0,s[q0>>2]=B0,x0=I+(I0<<2)|0,D0=+s[x0>>2],J0=I+(v0<<2)|0,Y0=+s[J0>>2],O0=D0-Y0,z0=f+(L0<<2)|0,s[z0>>2]=O0,N0=+s[x0>>2],P0=+s[J0>>2],r1=P0+N0,H0=f+(I0<<2)|0,s[H0>>2]=r1,e1=+s[T0>>2],S0=+s[m0>>2],c1=e1-S0,$1=f+(v0<<2)|0,s[$1>>2]=c1,f1=Be+2|0,g1=(f1|0)<(t|0),g1;)Be=f1,V7=I0,Qt=v0;if(l1=it+t|0,s1=rt+t|0,a1=q4+1|0,P4=(a1|0)==(o|0),P4)break;q4=a1,it=l1,rt=s1}if(n1=qe+1|0,xe=(n1|0)==(p3|0),xe)break e;qe=n1,a8=E0,Gt=C0}}if(z8)for(D=(t|0)>2,Q=(o|0)>0,b9=1,q7=0,Nt=M8;;){if(b=q7+F9|0,x=Nt-F9|0,D)for(ce=2,Et=b,Bt=x;;){if(R=Et+2|0,F=Bt+2|0,Q)for(L=F-t|0,M=R-t|0,b8=0,Jt=M,ai=L;T=Jt+t|0,G=ai+t|0,z=T+-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+(T<<2)|0,a0=+s[U>>2],V=I+(G<<2)|0,o0=+s[V>>2],n0=a0-o0,i0=f+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],K=+s[V>>2],c0=K+r0,s0=f+(T<<2)|0,s[s0>>2]=c0,l0=+s[W>>2],j=+s[Y>>2],g0=l0-j,f0=f+(G<<2)|0,s[f0>>2]=g0,Q0=b8+1|0,S8=(Q0|0)==(o|0),!S8;)b8=Q0,Jt=T,ai=G;if(d0=ce+2|0,w0=(d0|0)<(t|0),w0)ce=d0,Et=R,Bt=F;else break}if(h0=b9+1|0,t8=(h0|0)==(p3|0),t8)break;b9=h0,q7=b,Nt=x}}while(!1);if(y=(a|0)>0,y)for(Q4=0;A1=C+(Q4<<2)|0,Z0=e[A1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,E1=Q4+1|0,H8=(E1|0)==(a|0),!H8;)Q4=E1;if(u1=i5(a,n)|0,d1=(p3|0)>1,d1){for(B1=(o|0)>0,q8=1,R8=0,Ut=u1;;){if(p1=R8+F9|0,Q1=Ut-F9|0,B1)for(R1=Q1-t|0,x1=p1-t|0,s7=0,ni=x1,Ai=R1;y1=ni+t|0,F1=Ai+t|0,L1=I+(y1<<2)|0,G1=+s[L1>>2],w1=I+(F1<<2)|0,U1=+s[w1>>2],Z1=U1+G1,N1=f+(y1<<2)|0,s[N1>>2]=Z1,D1=+s[w1>>2],K1=+s[L1>>2],P1=D1-K1,q1=f+(F1<<2)|0,s[q1>>2]=P1,Y1=s7+1|0,ee=(Y1|0)==(o|0),!ee;)s7=Y1,ni=y1,Ai=F1;if(j1=q8+1|0,e7=(j1|0)==(p3|0),e7)break;q8=j1,R8=p1,Ut=Q1}if(r2=n+-1|0,W1=i5(r2,a)|0,d1){for(O1=(p3|0)>2,N8=0,U8=1,Je=1,D7=0,ut=u1;;){if(l2=D7+a|0,z1=ut-a|0,f2=U8*h8,s2=N8*M7,V1=f2-s2,g2=N8*h8,a2=U8*M7,t2=a2+g2,y)for(E8=0,Pt=l2,st=z1,Vt=W1,Z7=a;$2=E+(E8<<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,S2=Pt+1|0,w2=C+(Pt<<2)|0,s[w2>>2]=y2,m2=Vt+1|0,M2=E+(Vt<<2)|0,_2=+s[M2>>2],N2=_2*t2,I2=st+1|0,J2=C+(st<<2)|0,s[J2>>2]=N2,G2=E8+1|0,f7=(G2|0)==(a|0),!f7;)E8=G2,Pt=S2,st=I2,Vt=m2,Z7=o2;if(O1)for(G8=t2,w8=V1,u7=2,Ht=a,N7=W1;;){if(T2=Ht+a|0,O2=N7-a|0,K2=w8*V1,s5=G8*t2,P2=K2-s5,T1=G8*V1,j2=w8*t2,x5=j2+T1,y)for(t7=0,yt=l2,vt=z1,St=T2,_7=O2;X2=St+1|0,D5=E+(St<<2)|0,f5=+s[D5>>2],k5=f5*P2,O5=yt+1|0,$5=C+(yt<<2)|0,v2=+s[$5>>2],E5=v2+k5,s[$5>>2]=E5,r5=_7+1|0,x2=E+(_7<<2)|0,R2=+s[x2>>2],B2=R2*x5,F5=vt+1|0,u5=C+(vt<<2)|0,b5=+s[u5>>2],G5=b5+B2,s[u5>>2]=G5,_5=t7+1|0,w7=(_5|0)==(a|0),!w7;)t7=_5,yt=O5,vt=F5,St=X2,_7=r5;if(H2=u7+1|0,X8=(H2|0)==(p3|0),X8)break;G8=x5,w8=P2,u7=H2,Ht=T2,N7=O2}if(I5=Je+1|0,k7=(I5|0)==(p3|0),k7)break;N8=t2,U8=V1,Je=I5,D7=l2,ut=z1}if(d1)for(i7=1,K8=0;;){if(A5=K8+a|0,y)for(H4=0,Y7=A5;l5=Y7+1|0,m5=E+(Y7<<2)|0,v5=+s[m5>>2],c5=C+(H4<<2)|0,o5=+s[c5>>2],z2=o5+v5,s[c5>>2]=z2,c2=H4+1|0,h7=(c2|0)==(a|0),!h7;)H4=c2,Y7=l5;if(B5=i7+1|0,me=(B5|0)==(p3|0),me)break;i7=B5,K8=A5}}}if(e5=(t|0)<(o|0),e5){if(Y2=(t|0)>0,Y2)for(t5=(o|0)>0,Pe=0;;){if(t5)for(Ye=0,he=Pe,J7=Pe;J5=I+(he<<2)|0,e3=e[J5>>2]|0,n3=c+(J7<<2)|0,e[n3>>2]=e3,C3=he+t|0,L5=J7+C9|0,K5=Ye+1|0,Re=(K5|0)==(o|0),!Re;)Ye=K5,he=C3,J7=L5;if(w3=Pe+1|0,e8=(w3|0)==(t|0),e8)break;Pe=w3}}else if(n5=(o|0)>0,n5)for(g5=(t|0)>0,_8=0,Le=0,It=0;;){if(g5)for(Oe=0,Ot=Le,qt=It;R5=Ot+1|0,W2=I+(Ot<<2)|0,a5=e[W2>>2]|0,F2=qt+1|0,p5=c+(qt<<2)|0,e[p5>>2]=a5,H5=Oe+1|0,v8=(H5|0)==(t|0),!v8;)Oe=H5,Ot=R5,qt=F2;if(X5=Le+t|0,d5=It+C9|0,u3=_8+1|0,w9=(u3|0)==(o|0),w9)break;_8=u3,Le=X5,It=d5}if(f3=t<<1,B3=i5(F9,n)|0,d1)for(K3=(o|0)>0,r7=1,v7=0,Ct=0,Yt=B3;;){if(z5=v7+f3|0,y3=Ct+F9|0,W5=Yt-F9|0,K3)for(B9=0,z7=z5,wt=y3,Zt=W5;t6=I+(wt<<2)|0,R3=e[t6>>2]|0,N3=z7+-1|0,o3=c+(N3<<2)|0,e[o3>>2]=R3,$3=I+(Zt<<2)|0,l3=e[$3>>2]|0,m3=c+(z7<<2)|0,e[m3>>2]=l3,U5=z7+C9|0,P5=wt+t|0,w5=Zt+t|0,G3=B9+1|0,f8=(G3|0)==(o|0),!f8;)B9=G3,z7=U5,wt=P5,Zt=w5;if(M5=r7+1|0,Ue=(M5|0)==(p3|0),Ue)break;r7=M5,v7=z5,Ct=y3,Yt=W5}if(!c4){if(n6=(G4|0)<(o|0),t3=0-t|0,!n6){if(!d1)return;for(B=(o|0)<1,v=(t|0)<3,k8=B|v,Y8=1,o7=t3,mt=0,nt=0,oi=B3;;){if(h6=o7+f3|0,Q3=mt+f3|0,i6=nt+F9|0,W3=oi-F9|0,!k8)for(A7=0,zt=h6,At=Q3,Qe=i6,ot=W3;;){for(X9=2;$6=t-X9|0,I3=X9+Qe|0,k6=I3+-1|0,v6=I+(k6<<2)|0,B6=+s[v6>>2],j3=X9+ot|0,l6=j3+-1|0,p6=I+(l6<<2)|0,_6=+s[p6>>2],q6=_6+B6,C6=X9+At|0,S3=C6+-1|0,e6=c+(S3<<2)|0,s[e6>>2]=q6,f6=+s[v6>>2],P3=+s[p6>>2],D3=f6-P3,H3=$6+zt|0,V3=H3+-1|0,S6=c+(V3<<2)|0,s[S6>>2]=D3,s6=I+(I3<<2)|0,i3=+s[s6>>2],O6=I+(j3<<2)|0,A6=+s[O6>>2],u6=A6+i3,b3=c+(C6<<2)|0,s[b3>>2]=u6,T6=+s[O6>>2],r6=+s[s6>>2],Q6=T6-r6,R6=c+(H3<<2)|0,s[R6>>2]=Q6,J6=X9+2|0,I6=(J6|0)<(t|0),I6;)X9=J6;if(U3=zt+C9|0,V5=At+C9|0,v3=Qe+t|0,c3=ot+t|0,O3=A7+1|0,W8=(O3|0)==(o|0),W8)break;A7=O3,zt=U3,At=V5,Qe=v3,ot=c3}if(Y6=Y8+1|0,j8=(Y6|0)==(p3|0),j8)break;Y8=Y6,o7=h6,mt=Q3,nt=i6,oi=W3}return}if(d1)for(A3=(t|0)>2,x3=(o|0)>0,te=1,re=t3,si=0,pt=0,Kt=B3;;){if(Z6=re+f3|0,N6=si+f3|0,j6=pt+F9|0,r9=Kt-F9|0,A3&&(x6=Z6+t|0,x3))for(Fe=2;;){for(D4=Fe+r9|0,b4=Fe+j6|0,R4=Fe+N6|0,M4=x6-Fe|0,J8=0,kt=M4,G7=R4,Dt=b4,i9=D4;K6=Dt+-1|0,y6=I+(K6<<2)|0,F6=+s[y6>>2],L6=i9+-1|0,X6=I+(L6<<2)|0,A9=+s[X6>>2],W6=A9+F6,h9=G7+-1|0,f9=c+(h9<<2)|0,s[f9>>2]=W6,u9=+s[y6>>2],o9=+s[X6>>2],a9=u9-o9,T9=kt+-1|0,M6=c+(T9<<2)|0,s[M6>>2]=a9,e9=I+(Dt<<2)|0,N9=+s[e9>>2],I9=I+(i9<<2)|0,E4=+s[I9>>2],s4=E4+N9,g4=c+(G7<<2)|0,s[g4>>2]=s4,G9=+s[I9>>2],z9=+s[e9>>2],D9=G9-z9,P6=c+(kt<<2)|0,s[P6>>2]=D9,t9=kt+C9|0,C4=G7+C9|0,S4=Dt+t|0,A4=i9+t|0,Q9=J8+1|0,O8=(Q9|0)==(o|0),!O8;)J8=Q9,kt=t9,G7=C4,Dt=S4,i9=A4;if(G6=Fe+2|0,D6=(G6|0)<(t|0),D6)Fe=G6;else break}if(m4=te+1|0,P8=(m4|0)==(p3|0),P8)break;te=m4,re=Z6,si=N6,pt=j6,Kt=r9}}}function GS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Nt=0,Gt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,N7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,G7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,On=0,iA=0,Kr=0,rA=0,nA=0,sA=0,Pn=0,AA=0,Hn=0,qn=0,oA=0,Vr=0,Yn=0,zr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Zr=0,Vn=0,cA=0,Ir=0,Wr=0,gA=0,hA=0,jr=0,$i=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,IA=0,li=0,Xr=0,dA=0,Xn=0,EA=0,CA=0,mA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,en=0,dr=0,tn=0,vA=0,zi=0,SA=0,is=0,rn=0,rs=0,nn=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,Er=0,as=0,ci=0,sn=0,Cr=0,Zi=0,mr=0,Ui=0,Br=0,$s=0,Oi=0,Bi=0,pi=0,Wt=0,Qi=0,pr=0,Wi=0,ji=0,Qr=0,gi=0,RA=0,at=0,W$=0,An=0,on=0,Fh=0,j$=0,xA=0,Lh=0,Wo=0,X$=0,Mh=0,Th=0,Nh=0,jo=0,el=0,tl=0,Xo=0,an=0,il=0,Gh=0,FA=0,Xi=0,Uh=0,Oh=0,Ph=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,rl=0,yr=0,Zh=0,Wh=0,nl=0,jh=0,ea=0,LA=0,ta=0,Xh=0,ef=0,ia=0,sl=0,Al=0,ol=0,ra=0,al=0,MA=0,tf=0,rf=0,$l=0,nf=0,sf=0,ll=0,Af=0,of=0,cl=0,gl=0,hl=0,fl=0,ul=0,$n=0,af=0,Il=0,$f=0,dl=0,El=0,lf=0,cf=0,gf=0,na=0,Cl=0,ml=0,ls=0,Bl=0,sa=0,hf=0,pl=0,ff=0,Ql=0,uf=0,If=0,yl=0,wl=0,df=0,TA=0,Ef=0,Aa=0,kl=0,vl=0,Cf=0,mf=0,Bf=0,pf=0,Qf=0,yf=0,NA=0,Sl=0,Dl=0,bl=0,GA=0,wf=0,_l=0,kf=0,Rl=0,vf=0,Sf=0,xl=0,oa=0,Df=0,bf=0,UA=0,_f=0,OA=0,Rf=0,aa=0,xf=0,Ff=0,Lf=0,Fl=0,Mf=0,Tf=0,Nf=0,Gf=0,Ll=0,Ml=0,er=0,Tl=0,PA=0,$a=0,la=0,ln=0,Nl=0,cn=0,Uf=0,Gl=0,Of=0,Pf=0,Hf=0,qf=0,HA=0,ca=0,wr=0,Yf=0,Jf=0,Ul=0,ga=0,Ol=0,Pl=0,Kf=0,Hl=0,Vf=0,ha=0,zf=0,Zf=0,O9=0,Wf=0,ql=0,jf=0,Xf=0,fa=0,eu=0,ua=0,Yl=0,tu=0,iu=0,Jl=0,Kl=0,ru=0,Ia=0,da=0,Vl=0,zl=0,nu=0,Zl=0,Ea=0,su=0,Wl=0,Au=0,ou=0,au=0,$u=0,jl=0,Xl=0,Ca=0,qA=0,ec=0,lu=0,tc=0,ic=0,cu=0,gu=0,hu=0,rc=0,fu=0,uu=0,Iu=0,du=0,Eu=0,Cu=0,nc=0,mu=0,sc=0,Bu=0,gn=0,pu=0,Ac=0,Qu=0,cs=0,oc=0,ma=0,yu=0,YA=0,Ba=0,wu=0,pa=0,ac=0,ku=0,vu=0,Su=0,Du=0,bu=0,$c=0,_u=0,Ru=0,xu=0,JA=0,gs=0,Qa=0,Fu=0,ya=0,Lu=0,Mu=0,Tu=0,lc=0,Nu=0,Gu=0,Uu=0,Ou=0,Pu=0,KA=0,Hu=0,qu=0,cc=0,Yu=0,Ju=0,Ku=0,Vu=0,hi=0,gc=0,fi=0,hc=0,wa=0,zu=0,jt=0,hs=0,Zu=0,Wu=0,ju=0,Xu=0,eI=0,fc=0,tI=0,iI=0,uc=0,rI=0,nI=0,fs=0,ka=0,sI=0,Ic=0,AI=0,oI=0,VA=0,aI=0,$I=0,dc=0,Ec=0,lI=0,cI=0,hn=0,gI=0,hI=0,fn=0,fI=0,Cc=0,uI=0,II=0,us=0,mc=0,dI=0,Bc=0,EI=0,tr=0,va=0,CI=0,pc=0,Qc=0,mI=0,BI=0,yc=0,pI=0,QI=0,yI=0,wc=0,wI=0,Is=0,kI=0,un=0,vI=0,SI=0,Sa=0,DI=0,Da=0,ba=0,bI=0,kc=0,vc=0,_I=0,Sc=0,Dc=0,bc=0,RI=0,_c=0,Rc=0,xI=0,FI=0,xc=0,Fc=0,LI=0,Lc=0,Mc=0,MI=0,TI=0,Tc=0,_a=0,Nc=0,Gc=0,Uc=0,Oc=0,NI=0,GI=0,UI=0,OI=0,PI=0,HI=0,qI=0,YI=0,Pc=0,Ra=0,JI=0,KI=0,VI=0,Hc=0,qc=0,zI=0,Yc=0,xa=0,zA=0,Jc=0,ZI=0,WI=0,jI=0,XI=0,Kc=0,ZA=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,Ad=0,od=0,Vc=0,ad=0,$d=0,ld=0,cd=0,WA=0,zc=0,gd=0,hd=0,In=0,Zc=0,Wc=0,Fa=0,fd=0,jc=0,ud=0,Xc=0,eg=0,Id=0,dd=0,Ed=0,Cd=0,md=0,jA=0,La=0,Bd=0,pd=0,Qd=0,yd=0,tg=0,wd=0,ig=0,kd=0,vd=0,rg=0,kr=0,ng=0,sg=0,Sd=0,Ag=0,XA=0,Dd=0,bd=0,_d=0,eo=0,og=0,Rd=0,xd=0,ag=0,Fd=0,Ld=0,Ma=0,to=0,Md=0,Td=0,Nd=0,$g=0,lg=0,cg=0,Gd=0,Ud=0,ds=0,Od=0,gg=0,Pd=0,Ta=0,hg=0,Hd=0,qd=0,Yd=0,Jd=0,fg=0,Kd=0,Vd=0,ug=0,io=0,zd=0,Zd=0,Wd=0,Es=0,Ig=0,dg=0,jd=0,Eg=0,Cg=0,yi=0,mg=0,ir=0,Xd=0,eE=0,tE=0,iE=0,Na=0,ro=0,Bg=0,pg=0,rE=0,no=0,Cs=0,nE=0,so=0,Ga=0,sE=0,Ua=0,AE=0,oE=0,Qg=0,Ao=0,yg=0,aE=0,$E=0,lE=0,cE=0,wg=0,gE=0,W7=0,y4=0,Xt=0,hE=0,kg=0,vg=0,Oa=0,fE=0,vr=0,ms=0,uE=0,IE=0,Sg=0,Pa=0,dE=0,Dg=0,bg=0,_g=0,Ha=0,qa=0,Rg=0,Bs=0,Ya=0,xg=0,EE=0,dn=0,CE=0,Fg=0,oo=0,mE=0,Lg=0,wi=0,BE=0,pE=0,QE=0,yE=0,wE=0,kE=0,ki=0,vE=0,SE=0,DE=0,Mg=0,ui=0,ao=0,Ja=0,Tg=0,Ng=0,bE=0,Gg=0,Ug=0,_E=0,RE=0,Og=0,Pg=0,xE=0,FE=0,Hg=0,LE=0,ps=0,$o=0,lo=0,ME=0,Ka=0,TE=0,NE=0,qg=0,Qs=0,GE=0,UE=0,Va=0,za=0,co=0,Za=0,Wa=0,rr=0,Sr=0,Dr=0,ja=0,Xa=0,ys=0,nr=0,En=0,OE=0,sr=0,Cn=0,PE=0,bt=0,_t=0,Rt=0,go=0,ho=0,Yg=0,Jg=0,fo=0,e$=0,xt=0,uo=0,br=0,t$=0,HE=0,i$=0,qE=0,r$=0,Kg=0,Io=0,YE=0,JE=0,Eo=0,KE=0,Co=0,mn=0,Ke=0,v4=0,Vg=0,VE=0,n$=0,zg=0,zE=0,ZE=0,mo=0,WE=0,jE=0,XE=0,eC=0,Zg=0,tC=0,iC=0,rC=0,ei=0,Bo=0,Bn=0,s$=0,ws=0,ks=0,j7=0,vs=0,Wg=0,jg=0,po=0,Ss=0,Ds=0,bs=0,nC=0,_s=0,Ar=0,Xg=0,_r=0,ti=0,A$=0,o$=0,Pi=0,a$=0,$$=0,l$=0,Rr=0,o6=0,Qo=0,xr=0,eh=0,ye=0,c$=0,B8=0,Rs=0,pn=0,Qn=0,L9=0,yn=0,Fr=0,Y4=0,g$=0,fB=0,sC=0,WC=0,jC=0,uB=0,AC=0,kQ=0,vQ=0,SQ=0,DQ=0,bQ=0,_Q=0,RQ=0,xQ=0,FQ=0,LQ=0,MQ=0,TQ=0,IB=0,dB=0,NQ=0,GQ=0,UQ=0,th=0,XC=0,Ii=0,ih=0,rh=0,nh=0,sh=0,oC=0,aC=0,$C=0,lC=0,cC=0,gC=0,hC=0,fC=0,uC=0,IC=0,em=0,yo=0,or=0,h$=0,Ah=0,f$=0,EB=0,wo=0,dC=0,u$=0,tm=0,im=0,EC=0,rm=0,nm=0,sm=0,Am=0,om=0,am=0,$m=0,CB=0,mB=0,BB=0,pB=0,QB=0,ko=0,vo=0,So=0,Do=0,OQ=0,ar=0,t4=0,fD=0,bo=0,lm=0;if(fD=m,l0=t+28|0,j=e[l0>>2]|0,j8=(j|0)==0,j8||(st=j+3456|0,$s=e[st>>2]|0,Sl=($s|0)==0,n=Sl&1,cs=j+3496|0,Sc=+o1[cs>>3],$g=Sc>-80,$g?o1[cs>>3]=-80:(RE=Sc<-200,RE&&(o1[cs>>3]=-200)),$0=j+3512|0,V2=+o1[$0>>3],s3=V2>0,s3?o1[$0>>3]=0:(m4=V2<-99999,m4&&(o1[$0>>3]=-99999)),Te=j+3396|0,b6=e[Te>>2]|0,F4=(b6|0)==0,F4))return C=-131,C|0;if(be=j+3392|0,e[be>>2]=1,_e=j+3400|0,Z8=+o1[_e>>3],f8=b6+24|0,k7=e[f8>>2]|0,le=b6+28|0,Fe=e[le>>2]|0,te=~~Z8,J8=k7+(te<<2)|0,M7=e[J8>>2]|0,K8=Fe+(te<<2)|0,It=e[K8>>2]|0,e[j>>2]=M7,Bt=j+4|0,e[Bt>>2]=It,N7=(M7|0)==(It|0),Z7=b6+144|0,I7=e[Z7>>2]|0,tA=(I7|0)>0,tA){for(oA=b6+136|0,cA=b6+140|0,Wn=b6+148|0,zi=Z8,wr=j,em=0;;){if(BA=~~zi,os=e[oA>>2]|0,Oi=e[cA>>2]|0,at=e[Wn>>2]|0,Th=at+(em<<2)|0,Uh=e[Th>>2]|0,yr=r4(1,1120)|0,sl=Uh+(BA<<2)|0,ll=e[sl>>2]|0,$f=Oi+(ll*1120|0)|0,n4(yr|0,$f|0,1120)|0,sa=e[yr>>2]|0,Ef=(sa|0)>0,Ef){for(Dl=yr+4|0,XC=0,$m=-1;;)if(Ea=Dl+(XC<<2)|0,ec=e[Ea>>2]|0,du=(ec|0)>($m|0),t0=du?ec:$m,oc=XC+1|0,MQ=(oc|0)==(sa|0),MQ){J=t0;break}else XC=oc,$m=t0;if(Df=(J|0)<0,!Df){for(Mf=yr+256|0,ln=wr+24|0,zf=yr+192|0,tu=yr+320|0,f$=0,sm=-1;;){if(Qc=Mf+(f$<<2)|0,un=e[Qc>>2]|0,Dc=(un|0)>(sm|0),z=Dc?un:sm,Mc=e[ln>>2]|0,UI=Mc+un|0,e[Qc>>2]=UI,Hc=zf+(f$<<2)|0,Kc=e[Hc>>2]|0,ad=(Kc|0)==31,ad)Am=z;else for(Q9=Kc,rm=0,am=z;;)if(Fa=(tu+(f$<<5)|0)+(rm<<2)|0,jA=e[Fa>>2]|0,rg=(jA|0)>(am|0),Y=rg?jA:am,og=(jA|0)>-1,og?(lg=e[ln>>2]|0,qd=lg+jA|0,e[Fa>>2]=qd,e0=e[Hc>>2]|0,Ga=e0):Ga=Q9,Es=rm+1|0,tE=1<>2]|0,zu=e[qu>>2]|0,uc=e[ln>>2]|0,$I=uc+1|0,e[ln>>2]=$I,uI=(wr+1824|0)+(uc<<2)|0,e[uI>>2]=zu,RQ=(om|0)==0,!RQ))for(EB=0;qa=EB+1|0,Z=e[sl>>2]|0,Lg=os+(Z<<2)|0,DE=e[Lg>>2]|0,Og=DE+(qa<<2)|0,TE=e[Og>>2]|0,rr=e[ln>>2]|0,PE=rr+1|0,e[ln>>2]=PE,uo=(wr+1824|0)+(rr<<2)|0,e[uo>>2]=TE,_Q=(qa|0)==(om|0),!_Q;)EB=qa}}if(Eo=wr+16|0,ZE=e[Eo>>2]|0,Bo=(wr+800|0)+(ZE<<2)|0,e[Bo>>2]=1,Ds=e[Eo>>2]|0,a$=(wr+1056|0)+(Ds<<2)|0,e[a$>>2]=yr,g0=e[Eo>>2]|0,b0=g0+1|0,e[Eo>>2]=b0,J0=em+1|0,c1=e[Z7>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+o1[_e>>3],r0=e[l0>>2]|0,zi=W,wr=r0,em=J0}c0=e[l0>>2]|0,z5=c0}else z5=j;F1=j+3520|0,q1=+o1[F1>>3],A2=b6+124|0,e2=e[A2>>2]|0,q2=b6+128|0,f5=e[q2>>2]|0,F5=~~q1,v5=+(F5|0),t5=q1-v5,J5=z5+2868|0,U5=f5+(F5<<3)|0,k3=+o1[U5>>3],w6=~~k3,X3=e2+(w6*492|0)|0,n4(J5|0,X3|0,492)|0,A6=+o1[U5>>3],Z6=1-t5,L6=A6*Z6,M6=F5+1|0,P6=f5+(M6<<3)|0,D4=+o1[P6>>3],b4=D4*t5,R4=b4+L6,M4=~~R4,Z4=+(M4|0),T4=R4-Z4,U9=T4==0,N4=(M4|0)>0,CB=N4&U9,I=CB?1:T4,o4=CB<<31>>31,F=o4+M4|0,x4=1-I,h4=F+1|0,de=(e2+(F*492|0)|0)+4|0,H9=+s[de>>2],E9=H9,Ee=x4*E9,We=(e2+(h4*492|0)|0)+4|0,G4=+s[We>>2],Ne=G4,U4=I*Ne,W4=Ee+U4,Se=W4,je=z5+2872|0,s[je>>2]=Se,Z9=(e2+(F*492|0)|0)+32|0,se=+s[Z9>>2],f4=se,O4=x4*f4,F9=(e2+(h4*492|0)|0)+32|0,a4=+s[F9>>2],_4=a4,Ae=I*_4,W9=O4+Ae,oe=W9,ae=z5+2900|0,s[ae>>2]=oe,B4=(e2+(F*492|0)|0)+8|0,j4=+s[B4>>2],$e=j4,C9=x4*$e,c6=(e2+(h4*492|0)|0)+8|0,Ge=+s[c6>>2],$4=Ge,Ce=I*$4,p4=C9+Ce,l4=p4,U6=z5+2876|0,s[U6>>2]=l4,De=(e2+(F*492|0)|0)+36|0,Xe=+s[De>>2],c4=Xe,k4=x4*c4,g8=(e2+(h4*492|0)|0)+36|0,q3=+s[g8>>2],y9=q3,m9=y9*I,L4=m9+k4,X4=L4,$7=z5+2904|0,s[$7>>2]=X4,l7=(e2+(F*492|0)|0)+12|0,Q7=+s[l7>>2],V8=Q7,c7=V8*x4,g7=(e2+(h4*492|0)|0)+12|0,F8=+s[g7>>2],L8=F8,M8=L8*I,T8=M8+c7,z8=T8,y7=z5+2880|0,s[y7>>2]=z8,N8=(e2+(F*492|0)|0)+40|0,G8=+s[N8>>2],U8=G8,w8=U8*x4,k8=(e2+(h4*492|0)|0)+40|0,h8=+s[k8>>2],O8=h8,P8=O8*I,W8=P8+w8,Ue=W8,Re=z5+2908|0,s[Re>>2]=Ue,e8=(e2+(F*492|0)|0)+16|0,v8=+s[e8>>2],w9=v8,h7=w9*x4,me=(e2+(h4*492|0)|0)+16|0,f7=+s[me>>2],w7=f7,X8=w7*I,ee=X8+h7,e7=ee,H8=z5+2884|0,s[H8>>2]=e7,S8=(e2+(F*492|0)|0)+44|0,t8=+s[S8>>2],P4=t8,xe=P4*x4,i8=(e2+(h4*492|0)|0)+44|0,u8=+s[i8>>2],D8=u8,j9=D8*I,r8=j9+xe,I8=r8,n8=z5+2912|0,s[n8>>2]=I8,d8=z5+3512|0,ce=+o1[d8>>3],Be=ce,Oe=z5+2936|0,s[Oe>>2]=Be,Pe=b6+132|0,X9=e[Pe>>2]|0,ge=j+3472|0,s8=+o1[ge>>3],pe=s8,Q4=~~pe,E8=+(Q4|0),t7=pe-E8,H4=t7,d3=e[l0>>2]|0,He=(X9|0)==0;e:do if(He)C8=d3+4|0,q9=e[d3>>2]|0,ie=d3+3240|0,e[ie>>2]=q9,b9=e[C8>>2]|0,qe=d3+3300|0,e[qe>>2]=b9,q8=d3+3244|0,e[q8>>2]=q9,u7=d3+3304|0,e[u7>>2]=b9,i7=d3+3248|0,e[i7>>2]=q9,r7=d3+3308|0,e[r7>>2]=b9,Y8=d3+3252|0,e[Y8>>2]=q9,n7=d3+3312|0,e[n7>>2]=b9,A8=d3+3256|0,e[A8>>2]=q9,o8=d3+3316|0,e[o8>>2]=b9,b8=d3+3260|0,e[b8>>2]=q9,q4=d3+3320|0,e[q4>>2]=b9,s7=d3+3264|0,e[s7>>2]=q9,_8=d3+3324|0,e[_8>>2]=b9,Ye=d3+3268|0,e[Ye>>2]=q9,B9=d3+3328|0,e[B9>>2]=b9,A7=d3+3272|0,e[A7>>2]=q9,Je=d3+3332|0,e[Je>>2]=b9,H7=d3+3276|0,e[H7>>2]=q9,v7=d3+3336|0,e[v7>>2]=b9,o7=d3+3280|0,e[o7>>2]=q9,S7=d3+3340|0,e[S7>>2]=b9,re=d3+3284|0,e[re>>2]=q9,T7=d3+3344|0,e[T7>>2]=b9,q7=d3+3288|0,e[q7>>2]=q9,a8=d3+3348|0,e[a8>>2]=b9,R8=d3+3292|0,e[R8>>2]=q9,D7=d3+3352|0,e[D7>>2]=b9,Le=d3+3296|0,e[Le>>2]=q9,he=d3+3356|0,e[he>>2]=b9;else{e4=d3+3120|0,b7=X9+(Q4*240|0)|0,ar=e4,bo=b7,lm=ar+60|0;do e[ar>>2]=e[bo>>2]|0,ar=ar+4|0,bo=bo+4|0;while((ar|0)<(lm|0));tt=d3+3180|0,Nt=(X9+(Q4*240|0)|0)+60|0,ar=tt,bo=Nt,lm=ar+60|0;do e[ar>>2]=e[bo>>2]|0,ar=ar+4|0,bo=bo+4|0;while((ar|0)<(lm|0));if(Gt=j+3420|0,Ut=e[Gt>>2]|0,ut=(Ut|0)==0,!ut)for(Y7=1-H4,J7=Q4+1|0,dt=t+8|0,K7=d3+4|0,X=e[dt>>2]|0,Et=+(X|0),or=0;;){if(it=((X9+(Q4*240|0)|0)+120|0)+(or<<2)|0,ni=+s[it>>2],Ot=ni,Ct=Ot*Y7,mt=((X9+(J7*240|0)|0)+120|0)+(or<<2)|0,si=+s[mt>>2],rt=si,Ai=rt*H4,Pt=Ai+Ct,Ht=Pt,qt=Ht,Yt=qt*1e3,nt=Yt/Et,pt=e[d3>>2]|0,Jt=+(pt|0),V7=Jt*nt,z7=~~V7,oi=(d3+3e3|0)+(or<<2)|0,e[oi>>2]=z7,Kt=e[K7>>2]|0,ai=+(Kt|0),Qt=ai*nt,Vt=~~Qt,yt=(d3+3060|0)+(or<<2)|0,e[yt>>2]=Vt,wt=~~Ht,zt=(d3+2940|0)+(or<<2)|0,e[zt>>2]=wt,kt=((X9+(Q4*240|0)|0)+180|0)+(or<<2)|0,vt=+s[kt>>2],Zt=vt,At=Zt*Y7,G7=((X9+(J7*240|0)|0)+180|0)+(or<<2)|0,St=+s[G7>>2],Qe=St,Dt=Qe*H4,_7=Dt+At,ot=_7,i9=ot,m8=i9*1e3,d7=m8/Et,R7=e[d3>>2]|0,Jr=+(R7|0),ur=Jr*d7,js=~~ur,Gn=(d3+3240|0)+(or<<2)|0,e[Gn>>2]=js,Xs=e[K7>>2]|0,Un=+(Xs|0),eA=Un*d7,On=~~eA,iA=(d3+3300|0)+(or<<2)|0,e[iA>>2]=On,Kr=or+1|0,FQ=(Kr|0)==15,FQ)break e;or=Kr}for(rA=(X9+(Q4*240|0)|0)+148|0,nA=+s[rA>>2],sA=nA,Pn=1-H4,AA=sA*Pn,Hn=Q4+1|0,qn=(X9+(Hn*240|0)|0)+148|0,Vr=+s[qn>>2],Yn=Vr,zr=Yn*H4,Jn=zr+AA,Kn=Jn,aA=Kn,$A=aA*1e3,lA=t+8|0,Zr=d3+4|0,Vn=~~Kn,a0=e[lA>>2]|0,Ir=+(a0|0),Wr=$A/Ir,Ah=0;gA=e[d3>>2]|0,hA=+(gA|0),jr=hA*Wr,$i=~~jr,zn=(d3+3e3|0)+(Ah<<2)|0,e[zn>>2]=$i,fA=e[Zr>>2]|0,uA=+(fA|0),Zn=uA*Wr,jn=~~Zn,IA=(d3+3060|0)+(Ah<<2)|0,e[IA>>2]=jn,li=(d3+2940|0)+(Ah<<2)|0,e[li>>2]=Vn,Xr=Ah+1|0,TQ=(Xr|0)==15,!TQ;)Ah=Xr;for(dA=(X9+(Q4*240|0)|0)+208|0,Xn=+s[dA>>2],EA=Xn,CA=EA*Pn,mA=(X9+(Hn*240|0)|0)+208|0,es=+s[mA>>2],pA=es,QA=pA*H4,yA=QA+CA,ts=yA,wA=ts,kA=wA*1e3,en=kA/Ir,dC=0;dr=e[d3>>2]|0,tn=+(dr|0),vA=tn*en,SA=~~vA,is=(d3+3240|0)+(dC<<2)|0,e[is>>2]=SA,rn=e[Zr>>2]|0,rs=+(rn|0),nn=rs*en,DA=~~nn,ns=(d3+3300|0)+(dC<<2)|0,e[ns>>2]=DA,ss=dC+1|0,xQ=(ss|0)==15,!xQ;)dC=ss}while(!1);for(bA=+o1[_e>>3],As=b6+92|0,_A=e[As>>2]|0,Er=b6+100|0,as=e[Er>>2]|0,ci=b6+108|0,sn=e[ci>>2]|0,Cr=e[l0>>2]|0,Zi=Cr+2852|0,mr=e[Zi>>2]|0,Ui=~~bA,Br=Cr+28|0,Bi=e[Br>>2]|0,pi=(Bi|0)>0,pi||(e[Br>>2]=1),Wt=(mr|0)==0,Wt?(Qi=r4(1,520)|0,e[Zi>>2]=Qi,ko=Qi):ko=mr,n4(ko|0,25784,520)|0,e[ko>>2]=0,pr=Cr+3460|0,Wi=e[pr>>2]|0,ji=(Wi|0)==0,ji||(Qr=ko+500|0,e[Qr>>2]=1,gi=_A+(Ui<<2)|0,RA=e[gi>>2]|0,W$=ko+504|0,e[W$>>2]=RA,An=as+(Ui<<2)|0,on=e[An>>2]|0,Fh=ko+508|0,e[Fh>>2]=on,j$=sn+(Ui<<3)|0,xA=+o1[j$>>3],Lh=ko+512|0,o1[Lh>>3]=xA),Wo=+o1[_e>>3],X$=e[As>>2]|0,Mh=e[Er>>2]|0,Nh=e[ci>>2]|0,jo=e[l0>>2]|0,el=jo+2856|0,tl=e[el>>2]|0,Xo=~~Wo,an=jo+28|0,il=e[an>>2]|0,Gh=(il|0)>1,Gh||(e[an>>2]=2),FA=(tl|0)==0,FA?(Xi=r4(1,520)|0,e[el>>2]=Xi,vo=Xi):vo=tl,n4(vo|0,25784,520)|0,e[vo>>2]=0,Oh=jo+3460|0,Ph=e[Oh>>2]|0,Hh=(Ph|0)==0,Hh||(qh=vo+500|0,e[qh>>2]=1,Yh=X$+(Xo<<2)|0,Jh=e[Yh>>2]|0,Kh=vo+504|0,e[Kh>>2]=Jh,Vh=Mh+(Xo<<2)|0,zh=e[Vh>>2]|0,rl=vo+508|0,e[rl>>2]=zh,Zh=Nh+(Xo<<3)|0,Wh=+o1[Zh>>3],nl=vo+512|0,o1[nl>>3]=Wh),N7||(jh=+o1[_e>>3],ea=b6+96|0,LA=e[ea>>2]|0,ta=b6+104|0,Xh=e[ta>>2]|0,ef=e[ci>>2]|0,ia=e[l0>>2]|0,Al=ia+2860|0,ol=e[Al>>2]|0,ra=~~jh,al=ia+28|0,MA=e[al>>2]|0,tf=(MA|0)>2,tf||(e[al>>2]=3),rf=(ol|0)==0,rf?($l=r4(1,520)|0,e[Al>>2]=$l,So=$l):So=ol,n4(So|0,25784,520)|0,e[So>>2]=1,nf=ia+3460|0,sf=e[nf>>2]|0,Af=(sf|0)==0,Af||(of=So+500|0,e[of>>2]=1,cl=LA+(ra<<2)|0,gl=e[cl>>2]|0,hl=So+504|0,e[hl>>2]=gl,fl=Xh+(ra<<2)|0,ul=e[fl>>2]|0,$n=So+508|0,e[$n>>2]=ul,af=ef+(ra<<3)|0,Il=+o1[af>>3],dl=So+512|0,o1[dl>>3]=Il),El=+o1[_e>>3],lf=e[ea>>2]|0,cf=e[ta>>2]|0,gf=e[ci>>2]|0,na=e[l0>>2]|0,Cl=na+2864|0,ml=e[Cl>>2]|0,ls=~~El,Bl=na+28|0,hf=e[Bl>>2]|0,pl=(hf|0)>3,pl||(e[Bl>>2]=4),ff=(ml|0)==0,ff?(Ql=r4(1,520)|0,e[Cl>>2]=Ql,Do=Ql):Do=ml,n4(Do|0,25784,520)|0,e[Do>>2]=1,uf=na+3460|0,If=e[uf>>2]|0,yl=(If|0)==0,yl||(wl=Do+500|0,e[wl>>2]=1,df=lf+(ls<<2)|0,TA=e[df>>2]|0,Aa=Do+504|0,e[Aa>>2]=TA,kl=cf+(ls<<2)|0,vl=e[kl>>2]|0,Cf=Do+508|0,e[Cf>>2]=vl,mf=gf+(ls<<3)|0,Bf=+o1[mf>>3],pf=Do+512|0,o1[pf>>3]=Bf)),Qf=(j+3528|0)+(n<<5)|0,yf=+o1[Qf>>3],NA=b6+32|0,bl=e[NA>>2]|0,GA=b6+36|0,wf=e[GA>>2]|0,_l=b6+44|0,kf=e[_l>>2]|0,JC(t,yf,0,bl,wf,kf),Rl=j+3560|0,vf=+o1[Rl>>3],Sf=e[NA>>2]|0,xl=e[GA>>2]|0,oa=b6+52|0,bf=e[oa>>2]|0,JC(t,vf,1,Sf,xl,bf),N7||(UA=j+3592|0,_f=+o1[UA>>3],OA=e[NA>>2]|0,Rf=e[GA>>2]|0,aa=e[oa>>2]|0,JC(t,_f,2,OA,Rf,aa),xf=j+3624|0,Ff=+o1[xf>>3],Lf=e[NA>>2]|0,Fl=e[GA>>2]|0,Tf=b6+48|0,Nf=e[Tf>>2]|0,JC(t,Ff,3,Lf,Fl,Nf)),Gf=((j+3528|0)+(n<<5)|0)+24|0,Ll=+o1[Gf>>3],Ml=b6+80|0,er=e[Ml>>2]|0,Tl=b6+84|0,PA=e[Tl>>2]|0,$a=~~Ll,la=+($a|0),Nl=Ll-la,cn=e[l0>>2]|0,Uf=cn+2852|0,Gl=e[Uf>>2]|0,Of=PA+($a<<3)|0,Pf=+o1[Of>>3],Hf=1-Nl,qf=Pf*Hf,HA=$a+1|0,ca=PA+(HA<<3)|0,Yf=+o1[ca>>3],Jf=Yf*Nl,Ul=Jf+qf,ga=~~Ul,Ol=+(ga|0),Pl=Ul-Ol,Kf=Pl==0,Hl=(ga|0)>0,mB=Hl&Kf,a=mB?1:Pl,Vf=mB<<31>>31,L=Vf+ga|0,ha=1-a,Zf=L+1|0,ih=0;O9=(er+(L*160|0)|0)+(ih<<2)|0,Wf=e[O9>>2]|0,ql=+(Wf|0),jf=ql*ha,Xf=(er+(Zf*160|0)|0)+(ih<<2)|0,fa=e[Xf>>2]|0,eu=+(fa|0),ua=eu*a,Yl=ua+jf,iu=Yl,Jl=(Gl+336|0)+(ih<<2)|0,s[Jl>>2]=iu,Kl=ih+1|0,vQ=(Kl|0)==40,!vQ;)ih=Kl;for(ru=j+3584|0,Ia=+o1[ru>>3],da=~~Ia,Vl=+(da|0),zl=Ia-Vl,nu=cn+2856|0,Zl=e[nu>>2]|0,su=PA+(da<<3)|0,Wl=+o1[su>>3],Au=1-zl,ou=Wl*Au,au=da+1|0,$u=PA+(au<<3)|0,jl=+o1[$u>>3],Xl=jl*zl,Ca=Xl+ou,qA=~~Ca,lu=+(qA|0),tc=Ca-lu,ic=tc==0,cu=(qA|0)>0,BB=cu&ic,c=BB?1:tc,gu=BB<<31>>31,M=gu+qA|0,hu=1-c,rc=M+1|0,rh=0;fu=(er+(M*160|0)|0)+(rh<<2)|0,uu=e[fu>>2]|0,Iu=+(uu|0),Eu=Iu*hu,Cu=(er+(rc*160|0)|0)+(rh<<2)|0,nc=e[Cu>>2]|0,mu=+(nc|0),sc=mu*c,Bu=sc+Eu,gn=Bu,pu=(Zl+336|0)+(rh<<2)|0,s[pu>>2]=gn,Ac=rh+1|0,SQ=(Ac|0)==40,!SQ;)rh=Ac;if(!N7){for(Qu=j+3616|0,ma=+o1[Qu>>3],yu=b6+88|0,YA=e[yu>>2]|0,Ba=~~ma,wu=+(Ba|0),pa=ma-wu,ac=cn+2860|0,ku=e[ac>>2]|0,vu=YA+(Ba<<3)|0,Su=+o1[vu>>3],bu=1-pa,$c=Su*bu,_u=Ba+1|0,Ru=YA+(_u<<3)|0,xu=+o1[Ru>>3],JA=xu*pa,gs=JA+$c,Qa=~~gs,Fu=+(Qa|0),ya=gs-Fu,Mu=ya==0,Tu=(Qa|0)>0,pB=Tu&Mu,f=pB?1:ya,lc=pB<<31>>31,T=lc+Qa|0,Nu=1-f,Gu=T+1|0,nh=0;Uu=(er+(T*160|0)|0)+(nh<<2)|0,Ou=e[Uu>>2]|0,Pu=+(Ou|0),KA=Pu*Nu,Hu=(er+(Gu*160|0)|0)+(nh<<2)|0,cc=e[Hu>>2]|0,Yu=+(cc|0),Ju=Yu*f,Ku=Ju+KA,Vu=Ku,hi=(ku+336|0)+(nh<<2)|0,s[hi>>2]=Vu,gc=nh+1|0,DQ=(gc|0)==40,!DQ;)nh=gc;for(fi=j+3648|0,hc=+o1[fi>>3],wa=~~hc,jt=+(wa|0),hs=hc-jt,Zu=cn+2864|0,Wu=e[Zu>>2]|0,ju=YA+(wa<<3)|0,Xu=+o1[ju>>3],eI=1-hs,fc=Xu*eI,tI=wa+1|0,iI=YA+(tI<<3)|0,rI=+o1[iI>>3],nI=rI*hs,fs=nI+fc,ka=~~fs,sI=+(ka|0),Ic=fs-sI,AI=Ic==0,oI=(ka|0)>0,QB=oI&AI,E=QB?1:Ic,VA=QB<<31>>31,G=VA+ka|0,aI=1-E,dc=G+1|0,sh=0;Ec=(er+(G*160|0)|0)+(sh<<2)|0,lI=e[Ec>>2]|0,cI=+(lI|0),hn=cI*aI,gI=(er+(dc*160|0)|0)+(sh<<2)|0,hI=e[gI>>2]|0,fn=+(hI|0),fI=fn*E,Cc=fI+hn,II=Cc,us=(Wu+336|0)+(sh<<2)|0,s[us>>2]=II,mc=sh+1|0,bQ=(mc|0)==40,!bQ;)sh=mc}for(dI=((j+3528|0)+(n<<5)|0)+8|0,Bc=+o1[dI>>3],EI=b6+40|0,tr=e[EI>>2]|0,va=~~Bc,CI=+(va|0),pc=Bc-CI,mI=tr+(va<<2)|0,BI=e[mI>>2]|0,yc=+(BI|0),pI=1-pc,QI=yc*pI,yI=va+1|0,wc=tr+(yI<<2)|0,wI=e[wc>>2]|0,Is=+(wI|0),kI=Is*pc,vI=kI+QI,SI=vI,Sa=Gl+32|0,s[Sa>>2]=SI,DI=j+3568|0,Da=+o1[DI>>3],ba=~~Da,bI=+(ba|0),kc=Da-bI,vc=tr+(ba<<2)|0,_I=e[vc>>2]|0,bc=+(_I|0),RI=1-kc,_c=bc*RI,Rc=ba+1|0,xI=tr+(Rc<<2)|0,FI=e[xI>>2]|0,xc=+(FI|0),Fc=xc*kc,LI=Fc+_c,Lc=LI,MI=Zl+32|0,s[MI>>2]=Lc,N7||(TI=j+3600|0,Tc=+o1[TI>>3],_a=~~Tc,Nc=+(_a|0),Gc=Tc-Nc,Uc=cn+2860|0,Oc=e[Uc>>2]|0,NI=tr+(_a<<2)|0,GI=e[NI>>2]|0,OI=+(GI|0),PI=1-Gc,HI=OI*PI,qI=_a+1|0,YI=tr+(qI<<2)|0,Pc=e[YI>>2]|0,Ra=+(Pc|0),JI=Ra*Gc,KI=JI+HI,VI=KI,qc=Oc+32|0,s[qc>>2]=VI,zI=j+3632|0,Yc=+o1[zI>>3],xa=~~Yc,zA=+(xa|0),Jc=Yc-zA,ZI=cn+2864|0,WI=e[ZI>>2]|0,jI=tr+(xa<<2)|0,XI=e[jI>>2]|0,ZA=+(XI|0),ed=1-Jc,td=ZA*ed,id=xa+1|0,rd=tr+(id<<2)|0,nd=e[rd>>2]|0,sd=+(nd|0),Ad=sd*Jc,od=Ad+td,Vc=od,$d=WI+32|0,s[$d>>2]=Vc),ld=((j+3528|0)+(n<<5)|0)+16|0,cd=+o1[ld>>3],WA=b6+76|0,zc=e[WA>>2]|0,gd=b6+60|0,hd=e[gd>>2]|0,In=b6+56|0,Zc=e[In>>2]|0,Sl?jc=0:(Wc=j+3408|0,fd=+o1[Wc>>3],jc=fd),KC(t,cd,0,zc,hd,Zc,jc),ud=j+3576|0,Xc=+o1[ud>>3],eg=e[WA>>2]|0,Id=b6+64|0,dd=e[Id>>2]|0,Ed=e[In>>2]|0,KC(t,Xc,1,eg,dd,Ed,0),N7?(ds=e[l0>>2]|0,Od=ds+2852|0,gg=e[Od>>2]|0,Pd=ds+3496|0,Ta=+o1[Pd>>3],hg=Ta,Hd=gg+4|0,s[Hd>>2]=hg,Yd=ds+3504|0,Jd=+o1[Yd>>3],fg=Jd,Kd=gg+8|0,s[Kd>>2]=fg,Vd=ds+2856|0,ug=e[Vd>>2]|0,io=ug+4|0,s[io>>2]=hg,zd=ug+8|0,s[zd>>2]=fg,ir=ds):(Cd=j+3608|0,md=+o1[Cd>>3],La=e[WA>>2]|0,Bd=b6+68|0,pd=e[Bd>>2]|0,Qd=e[In>>2]|0,KC(t,md,2,La,pd,Qd,0),yd=j+3640|0,tg=+o1[yd>>3],wd=e[WA>>2]|0,ig=b6+72|0,kd=e[ig>>2]|0,vd=e[In>>2]|0,KC(t,tg,3,wd,kd,vd,0),kr=e[l0>>2]|0,ng=kr+2852|0,sg=e[ng>>2]|0,Sd=kr+3496|0,Ag=+o1[Sd>>3],XA=Ag,Dd=sg+4|0,s[Dd>>2]=XA,bd=kr+3504|0,_d=+o1[bd>>3],eo=_d,Rd=sg+8|0,s[Rd>>2]=eo,xd=kr+2856|0,ag=e[xd>>2]|0,Fd=ag+4|0,s[Fd>>2]=XA,Ld=ag+8|0,s[Ld>>2]=eo,Ma=kr+2860|0,to=e[Ma>>2]|0,Md=to+4|0,s[Md>>2]=XA,Td=to+8|0,s[Td>>2]=eo,Nd=kr+2864|0,cg=e[Nd>>2]|0,Gd=cg+4|0,s[Gd>>2]=XA,Ud=cg+8|0,s[Ud>>2]=eo,ir=kr),Zd=+o1[_e>>3],Wd=b6+152|0,Ig=e[Wd>>2]|0,dg=~~Zd,jd=Ig+(dg<<3)|0,Eg=e[jd>>2]|0,Cg=(Ig+(dg<<3)|0)+4|0,yi=e[Cg>>2]|0,mg=e[ir>>2]|0,Xd=ir+4|0,eE=e[Xd>>2]|0,iE=(mg|0)==(eE|0),o=iE?1:2,Na=ir+8|0,ro=ir+12|0,Bg=t+8|0,pg=t+4|0,Ii=0;;){if(rE=r4(1,3208)|0,no=(ir+544|0)+(Ii<<2)|0,e[no>>2]=rE,Cs=r4(1,16)|0,nE=(ir+32|0)+(Ii<<2)|0,e[nE>>2]=Cs,so=26304+(Ii<<4)|0,e[Cs>>2]=e[so>>2]|0,e[Cs+4>>2]=e[so+4>>2]|0,e[Cs+8>>2]=e[so+8>>2]|0,e[Cs+12>>2]=e[so+12>>2]|0,sE=e[Na>>2]|0,Ua=(Ii|0)<(sE|0),Ua||(AE=Ii+1|0,e[Na>>2]=AE),oE=(ir+288|0)+(Ii<<2)|0,e[oE>>2]=0,Qg=e[no>>2]|0,Ao=Eg+(Ii*3208|0)|0,n4(Qg|0,Ao|0,3208)|0,yg=e[ro>>2]|0,aE=(Ii|0)<(yg|0),aE||($E=Ii+1|0,e[ro>>2]=$E),lE=e[Ao>>2]|0,wg=(lE|0)>0,wg)for(im=0;;){gE=((Eg+(Ii*3208|0)|0)+1092|0)+(im<<2)|0,W7=e[gE>>2]|0,y4=e[l0>>2]|0,Xt=S9(2840)|0,hE=(y4+1568|0)+(W7<<2)|0,e[hE>>2]=Xt,kg=(yi+(W7<<5)|0)+12|0,vg=e[kg>>2]|0,n4(Xt|0,vg|0,2840)|0,Oa=y4+20|0,fE=e[Oa>>2]|0,ms=(fE|0)>(W7|0),ms||(uE=W7+1|0,e[Oa>>2]=uE),IE=(yi+(W7<<5)|0)+8|0,Sg=e[IE>>2]|0,Pa=Xt+8|0,e[Pa>>2]=Sg,dE=yi+(W7<<5)|0,Dg=e[dE>>2]|0,bg=(y4+1312|0)+(W7<<2)|0,e[bg>>2]=Dg,_g=y4+3420|0,Ha=e[_g>>2]|0,Rg=(Ha|0)==0,Bs=Xt+12|0,Ya=e[Bs>>2]|0,xg=(Ya|0)>0;do if(Rg){if(xg)for(Fg=(yi+(W7<<5)|0)+24|0,oo=e[Fg>>2]|0,mE=Xt+24|0,wo=0;;)if(sr=mE+(wo<<2)|0,Cn=oo+(wo<<4)|0,bt=e[Cn>>2]|0,_t=(bt|0)==0,_t||(Rt=e[sr>>2]|0,go=Rt|1,e[sr>>2]=go),ho=(oo+(wo<<4)|0)+4|0,Yg=e[ho>>2]|0,Jg=(Yg|0)==0,Jg||(v2=e[sr>>2]|0,E5=v2|2,e[sr>>2]=E5),r5=(oo+(wo<<4)|0)+8|0,x2=e[r5>>2]|0,R2=(x2|0)==0,R2||(B2=e[sr>>2]|0,C5=B2|4,e[sr>>2]=C5),u5=(oo+(wo<<4)|0)+12|0,b5=e[u5>>2]|0,G5=(b5|0)==0,G5||(_5=e[sr>>2]|0,H2=_5|8,e[sr>>2]=H2),I5=wo+1|0,A5=e[Bs>>2]|0,l5=(I5|0)<(A5|0),l5)wo=I5;else{Co=A5;break}else Co=Ya;fo=(yi+(W7<<5)|0)+16|0,e$=e[fo>>2]|0,xt=y4+24|0,br=e[xt>>2]|0,t$=(br|0)>0,HE=e$;e:do if(t$)for(IC=0;;){if(i$=(y4+1824|0)+(IC<<2)|0,qE=e[i$>>2]|0,r$=(qE|0)==(e$|0),r$){R=IC;break e}if(Kg=IC+1|0,Io=(Kg|0)<(br|0),Io)IC=Kg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,YE=br+1|0,e[xt>>2]=YE,R=br),JE=Xt+20|0,e[JE>>2]=R,KE=(y4+1824|0)+(R<<2)|0,e[KE>>2]=HE,mn=(Co|0)>0,!mn)break;for(Ke=(yi+(W7<<5)|0)+24|0,v4=Xt+280|0,Fr=0,u$=0;;){if(Vg=e[Ke>>2]|0,VE=Vg+(u$<<4)|0,n$=e[VE>>2]|0,zg=(n$|0)==0,zE=n$,zg)ws=Vg,sC=Fr;else{mo=e[xt>>2]|0,WE=(mo|0)>0;e:do if(WE)for(cC=0;;){if(jE=(y4+1824|0)+(cC<<2)|0,XE=e[jE>>2]|0,eC=(XE|0)==(n$|0),eC){x=cC;break e}if(Zg=cC+1|0,tC=(Zg|0)<(mo|0),tC)cC=Zg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,iC=mo+1|0,e[xt>>2]=iC,x=mo),rC=Fr+1|0,ei=v4+(Fr<<2)|0,e[ei>>2]=x,Bn=(y4+1824|0)+(x<<2)|0,e[Bn>>2]=zE,n0=e[Ke>>2]|0,ws=n0,sC=rC}if(s$=(ws+(u$<<4)|0)+4|0,ks=e[s$>>2]|0,j7=(ks|0)==0,vs=ks,j7)E2=ws,Y4=sC;else{K1=e[xt>>2]|0,P1=(K1|0)>0;e:do if(P1)for(aC=0;;){if(H1=(y4+1824|0)+(aC<<2)|0,Y1=e[H1>>2]|0,j1=(Y1|0)==(ks|0),j1){D=aC;break e}if(r2=aC+1|0,W1=(r2|0)<(K1|0),W1)aC=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,O1=K1+1|0,e[xt>>2]=O1,D=K1),l2=sC+1|0,z1=v4+(sC<<2)|0,e[z1>>2]=D,f2=(y4+1824|0)+(D<<2)|0,e[f2>>2]=vs,i0=e[Ke>>2]|0,E2=i0,Y4=l2}if(s2=(E2+(u$<<4)|0)+8|0,V1=e[s2>>2]|0,g2=(V1|0)==0,a2=V1,g2)_2=E2,g$=Y4;else{t2=e[xt>>2]|0,$2=(t2|0)>0;e:do if($2)for($C=0;;){if(i2=(y4+1824|0)+($C<<2)|0,o2=e[i2>>2]|0,X1=(o2|0)==(V1|0),X1){Q=$C;break e}if(n2=$C+1|0,u2=(n2|0)<(t2|0),u2)$C=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[xt>>2]=y2,Q=t2),S2=Y4+1|0,w2=v4+(Y4<<2)|0,e[w2>>2]=Q,m2=(y4+1824|0)+(Q<<2)|0,e[m2>>2]=a2,K=e[Ke>>2]|0,_2=K,g$=S2}if(M2=(_2+(u$<<4)|0)+12|0,N2=e[M2>>2]|0,I2=(N2|0)==0,J2=N2,I2)fB=g$;else{G2=e[xt>>2]|0,T2=(G2|0)>0;e:do if(T2)for(lC=0;;){if(O2=(y4+1824|0)+(lC<<2)|0,K2=e[O2>>2]|0,s5=(K2|0)==(N2|0),s5){b=lC;break e}if(P2=lC+1|0,T1=(P2|0)<(G2|0),T1)lC=P2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,j2=G2+1|0,e[xt>>2]=j2,b=G2),x5=g$+1|0,X2=v4+(g$<<2)|0,e[X2>>2]=b,D5=(y4+1824|0)+(b<<2)|0,e[D5>>2]=J2,fB=x5}if(k5=u$+1|0,O5=e[Bs>>2]|0,$5=(k5|0)<(O5|0),$5)Fr=fB,u$=k5;else break}}else{if(xg)for(EE=(yi+(W7<<5)|0)+28|0,dn=e[EE>>2]|0,CE=Xt+24|0,yo=0;;)if(wi=CE+(yo<<2)|0,BE=dn+(yo<<4)|0,pE=e[BE>>2]|0,QE=(pE|0)==0,QE||(yE=e[wi>>2]|0,wE=yE|1,e[wi>>2]=wE),kE=(dn+(yo<<4)|0)+4|0,ki=e[kE>>2]|0,vE=(ki|0)==0,vE||(n6=e[wi>>2]|0,t3=n6|2,e[wi>>2]=t3),A3=(dn+(yo<<4)|0)+8|0,x3=e[A3>>2]|0,h6=(x3|0)==0,h6||(p3=e[wi>>2]|0,Q3=p3|4,e[wi>>2]=Q3),i6=(dn+(yo<<4)|0)+12|0,W3=e[i6>>2]|0,U3=(W3|0)==0,U3||(V5=e[wi>>2]|0,v3=V5|8,e[wi>>2]=v3),c3=yo+1|0,O3=e[Bs>>2]|0,$6=(c3|0)<(O3|0),$6)yo=c3;else{Hg=O3;break}else Hg=Ya;SE=(yi+(W7<<5)|0)+20|0,Mg=e[SE>>2]|0,ui=y4+24|0,ao=e[ui>>2]|0,Ja=(ao|0)>0,Tg=Mg;e:do if(Ja)for(oC=0;;){if(Ng=(y4+1824|0)+(oC<<2)|0,bE=e[Ng>>2]|0,Gg=(bE|0)==(Mg|0),Gg){B=oC;break e}if(Ug=oC+1|0,_E=(Ug|0)<(ao|0),_E)oC=Ug;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Pg=ao+1|0,e[ui>>2]=Pg,B=ao),xE=Xt+20|0,e[xE>>2]=B,FE=(y4+1824|0)+(B<<2)|0,e[FE>>2]=Tg,LE=(Hg|0)>0,!LE)break;for(ps=(yi+(W7<<5)|0)+28|0,$o=Xt+280|0,Rs=0,h$=0;;){if(lo=e[ps>>2]|0,ME=lo+(h$<<4)|0,Ka=e[ME>>2]|0,NE=(Ka|0)==0,qg=Ka,NE)ys=lo,yn=Rs;else{Qs=e[ui>>2]|0,GE=(Qs|0)>0;e:do if(GE)for(uC=0;;){if(UE=(y4+1824|0)+(uC<<2)|0,Va=e[UE>>2]|0,za=(Va|0)==(Ka|0),za){y=uC;break e}if(co=uC+1|0,Za=(co|0)<(Qs|0),Za)uC=co;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,Wa=Qs+1|0,e[ui>>2]=Wa,y=Qs),Sr=Rs+1|0,Dr=$o+(Rs<<2)|0,e[Dr>>2]=y,ja=(y4+1824|0)+(y<<2)|0,e[ja>>2]=qg,H=e[ps>>2]|0,ys=H,yn=Sr}if(Xa=(ys+(h$<<4)|0)+4|0,nr=e[Xa>>2]|0,En=(nr|0)==0,OE=nr,En)R5=ys,pn=yn;else{m5=e[ui>>2]|0,M1=(m5|0)>0;e:do if(M1)for(gC=0;;){if(c5=(y4+1824|0)+(gC<<2)|0,o5=e[c5>>2]|0,z2=(o5|0)==(nr|0),z2){v=gC;break e}if(c2=gC+1|0,B5=(c2|0)<(m5|0),B5)gC=c2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,e5=m5+1|0,e[ui>>2]=e5,v=m5),n5=yn+1|0,g5=$o+(yn<<2)|0,e[g5>>2]=v,Y2=(y4+1824|0)+(v<<2)|0,e[Y2>>2]=OE,V=e[ps>>2]|0,R5=V,pn=n5}if(h5=(R5+(h$<<4)|0)+8|0,W2=e[h5>>2]|0,a5=(W2|0)==0,F2=W2,a5)f3=R5,Qn=pn;else{p5=e[ui>>2]|0,H5=(p5|0)>0;e:do if(H5)for(hC=0;;){if(X5=(y4+1824|0)+(hC<<2)|0,d5=e[X5>>2]|0,u3=(d5|0)==(W2|0),u3){S=hC;break e}if(h3=hC+1|0,e3=(h3|0)<(p5|0),e3)hC=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=p5+1|0,e[ui>>2]=n3,S=p5),C3=pn+1|0,L5=$o+(pn<<2)|0,e[L5>>2]=S,K5=(y4+1824|0)+(S<<2)|0,e[K5>>2]=F2,o0=e[ps>>2]|0,f3=o0,Qn=C3}if(w3=(f3+(h$<<4)|0)+12|0,B3=e[w3>>2]|0,K3=(B3|0)==0,T3=B3,K3)L9=Qn;else{y3=e[ui>>2]|0,W5=(y3|0)>0;e:do if(W5)for(fC=0;;){if(t6=(y4+1824|0)+(fC<<2)|0,R3=e[t6>>2]|0,N3=(R3|0)==(B3|0),N3){w=fC;break e}if(o3=fC+1|0,$3=(o3|0)<(y3|0),$3)fC=o3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,l3=y3+1|0,e[ui>>2]=l3,w=y3),m3=Qn+1|0,q5=$o+(Qn<<2)|0,e[q5>>2]=w,P5=(y4+1824|0)+(w<<2)|0,e[P5>>2]=T3,L9=m3}if(w5=h$+1|0,G3=e[Bs>>2]|0,M5=(w5|0)<(G3|0),M5)Rs=L9,h$=w5;else break}}while(!1);Wg=y4+3480|0,jg=+o1[Wg>>3],po=jg*1e3,Ss=(y4+1056|0)+(Ii<<2)|0,bs=e[Ss>>2]|0,nC=e[Bg>>2]|0,_s=+(nC|0),Ar=_s*.5,Xg=y4+(Ii<<2)|0,_r=e[Xg>>2]|0,ti=_r>>1,A$=po>Ar,IB=A$?Ar:po,o$=IB/Ar,Pi=+(ti|0),$$=Pi*o$,l$=~~$$,Rr=bs+1116|0,e[Rr>>2]=l$,o6=(yi+(W7<<5)|0)+4|0,Qo=e[o6>>2]|0;do if((Qo|0)==2)th=250;else if((Qo|0)==1){if(xr=e[_g>>2]|0,eh=(xr|0)==0,ye=y4+2996|0,c$=y4+2968|0,UQ=eh?c$:ye,GQ=e[UQ>>2]|0,NQ=+(GQ|0),dB=NQ*1e3,B8=dB>Ar,!B8){th=dB;break}th=Ar}else th=IB;while(!1);f0=e[bg>>2]|0,Q0=(f0|0)==2;do if(Q0){if(d0=y4+12|0,w0=e[d0>>2]|0,h0=(w0|0)>0,h0)for(tm=0;;){if(E0=(y4+544|0)+(tm<<2)|0,C0=e[E0>>2]|0,I0=e[C0>>2]|0,v0=(I0|0)>0,v0)for(EC=0;;){K0=(C0+1092|0)+(EC<<2)|0,m0=e[K0>>2]|0,F0=(m0|0)==(W7|0);do if(F0){if(L0=e[pg>>2]|0,T0=(L0|0)>0,T0)uB=0,nm=0;else{AC=0;break}for(;;)if(U0=(C0+4|0)+(nm<<2)|0,B0=e[U0>>2]|0,q0=(B0|0)==(EC|0),x0=q0&1,P=x0+uB|0,D0=nm+1|0,kQ=(D0|0)==(L0|0),kQ){AC=P;break}else uB=P,nm=D0}else AC=0;while(!1);if(M0=EC+1|0,Y0=(M0|0)<(I0|0),O0=(AC|0)==0,z0=Y0&O0,z0)EC=M0;else{jC=AC;break}}else jC=0;if(N0=tm+1|0,P0=(N0|0)<(w0|0),r1=(jC|0)==0,H0=P0&r1,H0)tm=N0;else{WC=jC;break}}else WC=0;if(e1=th/Ar,S0=+(WC|0),i1=S0*Pi,$1=i1*e1,f1=e[Pa>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=i5(a1,f1)|0,A1=Xt+4|0,e[A1>>2]=n1,Z0=i5(WC,ti)|0,I1=(n1|0)>(Z0|0),!I1){U=A1,Z1=n1,D1=f1;break}E1=(Z0|0)%(f1|0)&-1,u1=Z0-E1|0,e[A1>>2]=u1,U=A1,Z1=u1,D1=f1}else{if(d1=th/Ar,B1=d1*Pi,p1=e[Pa>>2]|0,Q1=+(p1|0),R1=B1/Q1,x1=R1+.9,y1=~~x1,S1=i5(y1,p1)|0,L1=Xt+4|0,e[L1>>2]=S1,G1=(S1|0)>(ti|0),!G1){U=L1,Z1=S1,D1=p1;break}w1=(ti|0)%(p1|0)&-1,U1=ti-w1|0,e[L1>>2]=U1,U=L1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),I3=im+1|0,k6=e[Ao>>2]|0,v6=(I3|0)<(k6|0),v6)im=I3;else break}if(B6=Ii+1|0,j3=(B6|0)<(o|0),j3)Ii=B6;else break}return l6=j+3428|0,p6=e[l6>>2]|0,_6=(p6|0)>0,_6?(q6=t+16|0,e[q6>>2]=p6):(C6=e[l0>>2]|0,S3=C6+3396|0,e6=e[S3>>2]|0,f6=C6+3400|0,P3=+o1[f6>>3],D3=~~P3,H3=+(D3|0),V3=P3-H3,S6=e6+4|0,s6=e[S6>>2]|0,i3=(s6|0)==0,i3?p=-1:(O6=e[pg>>2]|0,u6=s6+(D3<<3)|0,b3=+o1[u6>>3],T6=1-V3,r6=b3*T6,Q6=D3+1|0,R6=s6+(Q6<<3)|0,J6=+o1[R6>>3],I6=J6*V3,Y6=I6+r6,F3=+(O6|0),N6=Y6*F3,OQ=~~N6,p=OQ),j6=t+16|0,e[j6>>2]=p),r9=j+3424|0,x6=e[r9>>2]|0,G6=t+20|0,e[G6>>2]=x6,D6=j+3440|0,K6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=K6,F6=(p6|0)==0,F6?s0=0:(L3=j+3444|0,X6=e[L3>>2]|0,A9=+(X6|0),W6=+(p6|0),h9=A9/W6,f9=~~h9,s0=f9),u9=t+24|0,e[u9>>2]=s0,o9=j+3420|0,a9=e[o9>>2]|0,T9=(a9|0)==0,T9?(C=0,C|0):(d6=e[l6>>2]|0,e9=j+3360|0,e[e9>>2]=d6,N9=e[r9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,s4=j+3368|0,e[s4>>2]=E4,g4=j+3444|0,G9=e[g4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,D9=j+3448|0,d9=+o1[D9>>3],t9=j+3376|0,o1[t9>>3]=d9,C4=j+3432|0,S4=+o1[C4>>3],A4=j+3384|0,o1[A4>>3]=S4,C=0,C|0)}function US(t,n,o,a){t=t|0,n=n|0,o=o|0,a=+a;var c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0;if(P=m,I=(o|0)<1,I)f=-131;else if(C=t+28|0,Q=e[C>>2]|0,b=a,x=b+1e-7,R=x,F=!(R>=1),E=F?R:.9998999834060669,L=Q+3416|0,s[L>>2]=E,M=E,T=Q+3400|0,p=OS(n,o,M,0,T)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)f=-130;else return PS(t,n,o),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=GS(t)|0,D=(y|0)==0,D?(c=0,c|0):(nB(t),c=y,c|0);return nB(t),c=f,c|0}function JC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0;for(B1=m,E=~~n,I=+(E|0),x=n-I,J=t+28|0,i0=e[J>>2]|0,d0=(i0+2852|0)+(o<<2)|0,L0=e[d0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),C=1-x,p=h1*C,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*x,D=y+p,Q=D,b=L0+12|0,s[b>>2]=Q,R=(a+(E*20|0)|0)+4|0,F=e[R>>2]|0,L=+(F|0),M=L*C,T=(a+(B*20|0)|0)+4|0,G=e[T>>2]|0,P=+(G|0),z=P*x,Y=z+M,t0=Y,W=L0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,H=e[e0>>2]|0,X=+(H|0),U=X*C,a0=(a+(B*20|0)|0)+8|0,Z=e[a0>>2]|0,V=+(Z|0),o0=V*x,n0=o0+U,r0=n0,K=L0+20|0,s[K>>2]=r0,c0=(a+(E*20|0)|0)+12|0,s0=+s[c0>>2],l0=s0,j=l0*C,$0=(a+(B*20|0)|0)+12|0,g0=+s[$0>>2],f0=g0,Q0=f0*x,w0=Q0+j,h0=w0,E0=L0+24|0,s[E0>>2]=h0,C0=(a+(E*20|0)|0)+16|0,I0=+s[C0>>2],v0=I0,K0=v0*C,b0=(a+(B*20|0)|0)+16|0,m0=+s[b0>>2],F0=m0,T0=F0*x,U0=T0+K0,B0=U0,q0=L0+28|0,s[q0>>2]=B0,x0=c+(E<<2)|0,D0=e[x0>>2]|0,M0=+(D0|0),J0=M0*C,Y0=c+(B<<2)|0,O0=e[Y0>>2]|0,N0=+(O0|0),P0=N0*x,r1=P0+J0,H0=r1,e1=L0+496|0,s[e1>>2]=H0,u1=0;S0=(f+(E*68|0)|0)+(u1<<2)|0,i1=e[S0>>2]|0,c1=+(i1|0),$1=c1*C,f1=(f+(B*68|0)|0)+(u1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*x,n1=a1+$1,A1=n1,Z0=(L0+36|0)+(u1<<2)|0,s[Z0>>2]=A1,I1=u1+1|0,E1=(I1|0)==17,!E1;)u1=I1}function KC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0;for(w2=m,w=~~n,y=+(w|0),a0=n-y,j=t+28|0,v0=e[j>>2]|0,D0=(v0+2852|0)+(o<<2)|0,S0=e[D0>>2]|0,Z0=a+(w<<2)|0,y1=e[Z0>>2]|0,P1=+(y1|0),D=1-a0,z=P1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*a0,H=e0+z,X=H,U=S0+108|0,s[U>>2]=X,Z=f+(o*12|0)|0,V=e[Z>>2]|0,o0=S0+120|0,e[o0>>2]=V,n0=(f+(o*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=S0+124|0,e[r0>>2]=i0,K=(f+(o*12|0)|0)+8|0,c0=e[K>>2]|0,s0=S0+128|0,e[s0>>2]=c0,t2=0;;)if(l0=(c+(w*204|0)|0)+(t2<<2)|0,$0=e[l0>>2]|0,g0=+($0|0),f0=g0*D,Q0=(c+(Y*204|0)|0)+(t2<<2)|0,d0=e[Q0>>2]|0,w0=+(d0|0),h0=w0*a0,E0=h0+f0,C0=E0,I0=(S0+132|0)+(t2<<2)|0,s[I0>>2]=C0,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,F1=+(S1|0),L1=F1*D,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,w1=e[G1>>2]|0,U1=+(w1|0),Z1=U1*a0,N1=Z1+L1,D1=N1,K1=(S0+200|0)+($2<<2)|0,s[K1>>2]=D1,H1=$2+1|0,g2=(H1|0)==17,g2){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,O1=e[W1>>2]|0,l2=+(O1|0),z1=l2*a0,f2=z1+r2,Q=f2,b=(S0+268|0)+(i2<<2)|0,s[b>>2]=Q,x=i2+1|0,a2=(x|0)==17,!a2;)i2=x;for(R=S0+132|0,F=+s[R>>2],B0=F+6,L=S0+132|0,M=F,T=M+E,G=T,P=G>2]=y2,b0=1;I=(S0+132|0)+(b0<<2)|0,B=+s[I>>2],m0=(S0+132|0)+(b0<<2)|0,F0=B,L0=F0+E,T0=L0,U0=T0>2]=o2,q0=b0+1|0,s2=(q0|0)==17,!s2;)b0=q0;for(x0=S0+200|0,M0=+s[x0>>2],J0=M0+6,Y0=S0+200|0,O0=M0,z0=O0+E,N0=z0,P0=N0>2]=n2,r1=1;C=(S0+200|0)+(r1<<2)|0,v=+s[C>>2],H0=(S0+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=S0+268|0,l1=+s[g1>>2],s1=l1+6,a1=S0+268|0,n1=l1,A1=n1+E,I1=A1,h1=I1>2]=e2,E1=1;p=(S0+268|0)+(E1<<2)|0,S=+s[p>>2],u1=(S0+268|0)+(E1<<2)|0,d1=S,B1=d1+E,p1=B1,Q1=p1>2]=u2,R1=E1+1|0,A2=(R1|0)==17,!A2;)E1=R1}function OS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0;Q1=m,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,a0=(U|0)==-1,V=(U|0)==(t|0),u1=a0|V,u1&&(o0=e0+16|0,n0=e[o0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,K=e[r0>>2]|0,c0=(K|0)<(n|0),!c0&&(s0=e[e0>>2]|0,l0=e0+8|0,j=e[l0>>2]|0,g0=+o1[j>>3],f0=g0>o,!f0&&(w0=j+(s0<<3)|0,h0=+o1[w0>>3],E0=h0>2]|0,K0=Z+12|0,M0=e[K0>>2]|0,i1=(M0|0)==-1,s1=(M0|0)==(t|0),d1=i1|s1,d1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(b=Z+20|0,x=e[b>>2]|0,R=(x|0)<(n|0),!R&&(F=e[Z>>2]|0,L=Z+4|0,M=e[L>>2]|0,T=+o1[M>>3],G=P>3],t0=P>Y,!t0))))){E=P,I=F,C=$0,p=M,l1=T;break e}if(A1=I1+1|0,J=26336+(A1<<2)|0,W=(A1|0)==17,W){f=0;break}else $0=J,I1=A1}return f|0}while(!1);C0=(I|0)>0;e:do if(C0)for(v0=l1,E1=0;;){if(I0=!(E>=v0),S=E1+1|0,!I0&&(b0=p+(S<<3)|0,m0=+o1[b0>>3],F0=E>3],v0=v,E1=S}else h1=0;while(!1);return T0=(h1|0)==(I|0),T0?(U0=+(I|0),B0=U0+-.001,B1=B0):(q0=p+(h1<<3)|0,x0=+o1[q0>>3],D0=x0,J0=h1+1|0,Y0=p+(J0<<3)|0,O0=+o1[Y0>>3],z0=O0,N0=D0,P0=E-N0,r1=z0-D0,H0=r1,e1=P0/H0,S0=e1,c1=+(h1|0),$1=S0+c1,f1=$1,B1=f1),o1[c>>3]=B1,g1=e[C>>2]|0,f=g1,f|0}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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=0;S0=m,I=t+28|0,C=e[I>>2]|0,R=C+3396|0,W=e[R>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,w0=t+8|0,e[w0>>2]=o,T0=C+3456|0,e[T0>>2]=1,N0=C+3460|0,e[N0>>2]=1,r1=C+3400|0,H0=+o1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=C+3472|0,o1[S>>3]=H0,w=C+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,b=e[Q>>2]|0,x=b+(p<<3)|0,F=+o1[x>>3],L=1-v,M=F*L,T=p+1|0,G=b+(T<<3)|0,P=+o1[G>>3],z=P*v,Y=z+M,t0=C+3480|0,o1[t0>>3]=Y,c=T,f=L):(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),a0=U*f,Z=e0+(c<<2)|0,V=e[Z>>2]|0,o0=+(V|0),n0=o0*v,i0=n0+a0,K=C+3496|0,o1[K>>3]=i0,c0=W+116|0,s0=e[c0>>2]|0,l0=s0+(p<<2)|0,j=e[l0>>2]|0,$0=+(j|0),g0=$0*f,f0=s0+(c<<2)|0,Q0=e[f0>>2]|0,d0=+(Q0|0),h0=d0*v,E0=h0+g0,C0=C+3504|0,o1[C0>>3]=E0,I0=C+3512|0,o1[I0>>3]=-6,v0=C+3520|0,o1[v0>>3]=H0,K0=C+3528|0,o1[K0>>3]=H0,b0=C+3536|0,o1[b0>>3]=H0,m0=C+3544|0,o1[m0>>3]=H0,F0=C+3552|0,o1[F0>>3]=H0,L0=C+3560|0,o1[L0>>3]=H0,U0=C+3568|0,o1[U0>>3]=H0,B0=C+3576|0,o1[B0>>3]=H0,q0=C+3584|0,o1[q0>>3]=H0,x0=C+3592|0,o1[x0>>3]=H0,D0=C+3600|0,o1[D0>>3]=H0,M0=C+3608|0,o1[M0>>3]=H0,J0=C+3616|0,o1[J0>>3]=H0,Y0=C+3624|0,o1[Y0>>3]=H0,O0=C+3632|0,o1[O0>>3]=H0,z0=C+3640|0,o1[z0>>3]=H0,P0=C+3648|0,o1[P0>>3]=H0}function HS(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0;if(O0=m,I=(c|0)!=0,C=I?a:0,R=I?f:0,W=n+(C<<2)|0,r0=e[W>>2]|0,w0=520336+(r0<<2)|0,v0=e[w0>>2]|0,K0=n+(R<<2)|0,b0=e[K0>>2]|0,m0=520336+(b0<<2)|0,p=e[m0>>2]|0,B=o+(c<<2)|0,v=e[B>>2]|0,S=o+(C<<2)|0,w=e[S>>2]|0,y=o+(R<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,b=(w|0)/4&-1,x=Q-b|0,F=(w|0)/2&-1,L=x+F|0,M=(v|0)/2&-1,T=M+Q|0,E=(D|0)/-4&-1,G=T+E|0,P=(D|0)/2&-1,z=G+P|0,Y=(x|0)>0,Y?(t0=Q-b|0,J=t0<<2,ne(t|0,0,J|0)|0,L0=x):L0=0,e0=(L0|0)<(L|0),e0)for(H=Q+F|0,X=H-L0|0,U=X-b|0,T0=L0,q0=0;o0=v0+(q0<<2)|0,n0=+s[o0>>2],i0=t+(T0<<2)|0,K=+s[i0>>2],c0=K*n0,s[i0>>2]=c0,s0=T0+1|0,l0=q0+1|0,F0=(l0|0)==(U|0),!F0;)T0=s0,q0=l0;if(a0=(D|0)>1,a0){for(Z=G+1|0,V=(z|0)>(Z|0),B0=G,D0=P;x0=D0+-1|0,f0=p+(x0<<2)|0,Q0=+s[f0>>2],d0=t+(B0<<2)|0,h0=+s[d0>>2],E0=h0*Q0,s[d0>>2]=E0,C0=B0+1|0,I0=(C0|0)<(z|0),I0;)B0=C0,D0=x0;J0=V?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(M0=t+(U0<<2)|0,$0=v-U0|0,g0=$0<<2,ne(M0|0,0,g0|0)|0)}function qS(t,n,o){t=t|0,n=+n,o=+o;var a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,m=m+64|0,i0=K+32|0,n0=K,a=S9(688)|0,c=a+408|0,rS(c),D=~~n,US(c,t,D,o)|0,z=a+440|0,eS(z),tS(z,553008,553016),X=a+456|0,Rv(X,c)|0,U=a+568|0,bv(X,U)|0,a0=Op(0)|0,WS(a0),Z=jS()|0,Bv(a,Z)|0,V=a+680|0,e[V>>2]=0,o0=a+684|0,e[o0>>2]=0,f=a+360|0,nS(X,z,f,i0,n0)|0,qC(a,f)|0,qC(a,i0)|0,qC(a,n0)|0,E=a+392|0,I=Hp(a,E)|0,C=(I|0)==0,C)return m=K,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[o0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,b=y+Q|0,x=(b|0)==0,x||(L=e[V>>2]|0,M=Gi(L,b)|0,e[V>>2]=M,T=e[o0>>2]|0,G=M+T|0,P=e[E>>2]|0,Y=e[p>>2]|0,n4(G|0,P|0,Y|0)|0,t0=Y+T|0,e[o0>>2]=t0,J=M+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,n4(J|0,W|0,e0|0)|0,H=e0+t0|0,e[o0>>2]=H),R=Hp(a,E)|0,F=(R|0)==0,!F;);return m=K,a|0}function YS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0;C=m,pv(t)|0,n=t+568|0,_v(n)|0,o=t+456|0,Kp(o),a=t+440|0,iS(a),c=t+408|0,nB(c),f=t+680|0,E=e[f>>2]|0,d2(E),d2(t)}function JS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0;return f=m,o=t+456|0,a=Vp(o,n)|0,a|0}function KS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0;if(K=m,o=t+456|0,xv(o,n)|0,a=t+568|0,y=zp(o,a)|0,P=(y|0)==1,!!P)for(a0=t+360|0,Z=t+392|0,V=t+684|0,o0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,f=t+400|0;;){if(kv(a,0)|0,Dv(a)|0,C=Jp(o,a0)|0,p=(C|0)==0,!p)for(;;){if(qC(t,a0)|0,S=qp(t,Z)|0,w=(S|0)==0,!w)for(;D=e[V>>2]|0,Q=e[o0>>2]|0,b=Q+D|0,x=e[n0>>2]|0,R=b+x|0,F=(R|0)==0,F||(T=e[i0>>2]|0,G=Gi(T,R)|0,e[i0>>2]=G,z=e[V>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[o0>>2]|0,n4(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,n4(e0|0,H|0,X|0)|0,U=X+W|0,e[V>>2]=U),L=qp(t,Z)|0,M=(L|0)==0,!M;);if(B=Jp(o,a0)|0,v=(B|0)==0,v)break}if(E=zp(o,a)|0,I=(E|0)==1,!I)break}}function VS(t){t=t|0;var n=0,o=0,a=0,c=0;return c=m,n=t+684|0,o=e[n>>2]|0,o|0}function zS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0;return f=m,n=t+684|0,e[n>>2]=0,o=t+680|0,a=e[o>>2]|0,a|0}function VC(t,n){t=+t,n=n|0;var o=0,a=0,c=0;return c=m,o=+ZS(t,n),+o}function xh(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0;if(x3=m,m=m+688|0,t3=x3+424|0,J5=x3+192|0,W5=x3,X=i5(o,n)|0,U=(X|0)==0,U){m=x3;return}for(J=X-o|0,q1=W5+4|0,e[q1>>2]=o,e[W5>>2]=o,e2=o,f5=o,w3=2;A2=e2+o|0,T2=A2+f5|0,F5=W5+(w3<<2)|0,e[F5>>2]=T2,v5=T2>>>0>>0,t5=w3+1|0,v5;)y2=f5,f5=T2,w3=t5,e2=y2;if(a0=0-o|0,j=t+J|0,v0=(J|0)>0,v0)for(D0=(o|0)==0,S0=j,y1=1,K2=0,L5=t,U5=1;;){Z0=y1&3,K1=(Z0|0)==3;do if(K1){e[J5>>2]=L5,P1=(U5|0)>1;e:do if(P1){for(B=U5,Q=L5,O1=L5,z5=1;;){if(H1=Q+a0|0,Y1=B+-2|0,j1=W5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+o|0,W=0-M5|0,W1=Q+W|0,l2=ft[a&15](O1,W1)|0,z1=(l2|0)>-1,z1&&(f2=ft[a&15](O1,H1)|0,s2=(f2|0)>-1,s2)){f3=z5;break}if(E2=ft[a&15](W1,H1)|0,V1=(E2|0)>-1,g2=z5+1|0,a2=J5+(z5<<2)|0,V1?(e[a2>>2]=W1,t2=B+-1|0,f=W1,C=t2):(e[a2>>2]=H1,f=H1,C=Y1),$2=(C|0)>1,!$2){f3=g2;break}P=e[J5>>2]|0,B=C,Q=f,O1=P,z5=g2}if(i2=(f3|0)<2,!i2&&(o2=J5+(f3<<2)|0,e[o2>>2]=t3,!D0))for(y=o,G2=t3;;){for(I2=y>>>0>256,n2=I2?256:y,J2=e[J5>>2]|0,n4(G2|0,J2|0,n2|0)|0,_2=J2,K3=0;S2=J5+(K3<<2)|0,w2=K3+1|0,m2=J5+(w2<<2)|0,M2=e[m2>>2]|0,n4(_2|0,M2|0,n2|0)|0,N2=_2+n2|0,e[S2>>2]=N2,e3=(w2|0)==(f3|0),!e3;)_2=M2,K3=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=y1>>>2,O2=K2<<30,s5=q2|O2,P2=K2>>>2,T1=U5+2|0,r0=s5,D1=P2,P5=T1}else{if(j2=U5+-1|0,x5=W5+(j2<<2)|0,X2=e[x5>>2]|0,D5=L5,V2=S0-D5|0,k5=X2>>>0>>0,k5){e[J5>>2]=L5,O5=(U5|0)>1;e:do if(O5){for(v=U5,b=L5,R2=L5,y3=1;;){if($5=b+a0|0,v2=v+-2|0,E5=W5+(v2<<2)|0,r5=e[E5>>2]|0,n6=r5+o|0,e0=0-n6|0,x2=b+e0|0,B2=ft[a&15](R2,x2)|0,C5=(B2|0)>-1,C5&&(u5=ft[a&15](R2,$5)|0,b5=(u5|0)>-1,b5)){B3=y3;break}if(G5=ft[a&15](x2,$5)|0,_5=(G5|0)>-1,H2=y3+1|0,I5=J5+(y3<<2)|0,_5?(e[I5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[I5>>2]=$5,E=$5,p=v2),l5=(p|0)>1,!l5){B3=H2;break}z=e[J5>>2]|0,v=p,b=E,R2=z,y3=H2}if(m5=(B3|0)<2,!m5&&(M1=J5+(B3<<2)|0,e[M1>>2]=t3,!D0))for(D=o,W2=t3;;){for(h5=D>>>0>256,o5=h5?256:D,R5=e[J5>>2]|0,n4(W2|0,R5|0,o5|0)|0,g5=R5,T3=0;c2=J5+(T3<<2)|0,B5=T3+1|0,e5=J5+(B5<<2)|0,n5=e[e5>>2]|0,n4(g5|0,n5|0,o5|0)|0,Y2=g5+o5|0,e[c2>>2]=Y2,n3=(B5|0)==(B3|0),!n3;)g5=n5,T3=B5;if(c5=(D|0)==(o5|0),c5)break e;z2=D-o5|0,t0=e[M1>>2]|0,D=z2,W2=t0}}while(!1)}else zC(L5,o,a,y1,K2,U5,0,W5);if(a5=(U5|0)==1,a5){F2=K2<<1,p5=y1>>>31,H5=p5|F2,X5=y1<<1,r0=X5,D1=H5,P5=0;break}else{d5=j2>>>0>31,u3=U5+-33|0,c=d5?0:y1,x=d5?y1:K2,R=d5?u3:j2,h3=x<>>Z,o0=V|h3,n0=c<>>0>>0,c0)y1=i0,K2=D1,L5=K,U5=P5;else{M=D1,T=i0,C3=K,q5=P5;break}}else M=0,T=1,C3=t,q5=1;if(zC(C3,o,a,T,M,q5,0,W5),s0=(q5|0)==1,l0=(T|0)==1,m3=l0&s0,$0=(M|0)==0,l3=$0&m3,l3){m=x3;return}else Q0=T,m0=M,K5=C3,w5=q5;for(;;){if(g0=(w5|0)<2,!g0){P0=m0<<2,r1=Q0>>>30,H0=r1|P0,e1=w5+-2|0,i1=Q0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,G3=a1+o|0,H=0-G3|0,n1=K5+H|0,A1=w5+-1|0,zC(n1,o,a,g1,l1,A1,1,W5),I1=l1<<1,h1=r1&1,E1=I1|h1,u1=g1<<1,d1=u1|1,B1=K5+a0|0,zC(B1,o,a,d1,E1,e1,1,W5),Q0=d1,m0=E1,K5=B1,w5=e1;continue}f0=Q0+-1|0,d0=(f0|0)==0;do if(d0)N0=32,A3=56;else{if(w0=f0&1,h0=(w0|0)==0,h0){for(S=f0,t6=0;;)if(E0=t6+1|0,C0=S>>>1,I0=C0&1,K0=(I0|0)==0,K0)S=C0,t6=E0;else{F=E0;break}b0=(F|0)==0,b0?A3=51:Y0=F}else A3=51;if((A3|0)==51){if(A3=0,F0=(m0|0)==0,F0){N0=64,A3=56;break}if(L0=m0&1,T0=(L0|0)==0,T0)w=m0,R3=0;else{I=0,Q1=Q0,S1=m0,w1=0;break}for(;;)if(U0=R3+1|0,B0=w>>>1,q0=B0&1,x0=(q0|0)==0,x0)w=B0,R3=U0;else{L=U0,N3=R3;break}if(M0=N3+33|0,J0=(L|0)==0,J0){I=0,Q1=Q0,S1=m0,w1=0;break}else Y0=M0}O0=Y0>>>0>31,O0?(N0=Y0,A3=56):(I=Y0,Q1=Q0,S1=m0,w1=Y0)}while(!1);if((A3|0)==56&&(A3=0,z0=N0+-32|0,I=z0,Q1=m0,S1=0,w1=N0),p1=Q1>>>I,R1=32-I|0,x1=S1<>>I,G1=w1+w5|0,G=K5+a0|0,U1=(G1|0)==1,Z1=(F1|0)==1,o3=Z1&U1,N1=(L1|0)==0,$3=N1&o3,$3)break;Q0=F1,m0=L1,K5=G,w5=G1}m=x3}function zC(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 C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0;B2=m,m=m+720|0,x2=B2+456|0,O2=B2+228|0,T2=B2,e[T2>>2]=t,U=0-n|0,a0=(a|0)!=1,m0=(c|0)!=0,Y0=m0|a0;e:do if(Y0)if($1=I+(f<<2)|0,E1=e[$1>>2]|0,L1=0-E1|0,Y1=t+L1|0,V1=ft[o&15](Y1,t)|0,y2=(V1|0)<1,y2)B=t,x=f,G=E,P2=1,R2=18;else for(w=t,M=f,P=E,I0=Y1,P0=c,D5=1,v2=a;;){if(Z=(P|0)==0,$0=(M|0)>1,$5=Z&$0,$5){if(w0=w+U|0,h0=M+-2|0,E0=I+(h0<<2)|0,C0=e[E0>>2]|0,v0=ft[o&15](w0,I0)|0,K0=(v0|0)>-1,K0){v=w,R=M,j2=D5;break e}if(E5=C0+n|0,H=0-E5|0,b0=w+H|0,F0=ft[o&15](b0,I0)|0,L0=(F0|0)>-1,L0){v=w,R=M,j2=D5;break e}}T0=D5+1|0,U0=T2+(D5<<2)|0,e[U0>>2]=I0,B0=v2+-1|0,q0=(B0|0)==0;do if(q0)A1=32,R2=15;else{if(x0=B0&1,D0=(x0|0)==0,D0){for(Q=B0,f5=0;;)if(M0=f5+1|0,J0=Q>>>1,O0=J0&1,z0=(O0|0)==0,z0)Q=J0,f5=M0;else{z=M0;break}N0=(z|0)==0,N0?R2=10:s1=z}else R2=10;if((R2|0)==10){if(R2=0,r1=(P0|0)==0,r1){A1=64,R2=15;break}if(H0=P0&1,e1=(H0|0)==0,e1)b=P0,k5=0;else{p=0,I1=v2,d1=P0,R1=0;break}for(;;)if(S0=k5+1|0,i1=b>>>1,c1=i1&1,f1=(c1|0)==0,f1)b=i1,k5=S0;else{Y=S0,O5=k5;break}if(g1=O5+33|0,l1=(Y|0)==0,l1){p=0,I1=v2,d1=P0,R1=0;break}else s1=g1}a1=s1>>>0>31,a1?(A1=s1,R2=15):(p=s1,I1=v2,d1=P0,R1=s1)}while(!1);if((R2|0)==15&&(R2=0,n1=A1+-32|0,p=n1,I1=P0,d1=0,R1=A1),Z0=I1>>>p,h1=32-p|0,u1=d1<>>p,Q1=R1+M|0,x1=(B1|0)!=1,y1=(p1|0)!=0,S1=y1|x1,!S1){v=I0,R=Q1,j2=T0;break e}if(t0=e[T2>>2]|0,F1=I+(Q1<<2)|0,G1=e[F1>>2]|0,w1=0-G1|0,U1=I0+w1|0,Z1=ft[o&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,x=Q1,G=0,P2=T0,R2=18;break}else y=I0,M=Q1,P=0,I0=U1,P0=p1,D5=T0,v2=B1,w=y}else B=t,x=f,G=E,P2=1,R2=18;while(!1);if((R2|0)==18)if(D1=(G|0)==0,D1)v=B,R=x,j2=P2;else{m=B2;return}K1=(j2|0)<2;e:do if(!K1&&(P1=T2+(j2<<2)|0,e[P1>>2]=x2,H1=(n|0)==0,!H1))for(L=n,g2=x2;;){for(E2=L>>>0>256,j1=E2?256:L,A2=e[T2>>2]|0,n4(g2|0,A2|0,j1|0)|0,f2=A2,X2=0;W1=T2+(X2<<2)|0,O1=X2+1|0,l2=T2+(O1<<2)|0,z1=e[l2>>2]|0,n4(f2|0,z1|0,j1|0)|0,s2=f2+j1|0,e[W1>>2]=s2,s5=(O1|0)==(j2|0),!s5;)f2=z1,X2=O1;if(q1=(L|0)==(j1|0),q1)break e;r2=L-j1|0,e0=e[P1>>2]|0,L=r2,g2=e0}while(!1);e[O2>>2]=v,a2=(R|0)>1;e:do if(a2){for(D=R,T=v,n2=v,V2=1;;){if(t2=T+U|0,$2=D+-2|0,i2=I+($2<<2)|0,o2=e[i2>>2]|0,r5=o2+n|0,X=0-r5|0,X1=T+X|0,u2=ft[o&15](n2,X1)|0,e2=(u2|0)>-1,e2&&(S2=ft[o&15](n2,t2)|0,w2=(S2|0)>-1,w2)){T1=V2;break}if(m2=ft[o&15](X1,t2)|0,M2=(m2|0)>-1,_2=V2+1|0,N2=O2+(V2<<2)|0,M2?(e[N2>>2]=X1,I2=D+-1|0,C=X1,S=I2):(e[N2>>2]=t2,C=t2,S=$2),J2=(S|0)>1,!J2){T1=_2;break}J=e[O2>>2]|0,D=S,T=C,n2=J,V2=_2}if(G2=(T1|0)<2,G2)d0=x2;else if(q2=O2+(T1<<2)|0,e[q2>>2]=x2,V=(n|0)==0,V)d0=x2;else for(F=n,Q0=x2;;){for(g0=F>>>0>256,n0=g0?256:F,f0=e[O2>>2]|0,n4(Q0|0,f0|0,n0|0)|0,l0=f0,x5=0;r0=O2+(x5<<2)|0,K=x5+1|0,c0=O2+(K<<2)|0,s0=e[c0>>2]|0,n4(l0|0,s0|0,n0|0)|0,j=l0+n0|0,e[r0>>2]=j,K2=(K|0)==(T1|0),!K2;)l0=s0,x5=K;if(o0=(F|0)==(n0|0),o0){d0=x2;break e}i0=F-n0|0,W=e[q2>>2]|0,F=i0,Q0=W}}else d0=x2;while(!1);m=B2}function Ni(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0;return R=m,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,b=D?c:E,I=b==0,I?(C=D?-0:0,n=C,+n):(n=b,+n))}function IQ(t){t=+t;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,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,C=t+8388608,p=C+-8388608,S=f?I:p,B=S==0,B?(v=f?-0:0,n=v,+n):(n=S,+n))}function ZS(t,n){t=+t,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0;return z=m,f=(n|0)>1023,f?(E=t*898846567431158e293,Q=n+-1023|0,b=(Q|0)>1023,b?(x=E*898846567431158e293,R=n+-2046|0,F=(R|0)>1023,o=F?1023:R,a=o,G=x):(a=Q,G=E)):(L=(n|0)<-1022,L?(M=t*22250738585072014e-324,T=n+1022|0,I=(T|0)<-1022,I?(C=M*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=C):(a=T,G=M)):(a=n,G=t)),v=a+1023|0,S=CQ(v|0,0,52)|0,w=H6,e[p2>>2]=S,e[p2+4>>2]=w,y=+o1[p2>>3],D=G*y,+D}function WS(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0;I=m,n=t+-1|0,o=553040,a=o,e[a>>2]=n,c=o+4|0,f=c,e[f>>2]=0}function jS(){var t=0,n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0;return b=m,t=553040,n=t,C=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=iD(C|0,v|0,1284865837,1481765933)|0,w=H6,y=Vs(S|0,w|0,1,0)|0,D=H6,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=H6,E|0}function S9(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0,l7=0,Q7=0,V8=0,c7=0,g7=0,F8=0,L8=0,M8=0,T8=0,z8=0,Z8=0,y7=0,N8=0,G8=0,U8=0,w8=0,k8=0,h8=0,O8=0,P8=0,W8=0,j8=0,f8=0,Ue=0,Re=0,e8=0,v8=0,w9=0,h7=0,me=0,f7=0,w7=0,X8=0,k7=0,ee=0,e7=0,H8=0,S8=0,t8=0,P4=0,xe=0,i8=0,u8=0,D8=0,le=0,j9=0,r8=0,I8=0,n8=0,d8=0,ce=0,Be=0,Oe=0,Pe=0,X9=0,Fe=0,ge=0,s8=0,pe=0,Q4=0,E8=0,t7=0,H4=0,d3=0,He=0,C8=0,te=0,q9=0,ie=0,b9=0,qe=0,q8=0,u7=0,i7=0,r7=0,Y8=0,n7=0,J8=0,A8=0,o8=0,b8=0,q4=0,s7=0,_8=0,Ye=0,B9=0,A7=0,Je=0,M7=0,H7=0,v7=0,o7=0,S7=0,re=0,T7=0,q7=0,a8=0,R8=0,D7=0,K8=0,Le=0,he=0,e4=0,b7=0,tt=0,Nt=0,Gt=0,Ut=0,ut=0,Y7=0,It=0,J7=0,dt=0,K7=0,Et=0,it=0,ni=0,Ot=0,Ct=0,mt=0,si=0,Bt=0,rt=0,Ai=0,Pt=0,Ht=0,qt=0,Yt=0,nt=0,pt=0,Jt=0,V7=0,st=0,N7=0,z7=0,oi=0,Kt=0,ai=0,Qt=0,Vt=0,yt=0,wt=0,zt=0,kt=0,Z7=0,vt=0,Zt=0,At=0,G7=0,St=0,Qe=0,Dt=0,_7=0,ot=0,i9=0,I7=0,m8=0,d7=0,R7=0,Jr=0,ur=0,js=0,Gn=0,Xs=0,Un=0,eA=0,tA=0,On=0,iA=0,Kr=0,rA=0,nA=0,sA=0,Pn=0,AA=0,Hn=0,qn=0,oA=0,Vr=0,Yn=0,zr=0,Jn=0,Kn=0,aA=0,$A=0,lA=0,Zr=0,Vn=0,cA=0,Ir=0,Wr=0,gA=0,hA=0,jr=0,$i=0,zn=0,fA=0,uA=0,Zn=0,Wn=0,jn=0,IA=0,li=0,Xr=0,dA=0,Xn=0,EA=0,CA=0,mA=0,es=0,BA=0,pA=0,QA=0,yA=0,ts=0,wA=0,kA=0,en=0,dr=0,tn=0,vA=0,zi=0,SA=0,is=0,rn=0,rs=0,nn=0,DA=0,ns=0,ss=0,bA=0,As=0,os=0,_A=0,Er=0,as=0,ci=0,sn=0,Cr=0,Zi=0,mr=0,Ui=0,Br=0,$s=0,Oi=0,Bi=0,pi=0,Wt=0,Qi=0,pr=0,Wi=0,ji=0,Qr=0,gi=0,RA=0,at=0,W$=0,An=0,on=0,Fh=0,j$=0,xA=0,Lh=0,Wo=0,X$=0,Mh=0,Th=0,Nh=0,jo=0,el=0,tl=0,Xo=0,an=0,il=0,Gh=0,FA=0,Xi=0,Uh=0,Oh=0,Ph=0,Hh=0,qh=0,Yh=0,Jh=0,Kh=0,Vh=0,zh=0,rl=0,yr=0,Zh=0,Wh=0,nl=0,jh=0,ea=0,LA=0,ta=0,Xh=0,ef=0,ia=0,sl=0,Al=0,ol=0,ra=0,al=0,MA=0,tf=0,rf=0,$l=0,nf=0,sf=0,ll=0,Af=0,of=0,cl=0,gl=0,hl=0,fl=0,ul=0,$n=0,af=0,Il=0,$f=0,dl=0,El=0,lf=0,cf=0,gf=0,na=0,Cl=0,ml=0,ls=0,Bl=0,sa=0,hf=0,pl=0,ff=0,Ql=0,uf=0,If=0,yl=0,wl=0,df=0,TA=0,Ef=0,Aa=0,kl=0,vl=0,Cf=0,mf=0,Bf=0,pf=0,Qf=0,yf=0,NA=0,Sl=0,Dl=0,bl=0,GA=0,wf=0,_l=0,kf=0,Rl=0,vf=0,Sf=0,xl=0,oa=0,Df=0,bf=0,UA=0,_f=0,OA=0,Rf=0,aa=0,xf=0,Ff=0,Lf=0,Fl=0,Mf=0,Tf=0,Nf=0,Gf=0,Ll=0,Ml=0,er=0,Tl=0,PA=0,$a=0,la=0,ln=0,Nl=0,cn=0,Uf=0,Gl=0,Of=0,Pf=0,Hf=0,qf=0,HA=0,ca=0,wr=0,Yf=0,Jf=0,Ul=0,ga=0,Ol=0,Pl=0,Kf=0,Hl=0,Vf=0,ha=0,zf=0,Zf=0,O9=0,Wf=0,ql=0,jf=0,Xf=0,fa=0,eu=0,ua=0,Yl=0,tu=0,iu=0,Jl=0,Kl=0,ru=0,Ia=0,da=0,Vl=0,zl=0,nu=0,Zl=0,Ea=0,su=0,Wl=0,Au=0,ou=0,au=0,$u=0,jl=0,Xl=0,Ca=0,qA=0,ec=0,lu=0,tc=0,ic=0,cu=0,gu=0,hu=0,rc=0,fu=0,uu=0,Iu=0,du=0,Eu=0,Cu=0,nc=0,mu=0,sc=0,Bu=0,gn=0,pu=0,Ac=0,Qu=0,cs=0,oc=0,ma=0,yu=0,YA=0,Ba=0,wu=0,pa=0,ac=0,ku=0,vu=0,Su=0,Du=0,bu=0,$c=0,_u=0,Ru=0,xu=0,JA=0,gs=0,Qa=0,Fu=0,ya=0,Lu=0,Mu=0,Tu=0,lc=0,Nu=0,Gu=0,Uu=0,Ou=0,Pu=0,KA=0,Hu=0,qu=0,cc=0,Yu=0,Ju=0,Ku=0,Vu=0,hi=0,gc=0,fi=0,hc=0,wa=0,zu=0,jt=0,hs=0,Zu=0,Wu=0,ju=0,Xu=0,eI=0,fc=0,tI=0,iI=0,uc=0,rI=0,nI=0,fs=0,ka=0,sI=0,Ic=0,AI=0,oI=0,VA=0,aI=0,$I=0,dc=0,Ec=0,lI=0,cI=0,hn=0,gI=0,hI=0,fn=0,fI=0,Cc=0,uI=0,II=0,us=0,mc=0,dI=0,Bc=0,EI=0,tr=0,va=0,CI=0,pc=0,Qc=0,mI=0,BI=0,yc=0,pI=0,QI=0,yI=0,wc=0,wI=0,Is=0,kI=0,un=0,vI=0,SI=0,Sa=0,DI=0,Da=0,ba=0,bI=0,kc=0,vc=0,_I=0,Sc=0,Dc=0,bc=0,RI=0,_c=0,Rc=0,xI=0,FI=0,xc=0,Fc=0,LI=0,Lc=0,Mc=0,MI=0,TI=0,Tc=0,_a=0,Nc=0,Gc=0,Uc=0,Oc=0,NI=0,GI=0,UI=0,OI=0,PI=0,HI=0,qI=0,YI=0,Pc=0,Ra=0,JI=0,KI=0,VI=0,Hc=0,qc=0,zI=0,Yc=0,xa=0,zA=0,Jc=0,ZI=0,WI=0,jI=0,XI=0,Kc=0,ZA=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,Ad=0,od=0,Vc=0,ad=0,$d=0,ld=0,cd=0,WA=0,zc=0,gd=0,hd=0,In=0,Zc=0,Wc=0,Fa=0,fd=0,jc=0,ud=0,Xc=0,eg=0,Id=0,dd=0,Ed=0,Cd=0,md=0,jA=0,La=0,Bd=0,pd=0,Qd=0,yd=0,tg=0,wd=0,ig=0,kd=0,vd=0,rg=0,kr=0,ng=0,sg=0,Sd=0,Ag=0,XA=0,Dd=0,bd=0,_d=0,eo=0,og=0,Rd=0,xd=0,ag=0,Fd=0,Ld=0,Ma=0,to=0,Md=0,Td=0,Nd=0,$g=0,lg=0,cg=0,Gd=0,Ud=0,ds=0,Od=0,gg=0,Pd=0,Ta=0,hg=0,Hd=0,qd=0,Yd=0,Jd=0,fg=0,Kd=0,Vd=0,ug=0,io=0,zd=0,Zd=0,Wd=0,Es=0,Ig=0,dg=0,jd=0,Eg=0,Cg=0,yi=0,mg=0,ir=0,Xd=0,eE=0,tE=0,iE=0,Na=0,ro=0,Bg=0,pg=0,rE=0,no=0,Cs=0,nE=0,so=0,Ga=0,sE=0,Ua=0,AE=0,oE=0,Qg=0,Ao=0,yg=0,aE=0,$E=0,lE=0,cE=0,wg=0,gE=0,W7=0,y4=0,Xt=0,hE=0,kg=0,vg=0,Oa=0,fE=0,vr=0,ms=0,uE=0,IE=0,Sg=0,Pa=0,dE=0,Dg=0,bg=0,_g=0,Ha=0,qa=0,Rg=0,Bs=0,Ya=0,xg=0,EE=0,dn=0,CE=0,Fg=0,oo=0,mE=0,Lg=0,wi=0,BE=0,pE=0,QE=0,yE=0,wE=0,kE=0,ki=0,vE=0,SE=0,DE=0,Mg=0,ui=0,ao=0,Ja=0,Tg=0,Ng=0,bE=0,Gg=0,Ug=0,_E=0,RE=0,Og=0,Pg=0,xE=0,FE=0,Hg=0,LE=0,ps=0,$o=0,lo=0,ME=0,Ka=0,TE=0,NE=0,qg=0,Qs=0,GE=0,UE=0,Va=0,za=0,co=0,Za=0,Wa=0,rr=0,Sr=0,Dr=0,ja=0,Xa=0,ys=0,nr=0,En=0,OE=0,sr=0,Cn=0,PE=0,bt=0,_t=0,Rt=0,go=0,ho=0,Yg=0,Jg=0,fo=0,e$=0,xt=0,uo=0,br=0,t$=0,HE=0,i$=0,qE=0,r$=0,Kg=0,Io=0,YE=0,JE=0,Eo=0,KE=0,Co=0,mn=0,Ke=0,v4=0,Vg=0,VE=0,n$=0,zg=0,zE=0,ZE=0,mo=0,WE=0,jE=0,XE=0,eC=0,Zg=0,tC=0,iC=0,rC=0,ei=0,Bo=0,Bn=0,s$=0,ws=0,ks=0,j7=0,vs=0,Wg=0,jg=0,po=0,Ss=0,Ds=0,bs=0,nC=0,_s=0,Ar=0,Xg=0,_r=0,ti=0,A$=0,o$=0,Pi=0,a$=0,$$=0,l$=0,Rr=0,o6=0,Qo=0,xr=0,eh=0,ye=0,c$=0,B8=0,Rs=0,pn=0,Qn=0,L9=0,yn=0,Fr=0,Y4=0,g$=0;g$=m,V1=t>>>0<245;do if(V1){if(g2=t>>>0<11,g4=t+11|0,P4=g4&-8,Qe=g2?16:P4,xA=Qe>>>3,aa=e[138262]|0,JA=aa>>>xA,Gc=JA&3,ug=(Gc|0)==0,!ug){a2=JA&1,f3=a2^1,$3=f3+xA|0,A3=$3<<1,c3=553088+(A3<<2)|0,Q0=A3+2|0,_6=553088+(Q0<<2)|0,S6=e[_6>>2]|0,R6=S6+8|0,D6=e[R6>>2]|0,u9=(c3|0)==(D6|0);do if(u9)G9=1<<$3,b4=G9^-1,de=aa&b4,e[138262]=de;else if(je=e[138266]|0,oe=D6>>>0>>0,oe&&Q2(),p4=D6+12|0,m9=e[p4>>2]|0,L8=(m9|0)==(S6|0),L8){e[p4>>2]=c3,e[_6>>2]=D6;break}else Q2();while(!1);return h8=$3<<3,h7=h8|3,xe=S6+4|0,e[xe>>2]=h7,C0=h8|4,Be=S6+C0|0,H4=e[Be>>2]|0,i7=H4|1,e[Be>>2]=i7,Ke=R6,Ke|0}if(Ye=e[138264]|0,q7=Qe>>>0>Ye>>>0,q7){if(Gt=(JA|0)==0,!Gt){Ot=JA<>>12,en=EA&16,ns=zn>>>en,Zi=ns>>>5,Wi=Zi&8,Lh=Wi|en,il=ns>>>Wi,Kh=il>>>2,ta=Kh&4,rf=Lh|ta,ul=il>>>ta,Cl=ul>>>1,yl=Cl&2,pf=rf|yl,Rl=ul>>>yl,xf=Rl>>>1,Tl=xf&1,Hf=pf|Tl,Kf=Rl>>>Tl,fa=Hf+Kf|0,Vl=fa<<1,jl=553088+(Vl<<2)|0,U1=Vl+2|0,rc=553088+(U1<<2)|0,gn=e[rc>>2]|0,pa=gn+8|0,gs=e[pa>>2]|0,Ou=(jl|0)==(gs|0);do if(Ou)gc=1<>>0>>0,tr&&Q2(),wc=gs+12|0,bI=e[wc>>2]|0,FI=(bI|0)==(gn|0),FI){e[wc>>2]=jl,e[rc>>2]=gs,y=e[138264]|0,to=y;break}else Q2();while(!1);return Uc=fa<<3,Ra=Uc-Qe|0,ZI=Qe|3,sd=gn+4|0,e[sd>>2]=ZI,hd=gn+Qe|0,dd=Ra|1,j1=Qe|4,wd=gn+j1|0,e[wd>>2]=dd,Dd=gn+Uc|0,e[Dd>>2]=Ra,gg=(to|0)==0,gg||(io=e[138267]|0,mg=to>>>3,no=mg<<1,yg=553088+(no<<2)|0,kg=e[138262]|0,Dg=1<>2]|0,m2=e[138266]|0,s5=t2>>>0>>0,s5?Q2():(G=ps,co=t2)),e[G>>2]=io,$5=co+12|0,e[$5>>2]=io,G5=io+8|0,e[G5>>2]=co,z2=io+12|0,e[z2>>2]=yg),e[138264]=Ra,e[138267]=hd,Ke=pa,Ke|0}if(a5=e[138263]|0,C3=(a5|0)==0,C3)v4=Qe;else{for(K5=0-a5|0,w3=a5&K5,B3=w3+-1|0,K3=B3>>>12,T3=K3&16,z5=B3>>>T3,y3=z5>>>5,W5=y3&8,t6=W5|T3,R3=z5>>>W5,N3=R3>>>2,o3=N3&4,l3=t6|o3,m3=R3>>>o3,q5=m3>>>1,U5=q5&2,P5=l3|U5,w5=m3>>>U5,G3=w5>>>1,M5=G3&1,n6=P5|M5,t3=w5>>>M5,x3=n6+t3|0,h6=553352+(x3<<2)|0,p3=e[h6>>2]|0,k3=p3+4|0,Q3=e[k3>>2]|0,i6=Q3&-8,W3=i6-Qe|0,Bo=W3,o$=p3,c$=p3;;){if(U3=o$+16|0,V5=e[U3>>2]|0,v3=(V5|0)==0,v3)if(O3=o$+20|0,$6=e[O3>>2]|0,I3=($6|0)==0,I3){Bn=Bo,B8=c$;break}else k6=$6;else k6=V5;w6=k6+4|0,v6=e[w6>>2]|0,B6=v6&-8,j3=B6-Qe|0,l6=j3>>>0>>0,H=l6?j3:Bo,A2=l6?k6:c$,Bo=H,o$=k6,c$=A2}p6=e[138266]|0,q6=B8>>>0>>0,q6&&Q2(),C6=B8+Qe|0,S3=B8>>>0>>0,S3||Q2(),X3=B8+24|0,e6=e[X3>>2]|0,f6=B8+12|0,P3=e[f6>>2]|0,D3=(P3|0)==(B8|0);do if(D3){if(T6=B8+20|0,r6=e[T6>>2]|0,Q6=(r6|0)==0,Q6)if(J6=B8+16|0,I6=e[J6>>2]|0,Y6=(I6|0)==0,Y6){bt=0;break}else nr=I6,go=J6;else nr=r6,go=T6;for(;;){if(F3=nr+20|0,Z6=e[F3>>2]|0,N6=(Z6|0)==0,!N6){nr=Z6,go=F3;continue}if(j6=nr+16|0,r9=e[j6>>2]|0,x6=(r9|0)==0,x6){sr=nr,Jg=go;break}else nr=r9,go=j6}if(G6=Jg>>>0>>0,G6)Q2();else{e[Jg>>2]=0,bt=sr;break}}else if(H3=B8+8|0,V3=e[H3>>2]|0,s6=V3>>>0>>0,s6&&Q2(),i3=V3+12|0,O6=e[i3>>2]|0,s3=(O6|0)==(B8|0),s3||Q2(),A6=P3+8|0,u6=e[A6>>2]|0,b3=(u6|0)==(B8|0),b3){e[i3>>2]=P3,e[A6>>2]=V3,bt=P3;break}else Q2();while(!1);K6=(e6|0)==0;do if(!K6){if(y6=B8+28|0,F6=e[y6>>2]|0,L3=553352+(F6<<2)|0,L6=e[L3>>2]|0,X6=(B8|0)==(L6|0),X6){if(e[L3>>2]=bt,YE=(bt|0)==0,YE){A9=1<>>0>>0,a9&&Q2(),T9=e6+16|0,d6=e[T9>>2]|0,M6=(d6|0)==(B8|0),M6?e[T9>>2]=bt:(e9=e6+20|0,e[e9>>2]=bt),N9=(bt|0)==0,N9)break;I9=e[138266]|0,E4=bt>>>0>>0,E4&&Q2(),s4=bt+24|0,e[s4>>2]=e6,z9=B8+16|0,D9=e[z9>>2]|0,d9=(D9|0)==0;do if(!d9)if(P6=D9>>>0>>0,P6)Q2();else{t9=bt+16|0,e[t9>>2]=D9,C4=D9+24|0,e[C4>>2]=bt;break}while(!1);if(S4=B8+20|0,A4=e[S4>>2]|0,Q9=(A4|0)==0,!Q9)if(D4=e[138266]|0,R4=A4>>>0>>0,R4)Q2();else{M4=bt+20|0,e[M4>>2]=A4,Z4=A4+24|0,e[Z4>>2]=bt;break}}while(!1);return m4=Bn>>>0<16,m4?(T4=Bn+Qe|0,U9=T4|3,N4=B8+4|0,e[N4>>2]=U9,Z1=T4+4|0,o4=B8+Z1|0,x4=e[o4>>2]|0,h4=x4|1,e[o4>>2]=h4):(H9=Qe|3,E9=B8+4|0,e[E9>>2]=H9,Ee=Bn|1,c0=Qe|4,Te=B8+c0|0,e[Te>>2]=Ee,l0=Bn+Qe|0,We=B8+l0|0,e[We>>2]=Bn,G4=e[138264]|0,Ne=(G4|0)==0,Ne||(U4=e[138267]|0,W4=G4>>>3,Se=W4<<1,Z9=553088+(Se<<2)|0,se=e[138262]|0,f4=1<>2]|0,Ae=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(M=a4,za=_4)),e[M>>2]=U4,ae=za+12|0,e[ae>>2]=U4,B4=U4+8|0,e[B4>>2]=za,j4=U4+12|0,e[j4>>2]=Z9),e[138264]=Bn,e[138267]=C6),F4=B8+8|0,Ke=F4,Ke|0}}else v4=Qe}else if($e=t>>>0>4294967231,$e)v4=-1;else if(C9=t+11|0,c6=C9&-8,Ge=e[138263]|0,$4=(Ge|0)==0,$4)v4=c6;else{Ce=0-c6|0,l4=C9>>>8,U6=(l4|0)==0,U6?mn=0:(De=c6>>>0>16777215,De?mn=31:(be=l4+1048320|0,Xe=be>>>16,c4=Xe&8,k4=l4<>>16,y9=q3&4,L4=y9|c4,X4=k4<>>16,l7=_e&2,Q7=L4|l7,V8=14-Q7|0,c7=X4<>>15,F8=V8+g7|0,M8=F8<<1,T8=F8+7|0,z8=c6>>>T8,Z8=z8&1,y7=Z8|M8,mn=y7)),N8=553352+(mn<<2)|0,G8=e[N8>>2]|0,U8=(G8|0)==0;e:do if(U8)ks=Ce,a$=0,Qn=0,Y4=86;else for(w8=(mn|0)==31,k8=mn>>>1,O8=25-k8|0,P8=w8?0:O8,W8=c6<>2]|0,Ue=f8&-8,Re=Ue-c6|0,e8=Re>>>0>>0,e8)if(v8=(Ue|0)==(c6|0),v8){vs=Re,Rr=Pi,Fr=Pi,Y4=90;break e}else ws=Re,pn=Pi;else ws=s$,pn=Rs;if(w9=Pi+20|0,me=e[w9>>2]|0,f7=po>>>31,w7=(Pi+16|0)+(f7<<2)|0,X8=e[w7>>2]|0,k7=(me|0)==0,ee=(me|0)==(X8|0),WE=k7|ee,jg=WE?Wg:me,e7=(X8|0)==0,H8=po<<1,e7){ks=ws,a$=jg,Qn=pn,Y4=86;break}else s$=ws,Wg=jg,po=H8,Pi=X8,Rs=pn}while(!1);if((Y4|0)==86){if(S8=(a$|0)==0,t8=(Qn|0)==0,zE=S8&t8,zE){if(i8=2<>>12,ce=d8&16,Oe=n8>>>ce,Pe=Oe>>>5,X9=Pe&8,Fe=X9|ce,ge=Oe>>>X9,s8=ge>>>2,pe=s8&4,Q4=Fe|pe,E8=ge>>>pe,t7=E8>>>1,d3=t7&2,He=Q4|d3,C8=E8>>>d3,te=C8>>>1,q9=te&1,ie=He|q9,b9=C8>>>q9,qe=ie+b9|0,q8=553352+(qe<<2)|0,u7=e[q8>>2]|0,$$=u7,yn=0}else $$=a$,yn=Qn;r7=($$|0)==0,r7?(j7=ks,L9=yn):(vs=ks,Rr=$$,Fr=yn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,Y8=Rr+4|0,n7=e[Y8>>2]|0,J8=n7&-8,A8=J8-c6|0,o8=A8>>>0>>0,X=o8?A8:vs,l$=o8?Rr:Fr,b8=Rr+16|0,q4=e[b8>>2]|0,s7=(q4|0)==0,!s7){vs=X,Rr=q4,Fr=l$,Y4=90;continue}if(_8=Rr+20|0,B9=e[_8>>2]|0,A7=(B9|0)==0,A7){j7=X,L9=l$;break}else vs=X,Rr=B9,Fr=l$,Y4=90}if(Je=(L9|0)==0,Je)v4=c6;else if(M7=e[138264]|0,H7=M7-c6|0,v7=j7>>>0>>0,v7){o7=e[138266]|0,S7=L9>>>0>>0,S7&&Q2(),re=L9+c6|0,T7=L9>>>0>>0,T7||Q2(),a8=L9+24|0,R8=e[a8>>2]|0,D7=L9+12|0,K8=e[D7>>2]|0,Le=(K8|0)==(L9|0);do if(Le){if(J7=L9+20|0,dt=e[J7>>2]|0,K7=(dt|0)==0,K7)if(Et=L9+16|0,it=e[Et>>2]|0,ni=(it|0)==0,ni){Rt=0;break}else Cn=it,fo=Et;else Cn=dt,fo=J7;for(;;){if(Ct=Cn+20|0,mt=e[Ct>>2]|0,si=(mt|0)==0,!si){Cn=mt,fo=Ct;continue}if(Bt=Cn+16|0,rt=e[Bt>>2]|0,Ai=(rt|0)==0,Ai){PE=Cn,e$=fo;break}else Cn=rt,fo=Bt}if(Pt=e$>>>0>>0,Pt)Q2();else{e[e$>>2]=0,Rt=PE;break}}else if(he=L9+8|0,e4=e[he>>2]|0,b7=e4>>>0>>0,b7&&Q2(),tt=e4+12|0,Nt=e[tt>>2]|0,Ut=(Nt|0)==(L9|0),Ut||Q2(),ut=K8+8|0,Y7=e[ut>>2]|0,It=(Y7|0)==(L9|0),It){e[tt>>2]=K8,e[ut>>2]=e4,Rt=K8;break}else Q2();while(!1);Ht=(R8|0)==0;do if(!Ht){if(qt=L9+28|0,Yt=e[qt>>2]|0,pt=553352+(Yt<<2)|0,Jt=e[pt>>2]|0,V7=(L9|0)==(Jt|0),V7){if(e[pt>>2]=Rt,Eo=(Rt|0)==0,Eo){st=1<>>0>>0,ai&&Q2(),Qt=R8+16|0,yt=e[Qt>>2]|0,wt=(yt|0)==(L9|0),wt?e[Qt>>2]=Rt:(zt=R8+20|0,e[zt>>2]=Rt),kt=(Rt|0)==0,kt)break;Z7=e[138266]|0,vt=Rt>>>0>>0,vt&&Q2(),Zt=Rt+24|0,e[Zt>>2]=R8,At=L9+16|0,G7=e[At>>2]|0,St=(G7|0)==0;do if(!St)if(_7=G7>>>0>>0,_7)Q2();else{ot=Rt+16|0,e[ot>>2]=G7,i9=G7+24|0,e[i9>>2]=Rt;break}while(!1);if(I7=L9+20|0,m8=e[I7>>2]|0,d7=(m8|0)==0,!d7)if(R7=e[138266]|0,Jr=m8>>>0>>0,Jr)Q2();else{ur=Rt+20|0,e[ur>>2]=m8,js=m8+24|0,e[js>>2]=Rt;break}}while(!1);Xs=j7>>>0<16;e:do if(Xs)Un=j7+c6|0,eA=Un|3,tA=L9+4|0,e[tA>>2]=eA,c1=Un+4|0,On=L9+c1|0,iA=e[On>>2]|0,Kr=iA|1,e[On>>2]=Kr;else{if(rA=c6|3,nA=L9+4|0,e[nA>>2]=rA,sA=j7|1,r0=c6|4,AA=L9+r0|0,e[AA>>2]=sA,f0=j7+c6|0,Hn=L9+f0|0,e[Hn>>2]=j7,qn=j7>>>3,oA=j7>>>0<256,oA){Vr=qn<<1,Yn=553088+(Vr<<2)|0,zr=e[138262]|0,Jn=1<>2]|0,cA=e[138266]|0,Ir=Vn>>>0>>0,Ir?Q2():(L=Zr,Wa=Vn)),e[L>>2]=re,Wr=Wa+12|0,e[Wr>>2]=re,P0=c6+8|0,gA=L9+P0|0,e[gA>>2]=Wa,H0=c6+12|0,hA=L9+H0|0,e[hA>>2]=Yn;break}if(jr=j7>>>8,$i=(jr|0)==0,$i?Sr=0:(fA=j7>>>0>16777215,fA?Sr=31:(uA=jr+1048320|0,Zn=uA>>>16,Wn=Zn&8,jn=jr<>>16,Xr=li&4,dA=Xr|Wn,Xn=jn<>>16,es=mA&2,BA=dA|es,pA=14-BA|0,QA=Xn<>>15,ts=pA+yA|0,wA=ts<<1,kA=ts+7|0,dr=j7>>>kA,tn=dr&1,vA=tn|wA,Sr=vA)),zi=553352+(Sr<<2)|0,g1=c6+28|0,SA=L9+g1|0,e[SA>>2]=Sr,x1=c6+16|0,is=L9+x1|0,D1=c6+20|0,rn=L9+D1|0,e[rn>>2]=0,e[is>>2]=0,rs=e[138263]|0,nn=1<>2]=re,q1=c6+24|0,As=L9+q1|0,e[As>>2]=zi,r2=c6+12|0,os=L9+r2|0,e[os>>2]=re,O1=c6+8|0,_A=L9+O1|0,e[_A>>2]=re;break}Er=e[zi>>2]|0,as=Er+4|0,ci=e[as>>2]|0,sn=ci&-8,Cr=(sn|0)==(j7|0);t:do if(Cr)xt=Er;else{for(mr=(Sr|0)==31,Ui=Sr>>>1,Br=25-Ui|0,$s=mr?0:Br,Oi=j7<<$s,ja=Oi,t$=Er;;){if(Qr=ja>>>31,gi=(t$+16|0)+(Qr<<2)|0,Wt=e[gi>>2]|0,RA=(Wt|0)==0,RA){w=gi,HE=t$;break}if(Bi=ja<<1,pi=Wt+4|0,Qi=e[pi>>2]|0,pr=Qi&-8,ji=(pr|0)==(j7|0),ji){xt=Wt;break t}else ja=Bi,t$=Wt}if(at=e[138266]|0,W$=w>>>0>>0,W$)Q2();else{e[w>>2]=re,h0=c6+24|0,An=L9+h0|0,e[An>>2]=HE,U0=c6+12|0,on=L9+U0|0,e[on>>2]=re,O0=c6+8|0,Fh=L9+O0|0,e[Fh>>2]=re;break e}}while(!1);if(j$=xt+8|0,Wo=e[j$>>2]|0,X$=e[138266]|0,Mh=Wo>>>0>=X$>>>0,Vg=xt>>>0>=X$>>>0,Th=Mh&Vg,Th){Nh=Wo+12|0,e[Nh>>2]=re,e[j$>>2]=re,l2=c6+8|0,jo=L9+l2|0,e[jo>>2]=Wo,f2=c6+12|0,el=L9+f2|0,e[el>>2]=xt,d0=c6+24|0,tl=L9+d0|0,e[tl>>2]=0;break}else Q2()}while(!1);return Xo=L9+8|0,Ke=Xo,Ke|0}else v4=c6}while(!1);if(an=e[138264]|0,Gh=an>>>0>>0,!Gh)return FA=an-v4|0,Xi=e[138267]|0,Uh=FA>>>0>15,Uh?(Oh=Xi+v4|0,e[138267]=Oh,e[138264]=FA,Ph=FA|1,f1=v4+4|0,Hh=Xi+f1|0,e[Hh>>2]=Ph,qh=Xi+an|0,e[qh>>2]=FA,Yh=v4|3,Jh=Xi+4|0,e[Jh>>2]=Yh):(e[138264]=0,e[138267]=0,Vh=an|3,zh=Xi+4|0,e[zh>>2]=Vh,s0=an+4|0,rl=Xi+s0|0,yr=e[rl>>2]|0,Zh=yr|1,e[rl>>2]=Zh),Wh=Xi+8|0,Ke=Wh,Ke|0;if(nl=e[138265]|0,jh=nl>>>0>v4>>>0,jh)return ea=nl-v4|0,e[138265]=ea,LA=e[138268]|0,Xh=LA+v4|0,e[138268]=Xh,ef=ea|1,U=v4+4|0,ia=LA+U|0,e[ia>>2]=ef,sl=v4|3,Al=LA+4|0,e[Al>>2]=sl,ol=LA+8|0,Ke=ol,Ke|0;ra=e[138380]|0,al=(ra|0)==0;do if(al)if(MA=cv(30)|0,tf=MA+-1|0,$l=tf&MA,nf=($l|0)==0,nf){e[138382]=MA,e[138381]=MA,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,sf=Op(0)|0,ll=sf&-16,Af=ll^1431655768,e[138380]=Af;break}else Q2();while(!1);if(of=v4+48|0,cl=e[138382]|0,gl=v4+47|0,hl=cl+gl|0,fl=0-cl|0,$n=hl&fl,af=$n>>>0>v4>>>0,!af||(Il=e[138372]|0,$f=(Il|0)==0,!$f&&(dl=e[138370]|0,El=dl+$n|0,lf=El>>>0<=dl>>>0,cf=El>>>0>Il>>>0,mo=lf|cf,mo)))return Ke=0,Ke|0;gf=e[138373]|0,na=gf&4,ml=(na|0)==0;e:do if(ml){ls=e[138268]|0,Bl=(ls|0)==0;t:do if(Bl)Y4=174;else{for(Ss=553496;;){if(sa=e[Ss>>2]|0,hf=sa>>>0>ls>>>0,!hf&&(pl=Ss+4|0,ff=e[pl>>2]|0,Ql=sa+ff|0,uf=Ql>>>0>ls>>>0,uf)){v=Ss,S=pl;break}if(If=Ss+8|0,wl=e[If>>2]|0,df=(wl|0)==0,df){Y4=174;break t}else Ss=wl}if(Df=e[138265]|0,bf=hl-Df|0,UA=bf&fl,_f=UA>>>0<2147483647,_f)if(OA=Tt(UA|0)|0,Rf=e[v>>2]|0,Ff=e[S>>2]|0,Lf=Rf+Ff|0,Fl=(OA|0)==(Lf|0),n=Fl?UA:0,Fl)if(Mf=(OA|0)==-1,Mf)xr=n;else{o6=OA,ye=n,Y4=194;break e}else Io=OA,ti=UA,Qo=n,Y4=184;else xr=0}while(!1);do if((Y4|0)==174)if(TA=Tt(0)|0,Ef=(TA|0)==-1,Ef)xr=0;else if(Aa=TA,kl=e[138381]|0,vl=kl+-1|0,Cf=vl&Aa,mf=(Cf|0)==0,mf?_r=$n:(Bf=vl+Aa|0,Qf=0-kl|0,yf=Bf&Qf,NA=$n-Aa|0,Sl=NA+yf|0,_r=Sl),Dl=e[138370]|0,bl=Dl+_r|0,GA=_r>>>0>v4>>>0,wf=_r>>>0<2147483647,ZE=GA&wf,ZE){if(_l=e[138372]|0,kf=(_l|0)==0,!kf&&(vf=bl>>>0<=Dl>>>0,Sf=bl>>>0>_l>>>0,jE=vf|Sf,jE)){xr=0;break}if(xl=Tt(_r|0)|0,oa=(xl|0)==(TA|0),Xg=oa?_r:0,oa){o6=TA,ye=Xg,Y4=194;break e}else Io=xl,ti=_r,Qo=Xg,Y4=184}else xr=0;while(!1);t:do if((Y4|0)==184){Tf=0-ti|0,Nf=(Io|0)!=-1,Gf=ti>>>0<2147483647,eC=Gf&Nf,Ll=of>>>0>ti>>>0,tC=Ll&eC;do if(tC)if(Ml=e[138382]|0,er=gl-ti|0,PA=er+Ml|0,$a=0-Ml|0,la=PA&$a,ln=la>>>0<2147483647,ln)if(Nl=Tt(la|0)|0,cn=(Nl|0)==-1,cn){Tt(Tf|0)|0,xr=Qo;break t}else{Uf=la+ti|0,A$=Uf;break}else A$=ti;else A$=ti;while(!1);if(Gl=(Io|0)==-1,Gl)xr=Qo;else{o6=Io,ye=A$,Y4=194;break e}}while(!1);Of=e[138373]|0,Pf=Of|4,e[138373]=Pf,eh=xr,Y4=191}else eh=0,Y4=191;while(!1);if((Y4|0)==191&&(qf=$n>>>0<2147483647,qf&&(HA=Tt($n|0)|0,ca=Tt(0)|0,wr=(HA|0)!=-1,Yf=(ca|0)!=-1,XE=wr&Yf,Jf=HA>>>0>>0,iC=Jf&XE,iC&&(Ul=ca,ga=HA,Ol=Ul-ga|0,Pl=v4+40|0,Hl=Ol>>>0>Pl>>>0,E2=Hl?Ol:eh,Hl&&(o6=HA,ye=E2,Y4=194)))),(Y4|0)==194){Vf=e[138370]|0,ha=Vf+ye|0,e[138370]=ha,zf=e[138371]|0,Zf=ha>>>0>zf>>>0,Zf&&(e[138371]=ha),O9=e[138268]|0,Wf=(O9|0)==0;e:do if(Wf){for(ql=e[138266]|0,jf=(ql|0)==0,Xf=o6>>>0>>0,rC=jf|Xf,rC&&(e[138266]=o6),e[138374]=o6,e[138375]=ye,e[138377]=0,eu=e[138380]|0,e[138271]=eu,e[138270]=-1,Co=0;ua=Co<<1,Yl=553088+(ua<<2)|0,a0=ua+3|0,tu=553088+(a0<<2)|0,e[tu>>2]=Yl,j=ua+2|0,iu=553088+(j<<2)|0,e[iu>>2]=Yl,Jl=Co+1|0,KE=(Jl|0)==32,!KE;)Co=Jl;Kl=ye+-40|0,ru=o6+8|0,Ia=ru,da=Ia&7,zl=(da|0)==0,nu=0-Ia|0,Zl=nu&7,Ea=zl?0:Zl,su=o6+Ea|0,Wl=Kl-Ea|0,e[138268]=su,e[138265]=Wl,Au=Wl|1,V=Ea+4|0,ou=o6+V|0,e[ou>>2]=Au,l1=ye+-36|0,au=o6+l1|0,e[au>>2]=40,$u=e[138384]|0,e[138269]=$u}else{for(bs=553496;;){if(Xl=e[bs>>2]|0,Ca=bs+4|0,qA=e[Ca>>2]|0,ec=Xl+qA|0,lu=(o6|0)==(ec|0),lu){C=Xl,p=Ca,B=qA,nC=bs,Y4=204;break}if(tc=bs+8|0,ic=e[tc>>2]|0,cu=(ic|0)==0,cu)break;bs=ic}if((Y4|0)==204&&(gu=nC+12|0,hu=e[gu>>2]|0,fu=hu&8,uu=(fu|0)==0,uu&&(Iu=O9>>>0>=C>>>0,du=O9>>>0>>0,Zg=du&Iu,Zg))){Eu=B+ye|0,e[p>>2]=Eu,Cu=e[138265]|0,nc=Cu+ye|0,mu=O9+8|0,sc=mu,Bu=sc&7,pu=(Bu|0)==0,Ac=0-sc|0,Qu=Ac&7,cs=pu?0:Qu,oc=O9+cs|0,ma=nc-cs|0,e[138268]=oc,e[138265]=ma,yu=ma|1,n0=cs+4|0,YA=O9+n0|0,e[YA>>2]=yu,n1=nc+4|0,Ba=O9+n1|0,e[Ba>>2]=40,wu=e[138384]|0,e[138269]=wu;break}for(ac=e[138266]|0,ku=o6>>>0>>0,ku?(e[138266]=o6,us=o6):us=ac,vu=o6+ye|0,_s=553496;;){if(Su=e[_s>>2]|0,Du=(Su|0)==(vu|0),Du){I=_s,Ar=_s,Y4=212;break}if(bu=_s+8|0,$c=e[bu>>2]|0,_u=($c|0)==0,_u){Ds=553496;break}else _s=$c}if((Y4|0)==212)if(Ru=Ar+12|0,xu=e[Ru>>2]|0,Qa=xu&8,Fu=(Qa|0)==0,Fu){e[I>>2]=o6,ya=Ar+4|0,Lu=e[ya>>2]|0,Mu=Lu+ye|0,e[ya>>2]=Mu,Tu=o6+8|0,lc=Tu,Nu=lc&7,Gu=(Nu|0)==0,Uu=0-lc|0,Pu=Uu&7,KA=Gu?0:Pu,Hu=o6+KA|0,I0=ye+8|0,qu=o6+I0|0,cc=qu,Yu=cc&7,Ju=(Yu|0)==0,Ku=0-cc|0,Vu=Ku&7,hi=Ju?0:Vu,v0=hi+ye|0,fi=o6+v0|0,hc=fi,wa=Hu,zu=hc-wa|0,i0=KA+v4|0,jt=o6+i0|0,hs=zu-v4|0,Zu=v4|3,g0=KA+4|0,Wu=o6+g0|0,e[Wu>>2]=Zu,ju=(fi|0)==(O9|0);t:do if(ju)Xu=e[138265]|0,fc=Xu+hs|0,e[138265]=fc,e[138268]=jt,tI=fc|1,H1=i0+4|0,iI=o6+H1|0,e[iI>>2]=tI;else{if(uc=e[138267]|0,rI=(fi|0)==(uc|0),rI){nI=e[138264]|0,fs=nI+hs|0,e[138264]=fs,e[138267]=jt,ka=fs|1,K1=i0+4|0,sI=o6+K1|0,e[sI>>2]=ka,P1=fs+i0|0,Ic=o6+P1|0,e[Ic>>2]=fs;break}if(A1=ye+4|0,K0=A1+hi|0,oI=o6+K0|0,VA=e[oI>>2]|0,aI=VA&3,$I=(aI|0)==1,$I){dc=VA&-8,Ec=VA>>>3,lI=VA>>>0<256;i:do if(lI){G1=hi|8,J0=G1+ye|0,cI=o6+J0|0,hn=e[cI>>2]|0,w1=ye+12|0,Y0=w1+hi|0,gI=o6+Y0|0,fn=e[gI>>2]|0,fI=Ec<<1,Cc=553088+(fI<<2)|0,uI=(hn|0)==(Cc|0);do if(!uI){if(II=hn>>>0>>0,II&&Q2(),mc=hn+12|0,dI=e[mc>>2]|0,Bc=(dI|0)==(fi|0),Bc)break;Q2()}while(!1);if(EI=(fn|0)==(hn|0),EI){va=1<>>0>>0,BI&&Q2(),yc=fn+8|0,pI=e[yc>>2]|0,QI=(pI|0)==(fi|0),QI){T=yc;break}Q2()}while(!1);yI=hn+12|0,e[yI>>2]=fn,e[T>>2]=hn}else{F1=hi|24,b0=F1+ye|0,wI=o6+b0|0,Is=e[wI>>2]|0,Y1=ye+12|0,m0=Y1+hi|0,kI=o6+m0|0,un=e[kI>>2]|0,vI=(un|0)==(fi|0);do if(vI){if(W1=hi|16,D0=A1+W1|0,Dc=o6+D0|0,bc=e[Dc>>2]|0,RI=(bc|0)==0,RI)if(M0=W1+ye|0,_c=o6+M0|0,Rc=e[_c>>2]|0,xI=(Rc|0)==0,xI){_t=0;break}else En=Rc,ho=_c;else En=bc,ho=Dc;for(;;){if(xc=En+20|0,Fc=e[xc>>2]|0,LI=(Fc|0)==0,!LI){En=Fc,ho=xc;continue}if(Lc=En+16|0,Mc=e[Lc>>2]|0,MI=(Mc|0)==0,MI){OE=En,Yg=ho;break}else En=Mc,ho=Lc}if(TI=Yg>>>0>>0,TI)Q2();else{e[Yg>>2]=0,_t=OE;break}}else if(L1=hi|8,F0=L1+ye|0,SI=o6+F0|0,Sa=e[SI>>2]|0,DI=Sa>>>0>>0,DI&&Q2(),Da=Sa+12|0,ba=e[Da>>2]|0,kc=(ba|0)==(fi|0),kc||Q2(),vc=un+8|0,_I=e[vc>>2]|0,Sc=(_I|0)==(fi|0),Sc){e[Da>>2]=un,e[vc>>2]=Sa,_t=un;break}else Q2();while(!1);if(Tc=(Is|0)==0,Tc)break;y1=ye+28|0,L0=y1+hi|0,_a=o6+L0|0,Nc=e[_a>>2]|0,Oc=553352+(Nc<<2)|0,NI=e[Oc>>2]|0,GI=(fi|0)==(NI|0);do if(GI){if(e[Oc>>2]=_t,JE=(_t|0)==0,!JE)break;UI=1<>>0>>0,YI&&Q2(),Pc=Is+16|0,JI=e[Pc>>2]|0,KI=(JI|0)==(fi|0),KI?e[Pc>>2]=_t:(VI=Is+20|0,e[VI>>2]=_t),Hc=(_t|0)==0,Hc)break i;while(!1);qc=e[138266]|0,zI=_t>>>0>>0,zI&&Q2(),Yc=_t+24|0,e[Yc>>2]=Is,S1=hi|16,T0=S1+ye|0,xa=o6+T0|0,zA=e[xa>>2]|0,Jc=(zA|0)==0;do if(!Jc)if(WI=zA>>>0>>0,WI)Q2();else{jI=_t+16|0,e[jI>>2]=zA,XI=zA+24|0,e[XI>>2]=_t;break}while(!1);if(q0=A1+S1|0,Kc=o6+q0|0,ZA=e[Kc>>2]|0,ed=(ZA|0)==0,ed)break;if(td=e[138266]|0,id=ZA>>>0>>0,id)Q2();else{rd=_t+20|0,e[rd>>2]=ZA,nd=ZA+24|0,e[nd>>2]=_t;break}}while(!1);s2=dc|hi,x0=s2+ye|0,Ad=o6+x0|0,od=dc+hs|0,zg=Ad,ei=od}else zg=fi,ei=hs;if(Vc=zg+4|0,ad=e[Vc>>2]|0,$d=ad&-2,e[Vc>>2]=$d,ld=ei|1,w0=i0+4|0,cd=o6+w0|0,e[cd>>2]=ld,E0=ei+i0|0,WA=o6+E0|0,e[WA>>2]=ei,zc=ei>>>3,gd=ei>>>0<256,gd){In=zc<<1,Zc=553088+(In<<2)|0,Wc=e[138262]|0,Fa=1<>2]|0,Id=e[138266]|0,Ed=eg>>>0>>0,!Ed){F=Xc,Za=eg;break}Q2()}while(!1);e[F>>2]=jt,Cd=Za+12|0,e[Cd>>2]=jt,B1=i0+8|0,md=o6+B1|0,e[md>>2]=Za,p1=i0+12|0,jA=o6+p1|0,e[jA>>2]=Zc;break}La=ei>>>8,Bd=(La|0)==0;do if(Bd)Dr=0;else{if(pd=ei>>>0>16777215,pd){Dr=31;break}Qd=La+1048320|0,yd=Qd>>>16,tg=yd&8,ig=La<>>16,rg=vd&4,kr=rg|tg,ng=ig<>>16,Ag=Sd&2,XA=kr|Ag,bd=14-XA|0,_d=ng<>>15,og=bd+eo|0,Rd=og<<1,xd=og+7|0,ag=ei>>>xd,Fd=ag&1,Ld=Fd|Rd,Dr=Ld}while(!1);if(Ma=553352+(Dr<<2)|0,B0=i0+28|0,Md=o6+B0|0,e[Md>>2]=Dr,z0=i0+16|0,Td=o6+z0|0,N0=i0+20|0,Nd=o6+N0|0,e[Nd>>2]=0,e[Td>>2]=0,$g=e[138263]|0,lg=1<>2]=jt,r1=i0+24|0,ds=o6+r1|0,e[ds>>2]=Ma,e1=i0+12|0,Od=o6+e1|0,e[Od>>2]=jt,i1=i0+8|0,Pd=o6+i1|0,e[Pd>>2]=jt;break}Ta=e[Ma>>2]|0,hg=Ta+4|0,Hd=e[hg>>2]|0,qd=Hd&-8,Yd=(qd|0)==(ei|0);i:do if(Yd)br=Ta;else{for(Jd=(Dr|0)==31,fg=Dr>>>1,Kd=25-fg|0,Vd=Jd?0:Kd,zd=ei<>>31,Cg=(i$+16|0)+(Eg<<2)|0,Es=e[Cg>>2]|0,yi=(Es|0)==0,yi){o=Cg,qE=i$;break}if(Zd=ys<<1,Wd=Es+4|0,Ig=e[Wd>>2]|0,dg=Ig&-8,jd=(dg|0)==(ei|0),jd){br=Es;break i}else ys=Zd,i$=Es}if(ir=e[138266]|0,Xd=o>>>0>>0,Xd)Q2();else{e[o>>2]=jt,E1=i0+24|0,eE=o6+E1|0,e[eE>>2]=qE,u1=i0+12|0,tE=o6+u1|0,e[tE>>2]=jt,d1=i0+8|0,iE=o6+d1|0,e[iE>>2]=jt;break t}}while(!1);if(Na=br+8|0,ro=e[Na>>2]|0,Bg=e[138266]|0,pg=ro>>>0>=Bg>>>0,n$=br>>>0>=Bg>>>0,rE=pg&n$,rE){Cs=ro+12|0,e[Cs>>2]=jt,e[Na>>2]=jt,Z0=i0+8|0,nE=o6+Z0|0,e[nE>>2]=ro,I1=i0+12|0,so=o6+I1|0,e[so>>2]=br,h1=i0+24|0,Ga=o6+h1|0,e[Ga>>2]=0;break}else Q2()}while(!1);return $1=KA|8,sE=o6+$1|0,Ke=sE,Ke|0}else Ds=553496;for(;;){if(Ua=e[Ds>>2]|0,AE=Ua>>>0>O9>>>0,!AE&&(oE=Ds+4|0,Qg=e[oE>>2]|0,Ao=Ua+Qg|0,aE=Ao>>>0>O9>>>0,aE)){c=Ua,f=Qg,E=Ao;break}$E=Ds+8|0,lE=e[$E>>2]|0,Ds=lE}if(o0=f+-47|0,$0=f+-39|0,cE=c+$0|0,wg=cE,gE=wg&7,W7=(gE|0)==0,y4=0-wg|0,Xt=y4&7,hE=W7?0:Xt,a1=o0+hE|0,vg=c+a1|0,Oa=O9+16|0,fE=vg>>>0>>0,vr=fE?O9:vg,ms=vr+8|0,uE=ye+-40|0,IE=o6+8|0,Sg=IE,Pa=Sg&7,dE=(Pa|0)==0,bg=0-Sg|0,_g=bg&7,Ha=dE?0:_g,qa=o6+Ha|0,Rg=uE-Ha|0,e[138268]=qa,e[138265]=Rg,Bs=Rg|1,Z=Ha+4|0,Ya=o6+Z|0,e[Ya>>2]=Bs,s1=ye+-36|0,xg=o6+s1|0,e[xg>>2]=40,EE=e[138384]|0,e[138269]=EE,dn=vr+4|0,e[dn>>2]=27,e[ms>>2]=e[138374]|0,e[ms+4>>2]=e[138375]|0,e[ms+8>>2]=e[138376]|0,e[ms+12>>2]=e[138377]|0,e[138374]=o6,e[138375]=ye,e[138377]=0,e[138376]=ms,Fg=vr+28|0,e[Fg>>2]=7,oo=vr+32|0,mE=oo>>>0>>0,mE)for(wi=Fg;Lg=wi+4|0,e[Lg>>2]=7,BE=wi+8|0,pE=BE>>>0>>0,pE;)wi=Lg;if(QE=(vr|0)==(O9|0),!QE){if(yE=vr,wE=O9,ki=yE-wE|0,vE=e[dn>>2]|0,SE=vE&-2,e[dn>>2]=SE,DE=ki|1,Mg=O9+4|0,e[Mg>>2]=DE,e[vr>>2]=ki,ui=ki>>>3,ao=ki>>>0<256,ao){Ja=ui<<1,Tg=553088+(Ja<<2)|0,Ng=e[138262]|0,Gg=1<>2]|0,xE=e[138266]|0,FE=Pg>>>0>>0,FE?Q2():(R=Og,Va=Pg)),e[R>>2]=O9,Hg=Va+12|0,e[Hg>>2]=O9,LE=O9+8|0,e[LE>>2]=Va,$o=O9+12|0,e[$o>>2]=Tg;break}if(lo=ki>>>8,ME=(lo|0)==0,ME?rr=0:(Ka=ki>>>0>16777215,Ka?rr=31:(TE=lo+1048320|0,NE=TE>>>16,qg=NE&8,Qs=lo<>>16,$2=UE&4,i2=$2|qg,o2=Qs<<$2,X1=o2+245760|0,n2=X1>>>16,u2=n2&2,e2=i2|u2,y2=14-e2|0,S2=o2<>>15,M2=y2+w2|0,_2=M2<<1,N2=M2+7|0,I2=ki>>>N2,J2=I2&1,G2=J2|_2,rr=G2)),q2=553352+(rr<<2)|0,T2=O9+28|0,e[T2>>2]=rr,O2=O9+20|0,e[O2>>2]=0,e[Oa>>2]=0,K2=e[138263]|0,P2=1<>2]=O9,X2=O9+24|0,e[X2>>2]=q2,D5=O9+12|0,e[D5>>2]=O9,V2=O9+8|0,e[V2>>2]=O9;break}f5=e[q2>>2]|0,k5=f5+4|0,O5=e[k5>>2]|0,v2=O5&-8,E5=(v2|0)==(ki|0);t:do if(E5)uo=f5;else{for(r5=(rr|0)==31,x2=rr>>>1,R2=25-x2|0,B2=r5?0:R2,C5=ki<>>31,l5=(r$+16|0)+(A5<<2)|0,b5=e[l5>>2]|0,m5=(b5|0)==0,m5){a=l5,Kg=r$;break}if(F5=Xa<<1,u5=b5+4|0,_5=e[u5>>2]|0,H2=_5&-8,I5=(H2|0)==(ki|0),I5){uo=b5;break t}else Xa=F5,r$=b5}if(M1=e[138266]|0,v5=a>>>0>>0,v5)Q2();else{e[a>>2]=O9,c5=O9+24|0,e[c5>>2]=Kg,o5=O9+12|0,e[o5>>2]=O9,c2=O9+8|0,e[c2>>2]=O9;break e}}while(!1);if(B5=uo+8|0,e5=e[B5>>2]|0,n5=e[138266]|0,g5=e5>>>0>=n5>>>0,VE=uo>>>0>=n5>>>0,Y2=g5&VE,Y2){h5=e5+12|0,e[h5>>2]=O9,e[B5>>2]=O9,t5=O9+8|0,e[t5>>2]=e5,R5=O9+12|0,e[R5>>2]=uo,W2=O9+24|0,e[W2>>2]=0;break}else Q2()}}while(!1);if(F2=e[138265]|0,p5=F2>>>0>v4>>>0,p5)return H5=F2-v4|0,e[138265]=H5,X5=e[138268]|0,d5=X5+v4|0,e[138268]=d5,u3=H5|1,K=v4+4|0,h3=X5+K|0,e[h3>>2]=u3,J5=v4|3,e3=X5+4|0,e[e3>>2]=J5,n3=X5+8|0,Ke=n3,Ke|0}return L5=Up()|0,e[L5>>2]=12,Ke=0,Ke|0}function d2(t){t=t|0;var n=0,o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0,l4=0,U6=0,De=0,be=0,Xe=0,c4=0,k4=0,g8=0,q3=0,y9=0,m9=0,L4=0,X4=0,$7=0,_e=0;if(_e=m,X=(t|0)==0,!X){U=t+-8|0,J2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,a9=e[y6>>2]|0,z9=a9&3,R4=(z9|0)==1,R4&&Q2(),H9=a9&-8,p=H9+-8|0,Z9=t+p|0,a0=a9&1,j=(a0|0)==0;do if(j){if(v0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-v0|0,S0=t+Q|0,Z0=v0+H9|0,y1=S0>>>0>>0,y1&&Q2(),P1=e[138267]|0,s2=(S0|0)==(P1|0),s2){if(z=H9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,K=(r0|0)==3,!K){q3=S0,y9=Z0;break}e[138264]=Z0,c0=i0&-2,e[n0>>2]=c0,s0=Z0|1,b=Q+4|0,l0=t+b|0,e[l0>>2]=s0,e[Z9>>2]=Z0;return}if(n2=v0>>>3,G2=v0>>>0<256,G2){if(Y=Q+8|0,D5=t+Y|0,B2=e[D5>>2]|0,t0=Q+12|0,m5=t+t0|0,Y2=e[m5>>2]|0,u3=n2<<1,K3=553088+(u3<<2)|0,m3=(B2|0)==(K3|0),m3||(h6=B2>>>0>>0,h6&&Q2(),$6=B2+12|0,S3=e[$6>>2]|0,O6=(S3|0)==(S0|0),O6||Q2()),Y6=(Y2|0)==(B2|0),Y6){N6=1<>>0>>0,D6&&Q2(),K6=Y2+8|0,F6=e[K6>>2]|0,L3=(F6|0)==(S0|0),L3?c=K6:Q2()),L6=B2+12|0,e[L6>>2]=Y2,e[c>>2]=B2,q3=S0,y9=Z0;break}x=Q+24|0,X6=t+x|0,A9=e[X6>>2]|0,R=Q+12|0,W6=t+R|0,h9=e[W6>>2]|0,f9=(h9|0)==(S0|0);do if(f9){if(L=Q+20|0,s4=t+L|0,g4=e[s4>>2]|0,G9=(g4|0)==0,G9)if(F=Q+16|0,D9=t+F|0,d9=e[D9>>2]|0,P6=(d9|0)==0,P6){C9=0;break}else F4=d9,Ce=D9;else F4=g4,Ce=s4;for(;;){if(t9=F4+20|0,C4=e[t9>>2]|0,S4=(C4|0)==0,!S4){F4=C4,Ce=t9;continue}if(A4=F4+16|0,Q9=e[A4>>2]|0,D4=(Q9|0)==0,D4){$e=F4,p4=Ce;break}else F4=Q9,Ce=A4}if(b4=p4>>>0>>0,b4)Q2();else{e[p4>>2]=0,C9=$e;break}}else if(P=Q+8|0,u9=t+P|0,o9=e[u9>>2]|0,T9=o9>>>0>>0,T9&&Q2(),d6=o9+12|0,M6=e[d6>>2]|0,e9=(M6|0)==(S0|0),e9||Q2(),N9=h9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(S0|0),E4){e[d6>>2]=h9,e[N9>>2]=o9,C9=h9;break}else Q2();while(!1);if(M4=(A9|0)==0,M4)q3=S0,y9=Z0;else{if(M=Q+28|0,Z4=t+M|0,m4=e[Z4>>2]|0,T4=553352+(m4<<2)|0,U9=e[T4>>2]|0,N4=(S0|0)==(U9|0),N4){if(e[T4>>2]=C9,c4=(C9|0)==0,c4){o4=1<>>0>>0,Ee&&Q2(),Te=A9+16|0,We=e[Te>>2]|0,G4=(We|0)==(S0|0),G4?e[Te>>2]=C9:(Ne=A9+20|0,e[Ne>>2]=C9),U4=(C9|0)==0,U4){q3=S0,y9=Z0;break}W4=e[138266]|0,Se=C9>>>0>>0,Se&&Q2(),je=C9+24|0,e[je>>2]=A9,T=Q+16|0,se=t+T|0,f4=e[se>>2]|0,b6=(f4|0)==0;do if(!b6)if(O4=f4>>>0>>0,O4)Q2();else{F9=C9+16|0,e[F9>>2]=f4,a4=f4+24|0,e[a4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,Ae=e[_4>>2]|0,W9=(Ae|0)==0,W9)q3=S0,y9=Z0;else if(oe=e[138266]|0,Z=Ae>>>0>>0,Z)Q2();else{V=C9+20|0,e[V>>2]=Ae,o0=Ae+24|0,e[o0>>2]=C9,q3=S0,y9=Z0;break}}}else q3=U,y9=H9;while(!1);if($0=q3>>>0>>0,$0||Q2(),D=H9+-4|0,g0=t+D|0,f0=e[g0>>2]|0,Q0=f0&1,d0=(Q0|0)==0,d0&&Q2(),w0=f0&2,h0=(w0|0)==0,h0){if(E0=e[138268]|0,C0=(Z9|0)==(E0|0),C0){if(I0=e[138265]|0,K0=I0+y9|0,e[138265]=K0,e[138268]=q3,b0=K0|1,m0=q3+4|0,e[m0>>2]=b0,F0=e[138267]|0,L0=(q3|0)==(F0|0),!L0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,U0=(Z9|0)==(T0|0),U0){B0=e[138264]|0,q0=B0+y9|0,e[138264]=q0,e[138267]=q3,x0=q0|1,M0=q3+4|0,e[M0>>2]=x0,J0=q3+q0|0,e[J0>>2]=q0;return}Y0=f0&-8,O0=Y0+y9|0,z0=f0>>>3,N0=f0>>>0<256;do if(N0){if(P0=t+H9|0,r1=e[P0>>2]|0,y=H9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){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,F1=e[S1>>2]|0,W=H9|4,L1=t+W|0,G1=e[L1>>2]|0,w1=(G1|0)==(Z9|0);do if(w1){if(H=H9+12|0,W1=t+H|0,O1=e[W1>>2]|0,l2=(O1|0)==0,l2)if(e0=H9+8|0,z1=t+e0|0,f2=e[z1>>2]|0,E2=(f2|0)==0,E2){$4=0;break}else c6=f2,l4=z1;else c6=O1,l4=W1;for(;;){if(A2=c6+20|0,V1=e[A2>>2]|0,g2=(V1|0)==0,!g2){c6=V1,l4=A2;continue}if(a2=c6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ge=c6,U6=l4;break}else c6=t2,l4=a2}if(i2=e[138266]|0,o2=U6>>>0>>0,o2)Q2();else{e[U6>>2]=0,$4=Ge;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,r2=(j1|0)==(Z9|0),r2){e[K1>>2]=G1,e[Y1>>2]=Z1,$4=G1;break}else Q2();while(!1);if(X1=(F1|0)==0,!X1){if(v=H9+20|0,u2=t+v|0,e2=e[u2>>2]|0,y2=553352+(e2<<2)|0,S2=e[y2>>2]|0,w2=(Z9|0)==(S2|0),w2){if(e[y2>>2]=$4,k4=($4|0)==0,k4){m2=1<>>0>>0,q2&&Q2(),T2=F1+16|0,O2=e[T2>>2]|0,K2=(O2|0)==(Z9|0),K2?e[T2>>2]=$4:(s5=F1+20|0,e[s5>>2]=$4),P2=($4|0)==0,P2)break;T1=e[138266]|0,j2=$4>>>0>>0,j2&&Q2(),x5=$4+24|0,e[x5>>2]=F1,S=H9+8|0,X2=t+S|0,V2=e[X2>>2]|0,f5=(V2|0)==0;do if(!f5)if(k5=V2>>>0>>0,k5)Q2();else{O5=$4+16|0,e[O5>>2]=V2,$5=V2+24|0,e[$5>>2]=$4;break}while(!1);if(w=H9+12|0,v2=t+w|0,E5=e[v2>>2]|0,r5=(E5|0)==0,!r5)if(x2=e[138266]|0,R2=E5>>>0>>0,R2)Q2();else{C5=$4+20|0,e[C5>>2]=E5,F5=E5+24|0,e[F5>>2]=$4;break}}}while(!1);if(u5=O0|1,b5=q3+4|0,e[b5>>2]=u5,G5=q3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,H2=(q3|0)==(_5|0),H2){e[138264]=O0;return}else m9=O0}else I5=f0&-2,e[g0>>2]=I5,A5=y9|1,l5=q3+4|0,e[l5>>2]=A5,M1=q3+y9|0,e[M1>>2]=y9,m9=y9;if(v5=m9>>>3,c5=m9>>>0<256,c5){o5=v5<<1,z2=553088+(o5<<2)|0,c2=e[138262]|0,B5=1<>2]|0,R5=e[138266]|0,W2=t5>>>0>>0,W2?Q2():(f=h5,ae=t5)),e[f>>2]=q3,a5=ae+12|0,e[a5>>2]=q3,F2=q3+8|0,e[F2>>2]=ae,p5=q3+12|0,e[p5>>2]=z2;return}H5=m9>>>8,X5=(H5|0)==0,X5?B4=0:(d5=m9>>>0>16777215,d5?B4=31:(h3=H5+1048320|0,J5=h3>>>16,e3=J5&8,n3=H5<>>16,K5=L5&4,w3=K5|e3,f3=n3<>>16,z5=T3&2,y3=w3|z5,W5=14-y3|0,t6=f3<>>15,N3=W5+R3|0,o3=N3<<1,$3=N3+7|0,l3=m9>>>$3,q5=l3&1,U5=q5|o3,B4=U5)),P5=553352+(B4<<2)|0,w5=q3+28|0,e[w5>>2]=B4,G3=q3+16|0,M5=q3+20|0,e[M5>>2]=0,e[G3>>2]=0,n6=e[138263]|0,t3=1<>2]=q3,k3=q3+24|0,e[k3>>2]=P5,Q3=q3+12|0,e[Q3>>2]=q3,i6=q3+8|0,e[i6>>2]=q3;else{W3=e[P5>>2]|0,U3=W3+4|0,V5=e[U3>>2]|0,v3=V5&-8,c3=(v3|0)==(m9|0);t:do if(c3)De=W3;else{for(O3=(B4|0)==31,I3=B4>>>1,w6=25-I3|0,k6=O3?0:w6,v6=m9<>>31,e6=(be+16|0)+(X3<<2)|0,l6=e[e6>>2]|0,f6=(l6|0)==0,f6){n=e6,Xe=be;break}if(B6=j4<<1,j3=l6+4|0,p6=e[j3>>2]|0,_6=p6&-8,q6=(_6|0)==(m9|0),q6){De=l6;break t}else j4=B6,be=l6}if(P3=e[138266]|0,D3=n>>>0>>0,D3)Q2();else{e[n>>2]=q3,H3=q3+24|0,e[H3>>2]=Xe,V3=q3+12|0,e[V3>>2]=q3,S6=q3+8|0,e[S6>>2]=q3;break e}}while(!1);if(s6=De+8|0,i3=e[s6>>2]|0,s3=e[138266]|0,A6=i3>>>0>=s3>>>0,g8=De>>>0>=s3>>>0,u6=A6&g8,u6){b3=i3+12|0,e[b3>>2]=q3,e[s6>>2]=q3,T6=q3+8|0,e[T6>>2]=i3,r6=q3+12|0,e[r6>>2]=De,Q6=q3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(R6=e[138270]|0,J6=R6+-1|0,e[138270]=J6,I6=(J6|0)==0,I6)X4=553504;else return;for(;L4=e[X4>>2]|0,F3=(L4|0)==0,Z6=L4+8|0,!F3;)X4=Z6;e[138270]=-1}}function r4(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0;return b=m,a=(t|0)==0,a?D=0:(c=i5(n,t)|0,I=n|t,C=I>>>0>65535,C?(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)||ne(v|0,0,D|0)|0,v|0}function Gi(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0;return Y=m,o=(t|0)==0,o?(a=S9(n)|0,P=a,P|0):(y=n>>>0>4294967231,y?(x=Up()|0,e[x>>2]=12,P=0,P|0):(R=n>>>0<11,F=n+11|0,L=F&-8,M=R?16:L,T=t+-8|0,G=XS(T,M)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(P=0,P|0):(C=t+-4|0,p=e[C>>2]|0,B=p&-8,v=p&3,S=(v|0)==0,w=S?8:4,D=B-w|0,Q=D>>>0>>0,b=Q?D:n,n4(E|0,t|0,b|0)|0,d2(t),P=E,P|0)):(f=G+8|0,P=f,P|0)))}function XS(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0;if(K5=m,T=t+4|0,G=e[T>>2]|0,w1=G&-8,r2=t+w1|0,a2=e[138266]|0,w2=G&3,u3=t>>>0>=a2>>>0,h3=(w2|0)!=1,J5=h3&u3,K2=t>>>0>>0,e3=J5&K2,e3||Q2(),b=w1|4,O5=t+b|0,b5=e[O5>>2]|0,o5=b5&1,P=(o5|0)==0,P&&Q2(),Z=(w2|0)==0,Z)return $0=n>>>0<256,$0?(d5=0,d5|0):(K0=n+4|0,M0=w1>>>0>>0,!M0&&(i1=w1-n|0,I1=e[138382]|0,S1=I1<<1,L1=i1>>>0>S1>>>0,!L1)?(d5=t,d5|0):(d5=0,d5|0));if(G1=w1>>>0>>0,!G1)return U1=w1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,D1=G&1,K1=D1|n,P1=K1|2,e[T>>2]=P1,Q=n+4|0,H1=t+Q|0,q1=U1|3,e[H1>>2]=q1,Y1=e[O5>>2]|0,j1=Y1|1,e[O5>>2]=j1,dQ(N1,U1),d5=t,d5|0):(d5=t,d5|0);if(W1=e[138268]|0,O1=(r2|0)==(W1|0),O1)return l2=e[138265]|0,z1=l2+w1|0,f2=z1>>>0>n>>>0,f2?(s2=z1-n|0,E2=t+n|0,A2=G&1,V1=A2|n,g2=V1|2,e[T>>2]=g2,D=n+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,d5=t,d5|0):(d5=0,d5|0);if(i2=e[138267]|0,o2=(r2|0)==(i2|0),o2)return X1=e[138264]|0,n2=X1+w1|0,u2=n2>>>0>>0,u2?(d5=0,d5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(S2=t+n|0,m2=t+n2|0,M2=G&1,_2=M2|n,N2=_2|2,e[T>>2]=N2,S=n+4|0,I2=t+S|0,J2=e2|1,e[I2>>2]=J2,e[m2>>2]=e2,y=n2+4|0,G2=t+y|0,q2=e[G2>>2]|0,T2=q2&-2,e[G2>>2]=T2,n3=S2,C3=e2):(O2=G&1,s5=O2|n2,P2=s5|2,e[T>>2]=P2,v=n2+4|0,T1=t+v|0,j2=e[T1>>2]|0,x5=j2|1,e[T1>>2]=x5,n3=0,C3=0),e[138264]=C3,e[138267]=n3,d5=t,d5|0);if(X2=b5&2,D5=(X2|0)==0,!D5||(V2=b5&-8,f5=V2+w1|0,k5=f5>>>0>>0,k5))return d5=0,d5|0;$5=f5-n|0,v2=b5>>>3,E5=b5>>>0<256;do if(E5){if(p=w1+8|0,r5=t+p|0,x2=e[r5>>2]|0,B=w1+12|0,R2=t+B|0,B2=e[R2>>2]|0,C5=v2<<1,F5=553088+(C5<<2)|0,u5=(x2|0)==(F5|0),u5||(G5=x2>>>0>>0,G5&&Q2(),_5=x2+12|0,H2=e[_5>>2]|0,I5=(H2|0)==(r2|0),I5||Q2()),A5=(B2|0)==(x2|0),A5){l5=1<>>0>>0,z2&&Q2(),c2=B2+8|0,B5=e[c2>>2]|0,e5=(B5|0)==(r2|0),e5?a=c2:Q2()),n5=x2+12|0,e[n5>>2]=B2,e[a>>2]=x2}else{c=w1+24|0,g5=t+c|0,Y2=e[g5>>2]|0,w=w1+12|0,h5=t+w|0,t5=e[h5>>2]|0,R5=(t5|0)==(r2|0);do if(R5){if(R=w1+20|0,a0=t+R|0,V=e[a0>>2]|0,o0=(V|0)==0,o0)if(x=w1+16|0,n0=t+x|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){F2=0;break}else W2=i0,p5=n0;else W2=V,p5=a0;for(;;){if(K=W2+20|0,c0=e[K>>2]|0,s0=(c0|0)==0,!s0){W2=c0,p5=K;continue}if(l0=W2+16|0,j=e[l0>>2]|0,g0=(j|0)==0,g0){a5=W2,H5=p5;break}else W2=j,p5=l0}if(f0=H5>>>0>>0,f0)Q2();else{e[H5>>2]=0,F2=a5;break}}else if(C=w1+8|0,z=t+C|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=t5+8|0,X=e[H>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=t5,e[H>>2]=Y,F2=t5;break}else Q2();while(!1);if(Q0=(Y2|0)==0,!Q0){if(f=w1+28|0,d0=t+f|0,w0=e[d0>>2]|0,h0=553352+(w0<<2)|0,E0=e[h0>>2]|0,C0=(r2|0)==(E0|0),C0){if(e[h0>>2]=F2,X5=(F2|0)==0,X5){I0=1<>>0>>0,L0&&Q2(),T0=Y2+16|0,U0=e[T0>>2]|0,B0=(U0|0)==(r2|0),B0?e[T0>>2]=F2:(q0=Y2+20|0,e[q0>>2]=F2),x0=(F2|0)==0,x0)break;D0=e[138266]|0,J0=F2>>>0>>0,J0&&Q2(),Y0=F2+24|0,e[Y0>>2]=Y2,E=w1+16|0,O0=t+E|0,z0=e[O0>>2]|0,N0=(z0|0)==0;do if(!N0)if(P0=z0>>>0>>0,P0)Q2();else{r1=F2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=F2;break}while(!1);if(I=w1+20|0,e1=t+I|0,S0=e[e1>>2]|0,c1=(S0|0)==0,!c1)if($1=e[138266]|0,f1=S0>>>0<$1>>>0,f1)Q2();else{g1=F2+20|0,e[g1>>2]=S0,l1=S0+24|0,e[l1>>2]=F2;break}}}while(!1);return s1=$5>>>0<16,s1?(a1=G&1,n1=f5|a1,A1=n1|2,e[T>>2]=A1,M=f5|4,Z0=t+M|0,h1=e[Z0>>2]|0,E1=h1|1,e[Z0>>2]=E1,d5=t,d5|0):(u1=t+n|0,d1=G&1,B1=d1|n,p1=B1|2,e[T>>2]=p1,F=n+4|0,Q1=t+F|0,R1=$5|3,e[Q1>>2]=R1,L=f5|4,x1=t+L|0,y1=e[x1>>2]|0,F1=y1|1,e[x1>>2]=F1,dQ(u1,$5),d5=t,d5|0)}function dQ(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0,M0=0,J0=0,Y0=0,O0=0,z0=0,N0=0,P0=0,r1=0,H0=0,e1=0,S0=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,E1=0,u1=0,d1=0,B1=0,p1=0,Q1=0,R1=0,x1=0,y1=0,S1=0,F1=0,L1=0,G1=0,w1=0,U1=0,Z1=0,N1=0,D1=0,K1=0,P1=0,H1=0,q1=0,Y1=0,j1=0,r2=0,W1=0,O1=0,l2=0,z1=0,f2=0,s2=0,E2=0,A2=0,V1=0,g2=0,a2=0,t2=0,$2=0,i2=0,o2=0,X1=0,n2=0,u2=0,e2=0,y2=0,S2=0,w2=0,m2=0,M2=0,_2=0,N2=0,I2=0,J2=0,G2=0,q2=0,T2=0,O2=0,K2=0,s5=0,P2=0,T1=0,j2=0,x5=0,X2=0,D5=0,V2=0,f5=0,k5=0,O5=0,$5=0,v2=0,E5=0,r5=0,x2=0,R2=0,B2=0,C5=0,F5=0,u5=0,b5=0,G5=0,_5=0,H2=0,I5=0,A5=0,l5=0,m5=0,M1=0,v5=0,c5=0,o5=0,z2=0,c2=0,B5=0,e5=0,n5=0,g5=0,Y2=0,h5=0,t5=0,R5=0,W2=0,a5=0,F2=0,p5=0,H5=0,X5=0,d5=0,u3=0,h3=0,J5=0,e3=0,n3=0,C3=0,L5=0,K5=0,w3=0,f3=0,B3=0,K3=0,T3=0,z5=0,y3=0,W5=0,t6=0,R3=0,N3=0,o3=0,$3=0,l3=0,m3=0,q5=0,U5=0,P5=0,w5=0,G3=0,M5=0,n6=0,t3=0,A3=0,x3=0,h6=0,p3=0,k3=0,Q3=0,i6=0,W3=0,U3=0,V5=0,v3=0,c3=0,O3=0,$6=0,I3=0,w6=0,k6=0,v6=0,B6=0,j3=0,l6=0,p6=0,_6=0,q6=0,C6=0,S3=0,X3=0,e6=0,f6=0,P3=0,D3=0,H3=0,V3=0,S6=0,s6=0,i3=0,O6=0,s3=0,A6=0,u6=0,b3=0,T6=0,r6=0,Q6=0,R6=0,J6=0,I6=0,Y6=0,F3=0,Z6=0,N6=0,j6=0,r9=0,x6=0,G6=0,D6=0,K6=0,y6=0,F6=0,L3=0,L6=0,X6=0,A9=0,W6=0,h9=0,f9=0,u9=0,o9=0,a9=0,T9=0,d6=0,M6=0,e9=0,N9=0,I9=0,E4=0,s4=0,g4=0,G9=0,z9=0,D9=0,d9=0,P6=0,t9=0,C4=0,S4=0,A4=0,Q9=0,D4=0,b4=0,R4=0,M4=0,Z4=0,m4=0,T4=0,U9=0,N4=0,o4=0,x4=0,h4=0,de=0,H9=0,E9=0,Ee=0,Te=0,We=0,G4=0,Ne=0,U4=0,W4=0,Se=0,je=0,Z9=0,se=0,f4=0,b6=0,O4=0,F9=0,a4=0,_4=0,Ae=0,W9=0,oe=0,ae=0,B4=0,j4=0,F4=0,$e=0,C9=0,c6=0,Ge=0,$4=0,Ce=0,p4=0;p4=m,V=t+n|0,o0=t+4|0,O2=e[o0>>2]|0,f6=O2&1,Y6=(f6|0)==0;do if(Y6){if(F6=e[t>>2]|0,T9=O2&3,D9=(T9|0)==0,D9)return;if(M4=0-F6|0,E9=t+M4|0,n0=F6+n|0,Q0=e[138266]|0,F0=E9>>>0>>0,F0&&Q2(),O0=e[138267]|0,f1=(E9|0)==(O0|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=E9,a=n0;break}e[138264]=n0,c0=i0&-2,e[Z9>>2]=c0,s0=n0|1,R=4-F6|0,l0=t+R|0,e[l0>>2]=s0,e[V>>2]=n0;return}if(u1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,g2=e[j1>>2]|0,W=12-F6|0,S2=t+W|0,K2=e[S2>>2]|0,O5=u1<<1,b5=553088+(O5<<2)|0,o5=(g2|0)==(b5|0),o5||(W2=g2>>>0>>0,W2&&Q2(),n3=g2+12|0,W5=e[n3>>2]|0,w5=(W5|0)==(E9|0),w5||Q2()),i6=(K2|0)==(g2|0),i6){v6=1<>>0>>0,T6&&Q2(),r6=K2+8|0,Q6=e[r6>>2]|0,R6=(Q6|0)==(E9|0),R6?C=r6:Q2()),J6=g2+12|0,e[J6>>2]=K2,e[C>>2]=g2,o=E9,a=n0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,L=12-F6|0,Z6=t+L|0,N6=e[Z6>>2]|0,j6=(N6|0)==(E9|0);do if(j6){if(M=16-F6|0,T=M+4|0,A9=t+T|0,W6=e[A9>>2]|0,h9=(W6|0)==0,h9)if(f9=t+M|0,u9=e[f9>>2]|0,o9=(u9|0)==0,o9){a4=0;break}else O4=u9,oe=f9;else O4=W6,oe=A9;for(;;){if(a9=O4+20|0,d6=e[a9>>2]|0,M6=(d6|0)==0,!M6){O4=d6,oe=a9;continue}if(e9=O4+16|0,N9=e[e9>>2]|0,I9=(N9|0)==0,I9){F9=O4,ae=oe;break}else O4=N9,oe=e9}if(E4=ae>>>0>>0,E4)Q2();else{e[ae>>2]=0,a4=F9;break}}else if(t0=8-F6|0,r9=t+t0|0,x6=e[r9>>2]|0,G6=x6>>>0>>0,G6&&Q2(),D6=x6+12|0,K6=e[D6>>2]|0,y6=(K6|0)==(E9|0),y6||Q2(),L3=N6+8|0,L6=e[L3>>2]|0,X6=(L6|0)==(E9|0),X6){e[D6>>2]=N6,e[L3>>2]=x6,a4=N6;break}else Q2();while(!1);if(s4=(F3|0)==0,s4)o=E9,a=n0;else{if(P=28-F6|0,g4=t+P|0,G9=e[g4>>2]|0,z9=553352+(G9<<2)|0,d9=e[z9>>2]|0,P6=(E9|0)==(d9|0),P6){if(e[z9>>2]=a4,c6=(a4|0)==0,c6){t9=1<>>0>>0,D4&&Q2(),b4=F3+16|0,R4=e[b4>>2]|0,Z4=(R4|0)==(E9|0),Z4?e[b4>>2]=a4:(m4=F3+20|0,e[m4>>2]=a4),T4=(a4|0)==0,T4){o=E9,a=n0;break}U9=e[138266]|0,N4=a4>>>0>>0,N4&&Q2(),o4=a4+24|0,e[o4>>2]=F3,z=16-F6|0,x4=t+z|0,h4=e[x4>>2]|0,de=(h4|0)==0;do if(!de)if(H9=h4>>>0>>0,H9)Q2();else{Ee=a4+16|0,e[Ee>>2]=h4,Te=h4+24|0,e[Te>>2]=a4;break}while(!1);if(Y=z+4|0,We=t+Y|0,G4=e[We>>2]|0,Ne=(G4|0)==0,Ne)o=E9,a=n0;else if(U4=e[138266]|0,W4=G4>>>0>>0,W4)Q2();else{Se=a4+20|0,e[Se>>2]=G4,je=G4+24|0,e[je>>2]=a4,o=E9,a=n0;break}}}else o=t,a=n;while(!1);if(j=e[138266]|0,$0=V>>>0>>0,$0&&Q2(),y=n+4|0,g0=t+y|0,f0=e[g0>>2]|0,d0=f0&2,w0=(d0|0)==0,w0){if(h0=e[138268]|0,E0=(V|0)==(h0|0),E0){if(C0=e[138265]|0,I0=C0+a|0,e[138265]=I0,e[138268]=o,v0=I0|1,K0=o+4|0,e[K0>>2]=v0,b0=e[138267]|0,m0=(o|0)==(b0|0),!m0)return;e[138267]=0,e[138264]=0;return}if(L0=e[138267]|0,T0=(V|0)==(L0|0),T0){U0=e[138264]|0,B0=U0+a|0,e[138264]=B0,e[138267]=o,q0=B0|1,x0=o+4|0,e[x0>>2]=q0,D0=o+B0|0,e[D0>>2]=B0;return}M0=f0&-8,J0=M0+a|0,Y0=f0>>>3,z0=f0>>>0<256;do if(z0){if(b=n+8|0,N0=t+b|0,P0=e[N0>>2]|0,x=n+12|0,r1=t+x|0,H0=e[r1>>2]|0,e1=Y0<<1,S0=553088+(e1<<2)|0,i1=(P0|0)==(S0|0),i1||(c1=P0>>>0>>0,c1&&Q2(),$1=P0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(V|0),l1||Q2()),s1=(H0|0)==(P0|0),s1){a1=1<>>0>>0,h1&&Q2(),E1=H0+8|0,d1=e[E1>>2]|0,B1=(d1|0)==(V|0),B1?I=E1:Q2()),p1=P0+12|0,e[p1>>2]=H0,e[I>>2]=P0}else{G=n+24|0,Q1=t+G|0,R1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,y1=e[x1>>2]|0,S1=(y1|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,O1=(W1|0)==0,O1){W9=0;break}else _4=W1,B4=r2;else _4=q1,B4=H1;for(;;){if(l2=_4+20|0,z1=e[l2>>2]|0,f2=(z1|0)==0,!f2){_4=z1,B4=l2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,A2=(E2|0)==0,A2){Ae=_4,j4=B4;break}else _4=E2,B4=s2}if(V1=j4>>>0>>0,V1)Q2();else{e[j4>>2]=0,W9=Ae;break}}else if(Q=n+8|0,F1=t+Q|0,L1=e[F1>>2]|0,w1=L1>>>0>>0,w1&&Q2(),U1=L1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(V|0),N1||Q2(),D1=y1+8|0,K1=e[D1>>2]|0,P1=(K1|0)==(V|0),P1){e[U1>>2]=y1,e[D1>>2]=L1,W9=y1;break}else Q2();while(!1);if(a2=(R1|0)==0,!a2){if(a0=n+28|0,t2=t+a0|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,Ge=(W9|0)==0,Ge){n2=1<<$2,u2=n2^-1,e2=e[138263]|0,y2=e2&u2,e[138263]=y2;break}}else if(w2=e[138266]|0,m2=R1>>>0>>0,m2&&Q2(),M2=R1+16|0,_2=e[M2>>2]|0,N2=(_2|0)==(V|0),N2?e[M2>>2]=W9:(I2=R1+20|0,e[I2>>2]=W9),J2=(W9|0)==0,J2)break;G2=e[138266]|0,q2=W9>>>0>>0,q2&&Q2(),T2=W9+24|0,e[T2>>2]=R1,Z=n+16|0,s5=t+Z|0,P2=e[s5>>2]|0,T1=(P2|0)==0;do if(!T1)if(j2=P2>>>0>>0,j2)Q2();else{x5=W9+16|0,e[x5>>2]=P2,X2=P2+24|0,e[X2>>2]=W9;break}while(!1);if(D=n+20|0,D5=t+D|0,V2=e[D5>>2]|0,f5=(V2|0)==0,!f5)if(k5=e[138266]|0,$5=V2>>>0>>0,$5)Q2();else{v2=W9+20|0,e[v2>>2]=V2,E5=V2+24|0,e[E5>>2]=W9;break}}}while(!1);if(r5=J0|1,x2=o+4|0,e[x2>>2]=r5,R2=o+J0|0,e[R2>>2]=J0,B2=e[138267]|0,C5=(o|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else F5=f0&-2,e[g0>>2]=F5,u5=a|1,G5=o+4|0,e[G5>>2]=u5,_5=o+a|0,e[_5>>2]=a,c=a;if(H2=c>>>3,I5=c>>>0<256,I5){A5=H2<<1,l5=553088+(A5<<2)|0,m5=e[138262]|0,M1=1<>2]|0,e5=e[138266]|0,n5=B5>>>0>>0,n5?Q2():(p=c2,se=B5)),e[p>>2]=o,g5=se+12|0,e[g5>>2]=o,Y2=o+8|0,e[Y2>>2]=se,h5=o+12|0,e[h5>>2]=l5;return}if(t5=c>>>8,R5=(t5|0)==0,R5?f4=0:(a5=c>>>0>16777215,a5?f4=31:(F2=t5+1048320|0,p5=F2>>>16,H5=p5&8,X5=t5<>>16,h3=u3&4,J5=h3|H5,e3=X5<>>16,K5=L5&2,w3=J5|K5,f3=14-w3|0,B3=e3<>>15,T3=f3+K3|0,z5=T3<<1,y3=T3+7|0,t6=c>>>y3,R3=t6&1,N3=R3|z5,f4=N3)),o3=553352+(f4<<2)|0,$3=o+28|0,e[$3>>2]=f4,l3=o+16|0,m3=o+20|0,e[m3>>2]=0,e[l3>>2]=0,q5=e[138263]|0,U5=1<>2]=o,n6=o+24|0,e[n6>>2]=o3,t3=o+12|0,e[t3>>2]=o,A3=o+8|0,e[A3>>2]=o;return}x3=e[o3>>2]|0,h6=x3+4|0,p3=e[h6>>2]|0,k3=p3&-8,Q3=(k3|0)==(c|0);e:do if(Q3)F4=x3;else{for(W3=(f4|0)==31,U3=f4>>>1,V5=25-U3|0,v3=W3?0:V5,c3=c<>>31,l6=($e+16|0)+(j3<<2)|0,I3=e[l6>>2]|0,p6=(I3|0)==0,p6){f=l6,C9=$e;break}if(O3=b6<<1,$6=I3+4|0,w6=e[$6>>2]|0,k6=w6&-8,B6=(k6|0)==(c|0),B6){F4=I3;break e}else b6=O3,$e=I3}_6=e[138266]|0,q6=f>>>0<_6>>>0,q6&&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=F4+8|0,D3=e[e6>>2]|0,H3=e[138266]|0,V3=D3>>>0>=H3>>>0,$4=F4>>>0>=H3>>>0,S6=V3&$4,S6||Q2(),s6=D3+12|0,e[s6>>2]=o,e[e6>>2]=o,i3=o+8|0,e[i3>>2]=D3,O6=o+12|0,e[O6>>2]=F4,s3=o+24|0,e[s3>>2]=0}function eD(){e[6410]=P9}function ne(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);)u[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);)u[t>>0]=n,t=t+1|0;return t-o|0}function z$(t){t=t|0;var n=0;for(n=t;u[n>>0]|0;)n=n+1|0;return n-t|0}function EQ(t,n){t=t|0,n=n|0;var o=0,a=0;a=t+(z$(t)|0)|0;do u[a+o>>0]=u[n+o>>0],o=o+1|0;while(u[n+(o-1)>>0]|0);return t|0}function CQ(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,H6=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):(H6=0,n>>>o-32|0)}function n4(t,n,o){t=t|0,n=n|0,o=o|0;var a=0;if((o|0)>=4096)return lv(t|0,n|0,o|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(o|0))return a|0;u[t>>0]=u[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;)u[t>>0]=u[n>>0]|0,t=t+1|0,n=n+1|0,o=o-1|0;return a|0}function Zo(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,u[t>>0]=u[n>>0]|0;t=a}else n4(t,n,o)|0;return t|0}function aB(t,n){t=t|0,n=n|0;var o=0;do u[(t+o|0)>>0]=u[(n+o|0)>>0],o=o+1|0;while(u[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,H6=f,c|0|0}function Qb(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):(H6=(n|0)<0?-1:0,n>>o-32|0)}function mQ(t){t=t|0;var n=0;return n=u[R9+(t&255)>>0]|0,(n|0)<8?n|0:(n=u[R9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=u[R9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(u[R9+(t>>>24)>>0]|0)+24|0))}function tD(t,n){t=t|0,n=n|0;var o=0,a=0,c=0,f=0,E=0,I=0,C=0;return o=t&65535,a=n&65535,c=i5(a,o)|0,f=t>>>16,E=(c>>>16)+(i5(a,f)|0)|0,I=n>>>16,C=i5(I,o)|0,H6=((E>>>16)+(i5(I,f)|0)|0)+(((E&65535)+C|0)>>>16)|0,0|(E+C<<16|c&65535)|0}function yb(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,C=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,C=Zs(c^t,f^n,c,f)|0,p=H6,B=Zs(E^o,I^a,E,I)|0,v=E^c,S=I^f,w=ZC(C,p,B,H6,0)|0,y=Zs(w^v,H6^S,v,S)|0,y|0}function wb(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=m,m=m+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,C=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Zs(f^t,E^n,f,E)|0,B=H6,v=Zs(I^o,C^a,I,C)|0,ZC(p,B,v,H6,c)|0,S=Zs(e[c>>2]^f,e[c+4>>2]^E,f,E)|0,w=H6,m=y,H6=w,S|0}function iD(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,C=0;return c=t,f=o,E=tD(c,f)|0,I=H6,C=i5(n,f)|0,H6=((i5(a,c)|0)+C|0)+I|I&0,0|E&-1|0}function kb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0;return c=ZC(t,n,o,a,0)|0,c|0}function vb(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0;var c=0,f=0;return f=m,m=m+8|0,c=f|0,ZC(t,n,o,a,c)|0,m=f,H6=e[c+4>>2]|0,e[c>>2]|0|0}function ZC(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,C=0,p=0,B=0,v=0,S=0,w=0,y=0,D=0,Q=0,b=0,x=0,R=0,F=0,L=0,M=0,T=0,G=0,P=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,H=0,X=0,U=0,a0=0,Z=0,V=0,o0=0,n0=0,i0=0,r0=0,K=0,c0=0,s0=0,l0=0,j=0,$0=0,g0=0,f0=0,Q0=0,d0=0,w0=0,h0=0,E0=0,C0=0,I0=0,v0=0,K0=0,b0=0,m0=0,F0=0,L0=0,T0=0,U0=0,B0=0,q0=0,x0=0,D0=0;if(f=t,E=n,I=E,C=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,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0):(v&&(e[c>>2]=(f>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(f>>>0)/(C>>>0)>>>0,H6=D0,x0|0);S=(B|0)==0;do if(C|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,a0=f>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}if(x=C-1|0,x&C|0){F=(Ks(C|0)|0)+33|0,L=F-(Ks(I|0)|0)|0,M=64-L|0,T=32-L|0,G=T>>31,P=L-32|0,z=P>>31,Z=L,a0=T-1>>31&I>>>(P>>>0)|(I<>>(L>>>0))&z,U=z&I>>>(L>>>0),X=f<>>(P>>>0))&G|f<>31;break}return c|0&&(e[c>>2]=x&f,e[c+4>>2]=0),(C|0)==1?(D0=E|n&0,x0=0|t&-1,H6=D0,x0|0):(R=mQ(C|0)|0,D0=0|I>>>(R>>>0),x0=I<<32-R|f>>>(R>>>0)|0,H6=D0,x0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(C>>>0),e[c+4>>2]=0),D0=0,x0=(I>>>0)/(C>>>0)>>>0,H6=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,H6=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|n&0),D0=0,x0=I>>>((mQ(B|0)|0)>>>0),H6=D0,x0|0;if(y=Ks(B|0)|0,D=y-(Ks(I|0)|0)|0,D>>>0<=30){Q=D+1|0,b=31-D|0,Z=Q,a0=I<>>(Q>>>0),U=I>>>(Q>>>0),X=0,H=f<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,x0=0,H6=D0,x0|0):(D0=0,x0=0,H6=D0,x0|0)}while(!1);if(!(Z|0))T0=H,L0=X,F0=U,m0=a0,b0=0,K0=0;else{for(V=0|o&-1,o0=p|a&0,n0=Vs(V|0,o0|0,-1,-1)|0,i0=H6,j=H,l0=X,s0=U,c0=a0,K=Z,r0=0;$0=l0>>>31|j<<1,g0=r0|l0<<1,f0=0|(c0<<1|j>>>31),Q0=c0>>>31|s0<<1|0,Zs(n0,i0,f0,Q0)|0,d0=H6,w0=d0>>31|((d0|0)<0?-1:0)<<1,h0=w0&1,E0=Zs(f0,Q0,w0&V,(((d0|0)<0?-1:0)>>31|((d0|0)<0?-1:0)<<1)&o0)|0,C0=E0,I0=H6,v0=K-1|0,v0|0;)j=$0,l0=g0,s0=I0,c0=C0,K=v0,r0=h0;T0=$0,L0=g0,F0=I0,m0=C0,b0=0,K0=h0}return U0=L0,B0=0,q0=T0|B0,c|0&&(e[c>>2]=0|m0,e[c+4>>2]=F0|0),D0=(0|U0)>>>31|q0<<1|(B0<<1|U0>>>31)&0|b0,x0=(U0<<1|0)&-2|K0,H6=D0,x0|0}function rD(t,n,o,a,c){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,cB[t&3](n|0,o|0,a|0,c|0)|0}function nD(t,n){t=t|0,n=n|0,Ws[t&7](n|0)}function sD(t,n,o){t=t|0,n=n|0,o=o|0,gB[t&3](n|0,o|0)}function AD(t,n){return t=t|0,n=n|0,QQ[t&1](n|0)|0}function oD(t,n,o,a){t=t|0,n=n|0,o=o|0,a=a|0,yQ[t&1](n|0,o|0,a|0)}function aD(t,n,o,a,c,f,E,I,C){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,C=C|0,wQ[t&3](n|0,o|0,a|0,c|0,f|0,E|0,I|0,C|0)|0}function $D(t,n,o){return t=t|0,n=n|0,o=o|0,ft[t&15](n|0,o|0)|0}function lD(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,hB[t&7](n|0,o|0,a|0,c|0,f|0)|0}function cD(t,n,o,a){return t=t|0,n=n|0,o=o|0,a=a|0,Yr(0),0}function $B(t){t=t|0,Yr(1)}function BQ(t,n){t=t|0,n=n|0,Yr(2)}function gD(t){return t=t|0,Yr(3),0}function hD(t,n,o){t=t|0,n=n|0,o=o|0,Yr(4)}function pQ(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,Yr(5),0}function Z$(t,n){return t=t|0,n=n|0,Yr(6),0}function lB(t,n,o,a,c){return t=t|0,n=n|0,o=o|0,a=a|0,c=c|0,Yr(7),0}var cB=[cD,jv,Mv,Tv],Ws=[$B,zv,Zv,aS,BS,pS,$B,$B],gB=[BQ,Jv,QS,BQ],QQ=[gD,$S],yQ=[hD,AS],wQ=[pQ,vS,_S,pQ],ft=[Z$,Kv,Vv,Wv,oS,lS,yS,wS,Xv,mS,TS,Z$,Z$,Z$,Z$,Z$],hB=[lB,kS,SS,DS,bS,RS,lB,lB];return{_memmove:Zo,_strlen:z$,_strcat:EQ,_free:d2,_i64Add:Vs,_encoder_clear:YS,_encoder_transfer_data:zS,_encoder_data_len:VS,_memset:ne,_malloc:S9,_memcpy:n4,_encoder_init:qS,_encoder_process:KS,_bitshift64Lshr:zs,_bitshift64Shl:CQ,_strcpy:aB,_encoder_analysis_buffer:JS,runPostSets:eD,stackAlloc:hv,stackSave:fv,stackRestore:uv,establishStackSpace:Iv,setThrew:dv,setTempRet0:Ev,getTempRet0:Cv,dynCall_iiiii:rD,dynCall_vi:nD,dynCall_vii:sD,dynCall_ii:AD,dynCall_viii:oD,dynCall_iiiiiiiii:aD,dynCall_iii:$D,dynCall_iiiiii:lD}}(A.asmGlobalArg,A.asmLibraryArg,Ri),jD=A.runPostSets=K9.runPostSets,Vk=A._strlen=K9._strlen,zk=A._strcat=K9._strcat,Zm=A._free=K9._free,XD=A._encoder_init=K9._encoder_init,Zk=A._i64Add=K9._i64Add,Wk=A._memmove=K9._memmove,eb=A._encoder_transfer_data=K9._encoder_transfer_data,tb=A._encoder_process=K9._encoder_process,ib=A._encoder_data_len=K9._encoder_data_len,jk=A._memset=K9._memset,vh=A._malloc=K9._malloc,Xk=A._memcpy=K9._memcpy,rb=A._encoder_clear=K9._encoder_clear,ev=A._bitshift64Lshr=K9._bitshift64Lshr,nb=A._encoder_analysis_buffer=K9._encoder_analysis_buffer,tv=A._strcpy=K9._strcpy,iv=A._bitshift64Shl=K9._bitshift64Shl,sb=A.dynCall_iiiii=K9.dynCall_iiiii,Ab=A.dynCall_vi=K9.dynCall_vi,ob=A.dynCall_vii=K9.dynCall_vii,ab=A.dynCall_ii=K9.dynCall_ii,$b=A.dynCall_viii=K9.dynCall_viii,lb=A.dynCall_iiiiiiiii=K9.dynCall_iiiiiiiii,cb=A.dynCall_iii=K9.dynCall_iii,gb=A.dynCall_iiiiii=K9.dynCall_iiiiii;N.stackAlloc=K9.stackAlloc,N.stackSave=K9.stackSave,N.stackRestore=K9.stackRestore,N.establishStackSpace=K9.establishStackSpace,N.setTempRet0=K9.setTempRet0,N.getTempRet0=K9.getTempRet0;var hb=function(){var i={math:{}};i.math.Long=function(q,k0){this.low_=q|0,this.high_=k0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(q){if(-128<=q&&q<128){var k0=i.math.Long.IntCache_[q];if(k0)return k0}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,k0){return new i.math.Long(q,k0)},i.math.Long.fromString=function(q,k0){if(q.length==0)throw Error("number format error: empty string");var j0=k0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+q);for(var C2=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_,k0=31;k0>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 k0=this.isNegative(),j0=q.isNegative();return k0&&!j0?-1:!k0&&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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,Z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,V4=0,et=0,Vi=0;return Vi+=Z5+M9,et+=Vi>>>16,Vi&=65535,et+=C2+V6,V4+=et>>>16,et&=65535,V4+=j0+_3,x9+=V4>>>16,V4&=65535,x9+=k0+N5,x9&=65535,i.math.Long.fromBits(et<<16|Vi,x9<<16|V4)},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 k0=this.high_>>>16,j0=this.high_&65535,C2=this.low_>>>16,Z5=this.low_&65535,N5=q.high_>>>16,_3=q.high_&65535,V6=q.low_>>>16,M9=q.low_&65535,x9=0,V4=0,et=0,Vi=0;return Vi+=Z5*M9,et+=Vi>>>16,Vi&=65535,et+=C2*M9,V4+=et>>>16,et&=65535,et+=Z5*V6,V4+=et>>>16,et&=65535,V4+=j0*M9,x9+=V4>>>16,V4&=65535,V4+=C2*V6,x9+=V4>>>16,V4&=65535,V4+=Z5*_3,x9+=V4>>>16,V4&=65535,x9+=k0*M9+j0*V6+C2*_3+Z5*N5,x9&=65535,i.math.Long.fromBits(et<<16|Vi,x9<<16|V4)},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 k0=this.shiftRight(1),j0=k0.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)),C2=j0.add(N5.div(q));return C2}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),V6=_3<=48?1:Math.pow(2,_3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(q);x9.isNegative()||x9.greaterThan(N5);)j0-=V6,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 k0=this.low_;if(q<32){var j0=this.high_;return i.math.Long.fromBits(k0<>>32-q)}else return i.math.Long.fromBits(0,k0<>>q|k0<<32-q,k0>>q)}else return i.math.Long.fromBits(k0>>q-32,k0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(q){if(q&=63,q==0)return this;var k0=this.high_;if(q<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>q|k0<<32-q,k0>>>q)}else return q==32?i.math.Long.fromBits(k0,0):i.math.Long.fromBits(k0>>>q-32,0)};var $={appName:"Modern Browser"},h,u=0xdeadbeefcafe,O=(u&16777215)==15715070;function e(q,k0,j0){q!=null&&(typeof q=="number"?this.fromNumber(q,k0,j0):k0==null&&typeof q!="string"?this.fromString(q,256):this.fromString(q,k0))}function W0(){return new e(null)}function t1(q,k0,j0,C2,Z5,N5){for(;--N5>=0;){var _3=k0*this[q++]+j0[C2]+Z5;Z5=Math.floor(_3/67108864),j0[C2++]=_3&67108863}return Z5}function b2(q,k0,j0,C2,Z5,N5){for(var _3=k0&32767,V6=k0>>15;--N5>=0;){var M9=this[q]&32767,x9=this[q++]>>15,V4=V6*M9+x9*_3;M9=_3*M9+((V4&32767)<<15)+j0[C2]+(Z5&1073741823),Z5=(M9>>>30)+(V4>>>15)+V6*x9+(Z5>>>30),j0[C2++]=M9&1073741823}return Z5}function s(q,k0,j0,C2,Z5,N5){for(var _3=k0&16383,V6=k0>>14;--N5>=0;){var M9=this[q]&16383,x9=this[q++]>>14,V4=V6*M9+x9*_3;M9=_3*M9+((V4&16383)<<14)+j0[C2]+Z5,Z5=(M9>>28)+(V4>>14)+V6*x9,j0[C2++]=M9&268435455}return Z5}O&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):O&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--k0)q[k0]=this[k0];q.t=this.t,q.s=this.s}function y8(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 k0=W0();return k0.fromInt(q),k0}function c8(q,k0){var j0;if(k0==16)j0=4;else if(k0==8)j0=3;else if(k0==256)j0=8;else if(k0==2)j0=1;else if(k0==32)j0=5;else if(k0==4)j0=2;else{this.fromRadix(q,k0);return}this.t=0,this.s=0;for(var C2=q.length,Z5=!1,N5=0;--C2>=0;){var _3=j0==8?q[C2]&255:P9(q,C2);if(_3<0){q.charAt(C2)=="-"&&(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 Mi(q){if(this.s<0)return"-"+this.negate().toString(q);var k0;if(q==16)k0=4;else if(q==8)k0=3;else if(q==2)k0=1;else if(q==32)k0=5;else if(q==4)k0=2;else return this.toRadix(q);var j0=(1<0)for(V6>V6)>0&&(Z5=!0,N5=R9(C2));_3>=0;)V6>(V6+=this.DB-k0)):(C2=this[_3]>>(V6-=k0)&j0,V6<=0&&(V6+=this.DB,--_3)),C2>0&&(Z5=!0),Z5&&(N5+=R9(C2));return Z5?N5:"0"}function Ti(){var q=W0();return e.ZERO.subTo(this,q),q}function fr(){return this.s<0?this.negate():this}function J$(q){var k0=this.s-q.s;if(k0!=0)return k0;var j0=this.t;if(k0=j0-q.t,k0!=0)return this.s<0?-k0:k0;for(;--j0>=0;)if((k0=this[j0]-q[j0])!=0)return k0;return 0}function PC(q){var k0=1,j0;return(j0=q>>>16)!=0&&(q=j0,k0+=16),(j0=q>>8)!=0&&(q=j0,k0+=8),(j0=q>>4)!=0&&(q=j0,k0+=4),(j0=q>>2)!=0&&(q=j0,k0+=2),(j0=q>>1)!=0&&(q=j0,k0+=1),k0}function Cp(){return this.t<=0?0:this.DB*(this.t-1)+PC(this[this.t-1]^this.s&this.DM)}function mp(q,k0){var j0;for(j0=this.t-1;j0>=0;--j0)k0[j0+q]=this[j0];for(j0=q-1;j0>=0;--j0)k0[j0]=0;k0.t=this.t+q,k0.s=this.s}function Bp(q,k0){for(var j0=q;j0=0;--V6)k0[V6+N5+1]=this[V6]>>C2|_3,_3=(this[V6]&Z5)<=0;--V6)k0[V6]=0;k0[N5]=_3,k0.t=this.t+N5+1,k0.s=this.s,k0.clamp()}function Qp(q,k0){k0.s=this.s;var j0=Math.floor(q/this.DB);if(j0>=this.t){k0.t=0;return}var C2=q%this.DB,Z5=this.DB-C2,N5=(1<>C2;for(var _3=j0+1;_3>C2;C2>0&&(k0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(q.t>=this.DB;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2-=q.s}k0.s=C2<0?-1:0,C2<-1?k0[j0++]=this.DV+C2:C2>0&&(k0[j0++]=C2),k0.t=j0,k0.clamp()}function yp(q,k0){var j0=this.abs(),C2=q.abs(),Z5=j0.t;for(k0.t=Z5+C2.t;--Z5>=0;)k0[Z5]=0;for(Z5=0;Z5=0;)q[j0]=0;for(j0=0;j0=k0.DV&&(q[j0+k0.t]-=k0.DV,q[j0+k0.t+1]=1)}q.t>0&&(q[q.t-1]+=k0.am(j0,k0[j0],q,2*j0,0,1)),q.s=0,q.clamp()}function kp(q,k0,j0){var C2=q.abs();if(!(C2.t<=0)){var Z5=this.abs();if(Z5.t0?(C2.lShiftTo(M9,N5),Z5.lShiftTo(M9,j0)):(C2.copyTo(N5),Z5.copyTo(j0));var x9=N5.t,V4=N5[x9-1];if(V4!=0){var et=V4*(1<1?N5[x9-2]>>this.F2:0),Vi=this.FV/et,Np=(1<=0&&(j0[j0.t++]=1,j0.subTo(Tt,j0)),e.ONE.dlShiftTo(x9,Tt),Tt.subTo(N5,N5);N5.t=0;){var HC=j0[--zo]==V4?this.DM:Math.floor(j0[zo]*Vi+(j0[zo-1]+Gp)*Np);if((j0[zo]+=N5.am(0,HC,j0,Dh,0,x9))0&&j0.rShiftTo(M9,j0),_3<0&&e.ZERO.subTo(j0,j0)}}}function vp(q){var k0=W0();return this.abs().divRemTo(q,null,k0),this.s<0&&k0.compareTo(e.ZERO)>0&&q.subTo(k0,k0),k0}function Jo(q){this.m=q}function Sp(q){return q.s<0||q.compareTo(this.m)>=0?q.mod(this.m):q}function Dp(q){return q}function bp(q){q.divRemTo(this.m,null,q)}function _p(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}function Ko(q,k0){q.squareTo(k0),this.reduce(k0)}Jo.prototype.convert=Sp,Jo.prototype.revert=Dp,Jo.prototype.reduce=bp,Jo.prototype.mulTo=_p,Jo.prototype.sqrTo=Ko;function Ki(){if(this.t<1)return 0;var q=this[0];if(!(q&1))return 0;var k0=q&3;return k0=k0*(2-(q&15)*k0)&15,k0=k0*(2-(q&255)*k0)&255,k0=k0*(2-((q&65535)*k0&65535))&65535,k0=k0*(2-q*k0%this.DV)%this.DV,k0>0?this.DV-k0:-k0}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(k0,k0),k0}function Vo(q){var k0=W0();return q.copyTo(k0),this.reduce(k0),k0}function Tn(q){for(;q.t<=this.mt2;)q[q.t++]=0;for(var k0=0;k0>15)*this.mpl&this.um)<<15)&q.DM;for(j0=k0+this.m.t,q[j0]+=this.m.am(0,C2,q,k0,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 Rp(q,k0){q.squareTo(k0),this.reduce(k0)}function xp(q,k0,j0){q.multiplyTo(k0,j0),this.reduce(j0)}Mn.prototype.convert=Sh,Mn.prototype.revert=Vo,Mn.prototype.reduce=Tn,Mn.prototype.mulTo=xp,Mn.prototype.sqrTo=Rp;function Fp(){return(this.t>0?this[0]&1:this.s)==0}function Js(q,k0){if(q>4294967295||q<1)return e.ONE;var j0=W0(),C2=W0(),Z5=k0.convert(this),N5=PC(q)-1;for(Z5.copyTo(j0);--N5>=0;)if(k0.sqrTo(j0,C2),(q&1<0)k0.mulTo(C2,Z5,j0);else{var _3=j0;j0=C2,C2=_3}return k0.revert(j0)}function Lp(q,k0){var j0;return q<256||k0.isEven()?j0=new Jo(k0):j0=new Mn(k0),this.exp(q,j0)}e.prototype.copyTo=d4,e.prototype.fromInt=y8,e.prototype.fromString=c8,e.prototype.clamp=K4,e.prototype.dlShiftTo=mp,e.prototype.drShiftTo=Bp,e.prototype.lShiftTo=pp,e.prototype.rShiftTo=Qp,e.prototype.subTo=H6,e.prototype.multiplyTo=yp,e.prototype.squareTo=wp,e.prototype.divRemTo=kp,e.prototype.invDigit=Ki,e.prototype.isEven=Fp,e.prototype.exp=Js,e.prototype.toString=Mi,e.prototype.negate=Ti,e.prototype.abs=fr,e.prototype.compareTo=J$,e.prototype.bitLength=Cp,e.prototype.mod=vp,e.prototype.modPowInt=Lp,e.ZERO=V9(0),e.ONE=V9(1);function Nn(q,k0){this.fromInt(0),k0==null&&(k0=10);for(var j0=this.chunkSize(k0),C2=Math.pow(k0,j0),Z5=!1,N5=0,_3=0,V6=0;V6=j0&&(this.dMultiply(C2),this.dAddOffset(_3,0),N5=0,_3=0)}N5>0&&(this.dMultiply(Math.pow(k0,N5)),this.dAddOffset(_3,0)),Z5&&e.ZERO.subTo(this,this)}function qr(q){return Math.floor(Math.LN2*this.DB/Math.log(q))}function jm(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function i5(q){this[this.t]=this.am(0,q-1,this,0,0,this.t),++this.t,this.clamp()}function Mp(q,k0){if(q!=0){for(;this.t<=k0;)this[this.t++]=0;for(this[k0]+=q;this[k0]>=this.DV;)this[k0]-=this.DV,++k0>=this.t&&(this[this.t++]=0),++this[k0]}}function Ks(q){if(q==null&&(q=10),this.signum()==0||q<2||q>36)return"0";var k0=this.chunkSize(q),j0=Math.pow(q,k0),C2=V9(j0),Z5=W0(),N5=W0(),_3="";for(this.divRemTo(C2,Z5,N5);Z5.signum()>0;)_3=(j0+N5.intValue()).toString(q).substr(1)+_3,Z5.divRemTo(C2,Z5,N5);return N5.intValue().toString(q)+_3}function Yr(){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;C2+=this.s}else{for(C2+=this.s;j0>=this.DB;C2+=q.s}k0.s=C2<0?-1:0,C2>0?k0[j0++]=C2:C2<-1&&(k0[j0++]=this.DV+C2),k0.t=j0,k0.clamp()}e.prototype.fromRadix=Nn,e.prototype.chunkSize=qr,e.prototype.signum=jm,e.prototype.dMultiply=i5,e.prototype.dAddOffset=Mp,e.prototype.toRadix=Ks,e.prototype.intValue=Yr,e.prototype.addTo=Tp;var ri={abs:function(q,k0){var j0=new i.math.Long(q,k0),C2;j0.isNegative()?C2=j0.negate():C2=j0,_9[Q8>>2]=C2.low_,_9[Q8+4>>2]=C2.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,k0){var j0=new e;j0.fromString(k0.toString(),10);var C2=new e;j0.multiplyTo(ri.two32,C2);var Z5=new e;Z5.fromString(q.toString(),10);var N5=new e;return Z5.addTo(C2,N5),N5},stringify:function(q,k0,j0){var C2=new i.math.Long(q,k0).toString();if(j0&&C2[0]=="-"){ri.ensureTemps();var Z5=new e;Z5.fromString(C2,10),C2=new e,ri.two64.addTo(Z5,C2),C2=C2.toString(10)}return C2},fromString:function(q,k0,j0,C2,Z5){ri.ensureTemps();var N5=new e;N5.fromString(q,k0);var _3=new e;_3.fromString(j0,10);var V6=new e;if(V6.fromString(C2,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(V6)>0&&(N5=V6,x9=!0);var V4=i.math.Long.fromString(N5.toString());if(_9[Q8>>2]=V4.low_,_9[Q8+4>>2]=V4.high_,x9)throw"range error"}};return ri}();function Yo(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}Yo.prototype=new Error,Yo.prototype.constructor=Yo;var up,OC=null,rv=!1;Fi=function i(){A.calledRun||Wm(),A.calledRun||(Fi=i)},A.callMain=A.callMain=function($){J4(C7==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),J4(LC.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Os();var h=$.length+1;function u(){for(var t1=0;t1<3;t1++)O.push(0)}var O=[E3(Hr(A.thisProgram),"i8",Po)];u();for(var e=0;e0||(wh(),C7>0)||A.calledRun)return;function $(){A.calledRun||(A.calledRun=!0,!G0&&(Os(),Ap(),g&&OC!==null&&A.printErr("pre-main prep time: "+(Date.now()-OC)+" ms"),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A._main&&Ep&&A.callMain(i),G$()))}A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),$()},1)):$()}A.run=A.run=Wm;function Ip(i,$){if(!($&&A.noExitRuntime))throw A.noExitRuntime||(G0=!0,v1=i,Ci=up,MC(),A.onExit&&A.onExit(i)),d?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):u0&&typeof quit=="function"&&quit(i),new Yo(i)}A.exit=A.exit=Ip;var dp=[];function Ys(i){i!==void 0?(A.print(i),A.printErr(i),i=JSON.stringify(i)):i="",G0=!0,v1=1;var $=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+RC()+$;throw dp&&dp.forEach(function(u){h=u(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 Ep=!0;A.noInitialRun&&(Ep=!1),Wm();var nv=A._encoder_init,sv=A._encoder_clear,Av=A._encoder_analysis_buffer,ov=A._encoder_process,av=A._encoder_data_len,$v=A._encoder_transfer_data,mi=A.HEAPU8,H$=A.HEAPU32,q$=A.HEAPF32,Y$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=nv(this.numChannels,i,h)};Y$.prototype.encode=function(i){for(var $=i[0].length,h=Av(this.encoder,$)>>2,u=0;u>2);this.process($)},Y$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},Y$.prototype.cancel=Y$.prototype.cleanup=function(){sv(this.encoder),delete this.encoder,delete this.oggBuffers},Y$.prototype.process=function(i){ov(this.encoder,i);var $=av(this.encoder);if($>0){var h=$v(this.encoder);this.oggBuffers.push(new Uint8Array(mi.subarray(h,h+$)))}},Om.OggVorbisEncoder=Y$}};typeof window<"u"&&window===self&&Om.init();function ck(A,r,l,g){let d=new Om.OggVorbisEncoder(l,r,g);d.encode(A);let _=d.finish(),u0=_.reduce((p0,m1)=>p0+m1.length,0),_0=new Uint8Array(u0),y0=0;for(let p0 of _)_0.set(p0,y0),y0+=p0.length;return _0}document.body.classList.add("load");var gk=!1,Tr=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=ck;let d;this.ready=new Promise(_=>d=_),this.initializeContext(r,l).then(()=>{d()})}saveBlob(r,l){let g=URL.createObjectURL(r),d=document.createElement("a");d.href=g,d.download=l,d.click(),j5(d)}sfError;async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let N of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(N,"innerText",N.getAttribute("translate-path"));for(let N of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(N,"innerText",N.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(N,"title",N.getAttribute("translate-path-title")+".description");let d=gk?"synthetizer/worklet_system/worklet_processor.js":Lm;gk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),r.audioWorklet&&await r.audioWorklet.addModule(new URL("../../spessasynth_lib/"+d,import.meta.url)),this.soundFont=l;let _=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),_0=await(await fetch(_)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(_0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new oh(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",N=>{this.sfError&&this.sfError(N)}),await this.synth.isReady,this.midHandler=new km,this.wml=new vm(this.synth),this.keyboard=new BC(this.channelColors,this.synth);let y0=document.getElementById("note_canvas");y0.width=window.innerWidth*window.devicePixelRatio,y0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new Si(this.channelColors,this.synth,y0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let p0=!1,m1=()=>{if(y0.width=window.innerWidth*window.devicePixelRatio,y0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),_o){if(window.innerWidth/window.innerHeight>1){if(!p0){let N=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");p0=!0,N.parentElement.insertBefore(V0,N)}}else if(p0){let N=document.getElementById("title_wrapper"),V0=document.getElementById("settings_div");p0=!1,N.parentElement.insertBefore(N,V0)}}this.renderer.render(!1,!0)};m1(),window.addEventListener("resize",m1.bind(this)),window.addEventListener("orientationchange",m1.bind(this)),_o&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Mr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new xm(document.getElementById("player_info"),this.localeManager),this.seqUI=new xs(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Ei(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),document.addEventListener("keydown",N=>{switch(N.key.toLowerCase()){case X7.cinematicMode:this.seq&&this.seq.pause();let V0=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),V0===null)return;y0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${V0}")`,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! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(N0===null)return;let v1=document.createElement("video");v1.src=N0,v1.classList.add("secret_video"),y0.parentElement.appendChild(v1),v1.play(),window.video=v1,this.seq&&(v1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),v1.play(),this.seq.currentTime=0),document.addEventListener("keydown",h2=>{h2.key===" "&&(v1.paused?v1.play():v1.pause())});break}}),this.renderer.render(!1,!0),setTimeout(()=>{this.doDLSCheck()},1e3)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);ue(new Y3(r),4).toLowerCase()==="dls "&&O7(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=>{gt(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{gt(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){this.synth&&(this.seq=new mm(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=dh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Tr.prototype.exportSong=$k;Tr.prototype._exportAudioData=Fw;Tr.prototype._doExportAudioData=xw;Tr.prototype.exportMidi=Lw;Tr.prototype._exportSoundfont=ak;Tr.prototype._exportRMIDI=lk;var JD=44100,Gr=document.getElementById("title"),hk=document.getElementById("progress_bar"),k$=document.getElementById("midi_file_input");k$.value="";k$.focus();var KB=document.getElementById("export_button");KB.style.display="none";var zB=!1;window.loadedSoundfonts=[];async function KD(A,r){let l=await fetch(`${A}`);if(!l.ok)throw Gr.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),d=await(await l.body).getReader(),R=!1,u0;try{u0=new Uint8Array(parseInt(g))}catch(y0){let p0="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(p0=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),O7("Warning",[{type:"text",textContent:p0}]),y0}let _0=0;do{let y0=await d.read();y0.value&&(u0.set(y0.value,_0),_0+=y0.value.length),R=y0.done;let p0=Math.round(_0/g*100);r(p0)}while(!R);return u0.buffer}async function VB(A){if(!zB){setTimeout(()=>VB(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});Gr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(l):manager.play(l),KB.style.display="flex",KB.onclick=window.manager.exportSong.bind(window.manager)}async function fk(A){async function r(){if(!window.audioContextMain){Gr.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 Tr(audioContextMain,soundFontParser,uk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Gr.innerText="Initializing...",await manager.ready),zB=!0}if(window.loadedSoundfonts.find(g=>g.name===A)){window.soundFontParser=window.loadedSoundfonts.find(g=>g.name===A).sf,await r();return}Gr.innerText="Downloading soundfont...";let l=await KD(A,g=>hk.style.width=`${g/100*Gr.offsetWidth}px`);Gr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=l,hk.style.width="0",window.loadedSoundfonts.push({name:A,sf:window.soundFontParser}),r()}),Gr.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:JD}),window.soundFontParser&&(window.manager=new Tr(audioContextMain,soundFontParser,uk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Gr.innerText="Initializing...",await manager.ready,zB=!0)}document.body.onclick=null};var JB=[],uk=new xm(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async A=>{if(!A.ok)throw Gr.innerText="Error fetching soundfonts!",A.statusText;let r=document.getElementById("sf_selector");JB=JSON.parse(await A.text());for(let l of JB){let g=document.createElement("option");g.value=l.name;let d=l.name;d.length>29&&(d=d.substring(0,30)+"..."),g.innerText=d,r.appendChild(g)}r.onchange=()=>{fetch(`/setlastsf2?sfname=${encodeURIComponent(r.value)}`),window.manager.seq&&window.manager.seq.pause(),fk(r.value),window.manager.seq&&(Gr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await fk(JB[0].name),k$.files[0]&&await VB(k$.files),k$.onchange=async()=>{k$.files[0]&&await VB(k$.files)}});function VD(A){fetch("/savesettings",{method:"POST",body:JSON.stringify(A),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=VD;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(G0===null)return;let v1=document.createElement("video");v1.src=G0,v1.classList.add("secret_video"),y0.parentElement.appendChild(v1),v1.play(),window.video=v1,this.seq&&(v1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),v1.play(),this.seq.currentTime=0),document.addEventListener("keydown",h2=>{h2.key===" "&&(v1.paused?v1.play():v1.pause())});break}}),this.renderer.render(!1,!0),setTimeout(()=>{this.doDLSCheck()},1e3)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);ue(new Y3(r),4).toLowerCase()==="dls "&&O7(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=>{gt(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{gt(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){this.synth&&(this.seq=new Bm(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=dh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Tr.prototype.exportSong=$k;Tr.prototype._exportAudioData=Fw;Tr.prototype._doExportAudioData=xw;Tr.prototype.exportMidi=Lw;Tr.prototype._exportSoundfont=ak;Tr.prototype._exportRMIDI=lk;var JD=44100,Nr=document.getElementById("title"),hk=document.getElementById("progress_bar"),k$=document.getElementById("midi_file_input");k$.value="";k$.focus();var KB=document.getElementById("export_button");KB.style.display="none";var zB=!1;window.loadedSoundfonts=[];var KD=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=KD;async function VD(A,r){let l=await fetch(`${A}`);if(!l.ok)throw Nr.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),d=await(await l.body).getReader(),_=!1,u0;try{u0=new Uint8Array(parseInt(g))}catch(y0){let p0="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(p0=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),O7("Warning",[{type:"text",textContent:p0}]),y0}let _0=0;do{let y0=await d.read();y0.value&&(u0.set(y0.value,_0),_0+=y0.value.length),_=y0.done;let p0=Math.round(_0/g*100);r(p0)}while(!_);return u0.buffer}async function VB(A){if(!zB){setTimeout(()=>VB(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});Nr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(l):manager.play(l),KB.style.display="flex",KB.onclick=window.manager.exportSong.bind(window.manager)}async function fk(A){async function r(){if(!window.audioContextMain){Nr.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 Tr(audioContextMain,soundFontParser,uk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Nr.innerText="Initializing...",await manager.ready),zB=!0}if(window.loadedSoundfonts.find(g=>g.name===A)){window.soundFontParser=window.loadedSoundfonts.find(g=>g.name===A).sf,await r();return}Nr.innerText="Downloading soundfont...";let l=await VD(A,g=>hk.style.width=`${g/100*Nr.offsetWidth}px`);Nr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=l,hk.style.width="0",window.loadedSoundfonts.push({name:A,sf:window.soundFontParser}),r()}),Nr.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:JD}),window.soundFontParser&&(window.manager=new Tr(audioContextMain,soundFontParser,uk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Nr.innerText="Initializing...",await manager.ready,zB=!0)}document.body.onclick=null};var JB=[],uk=new Fm(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async A=>{if(!A.ok)throw Nr.innerText="Error fetching soundfonts!",A.statusText;let r=document.getElementById("sf_selector");JB=JSON.parse(await A.text());for(let l of JB){let g=document.createElement("option");g.value=l.name;let d=l.name;d.length>29&&(d=d.substring(0,30)+"..."),g.innerText=d,r.appendChild(g)}r.onchange=()=>{fetch(`/setlastsf2?sfname=${encodeURIComponent(r.value)}`),window.manager.seq&&window.manager.seq.pause(),fk(r.value),window.manager.seq&&(Nr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await fk(JB[0].name),k$.files[0]&&await VB(k$.files),k$.onchange=async()=>{k$.files[0]&&await VB(k$.files)}});function zD(A){fetch("/savesettings",{method:"POST",body:JSON.stringify(A),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=zD;window.savedSettings=new Promise(A=>{fetch("/getsettings").then(r=>r.json().then(l=>{A(l)}))});window.isLocalEdition=!0; diff --git a/src/website/server/serve.js b/src/website/server/serve.js index f8dc29f2..3e87c4f0 100644 --- a/src/website/server/serve.js +++ b/src/website/server/serve.js @@ -1,6 +1,6 @@ import fs from 'fs'; import path from 'path' -import { configPath, soundfontsPath } from './server.js' +import { configPath, packageJSON, soundfontsPath } from './server.js' /** * @param res {ServerResponse} * @param path {string} @@ -135,4 +135,16 @@ export function serveStaticFile(res, filePath, mimeType=undefined) } res.writeHead(200, type); res.end(file); +} + +/** + * @param res {ServerResponse} + * @returns {string} + */ +export function getVersion(res) +{ + const text = fs.readFileSync(packageJSON, 'utf-8'); + const jason = JSON.parse(text); + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end(jason.version); } \ No newline at end of file diff --git a/src/website/server/server.js b/src/website/server/server.js index cd2a6bc3..2123d710 100644 --- a/src/website/server/server.js +++ b/src/website/server/server.js @@ -2,7 +2,7 @@ import http from 'http'; import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; -import { serveSettings, serveSfontList, serveStaticFile } from './serve.js' +import { getVersion, serveSettings, serveSfontList, serveStaticFile } from './serve.js' import { openURL } from './open.js' let PORT = 8181; @@ -13,6 +13,7 @@ const __dirname = path.join(path.dirname(__filename), "../../"); export const configPath = path.join(__dirname, '/website/server/config.json'); export const soundfontsPath = path.join(__dirname, '../soundfonts'); +export const packageJSON = path.join(__dirname, '../package.json'); fs.writeFile(configPath, '{}', { flag: 'wx' }, () => {}); @@ -60,6 +61,10 @@ const server = http.createServer((req, res) => { serveSettings(res); break; + case "/getversion": + getVersion(res); + break; + default: serveStaticFile(res, path.join(__dirname, req.url)); }